From 6b9eaec033775aa19572057757cd2d3e31b82716 Mon Sep 17 00:00:00 2001 From: Morphan1 Date: Fri, 12 Dec 2014 00:36:27 -0500 Subject: [PATCH] Make dEllipsoids notable Untested. Also, remove pointless MapCursor direction check... --- .../denizen/objects/dEllipsoid.java | 24 +++++++++++++++++-- .../objects/notable/NotableManager.java | 1 + .../denizen/utilities/maps/MapCursor.java | 8 +------ 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/aufdemrand/denizen/objects/dEllipsoid.java b/src/main/java/net/aufdemrand/denizen/objects/dEllipsoid.java index adf1cfdfc7..f036658e65 100644 --- a/src/main/java/net/aufdemrand/denizen/objects/dEllipsoid.java +++ b/src/main/java/net/aufdemrand/denizen/objects/dEllipsoid.java @@ -1,5 +1,8 @@ package net.aufdemrand.denizen.objects; +import net.aufdemrand.denizen.objects.notable.Notable; +import net.aufdemrand.denizen.objects.notable.NotableManager; +import net.aufdemrand.denizen.objects.notable.Note; import net.aufdemrand.denizen.objects.properties.Property; import net.aufdemrand.denizen.objects.properties.PropertyParser; import net.aufdemrand.denizen.tags.Attribute; @@ -9,7 +12,7 @@ import java.util.List; -public class dEllipsoid implements dObject { +public class dEllipsoid implements dObject, Notable { ////////////////// // OBJECT FETCHER //////////////// @@ -23,7 +26,8 @@ public class dEllipsoid implements dObject { @Fetchable("ellipsoid") public static dEllipsoid valueOf(String string) { - string = string.substring("ellipsoid@".length()); + if (string.startsWith("ellipsoid@")) + string = string.substring(10); List split = CoreUtilities.Split(string, ','); @@ -111,6 +115,22 @@ public boolean isUnique() { return false; } + @Override + @Note("Ellipsoids") + public Object getSaveObject() { + return identify().substring(10); + } + + @Override + public void makeUnique(String id) { + NotableManager.saveAs(this, id); + } + + @Override + public void forget() { + NotableManager.remove(this); + } + @Override public String getObjectType() { return "Ellipsoid"; diff --git a/src/main/java/net/aufdemrand/denizen/objects/notable/NotableManager.java b/src/main/java/net/aufdemrand/denizen/objects/notable/NotableManager.java index 354f8e3992..08eb882808 100644 --- a/src/main/java/net/aufdemrand/denizen/objects/notable/NotableManager.java +++ b/src/main/java/net/aufdemrand/denizen/objects/notable/NotableManager.java @@ -24,6 +24,7 @@ public class NotableManager { public NotableManager() { registerWithNotableManager(dCuboid.class); + registerWithNotableManager(dEllipsoid.class); registerWithNotableManager(dInventory.class); registerWithNotableManager(dItem.class); registerWithNotableManager(dLocation.class); diff --git a/src/main/java/net/aufdemrand/denizen/utilities/maps/MapCursor.java b/src/main/java/net/aufdemrand/denizen/utilities/maps/MapCursor.java index e02c6248f7..619ade737e 100644 --- a/src/main/java/net/aufdemrand/denizen/utilities/maps/MapCursor.java +++ b/src/main/java/net/aufdemrand/denizen/utilities/maps/MapCursor.java @@ -23,12 +23,7 @@ public MapCursor(String xTag, String yTag, String visibilityTag, boolean debug, } public byte getDirection(dPlayer player) { - double direction = aH.getDoubleFrom(tag(directionTag, player)); - if (direction >= 0 && direction <= 360) - return yawToDirection(direction); - else - dB.echoError("Cursor directions must be between 0 and 360! Until this is fixed, the direction will be 0!"); - return 0; + return yawToDirection(aH.getDoubleFrom(tag(directionTag, player))); } public org.bukkit.map.MapCursor.Type getType(dPlayer player) { @@ -36,7 +31,6 @@ public org.bukkit.map.MapCursor.Type getType(dPlayer player) { } private byte yawToDirection(double yaw) { - //return (byte) Math.floor(((yaw + 11.25) % 348.75) / 22.5); return (byte) (Math.floor((yaw / 22.5) + 0.5) % 16); }