From cca4cb11e35459d2533fbc28895efff4bd67a426 Mon Sep 17 00:00:00 2001 From: Gibstick Date: Fri, 19 Jul 2013 11:48:35 -0400 Subject: [PATCH] changed order of command parsing, fixed limit checking for arguments --- .../bukkit/discosheep/DiscoParty.java | 8 +++---- .../discosheep/DiscoSheepCommandExecutor.java | 24 ++++++++++++------- 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/gibstick/bukkit/discosheep/DiscoParty.java b/src/gibstick/bukkit/discosheep/DiscoParty.java index abe1c98..6de0298 100644 --- a/src/gibstick/bukkit/discosheep/DiscoParty.java +++ b/src/gibstick/bukkit/discosheep/DiscoParty.java @@ -66,7 +66,7 @@ public class DiscoParty { * @param player The new player to be stored * @return A copy of the class with the new player */ - public static DiscoParty DiscoParty(Player player) { + public DiscoParty DiscoParty(Player player) { DiscoParty newParty = new DiscoParty(this.ds, player); newParty.setDoFireworks(this.doFireworks); newParty.setDuration(this.duration); @@ -90,7 +90,7 @@ public class DiscoParty { } public DiscoParty setDuration(int duration) throws IllegalArgumentException { - if (duration <= DiscoParty.maxDuration) { + if (duration <= DiscoParty.maxDuration || duration > 0) { this.duration = duration; return this; } else { @@ -108,7 +108,7 @@ public class DiscoParty { } public DiscoParty setRadius(int radius) throws IllegalArgumentException { - if (radius <= DiscoParty.maxRadius) { + if (radius <= DiscoParty.maxRadius || radius > 0) { this.radius = radius; return this; } else { @@ -117,7 +117,7 @@ public class DiscoParty { } public DiscoParty setSheep(int sheep) throws IllegalArgumentException { - if (sheep <= DiscoParty.maxSheep) { + if (sheep <= DiscoParty.maxSheep || sheep > 0) { this.sheep = sheep; return this; } else { diff --git a/src/gibstick/bukkit/discosheep/DiscoSheepCommandExecutor.java b/src/gibstick/bukkit/discosheep/DiscoSheepCommandExecutor.java index 52c7f4f..14cace7 100644 --- a/src/gibstick/bukkit/discosheep/DiscoSheepCommandExecutor.java +++ b/src/gibstick/bukkit/discosheep/DiscoSheepCommandExecutor.java @@ -161,6 +161,22 @@ public class DiscoSheepCommandExecutor implements CommandExecutor { player = (Player) sender; isPlayer = true; } + + // check for commands that don't need a party + if (args.length == 1) { + if (args[0].equalsIgnoreCase("stopall")) { + return stopAllCommand(sender); + } else if (args[0].equalsIgnoreCase("stop") && isPlayer) { + return stopMeCommand(sender); + } else if (args[0].equalsIgnoreCase("help")) { + return helpCommand(sender); + } else if (args[0].equalsIgnoreCase("reload")) { + return reloadCommand(sender); + } else { + sender.sendMessage(ChatColor.RED + "Invalid argument (certain commands do not work from console)."); + return false; + } + } for (int i = 1; i < args.length; i++) { if (args[i].equalsIgnoreCase("-fw")) { @@ -210,18 +226,10 @@ public class DiscoSheepCommandExecutor implements CommandExecutor { if (args[0].equalsIgnoreCase("all")) { return partyAllCommand(sender, duration, sheepNumber, radius, period, fireworks); - } else if (args[0].equalsIgnoreCase("stopall")) { - return stopAllCommand(sender); - } else if (args[0].equalsIgnoreCase("stop") && isPlayer) { - return stopMeCommand(sender); } else if (args[0].equalsIgnoreCase("me") && isPlayer) { return partyCommand(player, duration, sheepNumber, radius, period, fireworks); } else if (args[0].equalsIgnoreCase("other")) { return partySelectCommand(parsePlayerList(args, 1), sender, duration, sheepNumber, radius, period, fireworks); - } else if (args[0].equalsIgnoreCase("help")) { - return helpCommand(sender); - } else if (args[0].equalsIgnoreCase("reload")) { - return reloadCommand(sender); } else { sender.sendMessage(ChatColor.RED + "Invalid argument (certain commands do not work from console)."); return false;