the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3#include "BaseEntityTile.h"
4#include "CompoundTag.h"
5#include "TileEntity.h"
6
7class CompoundTag;
8class ChunkRebuildData;
9
10class JukeboxTile : public BaseEntityTile
11{
12 friend class Tile;
13 friend class ChunkRebuildData;
14public:
15 class Entity : public TileEntity
16 {
17 public:
18 eINSTANCEOF GetType() { return eTYPE_RECORDPLAYERTILE; }
19 static TileEntity *create() { return new JukeboxTile::Entity(); }
20
21 private:
22 shared_ptr<ItemInstance> record;
23
24 public:
25 Entity();
26
27 virtual void load(CompoundTag *tag);
28 virtual void save(CompoundTag *tag);
29 virtual shared_ptr<ItemInstance> getRecord();
30 virtual void setRecord(shared_ptr<ItemInstance> record);
31
32 // 4J Added
33 shared_ptr<TileEntity> clone();
34 };
35
36private:
37 Icon *iconTop;
38
39protected:
40 JukeboxTile(int id);
41
42public:
43 virtual Icon *getTexture(int face, int data);
44 virtual bool TestUse(Level *level, int x, int y, int z, shared_ptr<Player> player);
45 virtual bool use(Level *level, int x, int y, int z, shared_ptr<Player> player, int clickedFace, float clickX, float clickY, float clickZ, bool soundOnly = false); // 4J added soundOnly param
46 void setRecord(Level *level, int x, int y, int z, shared_ptr<ItemInstance> record);
47 void dropRecording(Level *level, int x, int y, int z);
48 virtual void onRemove(Level *level, int x, int y, int z, int id, int data);
49 virtual void spawnResources(Level *level, int x, int y, int z, int data, float odds, int playerBonus);
50
51 virtual shared_ptr<TileEntity> newTileEntity(Level *level);
52 virtual void registerIcons(IconRegister *iconRegister);
53 virtual bool hasAnalogOutputSignal();
54 virtual int getAnalogOutputSignal(Level *level, int x, int y, int z, int dir);
55};