#pragma once #include "GameMode.h" class CreativeMode : public GameMode { private: int destroyDelay; public: CreativeMode(Minecraft* minecraft); virtual void init(); static void enableCreativeForPlayer(std::shared_ptr player); static void disableCreativeForPlayer(std::shared_ptr player); virtual void adjustPlayer(std::shared_ptr player); static void creativeDestroyBlock(Minecraft* minecraft, GameMode* gameMode, int x, int y, int z, int face); virtual bool useItemOn(std::shared_ptr player, Level* level, std::shared_ptr item, int x, int y, int z, int face, bool bTestUseOnOnly = false, bool* pbUsedItem = nullptr); virtual void startDestroyBlock(int x, int y, int z, int face); virtual void continueDestroyBlock(int x, int y, int z, int face); virtual void stopDestroyBlock(); virtual bool canHurtPlayer(); virtual void initLevel(Level* level); virtual float getPickRange(); virtual bool hasMissTime(); virtual bool hasInfiniteItems(); virtual bool hasFarPickRange(); };