Added cPlayer::IsGameModeXXX() and cWorld::IsGameModeXXX() functions.
These are the preferred way of determining the gamemode, you should use those instead of doing manual comparisons to the gamemode value.
This commit is contained in:
parent
0799661ff7
commit
d3801c0296
@ -505,7 +505,6 @@ void cPlayer::KilledBy(cEntity * a_Killer)
|
|||||||
void cPlayer::Respawn(void)
|
void cPlayer::Respawn(void)
|
||||||
{
|
{
|
||||||
m_Health = GetMaxHealth();
|
m_Health = GetMaxHealth();
|
||||||
m_FoodLevel = 20;
|
|
||||||
|
|
||||||
m_ClientHandle->SendRespawn();
|
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)
|
void cPlayer::OpenWindow(cWindow * a_Window)
|
||||||
{
|
{
|
||||||
if (a_Window != m_CurrentWindow)
|
if (a_Window != m_CurrentWindow)
|
||||||
@ -1283,6 +1312,11 @@ void cPlayer::HandleFood(void)
|
|||||||
|
|
||||||
void cPlayer::ApplyFoodExhaustionFromMovement(cChunk & a_Chunk)
|
void cPlayer::ApplyFoodExhaustionFromMovement(cChunk & a_Chunk)
|
||||||
{
|
{
|
||||||
|
if (IsGameModeCreative())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Calculate the distance travelled, update the last pos:
|
// Calculate the distance travelled, update the last pos:
|
||||||
Vector3d Movement(GetPosition() - m_LastFoodPos);
|
Vector3d Movement(GetPosition() - m_LastFoodPos);
|
||||||
m_LastFoodPos = GetPosition();
|
m_LastFoodPos = GetPosition();
|
||||||
|
@ -73,7 +73,18 @@ public:
|
|||||||
|
|
||||||
virtual void TeleportToCoords(double a_PosX, double a_PosY, double a_PosZ) override;
|
virtual void TeleportToCoords(double a_PosX, double a_PosY, double a_PosZ) override;
|
||||||
|
|
||||||
eGameMode GetGameMode(void) const { return m_GameMode; } // tolua_export
|
/// Returns the current gamemode. Partly OBSOLETE, you should use IsGameModeXXX() functions wherever applicable
|
||||||
|
eGameMode GetGameMode(void) const { return m_GameMode; } // tolua_export
|
||||||
|
|
||||||
|
/// Returns true if the player is in Creative mode, either explicitly, or by inheriting from current world
|
||||||
|
bool IsGameModeCreative(void) const;
|
||||||
|
|
||||||
|
/// Returns true if the player is in Survival mode, either explicitly, or by inheriting from current world
|
||||||
|
bool IsGameModeSurvival(void) const;
|
||||||
|
|
||||||
|
/// Returns true if the player is in Adventure mode, either explicitly, or by inheriting from current world
|
||||||
|
bool IsGameModeAdventure(void) const;
|
||||||
|
|
||||||
std::string GetIP() { return m_IP; } // tolua_export
|
std::string GetIP() { return m_IP; } // tolua_export
|
||||||
float GetLastBlockActionTime() { return m_LastBlockActionTime; } // tolua_export
|
float GetLastBlockActionTime() { return m_LastBlockActionTime; } // tolua_export
|
||||||
int GetLastBlockActionCnt() { return m_LastBlockActionCnt; } // tolua_export
|
int GetLastBlockActionCnt() { return m_LastBlockActionCnt; } // tolua_export
|
||||||
|
@ -106,7 +106,18 @@ public:
|
|||||||
SetTimeOfDay(a_TimeOfDay);
|
SetTimeOfDay(a_TimeOfDay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns the current game mode. Partly OBSOLETE, you should use IsGameModeXXX() functions wherever applicable
|
||||||
eGameMode GetGameMode(void) const { return m_GameMode; }
|
eGameMode GetGameMode(void) const { return m_GameMode; }
|
||||||
|
|
||||||
|
/// Returns true if the world is in Creative mode
|
||||||
|
bool IsGameModeCreative(void) const { return (m_GameMode == gmCreative); }
|
||||||
|
|
||||||
|
/// Returns true if the world is in Survival mode
|
||||||
|
bool IsGameModeSurvival(void) const { return (m_GameMode == gmSurvival); }
|
||||||
|
|
||||||
|
/// Returns true if the world is in Adventure mode
|
||||||
|
bool IsGameModeAdventure(void) const { return (m_GameMode == gmAdventure); }
|
||||||
|
|
||||||
bool IsPVPEnabled(void) const { return m_bEnabledPVP; }
|
bool IsPVPEnabled(void) const { return m_bEnabledPVP; }
|
||||||
bool IsDeepSnowEnabled(void) const { return m_IsDeepSnowEnabled; }
|
bool IsDeepSnowEnabled(void) const { return m_IsDeepSnowEnabled; }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user