From 05d71675f69e13d8ab590a33b38ee6d0f8a77b6f Mon Sep 17 00:00:00 2001 From: "luksor111@gmail.com" Date: Wed, 19 Dec 2012 21:19:36 +0000 Subject: Added dispensers (they can't dispense items yet) Fixed crash when digging snow Moved BlockPlace hook check, so Core plugin will no longer block item usage Player chat messages are now visible in the console git-svn-id: http://mc-server.googlecode.com/svn/trunk@1081 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/DispenserEntity.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 source/DispenserEntity.h (limited to 'source/DispenserEntity.h') diff --git a/source/DispenserEntity.h b/source/DispenserEntity.h new file mode 100644 index 000000000..8f2e89833 --- /dev/null +++ b/source/DispenserEntity.h @@ -0,0 +1,55 @@ + +#pragma once + +#include "BlockEntity.h" +#include "UI/WindowOwner.h" +#include "Item.h" + + + + + +namespace Json +{ + class Value; +} + +class cClientHandle; +class cServer; + + + + + +class cDispenserEntity : + public cBlockEntity, + public cBlockEntityWindowOwner +{ +public: + cDispenserEntity(int a_X, int a_Y, int a_Z, cWorld * a_World); + virtual ~cDispenserEntity(); + virtual void Destroy(); + + bool LoadFromFile(cFile & a_File); // deprecated format + + bool LoadFromJson(const Json::Value& a_Value ); + virtual void SaveToJson(Json::Value& a_Value ) override; + + virtual void SendTo(cClientHandle & a_Client) override; + + // Returns true if there's any change, forcing the chunk to go dirty. + bool Tick( float a_Dt ); + + virtual void UsedBy( cPlayer * a_Player ) override; + + const cItem * GetSlot(int i) const { return &(m_Items[i]); } + + void SetSlot(int a_Slot, const cItem & a_Item); + +private: + cItem * m_Items; +}; + + + + -- cgit v1.2.3