summaryrefslogtreecommitdiffstats
path: root/src/WorldStorage/WSSAnvil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/WorldStorage/WSSAnvil.cpp')
-rwxr-xr-xsrc/WorldStorage/WSSAnvil.cpp44
1 files changed, 7 insertions, 37 deletions
diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp
index cc8b8d3f5..0aa26834c 100755
--- a/src/WorldStorage/WSSAnvil.cpp
+++ b/src/WorldStorage/WSSAnvil.cpp
@@ -1747,52 +1747,22 @@ void cWSSAnvil::LoadHangingFromNBT(cHangingEntity & a_Hanging, const cParsedNBT
{
// "Facing" tag is the prime source of the Facing; if not available, translate from older "Direction" or "Dir"
int Facing = a_NBT.FindChildByName(a_TagIdx, "Facing");
- if (Facing > 0)
+ if (Facing < 0)
{
- Facing = (int)a_NBT.GetByte(Facing);
- if ((Facing >= 2) && (Facing <= 5))
- {
- a_Hanging.SetFacing(static_cast<eBlockFace>(Facing));
- }
- }
- else
- {
- Facing = a_NBT.FindChildByName(a_TagIdx, "Direction");
- if (Facing > 0)
- {
- switch ((int)a_NBT.GetByte(Facing))
- {
- case 0: a_Hanging.SetFacing(BLOCK_FACE_ZM); break;
- case 1: a_Hanging.SetFacing(BLOCK_FACE_XM); break;
- case 2: a_Hanging.SetFacing(BLOCK_FACE_ZP); break;
- case 3: a_Hanging.SetFacing(BLOCK_FACE_XP); break;
- }
- }
- else
- {
- Facing = a_NBT.FindChildByName(a_TagIdx, "Dir"); // Has values 0 and 2 swapped
- if (Facing > 0)
- {
- switch ((int)a_NBT.GetByte(Facing))
- {
- case 0: a_Hanging.SetFacing(BLOCK_FACE_ZP); break;
- case 1: a_Hanging.SetFacing(BLOCK_FACE_XM); break;
- case 2: a_Hanging.SetFacing(BLOCK_FACE_ZM); break;
- case 3: a_Hanging.SetFacing(BLOCK_FACE_XP); break;
- }
- }
- }
+ return;
}
+ a_Hanging.SetProtocolFacing(a_NBT.GetByte(Facing));
+
int TileX = a_NBT.FindChildByName(a_TagIdx, "TileX");
int TileY = a_NBT.FindChildByName(a_TagIdx, "TileY");
int TileZ = a_NBT.FindChildByName(a_TagIdx, "TileZ");
if ((TileX > 0) && (TileY > 0) && (TileZ > 0))
{
a_Hanging.SetPosition(
- (double)a_NBT.GetInt(TileX),
- (double)a_NBT.GetInt(TileY),
- (double)a_NBT.GetInt(TileZ)
+ static_cast<double>(a_NBT.GetInt(TileX)),
+ static_cast<double>(a_NBT.GetInt(TileY)),
+ static_cast<double>(a_NBT.GetInt(TileZ))
);
}
}