the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 55 lines 1.5 kB view raw
1#pragma once 2#include "LiquidTile.h" 3 4class Random; 5 6class LiquidTileDynamic : public LiquidTile 7{ 8 friend class Tile; 9private: 10 // 4J Added 11 typedef struct _LiquidTickData 12 { 13 Level *level; 14 int x, y, z; 15 Random *random; 16 _LiquidTickData(Level *level, int x, int y, int z, Random *random) 17 : level(level), x(x), y(y), z(z), random(random) 18 { 19 } 20 } LiquidTickData; 21 deque<LiquidTickData> m_tilesToTick; // For an iterative version of instatick 22 bool m_iterativeInstatick; 23protected: 24 LiquidTileDynamic(int id, Material *material); 25 virtual ~LiquidTileDynamic(); 26private: 27 void setStatic(Level *level, int x, int y, int z); 28 int maxCount; 29public: 30 virtual bool isPathfindable(LevelSource *level, int x, int y, int z); 31 32private: 33 // 4J Added 34 void iterativeTick(Level *level, int x, int y, int z, Random *random); 35 void mainTick(Level *level, int x, int y, int z, Random *random); 36public: 37 void tick(Level *level, int x, int y, int z, Random *random); 38private: 39 void trySpreadTo(Level *level, int x, int y, int z, int neighbor); 40 41 bool *result; 42 int *dist; 43 44private: 45 int getSlopeDistance(Level *level, int x, int y, int z, int pass, int from); 46 bool *getSpread(Level *level, int x, int y, int z); 47 bool isWaterBlocking(Level *level, int x, int y, int z); 48protected: 49 int getHighest(Level *level, int x, int y, int z, int current); 50private: 51 bool canSpreadTo(Level *level, int x, int y, int z); 52public: 53 void onPlace(Level *level, int x, int y, int z); 54 bool canInstantlyTick(); 55};