From 5d576bd37c9dbee366ed58f64307e6dbcca172b9 Mon Sep 17 00:00:00 2001 From: Morphan1 Date: Thu, 13 Nov 2014 17:48:42 -0500 Subject: [PATCH] Fix dList valueOf/matches I accidentally the math --- .../net/aufdemrand/denizen/objects/dList.java | 16 ++++++++-------- .../commands/world/ModifyBlockCommand.java | 12 ++++-------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/main/java/net/aufdemrand/denizen/objects/dList.java b/src/main/java/net/aufdemrand/denizen/objects/dList.java index 50b55f49f5..a4d716fde5 100644 --- a/src/main/java/net/aufdemrand/denizen/objects/dList.java +++ b/src/main/java/net/aufdemrand/denizen/objects/dList.java @@ -37,11 +37,11 @@ public static dList valueOf(String string) { if (string.startsWith("fl")) { FlagManager flag_manager = DenizenAPI.getCurrentInstance().flagManager(); - if (string.indexOf('[') == 3) { + if (string.indexOf('[') == 2) { int cb = string.indexOf(']'); if (cb > 4 && string.indexOf('@') == (cb + 1)) { - String owner = string.substring(3, cb - 1); - String flag = string.substring(cb + 1); + String owner = string.substring(3, cb); + String flag = string.substring(cb + 2); if (dPlayer.matches(owner)) { dPlayer player = dPlayer.valueOf(owner); if (FlagManager.playerHasFlag(player, flag)) @@ -60,7 +60,7 @@ else if (Depends.citizens != null && dNPC.matches(owner)) { else dB.echoError("Invalid dFlag format: " + string); } - else if (string.indexOf('@') == 3) { + else if (string.indexOf('@') == 2) { String flag = string.substring(3); if (FlagManager.serverHasFlag(flag)) return new dList(flag_manager.getGlobalFlag(flag)); @@ -80,15 +80,15 @@ public static boolean matches(String arg) { boolean flag = false; if (arg.startsWith("fl")) { - if (arg.indexOf('[') == 3) { + if (arg.indexOf('[') == 2) { int cb = arg.indexOf(']'); if (cb > 4 && arg.indexOf('@') == (cb + 1)) { - String owner = arg.substring(3, cb - 1); - flag = arg.substring(cb + 1).length() > 0 && (dPlayer.matches(owner) + String owner = arg.substring(3, cb); + flag = arg.substring(cb + 2).length() > 0 && (dPlayer.matches(owner) || (Depends.citizens != null && dNPC.matches(owner))); } } - else if (arg.indexOf('@') == 3) { + else if (arg.indexOf('@') == 2) { flag = arg.substring(3).length() > 0; } } diff --git a/src/main/java/net/aufdemrand/denizen/scripts/commands/world/ModifyBlockCommand.java b/src/main/java/net/aufdemrand/denizen/scripts/commands/world/ModifyBlockCommand.java index 082189defb..40017e2f93 100644 --- a/src/main/java/net/aufdemrand/denizen/scripts/commands/world/ModifyBlockCommand.java +++ b/src/main/java/net/aufdemrand/denizen/scripts/commands/world/ModifyBlockCommand.java @@ -21,6 +21,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.BlockPhysicsEvent; import org.bukkit.event.entity.EntityChangeBlockEvent; +import org.bukkit.scheduler.BukkitRunnable; import java.util.ArrayList; import java.util.List; @@ -34,10 +35,6 @@ public class ModifyBlockCommand extends AbstractCommand implements Listener, Holdable { - public class IntHolder { - public int MyInteger = 0; - } - @Override public void parseArgs(ScriptEntry scriptEntry)throws InvalidArgumentsException { @@ -139,8 +136,7 @@ public void execute(final ScriptEntry scriptEntry) throws CommandExecutionExcept no_physics = !doPhysics; if (delayed.asBoolean()) { - final IntHolder myint = new IntHolder(); - myint.MyInteger = Bukkit.getScheduler().scheduleSyncRepeatingTask(DenizenAPI.getCurrentInstance(), new Runnable() { + new BukkitRunnable() { @Override public void run() { boolean was_static = preSetup(locations); @@ -163,10 +159,10 @@ public void run() { queue.start(); } scriptEntry.setFinished(true); - Bukkit.getScheduler().cancelTask(myint.MyInteger); + cancel(); } } - }, 1, 1); + }.runTaskTimer(DenizenAPI.getCurrentInstance(), 1, 1); } else { boolean was_static = preSetup(locations);