diff options
author | KHobbits <rob@khobbits.co.uk> | 2012-04-16 10:18:18 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2012-04-16 10:19:19 +0100 |
commit | 01ba8dbc3f90a3cb7d33d5b91de814ca12ae30ea (patch) | |
tree | 8af1f88050d4b3cdcc13de16e63dcd44c5380457 | |
parent | a97b3abca32cbca2b0413541fd21c4de7cc9b149 (diff) | |
download | Essentials-01ba8dbc3f90a3cb7d33d5b91de814ca12ae30ea.tar Essentials-01ba8dbc3f90a3cb7d33d5b91de814ca12ae30ea.tar.gz Essentials-01ba8dbc3f90a3cb7d33d5b91de814ca12ae30ea.tar.lz Essentials-01ba8dbc3f90a3cb7d33d5b91de814ca12ae30ea.tar.xz Essentials-01ba8dbc3f90a3cb7d33d5b91de814ca12ae30ea.zip |
Don't fire entity powertool commands, with our user object.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java index 029288530..829ef0313 100644 --- a/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java +++ b/Essentials/src/com/earth2me/essentials/EssentialsEntityListener.java @@ -32,18 +32,28 @@ public class EssentialsEntityListener implements Listener { final User defender = ess.getUser(eDefend); final User attacker = ess.getUser(eAttack); - if (attacker.hasInvulnerabilityAfterTeleport() || defender.hasInvulnerabilityAfterTeleport()) { + if (attacker.hasInvulnerabilityAfterTeleport() || defender.hasInvulnerabilityAfterTeleport()) + { event.setCancelled(true); } attacker.updateActivity(true); final List<String> commandList = attacker.getPowertool(attacker.getItemInHand()); if (commandList != null && !commandList.isEmpty()) { - for (String command : commandList) + for (final String command : commandList) { if (command != null && !command.isEmpty()) { - attacker.getServer().dispatchCommand(attacker, command.replaceAll("\\{player\\}", defender.getName())); + ess.scheduleSyncDelayedTask( + new Runnable() + { + @Override + public void run() + { + attacker.getServer().dispatchCommand(attacker.getBase(), command.replaceAll("\\{player\\}", defender.getName())); + } + }); + event.setCancelled(true); return; } |