diff options
author | Connor-Colenso <52056774+Connor-Colenso@users.noreply.github.com> | 2023-01-23 16:23:02 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-23 16:23:02 +0000 |
commit | dce9e27a012290d5d06eb081aaf0b711076b3297 (patch) | |
tree | dd2c9552f725045bab7f0f674ab2b1b08a985784 /src/main/java/gtPlusPlus/australia/entity | |
parent | 6b3d66f0d27eaeb2a8e9d6aa9f291ede934dd08b (diff) | |
download | GT5-Unofficial-dce9e27a012290d5d06eb081aaf0b711076b3297.tar.gz GT5-Unofficial-dce9e27a012290d5d06eb081aaf0b711076b3297.tar.bz2 GT5-Unofficial-dce9e27a012290d5d06eb081aaf0b711076b3297.zip |
Remove Australia dimension and associated world gen, mobs etc. (#516)
Co-authored-by: GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com>
Diffstat (limited to 'src/main/java/gtPlusPlus/australia/entity')
12 files changed, 0 insertions, 1833 deletions
diff --git a/src/main/java/gtPlusPlus/australia/entity/model/ModelAustralianSpider.java b/src/main/java/gtPlusPlus/australia/entity/model/ModelAustralianSpider.java deleted file mode 100644 index c9ab30bc4f..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/model/ModelAustralianSpider.java +++ /dev/null @@ -1,159 +0,0 @@ -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; -import net.minecraft.util.MathHelper; - -@SideOnly(Side.CLIENT) -public class ModelAustralianSpider extends ModelBase { - - /** The spider's head box */ - public ModelRenderer spiderHead; - /** The spider's neck box */ - public ModelRenderer spiderNeck; - /** The spider's body box */ - public ModelRenderer spiderBody; - /** Spider's first leg */ - public ModelRenderer spiderLeg1; - /** Spider's second leg */ - public ModelRenderer spiderLeg2; - /** Spider's third leg */ - public ModelRenderer spiderLeg3; - /** Spider's fourth leg */ - public ModelRenderer spiderLeg4; - /** Spider's fifth leg */ - public ModelRenderer spiderLeg5; - /** Spider's sixth leg */ - public ModelRenderer spiderLeg6; - /** Spider's seventh leg */ - public ModelRenderer spiderLeg7; - /** Spider's eight leg */ - public ModelRenderer spiderLeg8; - - public ModelAustralianSpider() { - float f = 0.0F; - byte b0 = 15; - this.spiderHead = new ModelRenderer(this, 32, 4); - this.spiderHead.addBox(-4.0F, -4.0F, -8.0F, 8, 8, 8, f); - this.spiderHead.setRotationPoint(0.0F, (float) b0, -3.0F); - this.spiderNeck = new ModelRenderer(this, 0, 0); - this.spiderNeck.addBox(-3.0F, -3.0F, -3.0F, 6, 6, 6, f); - this.spiderNeck.setRotationPoint(0.0F, (float) b0, 0.0F); - this.spiderBody = new ModelRenderer(this, 0, 12); - this.spiderBody.addBox(-5.0F, -4.0F, -6.0F, 10, 8, 12, f); - this.spiderBody.setRotationPoint(0.0F, (float) b0, 9.0F); - this.spiderLeg1 = new ModelRenderer(this, 18, 0); - this.spiderLeg1.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg1.setRotationPoint(-4.0F, (float) b0, 2.0F); - this.spiderLeg2 = new ModelRenderer(this, 18, 0); - this.spiderLeg2.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg2.setRotationPoint(4.0F, (float) b0, 2.0F); - this.spiderLeg3 = new ModelRenderer(this, 18, 0); - this.spiderLeg3.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg3.setRotationPoint(-4.0F, (float) b0, 1.0F); - this.spiderLeg4 = new ModelRenderer(this, 18, 0); - this.spiderLeg4.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg4.setRotationPoint(4.0F, (float) b0, 1.0F); - this.spiderLeg5 = new ModelRenderer(this, 18, 0); - this.spiderLeg5.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg5.setRotationPoint(-4.0F, (float) b0, 0.0F); - this.spiderLeg6 = new ModelRenderer(this, 18, 0); - this.spiderLeg6.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg6.setRotationPoint(4.0F, (float) b0, 0.0F); - this.spiderLeg7 = new ModelRenderer(this, 18, 0); - this.spiderLeg7.addBox(-15.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg7.setRotationPoint(-4.0F, (float) b0, -1.0F); - this.spiderLeg8 = new ModelRenderer(this, 18, 0); - this.spiderLeg8.addBox(-1.0F, -1.0F, -1.0F, 16, 2, 2, f); - this.spiderLeg8.setRotationPoint(4.0F, (float) b0, -1.0F); - } - - /** - * 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.spiderHead.render(p_78088_7_); - this.spiderNeck.render(p_78088_7_); - this.spiderBody.render(p_78088_7_); - this.spiderLeg1.render(p_78088_7_); - this.spiderLeg2.render(p_78088_7_); - this.spiderLeg3.render(p_78088_7_); - this.spiderLeg4.render(p_78088_7_); - this.spiderLeg5.render(p_78088_7_); - this.spiderLeg6.render(p_78088_7_); - this.spiderLeg7.render(p_78088_7_); - this.spiderLeg8.render(p_78088_7_); - } - - /** - * 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_) { - this.spiderHead.rotateAngleY = p_78087_4_ / (180F / (float) Math.PI); - this.spiderHead.rotateAngleX = p_78087_5_ / (180F / (float) Math.PI); - float f6 = ((float) Math.PI / 4F); - this.spiderLeg1.rotateAngleZ = -f6; - this.spiderLeg2.rotateAngleZ = f6; - this.spiderLeg3.rotateAngleZ = -f6 * 0.74F; - this.spiderLeg4.rotateAngleZ = f6 * 0.74F; - this.spiderLeg5.rotateAngleZ = -f6 * 0.74F; - this.spiderLeg6.rotateAngleZ = f6 * 0.74F; - this.spiderLeg7.rotateAngleZ = -f6; - this.spiderLeg8.rotateAngleZ = f6; - float f7 = -0.0F; - float f8 = 0.3926991F; - this.spiderLeg1.rotateAngleY = f8 * 2.0F + f7; - this.spiderLeg2.rotateAngleY = -f8 * 2.0F - f7; - this.spiderLeg3.rotateAngleY = f8 * 1.0F + f7; - this.spiderLeg4.rotateAngleY = -f8 * 1.0F - f7; - this.spiderLeg5.rotateAngleY = -f8 * 1.0F + f7; - this.spiderLeg6.rotateAngleY = f8 * 1.0F - f7; - this.spiderLeg7.rotateAngleY = -f8 * 2.0F + f7; - this.spiderLeg8.rotateAngleY = f8 * 2.0F - f7; - float f9 = -(MathHelper.cos(p_78087_1_ * 0.6662F * 2.0F + 0.0F) * 0.4F) * p_78087_2_; - float f10 = -(MathHelper.cos(p_78087_1_ * 0.6662F * 2.0F + (float) Math.PI) * 0.4F) * p_78087_2_; - float f11 = -(MathHelper.cos(p_78087_1_ * 0.6662F * 2.0F + ((float) Math.PI / 2F)) * 0.4F) * p_78087_2_; - float f12 = -(MathHelper.cos(p_78087_1_ * 0.6662F * 2.0F + ((float) Math.PI * 3F / 2F)) * 0.4F) * p_78087_2_; - float f13 = Math.abs(MathHelper.sin(p_78087_1_ * 0.6662F + 0.0F) * 0.4F) * p_78087_2_; - float f14 = Math.abs(MathHelper.sin(p_78087_1_ * 0.6662F + (float) Math.PI) * 0.4F) * p_78087_2_; - float f15 = Math.abs(MathHelper.sin(p_78087_1_ * 0.6662F + ((float) Math.PI / 2F)) * 0.4F) * p_78087_2_; - float f16 = Math.abs(MathHelper.sin(p_78087_1_ * 0.6662F + ((float) Math.PI * 3F / 2F)) * 0.4F) * p_78087_2_; - this.spiderLeg1.rotateAngleY += f9; - this.spiderLeg2.rotateAngleY += -f9; - this.spiderLeg3.rotateAngleY += f10; - this.spiderLeg4.rotateAngleY += -f10; - this.spiderLeg5.rotateAngleY += f11; - this.spiderLeg6.rotateAngleY += -f11; - this.spiderLeg7.rotateAngleY += f12; - this.spiderLeg8.rotateAngleY += -f12; - this.spiderLeg1.rotateAngleZ += f13; - this.spiderLeg2.rotateAngleZ += -f13; - this.spiderLeg3.rotateAngleZ += f14; - this.spiderLeg4.rotateAngleZ += -f14; - this.spiderLeg5.rotateAngleZ += f15; - this.spiderLeg6.rotateAngleZ += -f15; - this.spiderLeg7.rotateAngleZ += f16; - this.spiderLeg8.rotateAngleZ += -f16; - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/model/ModelBoar.java b/src/main/java/gtPlusPlus/australia/entity/model/ModelBoar.java deleted file mode 100644 index 3d1a5b5ef7..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/model/ModelBoar.java +++ /dev/null @@ -1,19 +0,0 @@ -package gtPlusPlus.australia.entity.model; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.model.ModelQuadruped; - -@SideOnly(Side.CLIENT) -public class ModelBoar extends ModelQuadruped { - - public ModelBoar() { - this(0.0F); - } - - public ModelBoar(float p_i1151_1_) { - super(6, p_i1151_1_); - this.head.setTextureOffset(16, 16).addBox(-2.0F, 0.0F, -9.0F, 4, 3, 1, p_i1151_1_); - this.field_78145_g = 4.0F; - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/model/ModelDingo.java b/src/main/java/gtPlusPlus/australia/entity/model/ModelDingo.java deleted file mode 100644 index 51bce24794..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/model/ModelDingo.java +++ /dev/null @@ -1,179 +0,0 @@ -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; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.util.MathHelper; -import org.lwjgl.opengl.GL11; - -@SideOnly(Side.CLIENT) -public class ModelDingo extends ModelBase { - - /** main box for the dingo head */ - public ModelRenderer dingoHeadMain; - /** The dingo's body */ - public ModelRenderer dingoBody; - /** dingo'se first leg */ - public ModelRenderer dingoLeg1; - /** dingo's second leg */ - public ModelRenderer dingoLeg2; - /** dingo's third leg */ - public ModelRenderer dingoLeg3; - /** dingo's fourth leg */ - public ModelRenderer dingoLeg4; - /** The dingo's tail */ - ModelRenderer dingoTail; - /** The dingo's mane */ - ModelRenderer dingoMane; - - public ModelDingo() { - float f = 0.0F; - float f1 = 13.5F; - this.dingoHeadMain = new ModelRenderer(this, 0, 0); - this.dingoHeadMain.addBox(-3.0F, -3.0F, -2.0F, 6, 6, 4, f); - this.dingoHeadMain.setRotationPoint(-1.0F, f1, -7.0F); - this.dingoBody = new ModelRenderer(this, 18, 14); - this.dingoBody.addBox(-4.0F, -2.0F, -3.0F, 6, 9, 6, f); - this.dingoBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.dingoMane = new ModelRenderer(this, 21, 0); - this.dingoMane.addBox(-4.0F, -3.0F, -3.0F, 8, 6, 7, f); - this.dingoMane.setRotationPoint(-1.0F, 14.0F, 2.0F); - this.dingoLeg1 = new ModelRenderer(this, 0, 18); - this.dingoLeg1.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.dingoLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.dingoLeg2 = new ModelRenderer(this, 0, 18); - this.dingoLeg2.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.dingoLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.dingoLeg3 = new ModelRenderer(this, 0, 18); - this.dingoLeg3.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.dingoLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.dingoLeg4 = new ModelRenderer(this, 0, 18); - this.dingoLeg4.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.dingoLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.dingoTail = new ModelRenderer(this, 9, 18); - this.dingoTail.addBox(-1.0F, 0.0F, -1.0F, 2, 8, 2, f); - this.dingoTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.dingoHeadMain.setTextureOffset(16, 14).addBox(-3.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.dingoHeadMain.setTextureOffset(16, 14).addBox(1.0F, -5.0F, 0.0F, 2, 2, 1, f); - this.dingoHeadMain.setTextureOffset(0, 10).addBox(-1.5F, 0.0F, -5.0F, 3, 3, 4, f); - } - - /** - * 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_) { - super.render(p_78088_1_, p_78088_2_, p_78088_3_, p_78088_4_, p_78088_5_, p_78088_6_, 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_); - - if (this.isChild) { - float f6 = 2.0F; - GL11.glPushMatrix(); - GL11.glTranslatef(0.0F, 5.0F * p_78088_7_, 2.0F * p_78088_7_); - this.dingoHeadMain.renderWithRotation(p_78088_7_); - GL11.glPopMatrix(); - GL11.glPushMatrix(); - GL11.glScalef(1.0F / f6, 1.0F / f6, 1.0F / f6); - GL11.glTranslatef(0.0F, 24.0F * p_78088_7_, 0.0F); - this.dingoBody.render(p_78088_7_); - this.dingoLeg1.render(p_78088_7_); - this.dingoLeg2.render(p_78088_7_); - this.dingoLeg3.render(p_78088_7_); - this.dingoLeg4.render(p_78088_7_); - this.dingoTail.renderWithRotation(p_78088_7_); - this.dingoMane.render(p_78088_7_); - GL11.glPopMatrix(); - } else { - this.dingoHeadMain.renderWithRotation(p_78088_7_); - this.dingoBody.render(p_78088_7_); - this.dingoLeg1.render(p_78088_7_); - this.dingoLeg2.render(p_78088_7_); - this.dingoLeg3.render(p_78088_7_); - this.dingoLeg4.render(p_78088_7_); - this.dingoTail.renderWithRotation(p_78088_7_); - this.dingoMane.render(p_78088_7_); - } - } - - /** - * Used for easily adding entity-dependent animations. The second and third - * float params here are the same second and third as in the setRotationAngles - * method. - */ - public void setLivingAnimations(EntityLivingBase p_78086_1_, float p_78086_2_, float p_78086_3_, float p_78086_4_) { - EntityWolf entitydingo = (EntityWolf) p_78086_1_; - - if (entitydingo.isAngry()) { - this.dingoTail.rotateAngleY = 0.0F; - } else { - this.dingoTail.rotateAngleY = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_; - } - - if (entitydingo.isSitting()) { - this.dingoMane.setRotationPoint(-1.0F, 16.0F, -3.0F); - this.dingoMane.rotateAngleX = ((float) Math.PI * 2F / 5F); - this.dingoMane.rotateAngleY = 0.0F; - this.dingoBody.setRotationPoint(0.0F, 18.0F, 0.0F); - this.dingoBody.rotateAngleX = ((float) Math.PI / 4F); - this.dingoTail.setRotationPoint(-1.0F, 21.0F, 6.0F); - this.dingoLeg1.setRotationPoint(-2.5F, 22.0F, 2.0F); - this.dingoLeg1.rotateAngleX = ((float) Math.PI * 3F / 2F); - this.dingoLeg2.setRotationPoint(0.5F, 22.0F, 2.0F); - this.dingoLeg2.rotateAngleX = ((float) Math.PI * 3F / 2F); - this.dingoLeg3.rotateAngleX = 5.811947F; - this.dingoLeg3.setRotationPoint(-2.49F, 17.0F, -4.0F); - this.dingoLeg4.rotateAngleX = 5.811947F; - this.dingoLeg4.setRotationPoint(0.51F, 17.0F, -4.0F); - } else { - this.dingoBody.setRotationPoint(0.0F, 14.0F, 2.0F); - this.dingoBody.rotateAngleX = ((float) Math.PI / 2F); - this.dingoMane.setRotationPoint(-1.0F, 14.0F, -3.0F); - this.dingoMane.rotateAngleX = this.dingoBody.rotateAngleX; - this.dingoTail.setRotationPoint(-1.0F, 12.0F, 8.0F); - this.dingoLeg1.setRotationPoint(-2.5F, 16.0F, 7.0F); - this.dingoLeg2.setRotationPoint(0.5F, 16.0F, 7.0F); - this.dingoLeg3.setRotationPoint(-2.5F, 16.0F, -4.0F); - this.dingoLeg4.setRotationPoint(0.5F, 16.0F, -4.0F); - this.dingoLeg1.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_; - this.dingoLeg2.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F + (float) Math.PI) * 1.4F * p_78086_3_; - this.dingoLeg3.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F + (float) Math.PI) * 1.4F * p_78086_3_; - this.dingoLeg4.rotateAngleX = MathHelper.cos(p_78086_2_ * 0.6662F) * 1.4F * p_78086_3_; - } - - this.dingoHeadMain.rotateAngleZ = - entitydingo.getInterestedAngle(p_78086_4_) + entitydingo.getShakeAngle(p_78086_4_, 0.0F); - this.dingoMane.rotateAngleZ = entitydingo.getShakeAngle(p_78086_4_, -0.08F); - this.dingoBody.rotateAngleZ = entitydingo.getShakeAngle(p_78086_4_, -0.16F); - this.dingoTail.rotateAngleZ = entitydingo.getShakeAngle(p_78086_4_, -0.2F); - } - - /** - * 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_) { - super.setRotationAngles(p_78087_1_, p_78087_2_, p_78087_3_, p_78087_4_, p_78087_5_, p_78087_6_, p_78087_7_); - this.dingoHeadMain.rotateAngleX = p_78087_5_ / (180F / (float) Math.PI); - this.dingoHeadMain.rotateAngleY = p_78087_4_ / (180F / (float) Math.PI); - this.dingoTail.rotateAngleX = p_78087_3_; - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java b/src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java deleted file mode 100644 index aaec9f8dc4..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/model/ModelOctopus.java +++ /dev/null @@ -1,78 +0,0 @@ -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_); - } - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/render/RenderAustralianSpider.java b/src/main/java/gtPlusPlus/australia/entity/render/RenderAustralianSpider.java deleted file mode 100644 index 01b4b8ac4b..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/render/RenderAustralianSpider.java +++ /dev/null @@ -1,84 +0,0 @@ -package gtPlusPlus.australia.entity.render; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.australia.entity.model.ModelAustralianSpider; -import gtPlusPlus.australia.entity.type.EntityAustralianSpiderBase; -import gtPlusPlus.core.lib.CORE; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -@SideOnly(Side.CLIENT) -public class RenderAustralianSpider extends RenderLiving { - - private static final ResourceLocation spiderEyesTextures = new ResourceLocation("textures/entity/spider_eyes.png"); - private static final ResourceLocation spiderTextures = - new ResourceLocation(CORE.MODID + ":" + "textures/entity/australia/bush_spider.png"); - - public RenderAustralianSpider() { - super(new ModelAustralianSpider(), 1.0F); - this.setRenderPassModel(new ModelAustralianSpider()); - } - - protected float getDeathMaxRotation(EntityAustralianSpiderBase p_77037_1_) { - return 180.0F; - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityAustralianSpiderBase p_77032_1_, int p_77032_2_, float p_77032_3_) { - if (p_77032_2_ != 0) { - return -1; - } else { - this.bindTexture(spiderEyesTextures); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); - - if (p_77032_1_.isInvisible()) { - GL11.glDepthMask(false); - } else { - GL11.glDepthMask(true); - } - - char c0 = 61680; - int j = c0 % 65536; - int k = c0 / 65536; - OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j / 1.0F, (float) k / 1.0F); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - return 1; - } - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless - * you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(EntityAustralianSpiderBase p_110775_1_) { - return spiderTextures; - } - - protected float getDeathMaxRotation(EntityLivingBase p_77037_1_) { - return this.getDeathMaxRotation((EntityAustralianSpiderBase) p_77037_1_); - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) { - return this.shouldRenderPass((EntityAustralianSpiderBase) p_77032_1_, p_77032_2_, p_77032_3_); - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless - * you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return this.getEntityTexture((EntityAustralianSpiderBase) p_110775_1_); - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/render/RenderBoar.java b/src/main/java/gtPlusPlus/australia/entity/render/RenderBoar.java deleted file mode 100644 index c3a730492c..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/render/RenderBoar.java +++ /dev/null @@ -1,57 +0,0 @@ -package gtPlusPlus.australia.entity.render; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.australia.entity.type.EntityBoar; -import gtPlusPlus.core.lib.CORE; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.ResourceLocation; - -@SideOnly(Side.CLIENT) -public class RenderBoar extends RenderLiving { - private static final ResourceLocation saddledBoarTextures = - new ResourceLocation("textures/entity/boar/boar_saddle.png"); - private static final ResourceLocation boarTextures = - new ResourceLocation(CORE.MODID + ":" + "textures/entity/australia/boar.png"); - - public RenderBoar(ModelBase p_i1265_1_, ModelBase p_i1265_2_, float p_i1265_3_) { - super(p_i1265_1_, p_i1265_3_); - this.setRenderPassModel(p_i1265_2_); - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityBoar p_77032_1_, int p_77032_2_, float p_77032_3_) { - if (p_77032_2_ == 0 && p_77032_1_.getSaddled()) { - this.bindTexture(saddledBoarTextures); - return 1; - } else { - return -1; - } - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(EntityBoar p_110775_1_) { - return boarTextures; - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) { - return this.shouldRenderPass((EntityBoar) p_77032_1_, p_77032_2_, p_77032_3_); - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return this.getEntityTexture((EntityBoar) p_110775_1_); - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/render/RenderDingo.java b/src/main/java/gtPlusPlus/australia/entity/render/RenderDingo.java deleted file mode 100644 index 37511355e6..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/render/RenderDingo.java +++ /dev/null @@ -1,92 +0,0 @@ -package gtPlusPlus.australia.entity.render; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.australia.entity.type.EntityDingo; -import gtPlusPlus.core.lib.CORE; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -@SideOnly(Side.CLIENT) -public class RenderDingo extends RenderLiving { - - private static final ResourceLocation dingoTextures = - new ResourceLocation(CORE.MODID + ":" + "textures/entity/australia/dingo/dingo.png"); - private static final ResourceLocation tamedDingoTextures = - new ResourceLocation(CORE.MODID + ":" + "textures/entity/australia/dingo/wdingo_tame.png"); - private static final ResourceLocation anrgyDingoTextures = - new ResourceLocation(CORE.MODID + ":" + "textures/entity/australia/dingo/dingo_angry.png"); - private static final ResourceLocation dingoCollarTextures = - new ResourceLocation(CORE.MODID + ":" + "textures/entity/australia/wdingoolf/dingo_collar.png"); - - public RenderDingo(ModelBase p_i1269_1_, ModelBase p_i1269_2_, float p_i1269_3_) { - super(p_i1269_1_, p_i1269_3_); - this.setRenderPassModel(p_i1269_2_); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - protected float handleRotationFloat(EntityDingo p_77044_1_, float p_77044_2_) { - return p_77044_1_.getTailRotation(); - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityDingo p_77032_1_, int p_77032_2_, float p_77032_3_) { - if (p_77032_2_ == 0 && p_77032_1_.getWolfShaking()) { - float f1 = p_77032_1_.getBrightness(p_77032_3_) * p_77032_1_.getShadingWhileShaking(p_77032_3_); - this.bindTexture(dingoTextures); - GL11.glColor3f(f1, f1, f1); - return 1; - } else if (p_77032_2_ == 1 && p_77032_1_.isTamed()) { - this.bindTexture(dingoCollarTextures); - int j = p_77032_1_.getCollarColor(); - GL11.glColor3f( - EntitySheep.fleeceColorTable[j][0], - EntitySheep.fleeceColorTable[j][1], - EntitySheep.fleeceColorTable[j][2]); - return 1; - } else { - return -1; - } - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless - * you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(EntityDingo p_110775_1_) { - return p_110775_1_.isTamed() - ? tamedDingoTextures - : (p_110775_1_.isAngry() ? anrgyDingoTextures : dingoTextures); - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) { - return this.shouldRenderPass((EntityDingo) p_77032_1_, p_77032_2_, p_77032_3_); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - protected float handleRotationFloat(EntityLivingBase p_77044_1_, float p_77044_2_) { - return this.handleRotationFloat((EntityDingo) p_77044_1_, p_77044_2_); - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless - * you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return this.getEntityTexture((EntityDingo) p_110775_1_); - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/render/RenderOctopus.java b/src/main/java/gtPlusPlus/australia/entity/render/RenderOctopus.java deleted file mode 100644 index 89888140f2..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/render/RenderOctopus.java +++ /dev/null @@ -1,140 +0,0 @@ -package gtPlusPlus.australia.entity.render; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import gtPlusPlus.australia.entity.type.EntityOctopus; -import gtPlusPlus.core.lib.CORE; -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.ResourceLocation; -import org.lwjgl.opengl.GL11; - -@SideOnly(Side.CLIENT) -public class RenderOctopus extends RenderLiving { - - private static final ResourceLocation octopusTextures = - new ResourceLocation(CORE.MODID + ":" + "textures/entity/australia/octopus.png"); - - public RenderOctopus(ModelBase p_i1268_1_, float p_i1268_2_) { - super(p_i1268_1_, p_i1268_2_); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker function - * which does the actual work. In all probabilty, the class Render is generic - * (Render<T extends Entity) and this method has signature public void - * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). - * But JAD is pre 1.5 so doesn't do that. - */ - public void doRender( - EntityOctopus p_76986_1_, - double p_76986_2_, - double p_76986_4_, - double p_76986_6_, - float p_76986_8_, - float p_76986_9_) { - super.doRender((EntityLiving) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless - * you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(EntityOctopus p_110775_1_) { - return octopusTextures; - } - - protected void rotateCorpse(EntityOctopus p_77043_1_, float p_77043_2_, float p_77043_3_, float p_77043_4_) { - float f3 = p_77043_1_.prevSquidPitch + (p_77043_1_.octopusPitch - p_77043_1_.prevSquidPitch) * p_77043_4_; - float f4 = p_77043_1_.prevSquidYaw + (p_77043_1_.octopusYaw - p_77043_1_.prevSquidYaw) * p_77043_4_; - GL11.glTranslatef(0.0F, 0.5F, 0.0F); - GL11.glRotatef(180.0F - p_77043_3_, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(f3, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(f4, 0.0F, 1.0F, 0.0F); - GL11.glTranslatef(0.0F, -1.2F, 0.0F); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - protected float handleRotationFloat(EntityOctopus p_77044_1_, float p_77044_2_) { - return p_77044_1_.lastTentacleAngle + (p_77044_1_.tentacleAngle - p_77044_1_.lastTentacleAngle) * p_77044_2_; - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker function - * which does the actual work. In all probabilty, the class Render is generic - * (Render<T extends Entity) and this method has signature public void - * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). - * But JAD is pre 1.5 so doesn't do that. - */ - public void doRender( - EntityLiving p_76986_1_, - double p_76986_2_, - double p_76986_4_, - double p_76986_6_, - float p_76986_8_, - float p_76986_9_) { - this.doRender((EntityOctopus) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - /** - * Defines what float the third param in setRotationAngles of ModelBase is - */ - protected float handleRotationFloat(EntityLivingBase p_77044_1_, float p_77044_2_) { - return this.handleRotationFloat((EntityOctopus) p_77044_1_, p_77044_2_); - } - - protected void rotateCorpse(EntityLivingBase p_77043_1_, float p_77043_2_, float p_77043_3_, float p_77043_4_) { - this.rotateCorpse((EntityOctopus) p_77043_1_, p_77043_2_, p_77043_3_, p_77043_4_); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker function - * which does the actual work. In all probabilty, the class Render is generic - * (Render<T extends Entity) and this method has signature public void - * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). - * But JAD is pre 1.5 so doesn't do that. - */ - public void doRender( - EntityLivingBase p_76986_1_, - double p_76986_2_, - double p_76986_4_, - double p_76986_6_, - float p_76986_8_, - float p_76986_9_) { - this.doRender((EntityOctopus) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless - * you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return this.getEntityTexture((EntityOctopus) p_110775_1_); - } - - /** - * Actually renders the given argument. This is a synthetic bridge method, - * always casting down its argument and then handing it off to a worker function - * which does the actual work. In all probabilty, the class Render is generic - * (Render<T extends Entity) and this method has signature public void - * func_76986_a(T entity, double d, double d1, double d2, float f, float f1). - * But JAD is pre 1.5 so doesn't do that. - */ - public void doRender( - Entity p_76986_1_, - double p_76986_2_, - double p_76986_4_, - double p_76986_6_, - float p_76986_8_, - float p_76986_9_) { - this.doRender((EntityOctopus) p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_); - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/type/EntityAustralianSpiderBase.java b/src/main/java/gtPlusPlus/australia/entity/type/EntityAustralianSpiderBase.java deleted file mode 100644 index 9f4963e2fc..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/type/EntityAustralianSpiderBase.java +++ /dev/null @@ -1,41 +0,0 @@ -package gtPlusPlus.australia.entity.type; - -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IEntityLivingData; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.monster.EntitySpider; -import net.minecraft.potion.Potion; -import net.minecraft.potion.PotionEffect; -import net.minecraft.world.World; - -public class EntityAustralianSpiderBase extends EntitySpider { - - public EntityAustralianSpiderBase(World p_i1732_1_) { - super(p_i1732_1_); - this.setSize(0.7F, 0.5F); - } - - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(12.0D); - } - - public boolean attackEntityAsMob(Entity p_70652_1_) { - if (super.attackEntityAsMob(p_70652_1_)) { - if (p_70652_1_ instanceof EntityLivingBase) { - byte b0 = 45; - if (b0 > 0) { - ((EntityLivingBase) p_70652_1_).addPotionEffect(new PotionEffect(Potion.poison.id, b0 * 20, 0)); - } - } - return true; - } else { - return false; - } - } - - public IEntityLivingData onSpawnWithEgg(IEntityLivingData p_110161_1_) { - return p_110161_1_; - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/type/EntityBoar.java b/src/main/java/gtPlusPlus/australia/entity/type/EntityBoar.java deleted file mode 100644 index fddde70116..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/type/EntityBoar.java +++ /dev/null @@ -1,220 +0,0 @@ -package gtPlusPlus.australia.entity.type; - -import net.minecraft.block.Block; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIControlledByPlayer; -import net.minecraft.entity.ai.EntityAIFollowParent; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMate; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAITempt; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.monster.EntityPigZombie; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.stats.AchievementList; -import net.minecraft.world.World; - -public class EntityBoar extends EntityAnimal { - /** AI task for player control. */ - private final EntityAIControlledByPlayer aiControlledByPlayer; - - public EntityBoar(World p_i1689_1_) { - super(p_i1689_1_); - this.setSize(0.9F, 0.9F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(0, new EntityAISwimming(this)); - // this.tasks.addTask(1, new EntityAIPanic(this, 1.25D)); - this.tasks.addTask(2, this.aiControlledByPlayer = new EntityAIControlledByPlayer(this, 0.3F)); - this.tasks.addTask(3, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(4, new EntityAITempt(this, 1.2D, Items.carrot_on_a_stick, false)); - this.tasks.addTask(4, new EntityAITempt(this, 1.2D, Items.carrot, false)); - this.tasks.addTask(5, new EntityAIFollowParent(this, 1.1D)); - this.tasks.addTask(6, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); - this.tasks.addTask(8, new EntityAILookIdle(this)); - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() { - return true; - } - - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.25D); - } - - protected void updateAITasks() { - super.updateAITasks(); - } - - /** - * returns true if all the conditions for steering the entity are met. For pigs, - * this is true if it is being ridden by a player and the player is holding a - * carrot-on-a-stick - */ - public boolean canBeSteered() { - ItemStack itemstack = ((EntityPlayer) this.riddenByEntity).getHeldItem(); - return itemstack != null && itemstack.getItem() == Items.carrot_on_a_stick; - } - - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound p_70014_1_) { - super.writeEntityToNBT(p_70014_1_); - p_70014_1_.setBoolean("Saddle", this.getSaddled()); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound p_70037_1_) { - super.readEntityFromNBT(p_70037_1_); - this.setSaddled(p_70037_1_.getBoolean("Saddle")); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() { - return "mob.pig.say"; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() { - return "mob.pig.say"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() { - return "mob.pig.death"; - } - - protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { - this.playSound("mob.pig.step", 0.15F, 1.0F); - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets - * into the saddle on a pig. - */ - public boolean interact(EntityPlayer p_70085_1_) { - if (super.interact(p_70085_1_)) { - return true; - } else if (this.getSaddled() - && !this.worldObj.isRemote - && (this.riddenByEntity == null || this.riddenByEntity == p_70085_1_)) { - p_70085_1_.mountEntity(this); - return true; - } else { - return false; - } - } - - protected Item getDropItem() { - return this.isBurning() ? Items.cooked_porkchop : Items.porkchop; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has - * recently been hit by a player. @param par2 - Level of Looting used to kill - * this mob. - */ - protected void dropFewItems(boolean p_70628_1_, int p_70628_2_) { - int j = this.rand.nextInt(3) + 1 + this.rand.nextInt(1 + p_70628_2_); - - for (int k = 0; k < j; ++k) { - if (this.isBurning()) { - this.dropItem(Items.cooked_porkchop, 1); - } else { - this.dropItem(Items.porkchop, 1); - } - } - - if (this.getSaddled()) { - this.dropItem(Items.saddle, 1); - } - } - - /** - * Returns true if the pig is saddled. - */ - public boolean getSaddled() { - return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; - } - - /** - * Set or remove the saddle of the pig. - */ - public void setSaddled(boolean p_70900_1_) { - if (p_70900_1_) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) 1)); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) 0)); - } - } - - /** - * Called when a lightning bolt hits the entity. - */ - public void onStruckByLightning(EntityLightningBolt p_70077_1_) { - if (!this.worldObj.isRemote) { - EntityPigZombie entitypigzombie = new EntityPigZombie(this.worldObj); - entitypigzombie.setCurrentItemOrArmor(0, new ItemStack(Items.golden_sword)); - entitypigzombie.setLocationAndAngles(this.posX, this.posY, this.posZ, this.rotationYaw, this.rotationPitch); - this.worldObj.spawnEntityInWorld(entitypigzombie); - this.setDead(); - } - } - - /** - * Called when the mob is falling. Calculates and applies fall damage. - */ - protected void fall(float p_70069_1_) { - super.fall(p_70069_1_); - - if (p_70069_1_ > 5.0F && this.riddenByEntity instanceof EntityPlayer) { - ((EntityPlayer) this.riddenByEntity).triggerAchievement(AchievementList.flyPig); - } - } - - public EntityBoar createChild(EntityAgeable p_90011_1_) { - return new EntityBoar(this.worldObj); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed it - * (wheat, carrots or seeds depending on the animal type) - */ - public boolean isBreedingItem(ItemStack p_70877_1_) { - return p_70877_1_ != null && p_70877_1_.getItem() == Items.carrot; - } - - /** - * Return the AI task for player control. - */ - public EntityAIControlledByPlayer getAIControlledByPlayer() { - return this.aiControlledByPlayer; - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/type/EntityDingo.java b/src/main/java/gtPlusPlus/australia/entity/type/EntityDingo.java deleted file mode 100644 index ad95631652..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/type/EntityDingo.java +++ /dev/null @@ -1,559 +0,0 @@ -package gtPlusPlus.australia.entity.type; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.Block; -import net.minecraft.block.BlockColored; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityAgeable; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -import net.minecraft.entity.ai.EntityAIBeg; -import net.minecraft.entity.ai.EntityAIFollowOwner; -import net.minecraft.entity.ai.EntityAIHurtByTarget; -import net.minecraft.entity.ai.EntityAILeapAtTarget; -import net.minecraft.entity.ai.EntityAILookIdle; -import net.minecraft.entity.ai.EntityAIMate; -import net.minecraft.entity.ai.EntityAIOwnerHurtByTarget; -import net.minecraft.entity.ai.EntityAIOwnerHurtTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAITargetNonTamed; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.monster.EntityCreeper; -import net.minecraft.entity.monster.EntityGhast; -import net.minecraft.entity.passive.EntityAnimal; -import net.minecraft.entity.passive.EntityHorse; -import net.minecraft.entity.passive.EntitySheep; -import net.minecraft.entity.passive.EntityWolf; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemFood; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.pathfinding.PathEntity; -import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class EntityDingo extends EntityWolf { - - private float mPrivateField1; - private float mPrivateField2; - private boolean mPrivateField3; - - /** true is the dingo is wet else false */ - private boolean isShaking; - /** This time increases while dingo is shaking and emitting water particles. */ - private float timeWolfIsShaking; - - private float prevTimeWolfIsShaking; - - public EntityDingo(World p_i1696_1_) { - super(p_i1696_1_); - this.setSize(0.6F, 0.8F); - this.getNavigator().setAvoidsWater(true); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, this.aiSit); - this.tasks.addTask(3, new EntityAILeapAtTarget(this, 0.4F)); - this.tasks.addTask(4, new EntityAIAttackOnCollide(this, 1.0D, true)); - this.tasks.addTask(5, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F)); - this.tasks.addTask(6, new EntityAIMate(this, 1.0D)); - this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); - this.tasks.addTask(8, new EntityAIBeg(this, 8.0F)); - this.tasks.addTask(9, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(9, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAIOwnerHurtByTarget(this)); - this.targetTasks.addTask(2, new EntityAIOwnerHurtTarget(this)); - this.targetTasks.addTask(3, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(4, new EntityAITargetNonTamed(this, EntitySheep.class, 200, false)); - this.setTamed(false); - } - - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.30000001192092896D); - - if (this.isTamed()) { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); - } else { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); - } - } - - /** - * Returns true if the newer Entity AI code should be run - */ - public boolean isAIEnabled() { - return true; - } - - /** - * Sets the active target the Task system uses for tracking - */ - public void setAttackTarget(EntityLivingBase p_70624_1_) { - super.setAttackTarget(p_70624_1_); - - if (p_70624_1_ == null) { - this.setAngry(false); - } else if (!this.isTamed()) { - this.setAngry(true); - } - } - - /** - * main AI tick function, replaces updateEntityActionState - */ - protected void updateAITick() { - this.dataWatcher.updateObject(18, Float.valueOf(this.getHealth())); - } - - protected void entityInit() { - super.entityInit(); - } - - protected void func_145780_a(int p_145780_1_, int p_145780_2_, int p_145780_3_, Block p_145780_4_) { - this.playSound("mob.wolf.step", 0.15F, 1.0F); - } - - /** - * (abstract) Protected helper method to write subclass entity data to NBT. - */ - public void writeEntityToNBT(NBTTagCompound p_70014_1_) { - super.writeEntityToNBT(p_70014_1_); - } - - /** - * (abstract) Protected helper method to read subclass entity data from NBT. - */ - public void readEntityFromNBT(NBTTagCompound p_70037_1_) { - super.readEntityFromNBT(p_70037_1_); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() { - return this.isAngry() - ? "mob.wolf.growl" - : (this.rand.nextInt(3) == 0 - ? (this.isTamed() && this.dataWatcher.getWatchableObjectFloat(18) < 10.0F - ? "mob.wolf.whine" - : "mob.wolf.panting") - : "mob.wolf.bark"); - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() { - return "mob.wolf.hurt"; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() { - return "mob.wolf.death"; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() { - return 0.4F; - } - - protected Item getDropItem() { - return Item.getItemById(-1); - } - - /** - * Called frequently so the entity can update its state every tick as required. - * For example, zombies and skeletons use this to react to sunlight and start to - * burn. - */ - public void onLivingUpdate() { - super.onLivingUpdate(); - - if (!this.worldObj.isRemote && this.isShaking && !this.mPrivateField3 && !this.hasPath() && this.onGround) { - this.mPrivateField3 = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - this.worldObj.setEntityState(this, (byte) 8); - } - } - - /** - * Called to update the entity's position/logic. - */ - public void onUpdate() { - super.onUpdate(); - this.mPrivateField2 = this.mPrivateField1; - - if (this.func_70922_bv()) { - this.mPrivateField1 += (1.0F - this.mPrivateField1) * 0.4F; - } else { - this.mPrivateField1 += (0.0F - this.mPrivateField1) * 0.4F; - } - - if (this.func_70922_bv()) { - this.numTicksToChaseTarget = 10; - } - - if (this.isWet()) { - this.isShaking = true; - this.mPrivateField3 = false; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else if ((this.isShaking || this.mPrivateField3) && this.mPrivateField3) { - if (this.timeWolfIsShaking == 0.0F) { - this.playSound( - "mob.wolf.shake", - this.getSoundVolume(), - (this.rand.nextFloat() - this.rand.nextFloat()) * 0.2F + 1.0F); - } - - this.prevTimeWolfIsShaking = this.timeWolfIsShaking; - this.timeWolfIsShaking += 0.05F; - - if (this.prevTimeWolfIsShaking >= 2.0F) { - this.isShaking = false; - this.mPrivateField3 = false; - this.prevTimeWolfIsShaking = 0.0F; - this.timeWolfIsShaking = 0.0F; - } - - if (this.timeWolfIsShaking > 0.4F) { - float f = (float) this.boundingBox.minY; - int i = (int) (MathHelper.sin((this.timeWolfIsShaking - 0.4F) * (float) Math.PI) * 7.0F); - - for (int j = 0; j < i; ++j) { - float f1 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - float f2 = (this.rand.nextFloat() * 2.0F - 1.0F) * this.width * 0.5F; - this.worldObj.spawnParticle( - "splash", - this.posX + (double) f1, - (double) (f + 0.8F), - this.posZ + (double) f2, - this.motionX, - this.motionY, - this.motionZ); - } - } - } - } - - @SideOnly(Side.CLIENT) - public boolean getWolfShaking() { - return this.isShaking; - } - - /** - * Used when calculating the amount of shading to apply while the dingo is - * shaking. - */ - @SideOnly(Side.CLIENT) - public float getShadingWhileShaking(float p_70915_1_) { - return 0.75F - + (this.prevTimeWolfIsShaking + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * p_70915_1_) - / 2.0F - * 0.25F; - } - - @SideOnly(Side.CLIENT) - public float getShakeAngle(float p_70923_1_, float p_70923_2_) { - float f2 = (this.prevTimeWolfIsShaking - + (this.timeWolfIsShaking - this.prevTimeWolfIsShaking) * p_70923_1_ - + p_70923_2_) - / 1.8F; - - if (f2 < 0.0F) { - f2 = 0.0F; - } else if (f2 > 1.0F) { - f2 = 1.0F; - } - - return MathHelper.sin(f2 * (float) Math.PI) - * MathHelper.sin(f2 * (float) Math.PI * 11.0F) - * 0.15F - * (float) Math.PI; - } - - public float getEyeHeight() { - return this.height * 0.8F; - } - - @SideOnly(Side.CLIENT) - public float getInterestedAngle(float p_70917_1_) { - return (this.mPrivateField2 + (this.mPrivateField1 - this.mPrivateField2) * p_70917_1_) - * 0.15F - * (float) Math.PI; - } - - /** - * The speed it takes to move the entityliving's rotationPitch through the - * faceEntity method. This is only currently use in wolves. - */ - public int getVerticalFaceSpeed() { - return this.isSitting() ? 20 : super.getVerticalFaceSpeed(); - } - - /** - * Called when the entity is attacked. - */ - public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) { - if (this.isEntityInvulnerable()) { - return false; - } else { - Entity entity = p_70097_1_.getEntity(); - this.aiSit.setSitting(false); - - if (entity != null && !(entity instanceof EntityPlayer) && !(entity instanceof EntityArrow)) { - p_70097_2_ = (p_70097_2_ + 1.0F) / 2.0F; - } - - return super.attackEntityFrom(p_70097_1_, p_70097_2_); - } - } - - public boolean attackEntityAsMob(Entity p_70652_1_) { - int i = this.isTamed() ? 4 : 2; - return p_70652_1_.attackEntityFrom(DamageSource.causeMobDamage(this), (float) i); - } - - public void setTamed(boolean p_70903_1_) { - super.setTamed(p_70903_1_); - - if (p_70903_1_) { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20.0D); - } else { - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(8.0D); - } - } - - /** - * Called when a player interacts with a mob. e.g. gets milk from a cow, gets - * into the saddle on a pig. - */ - public boolean interact(EntityPlayer p_70085_1_) { - ItemStack itemstack = p_70085_1_.inventory.getCurrentItem(); - - if (this.isTamed()) { - if (itemstack != null) { - if (itemstack.getItem() instanceof ItemFood) { - ItemFood itemfood = (ItemFood) itemstack.getItem(); - - if (itemfood.isWolfsFavoriteMeat() && this.dataWatcher.getWatchableObjectFloat(18) < 20.0F) { - if (!p_70085_1_.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - this.heal((float) itemfood.func_150905_g(itemstack)); - - if (itemstack.stackSize <= 0) { - p_70085_1_.inventory.setInventorySlotContents( - p_70085_1_.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } else if (itemstack.getItem() == Items.dye) { - int i = BlockColored.func_150032_b(itemstack.getItemDamage()); - - if (i != this.getCollarColor()) { - this.setCollarColor(i); - - if (!p_70085_1_.capabilities.isCreativeMode && --itemstack.stackSize <= 0) { - p_70085_1_.inventory.setInventorySlotContents( - p_70085_1_.inventory.currentItem, (ItemStack) null); - } - - return true; - } - } - } - - if (this.func_152114_e(p_70085_1_) && !this.worldObj.isRemote && !this.isBreedingItem(itemstack)) { - this.aiSit.setSitting(!this.isSitting()); - this.isJumping = false; - this.setPathToEntity((PathEntity) null); - this.setTarget((Entity) null); - this.setAttackTarget((EntityLivingBase) null); - } - } else if (itemstack != null && itemstack.getItem() == Items.bone && !this.isAngry()) { - if (!p_70085_1_.capabilities.isCreativeMode) { - --itemstack.stackSize; - } - - if (itemstack.stackSize <= 0) { - p_70085_1_.inventory.setInventorySlotContents(p_70085_1_.inventory.currentItem, (ItemStack) null); - } - - if (!this.worldObj.isRemote) { - if (this.rand.nextInt(3) == 0) { - this.setTamed(true); - this.setPathToEntity((PathEntity) null); - this.setAttackTarget((EntityLivingBase) null); - this.aiSit.setSitting(true); - this.setHealth(20.0F); - this.func_152115_b(p_70085_1_.getUniqueID().toString()); - this.playTameEffect(true); - this.worldObj.setEntityState(this, (byte) 7); - } else { - this.playTameEffect(false); - this.worldObj.setEntityState(this, (byte) 6); - } - } - - return true; - } - - return super.interact(p_70085_1_); - } - - @SideOnly(Side.CLIENT) - public void handleHealthUpdate(byte p_70103_1_) { - if (p_70103_1_ == 8) { - this.mPrivateField3 = true; - this.timeWolfIsShaking = 0.0F; - this.prevTimeWolfIsShaking = 0.0F; - } else { - super.handleHealthUpdate(p_70103_1_); - } - } - - @SideOnly(Side.CLIENT) - public float getTailRotation() { - return this.isAngry() - ? 1.5393804F - : (this.isTamed() - ? (0.55F - (20.0F - this.dataWatcher.getWatchableObjectFloat(18)) * 0.02F) * (float) Math.PI - : ((float) Math.PI / 5F)); - } - - /** - * Checks if the parameter is an item which this animal can be fed to breed it - * (wheat, carrots or seeds depending on the animal type) - */ - public boolean isBreedingItem(ItemStack p_70877_1_) { - return p_70877_1_ == null - ? false - : (!(p_70877_1_.getItem() instanceof ItemFood) - ? false - : ((ItemFood) p_70877_1_.getItem()).isWolfsFavoriteMeat()); - } - - /** - * Will return how many at most can spawn in a chunk at once. - */ - public int getMaxSpawnedInChunk() { - return 8; - } - - /** - * Determines whether this dingo is angry or not. - */ - public boolean isAngry() { - return (this.dataWatcher.getWatchableObjectByte(16) & 2) != 0; - } - - /** - * Sets whether this dingo is angry or not. - */ - public void setAngry(boolean p_70916_1_) { - byte b0 = this.dataWatcher.getWatchableObjectByte(16); - - if (p_70916_1_) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 | 2))); - } else { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) (b0 & -3))); - } - } - - /** - * Return this dingo's collar color. - */ - public int getCollarColor() { - return this.dataWatcher.getWatchableObjectByte(20) & 15; - } - - /** - * Set this dingo's collar color. - */ - public void setCollarColor(int p_82185_1_) { - this.dataWatcher.updateObject(20, Byte.valueOf((byte) (p_82185_1_ & 15))); - } - - public EntityDingo createChild(EntityAgeable p_90011_1_) { - EntityDingo entitydingo = new EntityDingo(this.worldObj); - String s = this.func_152113_b(); - - if (s != null && s.trim().length() > 0) { - entitydingo.func_152115_b(s); - entitydingo.setTamed(true); - } - - return entitydingo; - } - - public void func_70918_i(boolean p_70918_1_) { - if (p_70918_1_) { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 1)); - } else { - this.dataWatcher.updateObject(19, Byte.valueOf((byte) 0)); - } - } - - /** - * Returns true if the mob is currently able to mate with the specified mob. - */ - public boolean canMateWith(EntityAnimal p_70878_1_) { - if (p_70878_1_ == this) { - return false; - } else if (!this.isTamed()) { - return false; - } else if (!(p_70878_1_ instanceof EntityDingo)) { - return false; - } else { - EntityDingo entitydingo = (EntityDingo) p_70878_1_; - return !entitydingo.isTamed() - ? false - : (entitydingo.isSitting() ? false : this.isInLove() && entitydingo.isInLove()); - } - } - - public boolean func_70922_bv() { - return this.dataWatcher.getWatchableObjectByte(19) == 1; - } - - /** - * Determines if an entity can be despawned, used on idle far away entities - */ - protected boolean canDespawn() { - return !this.isTamed() && this.ticksExisted > 2400; - } - - public boolean func_142018_a(EntityLivingBase p_142018_1_, EntityLivingBase p_142018_2_) { - if (!(p_142018_1_ instanceof EntityCreeper) && !(p_142018_1_ instanceof EntityGhast)) { - if (p_142018_1_ instanceof EntityDingo) { - EntityDingo entitydingo = (EntityDingo) p_142018_1_; - - if (entitydingo.isTamed() && entitydingo.getOwner() == p_142018_2_) { - return false; - } - } - - return p_142018_1_ instanceof EntityPlayer - && p_142018_2_ instanceof EntityPlayer - && !((EntityPlayer) p_142018_2_).canAttackPlayer((EntityPlayer) p_142018_1_) - ? false - : !(p_142018_1_ instanceof EntityHorse) || !((EntityHorse) p_142018_1_).isTame(); - } else { - return false; - } - } -} diff --git a/src/main/java/gtPlusPlus/australia/entity/type/EntityOctopus.java b/src/main/java/gtPlusPlus/australia/entity/type/EntityOctopus.java deleted file mode 100644 index 9d9f883865..0000000000 --- a/src/main/java/gtPlusPlus/australia/entity/type/EntityOctopus.java +++ /dev/null @@ -1,205 +0,0 @@ -package gtPlusPlus.australia.entity.type; - -import net.minecraft.block.material.Material; -import net.minecraft.entity.SharedMonsterAttributes; -import net.minecraft.entity.passive.EntityWaterMob; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; -import net.minecraft.world.World; - -public class EntityOctopus extends EntityWaterMob { - public float octopusPitch; - public float prevSquidPitch; - public float octopusYaw; - public float prevSquidYaw; - /** appears to be rotation in radians; we already have pitch & yaw, so this completes the triumvirate. */ - public float octopusRotation; - /** previous octopusRotation in radians */ - public float prevSquidRotation; - /** angle of the tentacles in radians */ - public float tentacleAngle; - /** the last calculated angle of the tentacles in radians */ - public float lastTentacleAngle; - - private float randomMotionSpeed; - /** change in octopusRotation in radians. */ - private float rotationVelocity; - - private float field_70871_bB; - private float randomMotionVecX; - private float randomMotionVecY; - private float randomMotionVecZ; - - public EntityOctopus(World p_i1693_1_) { - super(p_i1693_1_); - this.setSize(0.95F, 0.95F); - this.rotationVelocity = 1.0F / (this.rand.nextFloat() + 1.0F) * 0.2F; - } - - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); - } - - /** - * Returns the sound this mob makes while it's alive. - */ - protected String getLivingSound() { - return null; - } - - /** - * Returns the sound this mob makes when it is hurt. - */ - protected String getHurtSound() { - return null; - } - - /** - * Returns the sound this mob makes on death. - */ - protected String getDeathSound() { - return null; - } - - /** - * Returns the volume for the sounds this mob makes. - */ - protected float getSoundVolume() { - return 0.4F; - } - - protected Item getDropItem() { - return Item.getItemById(0); - } - - /** - * returns if this entity triggers Block.onEntityWalking on the blocks they walk on. used for spiders and wolves to - * prevent them from trampling crops - */ - protected boolean canTriggerWalking() { - return false; - } - - /** - * Drop 0-2 items of this living's type. @param par1 - Whether this entity has recently been hit by a player. @param - * par2 - Level of Looting used to kill this mob. - */ - protected void dropFewItems(boolean p_70628_1_, int p_70628_2_) { - int j = this.rand.nextInt(3 + p_70628_2_) + 1; - - for (int k = 0; k < j; ++k) { - this.entityDropItem(new ItemStack(Items.dye, 1, 0), 0.0F); - } - } - - /** - * Checks if this entity is inside water (if inWater field is true as a result of handleWaterMovement() returning - * true) - */ - public boolean isInWater() { - return this.worldObj.handleMaterialAcceleration( - this.boundingBox.expand(0.0D, -0.6000000238418579D, 0.0D), Material.water, this); - } - - /** - * Called frequently so the entity can update its state every tick as required. For example, zombies and skeletons - * use this to react to sunlight and start to burn. - */ - public void onLivingUpdate() { - super.onLivingUpdate(); - this.prevSquidPitch = this.octopusPitch; - this.prevSquidYaw = this.octopusYaw; - this.prevSquidRotation = this.octopusRotation; - this.lastTentacleAngle = this.tentacleAngle; - this.octopusRotation += this.rotationVelocity; - - if (this.octopusRotation > ((float) Math.PI * 2F)) { - this.octopusRotation -= ((float) Math.PI * 2F); - - if (this.rand.nextInt(10) == 0) { - this.rotationVelocity = 1.0F / (this.rand.nextFloat() + 1.0F) * 0.2F; - } - } - - if (this.isInWater()) { - float f; - - if (this.octopusRotation < (float) Math.PI) { - f = this.octopusRotation / (float) Math.PI; - this.tentacleAngle = MathHelper.sin(f * f * (float) Math.PI) * (float) Math.PI * 0.25F; - - if ((double) f > 0.75D) { - this.randomMotionSpeed = 1.0F; - this.field_70871_bB = 1.0F; - } else { - this.field_70871_bB *= 0.8F; - } - } else { - this.tentacleAngle = 0.0F; - this.randomMotionSpeed *= 0.9F; - this.field_70871_bB *= 0.99F; - } - - if (!this.worldObj.isRemote) { - this.motionX = (double) (this.randomMotionVecX * this.randomMotionSpeed); - this.motionY = (double) (this.randomMotionVecY * this.randomMotionSpeed); - this.motionZ = (double) (this.randomMotionVecZ * this.randomMotionSpeed); - } - - f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - this.renderYawOffset += (-((float) Math.atan2(this.motionX, this.motionZ)) * 180.0F / (float) Math.PI - - this.renderYawOffset) - * 0.1F; - this.rotationYaw = this.renderYawOffset; - this.octopusYaw += (float) Math.PI * this.field_70871_bB * 1.5F; - this.octopusPitch += - (-((float) Math.atan2((double) f, this.motionY)) * 180.0F / (float) Math.PI - this.octopusPitch) - * 0.1F; - } else { - this.tentacleAngle = MathHelper.abs(MathHelper.sin(this.octopusRotation)) * (float) Math.PI * 0.25F; - - if (!this.worldObj.isRemote) { - this.motionX = 0.0D; - this.motionY -= 0.08D; - this.motionY *= 0.9800000190734863D; - this.motionZ = 0.0D; - } - - this.octopusPitch = (float) ((double) this.octopusPitch + (double) (-90.0F - this.octopusPitch) * 0.02D); - } - } - - /** - * Moves the entity based on the specified heading. Args: strafe, forward - */ - public void moveEntityWithHeading(float p_70612_1_, float p_70612_2_) { - this.moveEntity(this.motionX, this.motionY, this.motionZ); - } - - protected void updateEntityActionState() { - ++this.entityAge; - - if (this.entityAge > 100) { - this.randomMotionVecX = this.randomMotionVecY = this.randomMotionVecZ = 0.0F; - } else if (this.rand.nextInt(50) == 0 - || !this.inWater - || this.randomMotionVecX == 0.0F && this.randomMotionVecY == 0.0F && this.randomMotionVecZ == 0.0F) { - float f = this.rand.nextFloat() * (float) Math.PI * 2.0F; - this.randomMotionVecX = MathHelper.cos(f) * 0.2F; - this.randomMotionVecY = -0.1F + this.rand.nextFloat() * 0.2F; - this.randomMotionVecZ = MathHelper.sin(f) * 0.2F; - } - - this.despawnEntity(); - } - - /** - * Checks if the entity's current position is a valid location to spawn this entity. - */ - public boolean getCanSpawnHere() { - return this.posY > 45.0D && this.posY < 63.0D && super.getCanSpawnHere(); - } -} |