ebb2ccaa26
Plugins shouldn't construct block entities, rather, they will query them either from the cWorld (while playing), or from cChunkDesc (while generating).
47 lines
988 B
C++
47 lines
988 B
C++
|
|
// DropperEntity.h
|
|
|
|
// Declares the cDropperEntity class representing a dropper block entity
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
#include "DropSpenserEntity.h"
|
|
|
|
|
|
|
|
|
|
|
|
// tolua_begin
|
|
class cDropperEntity :
|
|
public cDropSpenserEntity
|
|
{
|
|
typedef cDropSpenserEntity super;
|
|
|
|
public:
|
|
|
|
// tolua_end
|
|
|
|
/// Constructor used for normal operation
|
|
cDropperEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World);
|
|
|
|
static const char * GetClassStatic(void) { return "cDropperEntity"; }
|
|
|
|
protected:
|
|
// cDropSpenserEntity overrides:
|
|
virtual void DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) override;
|
|
|
|
/** Takes an item from slot a_SlotNum and puts it into the container in front of the dropper.
|
|
Called when there's a container directly in front of the dropper,
|
|
so the dropper should store items there, rather than dropping.
|
|
*/
|
|
void PutIntoContainer(cChunk & a_Chunk, int a_SlotNum, BLOCKTYPE a_ContainerBlock, int a_ContainerX, int a_ContainerY, int a_ContainerZ);
|
|
} ; // tolua_export
|
|
|
|
|
|
|
|
|