summaryrefslogtreecommitdiff
path: root/damnspam.py
diff options
context:
space:
mode:
authorjomo <github@jomo.tv>2014-08-08 05:37:45 +0200
committerjomo <github@jomo.tv>2014-08-08 05:37:45 +0200
commitd0acf1bd3604450f67fc1cc4729f70de6906179f (patch)
tree86178916a7b5107f0e9dd6e301491dcd377658e2 /damnspam.py
parent10d8498ce4157d6e684173ddb6c44df0bd1534e1 (diff)
fixing endless loop
Diffstat (limited to 'damnspam.py')
-rw-r--r--damnspam.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/damnspam.py b/damnspam.py
index ed0ffaa..54cbc24 100644
--- a/damnspam.py
+++ b/damnspam.py
@@ -6,6 +6,7 @@ import org.bukkit.event.block.BlockBreakEvent as BlockBreakEvent
inputs = open_json_file("damnspam", {}) # format "x;y;z;World"
accepted_inputs = ["WOOD_BUTTON", "STONE_BUTTON", "LEVER"]
changing_input = False
+removing_input = False
def save_inputs():
@@ -93,6 +94,10 @@ def on_dammnspam_command(sender, args):
@hook.event("block.BlockBreakEvent", "normal")
def on_block_break(event):
+ global removing_input
+
+ if removing_input:
+ return True
sender = event.getPlayer()
block = event.getBlock()
if str(block.getType()) in accepted_inputs and not event.isCancelled():
@@ -101,12 +106,14 @@ def on_block_break(event):
plugin_header(sender, "DamnSpam")
if sender.isSneaking():
# test if player is allowed to build here
- test_event = BlockBreakEvent(block, sender)
+ removing_input = True
+ test_event = BlockBreakEvent(block, sender)
server.getPluginManager().callEvent(test_event)
if test_event.isCancelled():
event.setCancelled(True)
msg(sender, "&cYou are not allowed to remove this input")
return True
+ removing_input = False
inputs.pop(pos_str) # remove
save_inputs()
msg(sender, "&eSuccessfully removed this input!")