diff --git a/src/main/java/noppes/npcs/constants/EnumAnimationPart.java b/src/main/java/noppes/npcs/constants/EnumAnimationPart.java new file mode 100644 index 000000000..b17bd34cf --- /dev/null +++ b/src/main/java/noppes/npcs/constants/EnumAnimationPart.java @@ -0,0 +1,18 @@ +package noppes.npcs.constants; + +public enum EnumAnimationPart { + HEAD ("HEAD"), + BODY ("BODY"), + RIGHT_ARM ("RARM"), + LEFT_ARM ("LARM"), + RIGHT_LEG ("RLEG"), + LEFT_LEG ("LLEG"), + FULL_MODEL ("MODEL"); + + public final String partName; + + EnumAnimationPart(String name){ + this.partName = name; + } + +} diff --git a/src/main/java/noppes/npcs/controllers/data/Animation.java b/src/main/java/noppes/npcs/controllers/data/Animation.java new file mode 100644 index 000000000..2f2f3762e --- /dev/null +++ b/src/main/java/noppes/npcs/controllers/data/Animation.java @@ -0,0 +1,48 @@ +package noppes.npcs.controllers.data; + +import java.util.ArrayList; + + +public class Animation { + + public ArrayList frames = new ArrayList(); + public int id = 0; + public String name; + public float speed = 1.0F; + public boolean smooth = false; + + public Animation(ArrayList parts, String name){ + this.frames = parts; + this.name = name; + } + + public Animation(ArrayList parts, String name, float speed, boolean smooth){ + this.frames = parts; + this.name = name; + this.speed = speed; + this.smooth = smooth; + } + + public ArrayList getFrames() { + return frames; + } + + public int getId() { + return id; + } + + public String getName() { + return name; + } + + public float getSpeed() { + return speed; + } + + public boolean isSmooth() { + return smooth; + } + + // MAKE WRITE NBT + // MAKE READ NBT +} diff --git a/src/main/java/noppes/npcs/controllers/data/Frame.java b/src/main/java/noppes/npcs/controllers/data/Frame.java new file mode 100644 index 000000000..f0fec745e --- /dev/null +++ b/src/main/java/noppes/npcs/controllers/data/Frame.java @@ -0,0 +1,71 @@ +package noppes.npcs.controllers.data; + +import noppes.npcs.constants.EnumAnimationPart; + +import java.util.ArrayList; + + +public class Frame { + + public ArrayList frameParts = new ArrayList(); + public int duration = 0; + boolean customized = false; + public float speed = 1.0F; + public boolean smooth = false; + + public Frame(ArrayList parts, int duration){ + this.frameParts = parts; + this.duration = duration; + } + + public Frame(ArrayList parts, int duration, float speed, boolean smooth){ + this.frameParts = parts; + this.duration = duration; + this.speed = speed; + this.smooth = smooth; + this.customized = true; + } + + public ArrayList getFrameParts() { + return frameParts; + } + + public void setFrameParts(ArrayList frameParts) { + this.frameParts = frameParts; + } + + public int getDuration() { + return duration; + } + + public void setDuration(int duration) { + this.duration = duration; + } + + public boolean isCustomized() { + return customized; + } + + public void setCustomized(boolean customized) { + this.customized = customized; + } + + public float getSpeed() { + return speed; + } + + public void setSpeed(float speed) { + this.speed = speed; + } + + public boolean isSmooth() { + return smooth; + } + + public void setSmooth(boolean smooth) { + this.smooth = smooth; + } + + // MAKE WRITE NBT + // MAKE READ NBT +} diff --git a/src/main/java/noppes/npcs/controllers/data/FramePart.java b/src/main/java/noppes/npcs/controllers/data/FramePart.java new file mode 100644 index 000000000..a4e5b939e --- /dev/null +++ b/src/main/java/noppes/npcs/controllers/data/FramePart.java @@ -0,0 +1,92 @@ +package noppes.npcs.controllers.data; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.Vec3; +import noppes.npcs.constants.EnumAnimationPart; + +import javax.vecmath.Vector3f; +import java.util.Vector; + + +public class FramePart { + + public EnumAnimationPart part; + public int[] rotation = {0, 0, 0}; + public int[] pivot = {0, 0, 0}; + + boolean customized = false; + + public float speed = 1.0F; + public boolean smooth = false; + + public FramePart(EnumAnimationPart part){ + this.part = part; + } + + public FramePart(EnumAnimationPart part, int[] rotation, int[] pivot){ + this.part = part; + this.rotation = rotation; + this.pivot = pivot; + } + + public FramePart(EnumAnimationPart part, int[] rotation, int[] pivot, float speed, boolean smooth){ + this.part = part; + this.rotation = rotation; + this.pivot = pivot; + this.speed = speed; + this.smooth = smooth; + this.customized = true; + } + + public EnumAnimationPart getPart() { + return part; + } + + public void setPart(EnumAnimationPart part) { + this.part = part; + } + + public int[] getRotation() { + return rotation; + } + + public void setRotation(int[] rotation) { + this.rotation = rotation; + } + + public int[] getPivot() { + return pivot; + } + + public void setPivot(int[] pivot) { + this.pivot = pivot; + } + + public boolean isCustomized() { + return customized; + } + + public void setCustomized(boolean customized) { + this.customized = customized; + } + + public float getSpeed() { + return speed; + } + + public void setSpeed(float speed) { + this.speed = speed; + } + + public boolean isSmooth() { + return smooth; + } + + public void setSmooth(boolean smooth) { + this.smooth = smooth; + } + + // MAKE WRITE NBT + // MAKE READ NBT +}