feat: blockstates
actually this time but might need to make a couple of fixes
This commit is contained in:
@@ -32,6 +32,36 @@ BaseRailTile::Rail::Rail(Level *level, int x, int y, int z)
|
||||
}
|
||||
}
|
||||
|
||||
void BaseRailTile::createBlockStateDefinition()
|
||||
{
|
||||
if (!m_blockStateDefinition)
|
||||
m_blockStateDefinition = new BlockStateDefinition(this);
|
||||
}
|
||||
|
||||
int BaseRailTile::defaultBlockState()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int BaseRailTile::convertBlockStateToLegacyData(BlockState *state)
|
||||
{
|
||||
if (!state) return 0;
|
||||
int mask = RAIL_DIRECTION_MASK | (usesDataBit ? RAIL_DATA_BIT : 0);
|
||||
return state->value & mask;
|
||||
}
|
||||
|
||||
Tile::BlockState BaseRailTile::getBlockState(int data)
|
||||
{
|
||||
int mask = RAIL_DIRECTION_MASK | (usesDataBit ? RAIL_DATA_BIT : 0);
|
||||
return Tile::BlockState(data & mask);
|
||||
}
|
||||
|
||||
Tile::BlockState BaseRailTile::getBlockState(LevelSource *level, int x, int y, int z)
|
||||
{
|
||||
int mask = RAIL_DIRECTION_MASK | (usesDataBit ? RAIL_DATA_BIT : 0);
|
||||
return Tile::BlockState(level->getData(x, y, z) & mask);
|
||||
}
|
||||
|
||||
BaseRailTile::Rail::~Rail()
|
||||
{
|
||||
for( size_t i = 0; i < connections.size(); i++ )
|
||||
|
||||
Reference in New Issue
Block a user