MinecraftConsoles/Minecraft.World/Sapling.h
DrPerkyLegit ebc1d4c640
Events, minor apis, stubs for future pr (#9)
* StructureGrowEvent, expose internal dimension id

* Update StructureGrowEvent.cs

* PlayerLoginEvent, ability to change xuids, get xuids, stub for experimental player connection api

* add docs, fix up to use cmake

---------

Co-authored-by: sylvessa <225480449+sylvessa@users.noreply.github.com>
2026-04-02 17:22:07 -05:00

51 lines
1.3 KiB
C++

#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 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
virtual void tick(Level *level, int x, int y, int z, Random *random);
virtual Icon *getTexture(int face, int data);
virtual void advanceTree(Level* level, int x, int y, int z, Random* random, bool naturalGrowth = true, int entityId = -1);
void growTree(Level* level, int x, int y, int z, Random* random, bool naturalGrowth = true, int entityId = -1);
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);
};