Merge branch 'pr-3' into TU43

This commit is contained in:
Fireblade
2026-05-24 22:29:54 -04:00
389 changed files with 7389 additions and 4207 deletions
+31 -5
View File
@@ -32,6 +32,32 @@ RedStoneDustTile::RedStoneDustTile(int id) : Tile(id, Material::decoration,isSol
iconLineOver = nullptr;
}
void RedStoneDustTile::createBlockStateDefinition()
{
if (!m_blockStateDefinition)
m_blockStateDefinition = new BlockStateDefinition(this);
}
int RedStoneDustTile::defaultBlockState()
{
return 0;
}
int RedStoneDustTile::convertBlockStateToLegacyData(BlockState *state)
{
return state ? (state->value & 0xF) : 0;
}
Tile::BlockState RedStoneDustTile::getBlockState(int data)
{
return Tile::BlockState(data & 0xF);
}
Tile::BlockState RedStoneDustTile::getBlockState(LevelSource *level, int x, int y, int z)
{
return Tile::BlockState(level->getData(x, y, z) & 0xF);
}
// 4J Added override
void RedStoneDustTile::updateDefaultShape()
{
@@ -252,7 +278,7 @@ void RedStoneDustTile::neighborChanged(Level *level, int x, int y, int z, int ty
int RedStoneDustTile::getResource(int data, Random *random, int playerBonusLevel)
{
return Item::redStone->id;
return Item::redstone->id;
}
int RedStoneDustTile::getDirectSignal(LevelSource *level, int x, int y, int z, int dir)
@@ -355,9 +381,9 @@ void RedStoneDustTile::animateTick(Level *level, int x, int y, int z, Random *ra
bool RedStoneDustTile::shouldConnectTo(LevelSource *level, int x, int y, int z, int direction)
{
int t = level->getTile(x, y, z);
if (t == Tile::redStoneDust_Id) return true;
if (t == Tile::redstone_wire_Id) return true;
if (t == 0) return false;
if (Tile::diode_off->isSameDiode(t))
if (Tile::unpowered_repeater->isSameDiode(t))
{
int data = level->getData(x, y, z);
return direction == (data & DiodeTile::DIRECTION_MASK) || direction == Direction::DIRECTION_OPPOSITE[data & DiodeTile::DIRECTION_MASK];
@@ -375,7 +401,7 @@ bool RedStoneDustTile::shouldReceivePowerFrom(LevelSource *level, int x, int y,
}
int t = level->getTile(x, y, z);
if (t == Tile::diode_on_Id)
if (t == Tile::powered_repeater_Id)
{
int data = level->getData(x, y, z);
return direction == (data & DiodeTile::DIRECTION_MASK);
@@ -385,7 +411,7 @@ bool RedStoneDustTile::shouldReceivePowerFrom(LevelSource *level, int x, int y,
int RedStoneDustTile::cloneTileId(Level *level, int x, int y, int z)
{
return Item::redStone_Id;
return Item::redstone_Id;
}
void RedStoneDustTile::registerIcons(IconRegister *iconRegister)