From 5c3235ecdc3f718ce20e006f1ecfa2159df82c87 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sun, 26 May 2013 14:39:04 +0000 Subject: Implemented droppers Added a common ancestor class "DropSpenser" that has the common code for dropper and dispenser and is Lua-accessible, too. The Debuggers plugin now triggers both droppers and dispensers when rclking them with a redstone torch. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1514 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/DispenserEntity.h | 45 +++++---------------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) (limited to 'source/DispenserEntity.h') diff --git a/source/DispenserEntity.h b/source/DispenserEntity.h index 315452094..9d788128f 100644 --- a/source/DispenserEntity.h +++ b/source/DispenserEntity.h @@ -1,20 +1,7 @@ #pragma once -#include "BlockEntityWithItems.h" -#include "UI/WindowOwner.h" - - - - - -namespace Json -{ - class Value; -} - -class cClientHandle; -class cServer; +#include "DropSpenserEntity.h" @@ -22,16 +9,11 @@ class cServer; // tolua_begin class cDispenserEntity : - public cBlockEntityWithItems, - public cBlockEntityWindowOwner + public cDropSpenserEntity { - typedef cBlockEntityWithItems super; + typedef cDropSpenserEntity super; public: - enum { - ContentsHeight = 3, - ContentsWidth = 3, - } ; /// Constructor used while generating a chunk; sets m_World to NULL cDispenserEntity(int a_BlockX, int a_BlockY, int a_BlockZ); @@ -40,29 +22,12 @@ public: /// Constructor used for normal operation cDispenserEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World); - virtual ~cDispenserEntity(); static const char * GetClassStatic(void) { return "cDispenserEntity"; } - bool LoadFromJson(const Json::Value & a_Value); - - // cBlockEntity overrides: - virtual void SaveToJson(Json::Value & a_Value) override; - virtual void SendTo(cClientHandle & a_Client) override; - virtual bool Tick(float a_Dt) override; - virtual void UsedBy(cPlayer * a_Player) override; - - // tolua_begin - - /// Sets the dispenser to dispense an item in the next tick - void Activate(void); - - // tolua_end - private: - bool m_ShouldDispense; ///< If true, the dispenser will dispense an item in the next tick - - void Dispense(void); + // cDropSpenser overrides: + virtual void DropSpenseFromSlot(int a_SlotNum) override; } ; // tolua_export -- cgit v1.2.3