the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 78 lines 2.5 kB view raw
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};