diff options
author | madmaxoft <github@xoft.cz> | 2014-04-01 14:23:11 +0200 |
---|---|---|
committer | madmaxoft <github@xoft.cz> | 2014-04-01 14:23:11 +0200 |
commit | aa7552309abb6943f8ba0ac3d8013689655e74b2 (patch) | |
tree | fdd296bc9907654e09585d2df74d2e90847bf87f /src/Blocks | |
parent | Removed an unneeded code branch. (diff) | |
download | cuberite-aa7552309abb6943f8ba0ac3d8013689655e74b2.tar cuberite-aa7552309abb6943f8ba0ac3d8013689655e74b2.tar.gz cuberite-aa7552309abb6943f8ba0ac3d8013689655e74b2.tar.bz2 cuberite-aa7552309abb6943f8ba0ac3d8013689655e74b2.tar.lz cuberite-aa7552309abb6943f8ba0ac3d8013689655e74b2.tar.xz cuberite-aa7552309abb6943f8ba0ac3d8013689655e74b2.tar.zst cuberite-aa7552309abb6943f8ba0ac3d8013689655e74b2.zip |
Diffstat (limited to '')
-rw-r--r-- | src/Blocks/BlockAnvil.h | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/Blocks/BlockAnvil.h b/src/Blocks/BlockAnvil.h index 57d10ebce..93a796ef7 100644 --- a/src/Blocks/BlockAnvil.h +++ b/src/Blocks/BlockAnvil.h @@ -18,11 +18,13 @@ public: { } + virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override { a_Pickups.push_back(cItem(E_BLOCK_ANVIL, 1, a_BlockMeta >> 2)); } + virtual bool GetPlacementBlockTypeMeta( cChunkInterface & a_ChunkInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, @@ -31,27 +33,23 @@ public: ) override { a_BlockType = m_BlockType; - - int Direction = (int)floor(a_Player->GetYaw() * 4.0 / 360.0 + 0.5) & 0x3; - NIBBLETYPE RawMeta = a_BlockMeta >> 2; - - Direction++; - Direction %= 4; + NIBBLETYPE HighBits = a_BlockMeta & 0x0c; // Only highest two bits are preserved + int Direction = (int)floor(a_Player->GetYaw() * 4.0 / 360.0 + 1.5) & 0x3; switch (Direction) { - case 0: a_BlockMeta = 0x2 | (RawMeta << 2); break; - case 1: a_BlockMeta = 0x3 | (RawMeta << 2); break; - case 2: a_BlockMeta = 0x0 | (RawMeta << 2); break; - case 3: a_BlockMeta = 0x1 | (RawMeta << 2); break; + case 0: a_BlockMeta = 0x2 | HighBits; break; + case 1: a_BlockMeta = 0x3 | HighBits; break; + case 2: a_BlockMeta = 0x0 | HighBits; break; + case 3: a_BlockMeta = 0x1 | HighBits; break; default: { return false; } } - return true; } + virtual bool IsUseable() override { return true; |