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 "DiodeTile.h"
4#include "EntityTile.h"
5
6class ComparatorTileEntity;
7
8class ComparatorTile : public DiodeTile, public EntityTile
9{
10private:
11 static const int BIT_OUTPUT_SUBTRACT = 0x4;
12 static const int BIT_IS_LIT = 0x8;
13
14public:
15 ComparatorTile(int id, bool on);
16
17 virtual int getResource(int data, Random *random, int playerBonusLevel);
18 virtual int cloneTileId(Level *level, int x, int y, int z);
19
20protected:
21 virtual int getTurnOnDelay(int data);
22 virtual DiodeTile *getOnTile();
23 virtual DiodeTile *getOffTile();
24
25public:
26 virtual int getRenderShape();
27 virtual Icon *getTexture(int face, int data);
28
29protected:
30 virtual bool isOn(int data);
31 virtual int getOutputSignal(LevelSource *levelSource, int x, int y, int z, int data);
32
33private:
34 virtual int calculateOutputSignal(Level *level, int x, int y, int z, int data);
35
36public:
37 virtual bool isReversedOutputSignal(int data);
38
39protected:
40 virtual bool shouldTurnOn(Level *level, int x, int y, int z, int data);
41 virtual int getInputSignal(Level *level, int x, int y, int z, int data);
42 virtual shared_ptr<ComparatorTileEntity> getComparator(LevelSource *level, int x, int y, int z);
43
44public:
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);
46
47protected:
48 virtual void checkTickOnNeighbor(Level *level, int x, int y, int z, int type);
49
50private:
51 virtual void refreshOutputState(Level *level, int x, int y, int z, Random *random);
52
53public:
54 virtual void tick(Level *level, int x, int y, int z, Random *random);
55 virtual void onPlace(Level *level, int x, int y, int z);
56 virtual void onRemove(Level *level, int x, int y, int z, int id, int data);
57 virtual bool triggerEvent(Level *level, int x, int y, int z, int b0, int b1);
58 virtual shared_ptr<TileEntity> newTileEntity(Level *level);
59 virtual bool TestUse();
60};