diff options
author | madmaxoft <github@xoft.cz> | 2013-07-28 11:30:54 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2013-07-28 11:30:54 +0200 |
commit | d3801c0296dd32f430a4074932bfabf27a8ade03 (patch) | |
tree | 529694175b56e5eac589277298796a095ef55560 /source/Player.cpp | |
parent | Updated Core to the latest version. (diff) | |
download | cuberite-d3801c0296dd32f430a4074932bfabf27a8ade03.tar cuberite-d3801c0296dd32f430a4074932bfabf27a8ade03.tar.gz cuberite-d3801c0296dd32f430a4074932bfabf27a8ade03.tar.bz2 cuberite-d3801c0296dd32f430a4074932bfabf27a8ade03.tar.lz cuberite-d3801c0296dd32f430a4074932bfabf27a8ade03.tar.xz cuberite-d3801c0296dd32f430a4074932bfabf27a8ade03.tar.zst cuberite-d3801c0296dd32f430a4074932bfabf27a8ade03.zip |
Diffstat (limited to 'source/Player.cpp')
-rw-r--r-- | source/Player.cpp | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/source/Player.cpp b/source/Player.cpp index 83181dda6..5609807b0 100644 --- a/source/Player.cpp +++ b/source/Player.cpp @@ -505,7 +505,6 @@ void cPlayer::KilledBy(cEntity * a_Killer) void cPlayer::Respawn(void)
{
m_Health = GetMaxHealth();
- m_FoodLevel = 20;
m_ClientHandle->SendRespawn();
@@ -538,6 +537,36 @@ Vector3d cPlayer::GetEyePosition(void) const +bool cPlayer::IsGameModeCreative(void) const
+{
+ return (m_GameMode == gmCreative) || // Either the player is explicitly in Creative
+ ((m_GameMode == gmNotSet) && m_World->IsGameModeCreative()); // or they inherit from the world and the world is Creative
+}
+
+
+
+
+
+bool cPlayer::IsGameModeSurvival(void) const
+{
+ return (m_GameMode == gmSurvival) || // Either the player is explicitly in Survival
+ ((m_GameMode == gmNotSet) && m_World->IsGameModeSurvival()); // or they inherit from the world and the world is Survival
+}
+
+
+
+
+
+bool cPlayer::IsGameModeAdventure(void) const
+{
+ return (m_GameMode == gmCreative) || // Either the player is explicitly in Adventure
+ ((m_GameMode == gmNotSet) && m_World->IsGameModeCreative()); // or they inherit from the world and the world is Adventure
+}
+
+
+
+
+
void cPlayer::OpenWindow(cWindow * a_Window)
{
if (a_Window != m_CurrentWindow)
@@ -1283,6 +1312,11 @@ void cPlayer::HandleFood(void) void cPlayer::ApplyFoodExhaustionFromMovement(cChunk & a_Chunk)
{
+ if (IsGameModeCreative())
+ {
+ return;
+ }
+
// Calculate the distance travelled, update the last pos:
Vector3d Movement(GetPosition() - m_LastFoodPos);
m_LastFoodPos = GetPosition();
|