summaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/benjidial/nswp/Plugin.java11
-rw-r--r--src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java37
2 files changed, 43 insertions, 5 deletions
diff --git a/src/main/java/net/benjidial/nswp/Plugin.java b/src/main/java/net/benjidial/nswp/Plugin.java
index 9a46cb6..45509a7 100644
--- a/src/main/java/net/benjidial/nswp/Plugin.java
+++ b/src/main/java/net/benjidial/nswp/Plugin.java
@@ -25,10 +25,11 @@ public class Plugin extends JavaPlugin {
return;
}
- getCommand("wlist").setExecutor(new ListWaypoints());
- getCommand("wsave").setExecutor(new SaveWaypoint());
- getCommand("wtp" ).setExecutor(new TeleportToWaypoint());
- getCommand("wdel" ).setExecutor(new DeleteWaypoint());
- getCommand("wback").setExecutor(new WaypointBack());
+ getCommand("wlist" ).setExecutor(new ListWaypoints());
+ getCommand("wsave" ).setExecutor(new SaveWaypoint());
+ getCommand("wtp" ).setExecutor(new TeleportToWaypoint());
+ getCommand("wdel" ).setExecutor(new DeleteWaypoint());
+ getCommand("wback" ).setExecutor(new WaypointBack());
+ getCommand("wrename").setExecutor(new RenameWaypoint());
}
}
diff --git a/src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java b/src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java
new file mode 100644
index 0000000..44af06c
--- /dev/null
+++ b/src/main/java/net/benjidial/nswp/commands/RenameWaypoint.java
@@ -0,0 +1,37 @@
+package net.benjidial.nswp.commands;
+
+import net.benjidial.nswp.Database;
+import net.benjidial.nswp.Waypoint;
+
+import org.bukkit.entity.Player;
+
+import java.sql.SQLException;
+
+public class RenameWaypoint extends WaypointCommand {
+ public CompletionType getCompletionType() {
+ return CompletionType.Waypoint;
+ }
+
+ @Override
+ public boolean body(Player player, String[] args) throws SQLException {
+ if (args.length != 2) return false;
+
+ if (Database.lookupWaypoint(player, args[1]) != null) {
+ player.sendMessage("Waypoint with that name already exists!");
+ return true;
+ }
+
+ Waypoint waypoint = Database.lookupWaypoint(player, 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);
+ }
+
+ return true;
+ }
+
+}