From 140b16d52f4d3ce42d86b637c4d18ba7869dcdab Mon Sep 17 00:00:00 2001 From: "Luis C.M" <42545778+c0508383@users.noreply.github.com> Date: Fri, 17 Mar 2023 02:36:27 -0500 Subject: [PATCH] Moved model scale parts into a single ModelScale class, similar to ModelRotate. Added NPC model data interfaces to the API. --- java/noppes/npcs/api/entity/ICustomNpc.java | 7 +++++++ .../npcs/api/entity/data/IModelData.java | 16 ++++++++++++++++ .../npcs/api/entity/data/IModelRotate.java | 18 ++++++++++++++++++ .../npcs/api/entity/data/IModelRotatePart.java | 16 ++++++++++++++++ .../npcs/api/entity/data/IModelScale.java | 5 +++++ .../npcs/api/entity/data/IModelScalePart.java | 12 ++++++++++++ 6 files changed, 74 insertions(+) create mode 100644 java/noppes/npcs/api/entity/data/IModelData.java create mode 100644 java/noppes/npcs/api/entity/data/IModelRotate.java create mode 100644 java/noppes/npcs/api/entity/data/IModelRotatePart.java create mode 100644 java/noppes/npcs/api/entity/data/IModelScale.java create mode 100644 java/noppes/npcs/api/entity/data/IModelScalePart.java diff --git a/java/noppes/npcs/api/entity/ICustomNpc.java b/java/noppes/npcs/api/entity/ICustomNpc.java index 0b3c2c2..74080e5 100644 --- a/java/noppes/npcs/api/entity/ICustomNpc.java +++ b/java/noppes/npcs/api/entity/ICustomNpc.java @@ -8,6 +8,7 @@ package noppes.npcs.api.entity; import net.minecraft.entity.EntityCreature; import noppes.npcs.api.IPos; import noppes.npcs.api.ITimers; +import noppes.npcs.api.entity.data.IModelData; import noppes.npcs.api.handler.IOverlayHandler; import noppes.npcs.api.handler.data.IAnimationData; import noppes.npcs.api.handler.data.IFaction; @@ -703,12 +704,18 @@ public interface ICustomNpc extends IEntityLiving { */ void executeCommand(String command); + IModelData getModelData(); + + @Deprecated void setHeadScale(float x, float y, float z); + @Deprecated void setBodyScale(float x, float y, float z); + @Deprecated void setArmsScale(float x, float y, float z); + @Deprecated void setLegsScale(float x, float y, float z); /** diff --git a/java/noppes/npcs/api/entity/data/IModelData.java b/java/noppes/npcs/api/entity/data/IModelData.java new file mode 100644 index 0000000..fd05a39 --- /dev/null +++ b/java/noppes/npcs/api/entity/data/IModelData.java @@ -0,0 +1,16 @@ +package noppes.npcs.api.entity.data; + +public interface IModelData { + + void enableRotation(boolean enableRotation); + + boolean enableRotation(); + + IModelRotate getRotation(); + + IModelScale getScale(); + + void setEntity(String string); + + String getEntity(); +} diff --git a/java/noppes/npcs/api/entity/data/IModelRotate.java b/java/noppes/npcs/api/entity/data/IModelRotate.java new file mode 100644 index 0000000..0ccb68f --- /dev/null +++ b/java/noppes/npcs/api/entity/data/IModelRotate.java @@ -0,0 +1,18 @@ +package noppes.npcs.api.entity.data; + +public interface IModelRotate { + + boolean whileStanding(); + + void whileStanding(boolean whileStanding); + + boolean whileAttacking(); + + void whileAttacking(boolean whileAttacking); + + boolean whileMoving(); + + void whileMoving(boolean whileMoving); + + IModelRotatePart getPart(int part); +} diff --git a/java/noppes/npcs/api/entity/data/IModelRotatePart.java b/java/noppes/npcs/api/entity/data/IModelRotatePart.java new file mode 100644 index 0000000..9633fd9 --- /dev/null +++ b/java/noppes/npcs/api/entity/data/IModelRotatePart.java @@ -0,0 +1,16 @@ +package noppes.npcs.api.entity.data; + +public interface IModelRotatePart { + + void setRotation(float x, float y, float z); + + float getRotateX(); + + float getRotateY(); + + float getRotateZ(); + + void disabled(boolean enabled); + + boolean disabled(); +} diff --git a/java/noppes/npcs/api/entity/data/IModelScale.java b/java/noppes/npcs/api/entity/data/IModelScale.java new file mode 100644 index 0000000..c0b4d2f --- /dev/null +++ b/java/noppes/npcs/api/entity/data/IModelScale.java @@ -0,0 +1,5 @@ +package noppes.npcs.api.entity.data; + +public interface IModelScale { + IModelScalePart getPart(int part); +} diff --git a/java/noppes/npcs/api/entity/data/IModelScalePart.java b/java/noppes/npcs/api/entity/data/IModelScalePart.java new file mode 100644 index 0000000..00b6e26 --- /dev/null +++ b/java/noppes/npcs/api/entity/data/IModelScalePart.java @@ -0,0 +1,12 @@ +package noppes.npcs.api.entity.data; + +public interface IModelScalePart { + + void setScale(float x, float y, float z); + + float getScaleX(); + + float getScaleY(); + + float getScaleZ(); +}