summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-04-16 10:18:18 +0100
committerKHobbits <rob@khobbits.co.uk>2012-04-16 10:19:19 +0100
commit01ba8dbc3f90a3cb7d33d5b91de814ca12ae30ea (patch)
tree8af1f88050d4b3cdcc13de16e63dcd44c5380457
parenta97b3abca32cbca2b0413541fd21c4de7cc9b149 (diff)
downloadEssentials-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.java16
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;
}