diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Blocks/BlockCauldron.h | 9 | ||||
-rw-r--r-- | src/Blocks/BlockComparator.h | 9 | ||||
-rw-r--r-- | src/Blocks/BlockFarmland.h | 13 | ||||
-rw-r--r-- | src/Blocks/BlockFlowerPot.h | 13 | ||||
-rw-r--r-- | src/Blocks/BlockRedstone.h | 9 | ||||
-rw-r--r-- | src/Blocks/BlockRedstoneRepeater.h | 10 |
6 files changed, 51 insertions, 12 deletions
diff --git a/src/Blocks/BlockCauldron.h b/src/Blocks/BlockCauldron.h index a359533af..5b45b2828 100644 --- a/src/Blocks/BlockCauldron.h +++ b/src/Blocks/BlockCauldron.h @@ -8,9 +8,9 @@ class cBlockCauldronHandler : - public cClearMetaOnDrop<cBlockHandler> + public cBlockHandler { - using super = cClearMetaOnDrop<cBlockHandler>; + using super = cBlockHandler; public: @@ -19,6 +19,11 @@ public: { } + virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override + { + return cItem(E_ITEM_CAULDRON, 1, 0); + } + virtual bool OnUse(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) override { NIBBLETYPE Meta = a_ChunkInterface.GetBlockMeta({a_BlockX, a_BlockY, a_BlockZ}); diff --git a/src/Blocks/BlockComparator.h b/src/Blocks/BlockComparator.h index 4103c805e..e4dca5d77 100644 --- a/src/Blocks/BlockComparator.h +++ b/src/Blocks/BlockComparator.h @@ -10,9 +10,9 @@ class cBlockComparatorHandler : - public cClearMetaOnDrop<cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true>> + public cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true> { - using super = cClearMetaOnDrop<cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true>>; + using super = cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true>; public: @@ -45,6 +45,11 @@ public: return ((a_RelY > 0) && (a_Chunk.GetBlock(a_RelX, a_RelY - 1, a_RelZ) != E_BLOCK_AIR)); } + virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override + { + return cItem(E_ITEM_COMPARATOR, 1, 0); + } + virtual bool GetPlacementBlockTypeMeta( cChunkInterface & a_ChunkInterface, cPlayer & a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, diff --git a/src/Blocks/BlockFarmland.h b/src/Blocks/BlockFarmland.h index 219f9a654..261103a50 100644 --- a/src/Blocks/BlockFarmland.h +++ b/src/Blocks/BlockFarmland.h @@ -17,9 +17,9 @@ class cBlockFarmlandHandler : - public cClearMetaOnDrop<cBlockHandler> + public cBlockHandler { - using super = cClearMetaOnDrop<cBlockHandler>; + using super = cBlockHandler; public: @@ -32,6 +32,15 @@ public: + virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override + { + return cItem(E_BLOCK_DIRT, 1, 0); + } + + + + + virtual void OnUpdate(cChunkInterface & cChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_PluginInterface, cChunk & a_Chunk, int a_RelX, int a_RelY, int a_RelZ) override { NIBBLETYPE BlockMeta = a_Chunk.GetMeta(a_RelX, a_RelY, a_RelZ); diff --git a/src/Blocks/BlockFlowerPot.h b/src/Blocks/BlockFlowerPot.h index 36c71df5b..b552e2c81 100644 --- a/src/Blocks/BlockFlowerPot.h +++ b/src/Blocks/BlockFlowerPot.h @@ -8,9 +8,9 @@ class cBlockFlowerPotHandler : - public cClearMetaOnDrop<cBlockEntityHandler> + public cBlockEntityHandler { - using super = cClearMetaOnDrop<cBlockEntityHandler>; + using super = cBlockEntityHandler; public: @@ -23,6 +23,15 @@ public: + virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override + { + return cItem(E_ITEM_FLOWER_POT, 1, 0); + } + + + + + virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override { UNUSED(a_Meta); diff --git a/src/Blocks/BlockRedstone.h b/src/Blocks/BlockRedstone.h index d01a40631..c93537d08 100644 --- a/src/Blocks/BlockRedstone.h +++ b/src/Blocks/BlockRedstone.h @@ -9,9 +9,9 @@ class cBlockRedstoneHandler : - public cClearMetaOnDrop<cBlockHandler> + public cBlockHandler { - using super = cClearMetaOnDrop<cBlockHandler>; + using super = cBlockHandler; public: @@ -46,6 +46,11 @@ public: return false; } + virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override + { + return cItem(E_ITEM_REDSTONE_DUST, 1, 0); + } + virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override { UNUSED(a_Meta); diff --git a/src/Blocks/BlockRedstoneRepeater.h b/src/Blocks/BlockRedstoneRepeater.h index 6e749bd57..de55debf1 100644 --- a/src/Blocks/BlockRedstoneRepeater.h +++ b/src/Blocks/BlockRedstoneRepeater.h @@ -12,9 +12,9 @@ class cBlockRedstoneRepeaterHandler: - public cClearMetaOnDrop<cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true>> + public cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true> { - using super = cClearMetaOnDrop<cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true>>; + using super = cMetaRotator<cBlockHandler, 0x03, 0x00, 0x01, 0x02, 0x03, true>; public: @@ -32,6 +32,7 @@ public: { a_BlockType = m_BlockType; a_BlockMeta = RepeaterRotationToMetaData(a_Player.GetYaw()); + return true; } @@ -78,6 +79,11 @@ public: return false; } + virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override + { + return cItem(E_ITEM_REDSTONE_REPEATER, 1, 0); + } + inline static NIBBLETYPE RepeaterRotationToMetaData(double a_Rotation) { a_Rotation += 90 + 45; // So its not aligned with axis |