#pragma once #include #include "Tile.h" #include "../Util/Definitions.h" class Random; class ReedTile : public Tile { friend class Tile; protected: ReedTile(int id); public: virtual void updateDefaultShape(); // 4J Added override void tick(Level* level, int x, int y, int z, Random* random); public: bool mayPlace(Level* level, int x, int y, int z); public: void neighborChanged(Level* level, int x, int y, int z, int type); protected: const void checkAlive(Level* level, int x, int y, int z); public: bool canSurvive(Level* level, int x, int y, int z); public: std::optional getAABB(Level* level, int x, int y, int z); public: int getResource(int data, Random* random, int playerBonusLevel); public: bool blocksLight(); public: bool isSolidRender(bool isServerLevel = false); public: bool isCubeShaped(); public: int getRenderShape(); virtual int cloneTileId(Level* level, int x, int y, int z); // 4J Added so we can check before we try to add a tile to the tick list if // it's actually going to do seomthing virtual bool shouldTileTick(Level* level, int x, int y, int z); };