diff options
Diffstat (limited to 'Minecraft.World/Sapling.h')
| -rw-r--r-- | Minecraft.World/Sapling.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/Minecraft.World/Sapling.h b/Minecraft.World/Sapling.h new file mode 100644 index 00000000..f44888af --- /dev/null +++ b/Minecraft.World/Sapling.h @@ -0,0 +1,50 @@ +#pragma once + +#include "LeafTile.h" +#include "Bush.h" + +class Random; +class ChunkRebuildData; + +class Sapling : public Bush +{ + friend class Tile; + friend class ChunkRebuildData; +public: + static const int TYPE_DEFAULT = LeafTile::NORMAL_LEAF; + static const int TYPE_EVERGREEN = LeafTile::EVERGREEN_LEAF; + static const int TYPE_BIRCH = LeafTile::BIRCH_LEAF; + static const int TYPE_JUNGLE = LeafTile::JUNGLE_LEAF; + + static const int SAPLING_NAMES_SIZE = 4; + + static const unsigned int SAPLING_NAMES[SAPLING_NAMES_SIZE]; + +private: + static const wstring TEXTURE_NAMES[]; + + Icon **icons; + + static const int TYPE_MASK = 3; + static const int AGE_BIT = 8; + +protected: + Sapling(int id); + +public: + virtual void updateDefaultShape(); // 4J Added override + void tick(Level *level, int x, int y, int z, Random *random); + + Icon *getTexture(int face, int data); + + void growTree(Level *level, int x, int y, int z, Random *random); + + virtual unsigned int getDescriptionId(int iData = -1); + bool isSapling(Level *level, int x, int y, int z, int type); + +protected: + int getSpawnResourcesAuxValue(int data); + +public: + void registerIcons(IconRegister *iconRegister); +}; |
