TU19: merge Minecraft.World/Blocks

This commit is contained in:
Tropical
2026-03-21 15:52:50 -05:00
parent f25cd66f4d
commit 9b6046cb83
242 changed files with 8083 additions and 4657 deletions

View File

@@ -16,7 +16,8 @@ const unsigned int AnvilTile::ANVIL_NAMES[ANVIL_NAMES_LENGTH] = {
std::wstring AnvilTile::TEXTURE_DAMAGE_NAMES[ANVIL_NAMES_LENGTH] = {
L"anvil_top", L"anvil_top_damaged_1", L"anvil_top_damaged_2"};
AnvilTile::AnvilTile(int id) : HeavyTile(id, Material::heavyMetal, false) {
AnvilTile::AnvilTile(int id)
: HeavyTile(id, Material::heavyMetal, false) {
part = PART_BASE;
setLightBlock(0);
icons = NULL;
@@ -44,15 +45,24 @@ void AnvilTile::registerIcons(IconRegister* iconRegister) {
}
void AnvilTile::setPlacedBy(Level* level, int x, int y, int z,
std::shared_ptr<Mob> by) {
std::shared_ptr<LivingEntity> by,
std::shared_ptr<ItemInstance> itemInstance) {
int dir = (Mth::floor(by->yRot * 4 / (360) + 0.5)) & 3;
int dmg = level->getData(x, y, z) >> 2;
dir = ++dir % 4;
if (dir == 0) level->setData(x, y, z, Direction::NORTH | (dmg << 2));
if (dir == 1) level->setData(x, y, z, Direction::EAST | (dmg << 2));
if (dir == 2) level->setData(x, y, z, Direction::SOUTH | (dmg << 2));
if (dir == 3) level->setData(x, y, z, Direction::WEST | (dmg << 2));
if (dir == 0)
level->setData(x, y, z, Direction::NORTH | (dmg << 2),
Tile::UPDATE_CLIENTS);
if (dir == 1)
level->setData(x, y, z, Direction::EAST | (dmg << 2),
Tile::UPDATE_CLIENTS);
if (dir == 2)
level->setData(x, y, z, Direction::SOUTH | (dmg << 2),
Tile::UPDATE_CLIENTS);
if (dir == 3)
level->setData(x, y, z, Direction::WEST | (dmg << 2),
Tile::UPDATE_CLIENTS);
}
bool AnvilTile::use(Level* level, int x, int y, int z,
@@ -92,4 +102,4 @@ void AnvilTile::onLand(Level* level, int xt, int yt, int zt, int data) {
bool AnvilTile::shouldRenderFace(LevelSource* level, int x, int y, int z,
int face) {
return true;
}
}