diff options
Diffstat (limited to 'Minecraft.World/CommandBlockEntity.h')
| -rw-r--r-- | Minecraft.World/CommandBlockEntity.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Minecraft.World/CommandBlockEntity.h b/Minecraft.World/CommandBlockEntity.h new file mode 100644 index 00000000..3a3c10b6 --- /dev/null +++ b/Minecraft.World/CommandBlockEntity.h @@ -0,0 +1,41 @@ +#pragma once + +#include "TileEntity.h" +#include "CommandSender.h" + +class ChatMessageComponent; + +class CommandBlockEntity : public TileEntity, public CommandSender +{ +public: + eINSTANCEOF GetType() { return eTYPE_COMMANDBLOCKTILEENTITY; } + static TileEntity *create() { return new CommandBlockEntity(); } + + // 4J Added + virtual shared_ptr<TileEntity> clone(); + +private: + int successCount; + wstring command; + wstring name; + +public: + CommandBlockEntity(); + + void setCommand(const wstring &command); + wstring getCommand(); + int performCommand(Level *level); + wstring getName(); + void setName(const wstring &name); + virtual void sendMessage(const wstring& message, ChatPacket::EChatPacketMessage type = ChatPacket::e_ChatCustom, int customData = -1, const wstring& additionalMessage = L""); + virtual bool hasPermission(EGameCommand command); + //void sendMessage(ChatMessageComponent *message); + //bool hasPermission(int permissionLevel, const wstring &commandName); + void save(CompoundTag *tag); + void load(CompoundTag *tag); + Pos *getCommandSenderWorldPosition(); + Level *getCommandSenderWorld(); + shared_ptr<Packet> getUpdatePacket(); + int getSuccessCount(); + void setSuccessCount(int successCount); +};
\ No newline at end of file |
