diff options
Diffstat (limited to 'src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java')
-rw-r--r-- | src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java | 53 |
1 files changed, 33 insertions, 20 deletions
diff --git a/src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java b/src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java index 44af06c..07f255a 100644 --- a/src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java +++ b/src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java @@ -6,32 +6,45 @@ import net.benjidial.nswp.Waypoint; import org.bukkit.entity.Player; import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; -public class RenameWaypoint extends WaypointCommand { - public CompletionType getCompletionType() { - return CompletionType.Waypoint; - } +public class RenameWaypoint extends PlayerCommand { + + public List<String> getTabCompletions(Player sender, String[] args) throws SQLException { + if (args.length > 1) + return new ArrayList<String>(); + return searchWaypointsByArg(sender, args, 0); + } - @Override - public boolean body(Player player, String[] args) throws SQLException { - if (args.length != 2) return false; + public boolean doCommand(Player sender, String[] args) throws SQLException { - if (Database.lookupWaypoint(player, args[1]) != null) { - player.sendMessage("Waypoint with that name already exists!"); - return true; - } + if (args.length != 2) + return false; - Waypoint waypoint = Database.lookupWaypoint(player, args[0]); + Database.createWaypointTable(sender); + Waypoint wp = Database.lookupWaypoint(sender, args[0]); - if (waypoint == null) { - player.sendMessage("No waypoint with that name."); - } else { - Database.deleteWaypoint(player, args[0]); - waypoint.name = args[1]; - Database.addWaypoint(player, waypoint); - } + if (wp == null) { + sender.sendMessage("You do not have a waypoint " + args[0] + "."); + return true; + } - return true; + Waypoint otherWP = Database.lookupWaypoint(sender, args[1]); + if (otherWP != null) { + sender.sendMessage("You already have a waypoint " + otherWP.toString() + "."); + return true; } + String oldToString = wp.toString(); + wp.name = args[1]; + + Database.deleteWaypoint(sender, args[0]); + Database.addWaypoint(sender, wp); + + sender.sendMessage("Renamed " + oldToString + " to " + args[1] + "."); + return true; + + } + } |