aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/Sapling.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/Sapling.h')
-rw-r--r--Minecraft.World/Sapling.h50
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);
+};