aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java')
-rw-r--r--src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java67
1 files changed, 67 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java b/src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java
new file mode 100644
index 0000000000..f820d0ad85
--- /dev/null
+++ b/src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java
@@ -0,0 +1,67 @@
+package gtPlusPlus.australia.entity.model;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.client.model.ModelBase;
+import net.minecraft.client.model.ModelRenderer;
+import net.minecraft.entity.Entity;
+
+@SideOnly(Side.CLIENT)
+public class ModelOctopus extends ModelBase {
+
+ /** The squid's body */
+ ModelRenderer octopusBody;
+ /** The squid's tentacles */
+ ModelRenderer[] octoTentacles = new ModelRenderer[8];
+
+ public ModelOctopus() {
+ byte b0 = -16;
+ this.octopusBody = new ModelRenderer(this, 0, 0);
+ this.octopusBody.addBox(-6.0F, -8.0F, -6.0F, 12, 16, 12);
+ this.octopusBody.rotationPointY += (float) (24 + b0);
+
+ for (int i = 0; i < this.octoTentacles.length; ++i) {
+ this.octoTentacles[i] = new ModelRenderer(this, 48, 0);
+ double d0 = (double) i * Math.PI * 2.0D / (double) this.octoTentacles.length;
+ float f = (float) Math.cos(d0) * 5.0F;
+ float f1 = (float) Math.sin(d0) * 5.0F;
+ this.octoTentacles[i].addBox(-1.0F, 0.0F, -1.0F, 2, 18, 2);
+ this.octoTentacles[i].rotationPointX = f;
+ this.octoTentacles[i].rotationPointZ = f1;
+ this.octoTentacles[i].rotationPointY = (float) (31 + b0);
+ d0 = (double) i * Math.PI * -2.0D / (double) this.octoTentacles.length + (Math.PI / 2D);
+ this.octoTentacles[i].rotateAngleY = (float) d0;
+ }
+ }
+
+ /**
+ * Sets the model's various rotation angles. For bipeds, par1 and par2 are used
+ * for animating the movement of arms and legs, where par1 represents the
+ * time(so that arms and legs swing back and forth) and par2 represents how
+ * "far" arms and legs can swing at most.
+ */
+ public void setRotationAngles(float p_78087_1_, float p_78087_2_, float p_78087_3_, float p_78087_4_,
+ float p_78087_5_, float p_78087_6_, Entity p_78087_7_) {
+ ModelRenderer[] amodelrenderer = this.octoTentacles;
+ int i = amodelrenderer.length;
+
+ for (int j = 0; j < i; ++j) {
+ ModelRenderer modelrenderer = amodelrenderer[j];
+ modelrenderer.rotateAngleX = p_78087_3_;
+ }
+ }
+
+ /**
+ * Sets the models various rotation angles then renders the model.
+ */
+ public void render(Entity p_78088_1_, float p_78088_2_, float p_78088_3_, float p_78088_4_, float p_78088_5_,
+ float p_78088_6_, float p_78088_7_) {
+ this.setRotationAngles(p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, p_78088_7_, p_78088_1_);
+ this.octopusBody.render(p_78088_7_);
+
+ for (int i = 0; i < this.octoTentacles.length; ++i) {
+ this.octoTentacles[i].render(p_78088_7_);
+ }
+ }
+
+} \ No newline at end of file