the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 92 lines 2.5 kB view raw
1#pragma once 2using namespace std; 3 4#include "FurnaceTile.h" 5#include "TileEntity.h" 6#include "WorldlyContainer.h" 7 8class Player; 9class Level; 10 11class FurnaceTileEntity : public TileEntity, public WorldlyContainer 12{ 13public: 14 eINSTANCEOF GetType() { return eTYPE_FURNACETILEENTITY; } 15 static TileEntity *create() { return new FurnaceTileEntity(); } 16 17 using TileEntity::setChanged; 18 19 static const int SLOT_INPUT = 0; 20 static const int SLOT_FUEL = 1; 21 static const int SLOT_RESULT = 2; 22 23private: 24 static const intArray SLOTS_FOR_UP; 25 static const intArray SLOTS_FOR_DOWN; 26 static const intArray SLOTS_FOR_SIDES; 27 28 static const int BURN_INTERVAL; 29 ItemInstanceArray items; 30 31 // 4J-JEV: Added for 'Renewable Energy' achievement. 32 // Should be true iff characoal was consumed whilst cooking the current stack. 33 bool m_charcoalUsed; 34 35public: 36 int litTime; 37 int litDuration; 38 int tickCount; 39 40private: 41 42 wstring name; 43 44public: 45 // 4J Stu - Need a ctor to initialise member variables 46 FurnaceTileEntity(); 47 virtual ~FurnaceTileEntity(); 48 49 virtual unsigned int getContainerSize(); 50 virtual shared_ptr<ItemInstance> getItem(unsigned int slot); 51 virtual shared_ptr<ItemInstance> removeItem(unsigned int slot, int count); 52 virtual shared_ptr<ItemInstance> removeItemNoUpdate(int slot); 53 virtual void setItem(unsigned int slot, shared_ptr<ItemInstance> item); 54 virtual wstring getName(); 55 virtual wstring getCustomName(); 56 virtual bool hasCustomName(); 57 virtual void setCustomName(const wstring &name); 58 virtual void load(CompoundTag *base); 59 virtual void save(CompoundTag *base); 60 virtual int getMaxStackSize() const; 61 int getBurnProgress(int max); 62 int getLitProgress(int max); 63 bool isLit(); 64 virtual void tick(); 65 66private: 67 bool canBurn(); 68 69public: 70 void burn(); 71 72 static int getBurnDuration(shared_ptr<ItemInstance> itemInstance); 73 static bool isFuel(shared_ptr<ItemInstance> item); 74 75public: 76 virtual bool stillValid(shared_ptr<Player> player); 77 virtual void setChanged(); 78 79 void startOpen(); 80 void stopOpen(); 81 82 virtual bool canPlaceItem(int slot, shared_ptr<ItemInstance> item); 83 virtual intArray getSlotsForFace(int face); 84 virtual bool canPlaceItemThroughFace(int slot, shared_ptr<ItemInstance> item, int face); 85 virtual bool canTakeItemThroughFace(int slot, shared_ptr<ItemInstance> item, int face); 86 87 // 4J Added 88 virtual shared_ptr<TileEntity> clone(); 89 90 // 4J-JEV: Added for 'Renewable Energy' achievement. 91 bool wasCharcoalUsed() { return m_charcoalUsed; } 92};