From c3d6afe47e8e50f9b029caf012c69d1e6ee4e76a Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Sat, 1 Aug 2020 11:25:06 +0100 Subject: Corrected wakeup sequences * Pistons/Ice no longer need to FastSetBlock first (#4600), and the former don't drop items when broken in creative - Begin migration away from stationary fluids * Tick the chunk after applying a client's changed * Broadcast pending blocks at the end of a tick --- src/Blocks/BlockIce.h | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) (limited to 'src/Blocks/BlockIce.h') diff --git a/src/Blocks/BlockIce.h b/src/Blocks/BlockIce.h index 5e2fd9dbb..a4372d0ea 100644 --- a/src/Blocks/BlockIce.h +++ b/src/Blocks/BlockIce.h @@ -19,10 +19,6 @@ public: { } - - - - virtual cItems ConvertToPickups(NIBBLETYPE a_BlockMeta, cBlockEntity * a_BlockEntity, const cEntity * a_Digger, const cItem * a_Tool) override { // Only drop self when using silk-touch: @@ -36,10 +32,6 @@ public: } } - - - - virtual void OnBroken( cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, Vector3i a_BlockPos, @@ -51,19 +43,14 @@ public: { return; } - auto blockTypeBelow = a_ChunkInterface.GetBlock(a_BlockPos.addedY(-1)); - if (cBlockInfo::FullyOccupiesVoxel(blockTypeBelow) || IsBlockLiquid(blockTypeBelow)) + + const auto Below = a_ChunkInterface.GetBlock(a_BlockPos.addedY(-1)); + if (cBlockInfo::FullyOccupiesVoxel(Below) || IsBlockLiquid(Below)) { - // Setting air with FastSetBlock prevents SetBlock recursively calling OnBroken. - a_ChunkInterface.FastSetBlock(a_BlockPos, E_BLOCK_AIR, 0); a_ChunkInterface.SetBlock(a_BlockPos, E_BLOCK_WATER, 0); } } - - - - virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta) override { UNUSED(a_Meta); -- cgit v1.2.3