#pragma once #include "BaseEntityTile.h" class CommandBlock : public BaseEntityTile { private: static const int TRIGGER_BIT = 1; public: CommandBlock(int id); virtual std::shared_ptr newTileEntity(Level* level); virtual void neighborChanged(Level* level, int x, int y, int z, int type); virtual void tick(Level* level, int x, int y, int z, Random* random); virtual int getTickDelay(Level* level); virtual bool use(Level* level, int x, int y, int z, std::shared_ptr player, int clickedFace, float clickX, float clickY, float clickZ, bool soundOnly = false); virtual bool hasAnalogOutputSignal(); virtual int getAnalogOutputSignal(Level* level, int x, int y, int z, int dir); virtual void setPlacedBy(Level* level, int x, int y, int z, std::shared_ptr by, std::shared_ptr itemInstance); virtual int getResourceCount(Random* random); };