the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 65 lines 2.0 kB view raw
1#pragma once 2#include "Tile.h" 3#include "Definitions.h" 4 5class Random; 6class ChunkRebuildData; 7class FireTile : public Tile 8{ 9 friend class Tile; 10 friend class ChunkRebuildData; 11public: 12 static const wstring TEXTURE_FIRST; 13 static const wstring TEXTURE_SECOND; 14 15 static const int FLAME_INSTANT = 60; 16 static const int FLAME_EASY = 30; 17 static const int FLAME_MEDIUM = 15; 18 static const int FLAME_HARD = 5; 19 20 static const int BURN_INSTANT = 100; 21 static const int BURN_EASY = 60; 22 static const int BURN_MEDIUM = 20; 23 static const int BURN_HARD = 5; 24 static const int BURN_NEVER = 0; 25 26private: 27 int *flameOdds; 28 int *burnOdds; 29 Icon **icons; 30protected: 31 FireTile(int id); 32 virtual ~FireTile(); 33public: 34 void init(); 35private: 36 void setFlammable(int id, int flame, int burn); 37public: 38 virtual AABB *getAABB(Level *level, int x, int y, int z); 39 virtual bool blocksLight(); 40 virtual bool isSolidRender(bool isServerLevel = false); 41 virtual bool isCubeShaped(); 42 virtual int getRenderShape(); 43 virtual int getResourceCount(Random *random); 44 virtual int getTickDelay(Level *level); 45 virtual void tick(Level *level, int x, int y, int z, Random *random); 46 virtual bool canInstantlyTick(); 47 48private: 49 void checkBurnOut(Level *level, int x, int y, int z, int chance, Random *random, int age); 50 bool isValidFireLocation(Level *level, int x, int y, int z); 51 int getFireOdds(Level *level, int x, int y, int z); 52public: 53 virtual bool mayPick(); 54 bool canBurn(LevelSource *level, int x, int y, int z); 55 int getFlammability(Level *level, int x, int y, int z, int odds); 56 virtual bool mayPlace(Level *level, int x, int y, int z); 57 virtual void neighborChanged(Level *level, int x, int y, int z, int type); 58 virtual void onPlace(Level *level, int x, int y, int z); 59 bool isFlammable(int tile); 60 virtual void animateTick(Level *level, int x, int y, int z, Random *random); 61public: 62 void registerIcons(IconRegister *iconRegister); 63 Icon *getTextureLayer(int layer); 64 Icon *getTexture(int face, int data); 65};