From 39b38ff0937ce5b00483e00f61598154a8fe14cf Mon Sep 17 00:00:00 2001 From: Dico200 Date: Sun, 22 Nov 2015 17:25:56 +0100 Subject: Block break fix 4 --- serversigns.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/serversigns.py b/serversigns.py index 14e103d..cab8258 100644 --- a/serversigns.py +++ b/serversigns.py @@ -260,7 +260,8 @@ def on_break(event): block = event.getBlock() if block.getType() in (Material.SIGN_POST, Material.WALL_SIGN): - check_sign(event, block, attached = False) + if check_sign(event, block, attached = False): + del signs[from] for block_face, data_values in faces.iteritems(): block2 = block.getRelative(block_face) @@ -278,9 +279,13 @@ def check_sign(event, block, attached = True): player = event.getPlayer() sign = getSign(fromLoc(block.getLocation())) if not canEdit(sign, player) and not can_build(player, block): - event.setCancelled(True) - msg(event.getPlayer(), signsMsg("You cannot break %s" % ("the sign attached to that block" if attached else "that sign"))) - + event.setCancelled(True) + msg(event.getPlayer(), signsMsg("You cannot break %s" % ("the sign attached to that block" if attached else "that sign"))) + else: + loc = fromLoc(block.getLocation()) + del signs[loc] + save_signs() + msg(player, signsMsg("Reset the %s which you just broke" % identifySign(loc))) def can_build(player, block): global checking_block -- cgit v1.2.3