diff options
Diffstat (limited to 'src/Blocks/BlockFence.h')
-rw-r--r-- | src/Blocks/BlockFence.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/Blocks/BlockFence.h b/src/Blocks/BlockFence.h index 6c38b7c72..96a3d8d96 100644 --- a/src/Blocks/BlockFence.h +++ b/src/Blocks/BlockFence.h @@ -122,13 +122,21 @@ public: return true; } - virtual void OnDestroyed(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ) override - { - auto LeashKnot = cLeashKnot::FindKnotAtPos(a_WorldInterface, { a_BlockX, a_BlockY, a_BlockZ }); - if (LeashKnot != nullptr) + + + + virtual void OnBroken( + cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, + Vector3i a_BlockPos, + BLOCKTYPE a_OldBlockType, NIBBLETYPE a_OldBlockMeta + ) override + { + // Destroy any leash knot tied to the fence: + auto leashKnot = cLeashKnot::FindKnotAtPos(a_WorldInterface, a_BlockPos); + if (leashKnot != nullptr) { - LeashKnot->SetShouldSelfDestroy(); + leashKnot->SetShouldSelfDestroy(); } } |