the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2#include "DirectionalTile.h"
3
4class Player;
5class Random;
6class Level;
7
8class DiodeTile : public DirectionalTile
9{
10 friend class Tile;
11protected:
12 bool on;
13
14protected:
15 DiodeTile(int id, bool on);
16public:
17 virtual void updateDefaultShape(); // 4J Added override
18 virtual bool isCubeShaped();
19 virtual bool mayPlace(Level *level, int x, int y, int z);
20 virtual bool canSurvive(Level *level, int x, int y, int z);
21 virtual void tick(Level *level, int x, int y, int z, Random *random);
22 virtual Icon *getTexture(int face, int data);
23 virtual bool shouldRenderFace(LevelSource *level, int x, int y, int z, int face);
24 virtual int getRenderShape();
25
26protected:
27 virtual bool isOn(int data);
28
29public:
30 virtual int getDirectSignal(LevelSource *level, int x, int y, int z, int dir);
31 virtual int getSignal(LevelSource *level, int x, int y, int z, int facing);
32 virtual void neighborChanged(Level *level, int x, int y, int z, int type);
33
34protected:
35 virtual void checkTickOnNeighbor(Level *level, int x, int y, int z, int type);
36
37public:
38 virtual bool isLocked(LevelSource *level, int x, int y, int z, int data);
39
40protected:
41 virtual bool shouldTurnOn(Level *level, int x, int y, int z, int data);
42 virtual int getInputSignal(Level *level, int x, int y, int z, int data);
43 virtual int getAlternateSignal(LevelSource *level, int x, int y, int z, int data);
44 virtual int getAlternateSignalAt(LevelSource *level, int x, int y, int z, int facing);
45
46public:
47 virtual bool isSignalSource();
48 virtual void setPlacedBy(Level *level, int x, int y, int z, shared_ptr<LivingEntity> by, shared_ptr<ItemInstance> itemInstance);
49 virtual void onPlace(Level *level, int x, int y, int z);
50
51protected:
52 virtual void updateNeighborsInFront(Level *level, int x, int y, int z);
53
54public:
55 virtual void destroy(Level *level, int x, int y, int z, int data);
56 virtual bool isSolidRender(bool isServerLevel = false);
57 virtual int getResource(int data, Random *random, int playerBonusLevel) = 0;
58 virtual int cloneTileId(Level *level, int x, int y, int z) = 0;
59
60protected:
61 virtual bool isAlternateInput(int tile);
62 virtual int getOutputSignal(LevelSource *level, int x, int y, int z, int data);
63
64public:
65 static bool isDiode(int id);
66 virtual bool isSameDiode(int id);
67 virtual bool shouldPrioritize(Level *level, int x, int y, int z, int data);
68
69protected:
70 virtual int getTurnOffDelay(int data);
71
72 virtual int getTurnOnDelay(int data) = 0;
73 virtual DiodeTile *getOnTile() = 0;
74 virtual DiodeTile *getOffTile() = 0;
75
76public:
77 virtual bool isMatching(int id);
78};