diff --git a/java/noppes/npcs/api/AbstractNpcAPI.java b/java/noppes/npcs/api/AbstractNpcAPI.java index 132968f..1fe3c82 100644 --- a/java/noppes/npcs/api/AbstractNpcAPI.java +++ b/java/noppes/npcs/api/AbstractNpcAPI.java @@ -25,6 +25,9 @@ import noppes.npcs.api.entity.IEntity; import noppes.npcs.api.entity.IPlayer; import noppes.npcs.api.gui.ICustomGui; import noppes.npcs.api.handler.*; +import noppes.npcs.api.handler.data.IAnimation; +import noppes.npcs.api.handler.data.IFrame; +import noppes.npcs.api.handler.data.IFramePart; import noppes.npcs.api.handler.data.ISound; import noppes.npcs.api.item.IItemStack; import noppes.npcs.api.overlay.ICustomOverlay; @@ -291,4 +294,22 @@ public abstract class AbstractNpcAPI { public abstract String millisToTime(long millis); public abstract String ticksToTime(long ticks); + + public abstract IAnimation createAnimation(String name); + + public abstract IFrame createFrame(int duration); + + public abstract IFrame createFrame(int duration, float speed, byte smooth); + + public abstract IFramePart createPart(String name); + + public abstract IFramePart createPart(String name, int[] rotation, int[] pivot); + + public abstract IFramePart createPart(String name, int[] rotation, int[] pivot, float speed, byte smooth); + + public abstract IFramePart createPart(int partId); + + public abstract IFramePart createPart(int partId, int[] rotation, int[] pivot); + + public abstract IFramePart createPart(int partId, int[] rotation, int[] pivot, float speed, byte smooth); } diff --git a/java/noppes/npcs/api/entity/ICustomNpc.java b/java/noppes/npcs/api/entity/ICustomNpc.java index 0ff6e30..0b3c2c2 100644 --- a/java/noppes/npcs/api/entity/ICustomNpc.java +++ b/java/noppes/npcs/api/entity/ICustomNpc.java @@ -9,10 +9,10 @@ import net.minecraft.entity.EntityCreature; import noppes.npcs.api.IPos; import noppes.npcs.api.ITimers; import noppes.npcs.api.handler.IOverlayHandler; +import noppes.npcs.api.handler.data.IAnimationData; import noppes.npcs.api.handler.data.IFaction; import noppes.npcs.api.item.IItemStack; import noppes.npcs.api.jobs.IJob; -import noppes.npcs.api.jobs.IJobPuppet; import noppes.npcs.api.roles.IRole; public interface ICustomNpc extends IEntityLiving { @@ -209,7 +209,7 @@ public interface ICustomNpc extends IEntityLiving { */ void reset(); - IJobPuppet getModelData(); + IAnimationData getAnimationData(); /** * @return Returns the npcs current role diff --git a/java/noppes/npcs/api/entity/IPlayer.java b/java/noppes/npcs/api/entity/IPlayer.java index 6ac1683..f9a4659 100644 --- a/java/noppes/npcs/api/entity/IPlayer.java +++ b/java/noppes/npcs/api/entity/IPlayer.java @@ -5,6 +5,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import noppes.npcs.api.*; import noppes.npcs.api.handler.IOverlayHandler; import noppes.npcs.api.handler.IPlayerData; +import noppes.npcs.api.handler.data.IAnimationData; import noppes.npcs.api.handler.data.IDialog; import noppes.npcs.api.handler.data.IQuest; import noppes.npcs.api.gui.ICustomGui; @@ -307,6 +308,8 @@ public interface IPlayer extends IEntityLivingBase IOverlayHandler getOverlays(); + IAnimationData getAnimationData(); + void setConqueredEnd(boolean conqueredEnd); boolean conqueredEnd(); diff --git a/java/noppes/npcs/api/handler/IPlayerModelData.java b/java/noppes/npcs/api/handler/IPlayerModelData.java deleted file mode 100644 index 573a140..0000000 --- a/java/noppes/npcs/api/handler/IPlayerModelData.java +++ /dev/null @@ -1,68 +0,0 @@ -package noppes.npcs.api.handler; - -import noppes.npcs.api.handler.data.IModelPart; - -public interface IPlayerModelData { - - void updateClient(); - - IModelPart getPart(int part); - - void setEnabled(boolean enabled); - - boolean enabled(); - - void setAnimated(boolean animated); - - boolean isAnimated(); - - void setInterpolated(boolean interpolate); - - boolean isInterpolated(); - - void setFullAngles(boolean fullAngles); - - boolean fullAngles(); - - void setAnimRate(float animRate); - - float getAnimRate(); - - void setRotation(float rotationX, float rotationY, float rotationZ); - - void setRotationX(float rotationX); - - void setRotationY(float rotationY); - - void setRotationZ(float rotationZ); - - float getRotationX(); - - float getRotationY(); - - float getRotationZ(); - - void setRotationEnabled(boolean enabledX, boolean enabledY, boolean enabledZ); - - void setRotationEnabledX(boolean enabled); - - void setRotationEnabledY(boolean enabled); - - void setRotationEnabledZ(boolean enabled); - - boolean rotationEnabledX(); - - boolean rotationEnabledY(); - - boolean rotationEnabledZ(); - - void allEnabled(boolean enabled); - - void allAnimated(boolean animated); - - void allInterpolated(boolean interpolate); - - void allFullAngles(boolean fullAngles); - - void allAnimRate(float animRate); -} diff --git a/java/noppes/npcs/api/handler/data/IAnimation.java b/java/noppes/npcs/api/handler/data/IAnimation.java new file mode 100644 index 0000000..cc7f21b --- /dev/null +++ b/java/noppes/npcs/api/handler/data/IAnimation.java @@ -0,0 +1,48 @@ +package noppes.npcs.api.handler.data; + +public interface IAnimation { + + IFrame currentFrame(); + + IFrame[] getFrames(); + + IAnimation setFrames(IFrame[] frames); + + IAnimation clearFrames(); + + IAnimation addFrame(IFrame frame); + + IAnimation addFrame(int index, IFrame frame); + + IAnimation removeFrame(IFrame frame); + + int getId(); + + IAnimation setName(String name); + + String getName(); + + IAnimation setSpeed(float speed); + + float getSpeed(); + + IAnimation setSmooth(byte smooth); + + byte isSmooth(); + + IAnimation useRenderTicks(boolean renderTicks); + + boolean useRenderTicks(); + + IAnimation doWhileStanding(boolean whileStanding); + + boolean doWhileStanding(); + + IAnimation doWhileMoving(boolean whileMoving); + + boolean doWhileMoving(); + + IAnimation doWhileAttacking(boolean whileAttacking); + + boolean doWhileAttacking(); +} diff --git a/java/noppes/npcs/api/handler/data/IAnimationData.java b/java/noppes/npcs/api/handler/data/IAnimationData.java new file mode 100644 index 0000000..82f3bcf --- /dev/null +++ b/java/noppes/npcs/api/handler/data/IAnimationData.java @@ -0,0 +1,16 @@ +package noppes.npcs.api.handler.data; + +public interface IAnimationData { + + void updateClient(); + + boolean isActive(); + + void setEnabled(boolean enabled); + + boolean enabled(); + + void setAnimation(IAnimation animation); + + IAnimation getAnimation(); +} diff --git a/java/noppes/npcs/api/handler/data/IFrame.java b/java/noppes/npcs/api/handler/data/IFrame.java new file mode 100644 index 0000000..f75657f --- /dev/null +++ b/java/noppes/npcs/api/handler/data/IFrame.java @@ -0,0 +1,30 @@ +package noppes.npcs.api.handler.data; + +public interface IFrame { + + IFramePart[] getParts(); + + IFrame addPart(IFramePart partConfig); + + IFrame removePart(String partName); + + IFrame removePart(int partId); + + IFrame clearParts(); + + int getDuration(); + + IFrame setDuration(int duration); + + boolean isCustomized(); + + IFrame setCustomized(boolean customized); + + float getSpeed(); + + IFrame setSpeed(float speed); + + byte smoothType(); + + IFrame setSmooth(byte smooth); +} diff --git a/java/noppes/npcs/api/handler/data/IFramePart.java b/java/noppes/npcs/api/handler/data/IFramePart.java new file mode 100644 index 0000000..015b484 --- /dev/null +++ b/java/noppes/npcs/api/handler/data/IFramePart.java @@ -0,0 +1,32 @@ +package noppes.npcs.api.handler.data; + +public interface IFramePart{ + + String getName(); + + int getPartId(); + + IFramePart setPart(String name); + + IFramePart setPart(int partId); + + int[] getRotations(); + + IFramePart setRotations(int[] rotation); + + int[] getPivots(); + + IFramePart setPivots(int[] pivot); + + boolean isCustomized(); + + IFramePart setCustomized(boolean customized); + + float getSpeed(); + + IFramePart setSpeed(float speed); + + byte isSmooth(); + + IFramePart setSmooth(byte smooth); +} diff --git a/java/noppes/npcs/api/handler/data/IModelPart.java b/java/noppes/npcs/api/handler/data/IModelPart.java deleted file mode 100644 index 7ae95bf..0000000 --- a/java/noppes/npcs/api/handler/data/IModelPart.java +++ /dev/null @@ -1,52 +0,0 @@ -package noppes.npcs.api.handler.data; - -public interface IModelPart { - - void setEnabled(boolean bo); - - boolean isEnabled(); - - void setAnimated(boolean animated); - - boolean isAnimated(); - - void setInterpolated(boolean interpolate); - - boolean isInterpolated(); - - void setFullAngles(boolean limit); - - boolean fullAngles(); - - void setAnimRate(float animRate); - - float getAnimRate(); - - void setRotation(float rotationX, float rotationY, float rotationZ); - - void setRotationX(float rotation); - - void setRotationY(float rotation); - - void setRotationZ(float rotation); - - float getRotationX(); - - float getRotationY(); - - float getRotationZ(); - - void setOffset(float offsetX, float offsetY, float offsetZ); - - void setOffsetX(float offset); - - void setOffsetY(float offset); - - void setOffsetZ(float offset); - - float getOffsetX(); - - float getOffsetY(); - - float getOffsetZ(); -} diff --git a/java/noppes/npcs/api/jobs/IJobPuppet.java b/java/noppes/npcs/api/jobs/IJobPuppet.java deleted file mode 100644 index eb46527..0000000 --- a/java/noppes/npcs/api/jobs/IJobPuppet.java +++ /dev/null @@ -1,58 +0,0 @@ -package noppes.npcs.api.jobs; - -import noppes.npcs.api.handler.data.IModelPart; - -public interface IJobPuppet extends IJob { - - void setEnabled(boolean enabled); - - boolean enabled(); - - IModelPart getPart(int part); - - void allEnabled(boolean enabled); - - void allAnimated(boolean animated); - - void allInterpolated(boolean interpolate); - - void allFullAngles(boolean fullAngles); - - void allAnimRate(float animRate); - - void doWhileStanding(boolean whileStanding); - - boolean doWhileStanding(); - - void doWhileAttacking(boolean whileAttacking); - - boolean doWhileAttacking(); - - void doWhileMoving(boolean whileMoving); - - boolean doWhileMoving(); - - @Deprecated - void setRotationX(int part, float rotation); - - @Deprecated - void setRotationY(int part, float rotation); - - @Deprecated - void setRotationZ(int part, float rotation); - - @Deprecated - float getRotationX(int part); - - @Deprecated - float getRotationY(int part); - - @Deprecated - float getRotationZ(int part); - - @Deprecated - boolean isEnabled(int part); - - @Deprecated - void setEnabled(int part, boolean bo); -}