From 6c58100fbf2af197be7cd186d8103b380bf2da57 Mon Sep 17 00:00:00 2001 From: "Alex \"mcmonkey\" Goodwin" Date: Sun, 7 May 2023 17:41:35 -0700 Subject: [PATCH] implement new core VectorObject in LocationTag also minor meta/format fixes --- .../denizen/events/entity/EntityDeathScriptEvent.java | 1 - .../com/denizenscript/denizen/objects/LocationTag.java | 8 ++++---- .../java/com/denizenscript/denizen/objects/TradeTag.java | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDeathScriptEvent.java b/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDeathScriptEvent.java index 698402ca3e..75a9a70617 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDeathScriptEvent.java +++ b/plugin/src/main/java/com/denizenscript/denizen/events/entity/EntityDeathScriptEvent.java @@ -70,7 +70,6 @@ public EntityDeathScriptEvent() { registerSwitches("by", "cause"); } - public EntityTag entity; public EntityTag damager; public EntityTag projectile; diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java index 25f921ba53..379276b19d 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java @@ -55,13 +55,13 @@ import java.util.function.Function; import java.util.stream.Collectors; -public class LocationTag extends org.bukkit.Location implements ObjectTag, Notable, Adjustable, FlaggableObject { +public class LocationTag extends org.bukkit.Location implements VectorObject, ObjectTag, Notable, Adjustable, FlaggableObject { // <--[ObjectType] // @name LocationTag // @prefix l // @base ElementTag - // @implements FlaggableObject + // @implements FlaggableObject, VectorObject // @ExampleTagBase player.location // @ExampleValues , // @ExampleForReturns @@ -3465,7 +3465,7 @@ else if (attribute.startsWith("unexplored_structure", 2) && attribute.hasContext // Returns a 1-length vector in the same direction as this vector location. // --> tagProcessor.registerTag(LocationTag.class, "normalize", (attribute, object) -> { - double len = Math.sqrt(Math.pow(object.getX(), 2) + Math.pow(object.getY(), 2) + Math.pow(object.getZ(), 2)); + double len = object.length(); if (len == 0) { len = 1; } @@ -3481,7 +3481,7 @@ else if (attribute.startsWith("unexplored_structure", 2) && attribute.hasContext // Returns the 3D length of the vector/location. // --> tagProcessor.registerTag(ElementTag.class, "vector_length", (attribute, object) -> { - return new ElementTag(Math.sqrt(Math.pow(object.getX(), 2) + Math.pow(object.getY(), 2) + Math.pow(object.getZ(), 2))); + return new ElementTag(object.length()); }); // <--[tag] diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/TradeTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/TradeTag.java index 40ab9d7279..e38785d17e 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/TradeTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/TradeTag.java @@ -21,7 +21,7 @@ public class TradeTag implements ObjectTag, Adjustable { // @prefix trade // @base ElementTag // @implements PropertyHolderObject - // @ExampleTagBase trade[trade[result=diamond;max_use=10;inputs=stick]] + // @ExampleTagBase trade[trade[result=diamond;max_uses=10;inputs=stick]] // @ExampleValues trade[result=diamond;max_uses=10;inputs=stick] // @format // The identity format for trades is just the text 'trade'. All other data is specified through properties.