Updated OreFeature.cpp to support more than one Tile type

Added the variable 'int aux' inside the constructor, which represents the alternative block type
This commit is contained in:
ACL 2026-03-17 19:48:32 +01:00
parent 5a59f5d146
commit 6959695fb3
2 changed files with 15 additions and 5 deletions

View file

@ -3,21 +3,28 @@
#include "net.minecraft.world.level.tile.h" #include "net.minecraft.world.level.tile.h"
#include "OreFeature.h" #include "OreFeature.h"
void OreFeature::_init(int tile, int count, int targetTile) void OreFeature::_init(int tile, int count, int targetTile, int aux)
{ {
this->tile = tile; this->tile = tile;
this->count = count; this->count = count;
this->targetTile = targetTile; this->targetTile = targetTile;
this->aux = aux;
} }
OreFeature::OreFeature(int tile, int count) OreFeature::OreFeature(int tile, int count)
{ {
_init(tile, count, Tile::stone_Id); _init(tile, count, Tile::stone_Id, 0);
} }
OreFeature::OreFeature(int tile, int count, int targetTile) OreFeature::OreFeature(int tile, int count, int targetTile)
{ {
_init(tile, count, targetTile); _init(tile, count, targetTile, 0);
}
// Nuevo constructor para permitir especificar el valor 'aux'
OreFeature::OreFeature(int tile, int count, int targetTile, int aux)
{
_init(tile, count, targetTile, aux);
} }
bool OreFeature::place(Level *level, Random *random, int x, int y, int z) bool OreFeature::place(Level *level, Random *random, int x, int y, int z)
@ -134,7 +141,7 @@ bool OreFeature::place(Level *level, Random *random, int x, int y, int z)
{ {
if ( level->getTile(x2, y2, z2) == targetTile) if ( level->getTile(x2, y2, z2) == targetTile)
{ {
level->setTileAndData(x2, y2, z2, tile, 0, Tile::UPDATE_INVISIBLE_NO_LIGHT); level->setTileAndData(x2, y2, z2, tile, this->aux, Tile::UPDATE_INVISIBLE_NO_LIGHT); // Usar this->aux
} }
} }
} }

View file

@ -9,11 +9,14 @@ private:
int tile; int tile;
int count; int count;
int targetTile; int targetTile;
int aux;
void _init(int tile, int count, int targetTile); void _init(int tile, int count, int targetTile, int aux);
public: public:
OreFeature (int tile, int count); OreFeature (int tile, int count);
OreFeature(int tile, int count, int targetTile); OreFeature(int tile, int count, int targetTile);
OreFeature(int tile, int count, int targetTile, int aux);
virtual bool place(Level *level, Random *random, int x, int y, int z); virtual bool place(Level *level, Random *random, int x, int y, int z);
}; };