diff --git a/src/main/java/com/onarandombox/utils/Destination.java b/src/main/java/com/onarandombox/utils/Destination.java index e90fe211..5f6a3124 100644 --- a/src/main/java/com/onarandombox/utils/Destination.java +++ b/src/main/java/com/onarandombox/utils/Destination.java @@ -12,4 +12,5 @@ public abstract class Destination { public abstract void setDestination(MultiverseCore plugin, String dest); public abstract String getType(); public abstract String getName(); + public abstract String toString(); } diff --git a/src/main/java/com/onarandombox/utils/ExactDestination.java b/src/main/java/com/onarandombox/utils/ExactDestination.java index 3d942577..f943f530 100644 --- a/src/main/java/com/onarandombox/utils/ExactDestination.java +++ b/src/main/java/com/onarandombox/utils/ExactDestination.java @@ -8,7 +8,7 @@ import org.bukkit.Location; import com.onarandombox.MultiverseCore.MultiverseCore; public class ExactDestination extends Destination { - private final String coordRegex = "([\\d]+\\.?[\\d]*),([\\d]+\\.?[\\d]*),([\\d]+\\.?[\\d]*)"; + private final String coordRegex = "(-?[\\d]+\\.?[\\d]*),(-?[\\d]+\\.?[\\d]*),(-?[\\d]+\\.?[\\d]*)"; private boolean isValid; private Location location; @@ -57,7 +57,7 @@ public class ExactDestination extends Destination { } try { - + } catch (NumberFormatException e) { return false; } @@ -113,13 +113,12 @@ public class ExactDestination extends Destination { this.location.setX(coords[0]); this.location.setY(coords[1]); this.location.setZ(coords[2]); - - if(parsed.size() == 3) { + + if (parsed.size() == 3) { this.isValid = true; return; } - - + try { this.location.setPitch(Float.parseFloat(parsed.get(3))); this.location.setYaw(Float.parseFloat(parsed.get(4))); @@ -128,7 +127,7 @@ public class ExactDestination extends Destination { return; } this.isValid = true; - + } @Override @@ -138,6 +137,22 @@ public class ExactDestination extends Destination { @Override public String getName() { - return "Exact (" + this.location.getX() + ", "+ this.location.getY() + ", "+ this.location.getZ() + ")"; + return "Exact (" + this.location.getX() + ", " + this.location.getY() + ", " + this.location.getZ() + ")"; + } + + public void setDestination(Location location) { + if (location != null) { + this.location = location; + this.isValid = false; + } + this.isValid = true; + } + + @Override + public String toString() { + if (isValid) { + return "e:" + location.getWorld().getName() + ":" + location.getX() + "," + location.getY() + "," + location.getZ() + ": " + location.getX() + ":" + location.getX(); + } + return "i:Invalid Destination"; } } diff --git a/src/main/java/com/onarandombox/utils/InvalidDestination.java b/src/main/java/com/onarandombox/utils/InvalidDestination.java index 6abdd4ff..36ff0fbe 100644 --- a/src/main/java/com/onarandombox/utils/InvalidDestination.java +++ b/src/main/java/com/onarandombox/utils/InvalidDestination.java @@ -42,4 +42,9 @@ public class InvalidDestination extends Destination { return ChatColor.RED + "Invalid Destination"; } + @Override + public String toString() { + return "i:Invalid Destination"; + } + } diff --git a/src/main/java/com/onarandombox/utils/WorldDestination.java b/src/main/java/com/onarandombox/utils/WorldDestination.java index 2ef0b797..76390033 100644 --- a/src/main/java/com/onarandombox/utils/WorldDestination.java +++ b/src/main/java/com/onarandombox/utils/WorldDestination.java @@ -68,4 +68,9 @@ public class WorldDestination extends Destination { return this.world.getColoredWorldString(); } + @Override + public String toString() { + return this.world.getCBWorld().getName(); + } + }