the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3using namespace std;
4
5#include "com.mojang.nbt.h"
6#include "TileEntity.h"
7#include "Container.h"
8
9class Player;
10class Random;
11class Level;
12class CompoundTag;
13
14class DispenserTileEntity: public TileEntity, public Container
15{
16public:
17 eINSTANCEOF GetType() { return eTYPE_DISPENSERTILEENTITY; }
18 static TileEntity *create() { return new DispenserTileEntity(); }
19
20
21 using TileEntity::setChanged;
22
23private:
24 ItemInstanceArray items;
25 Random *random;
26
27protected:
28 wstring name;
29
30public:
31 DispenserTileEntity();
32 virtual ~DispenserTileEntity();
33
34 virtual unsigned int getContainerSize();
35 virtual shared_ptr<ItemInstance> getItem(unsigned int slot);
36 virtual shared_ptr<ItemInstance> removeItem(unsigned int slot, int count);
37 virtual shared_ptr<ItemInstance> removeItemNoUpdate(int slot);
38 virtual bool removeProjectile(int itemId);
39 virtual int getRandomSlot();
40 virtual void setItem(unsigned int slot, shared_ptr<ItemInstance> item);
41 virtual int addItem(shared_ptr<ItemInstance> item);
42 virtual wstring getName();
43 virtual wstring getCustomName();
44 virtual void setCustomName(const wstring &name);
45 virtual bool hasCustomName();
46 virtual void load(CompoundTag *base);
47 virtual void save(CompoundTag *base);
48 virtual int getMaxStackSize() const;
49 virtual bool stillValid(shared_ptr<Player> player);
50 virtual void setChanged();
51
52 virtual void startOpen();
53 virtual void stopOpen();
54 virtual bool canPlaceItem(int slot, shared_ptr<ItemInstance> item);
55
56 // 4J Added
57 virtual shared_ptr<TileEntity> clone();
58 void AddItemBack(shared_ptr<ItemInstance>item, unsigned int slot);
59};