From 4cc28e1df8ab6d75a03aae7670e27cfb05f4cccd Mon Sep 17 00:00:00 2001 From: Adubbz Date: Sun, 27 Oct 2013 19:45:13 +1100 Subject: [PATCH] Finished off wasps --- .../entities/EntityFlyingMob.java | 95 ++++++++++ common/biomesoplenty/entities/EntityWasp.java | 162 ++++++++++++++++-- .../entities/models/ModelWasp.java | 45 ++--- .../entities/render/RenderWasp.java | 1 + .../biomesoplenty/handlers/SoundHandler.java | 2 +- .../biomesoplenty/sound/mob/wasp/say.ogg | Bin 0 -> 40650 bytes 6 files changed, 270 insertions(+), 35 deletions(-) create mode 100644 common/biomesoplenty/entities/EntityFlyingMob.java create mode 100644 resources/assets/biomesoplenty/sound/mob/wasp/say.ogg diff --git a/common/biomesoplenty/entities/EntityFlyingMob.java b/common/biomesoplenty/entities/EntityFlyingMob.java new file mode 100644 index 000000000..8e14fa2f5 --- /dev/null +++ b/common/biomesoplenty/entities/EntityFlyingMob.java @@ -0,0 +1,95 @@ +package biomesoplenty.entities; + +import net.minecraft.block.Block; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class EntityFlyingMob extends EntityMob +{ + public EntityFlyingMob(World par1World) + { + super(par1World); + } + + @Override + protected void fall(float par1) {} + + @Override + protected void updateFallState(double par1, boolean par3) {} + + @Override + public void moveEntityWithHeading(float par1, float par2) + { + if (this.isInWater()) + { + this.moveFlying(par1, par2, 0.02F); + this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.motionX *= 0.800000011920929D; + this.motionY *= 0.800000011920929D; + this.motionZ *= 0.800000011920929D; + } + else if (this.handleLavaMovement()) + { + this.moveFlying(par1, par2, 0.02F); + this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.motionX *= 0.5D; + this.motionY *= 0.5D; + this.motionZ *= 0.5D; + } + else + { + float f2 = 0.91F; + + if (this.onGround) + { + f2 = 0.54600006F; + int i = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); + + if (i > 0) + { + f2 = Block.blocksList[i].slipperiness * 0.91F; + } + } + + float f3 = 0.16277136F / (f2 * f2 * f2); + this.moveFlying(par1, par2, this.onGround ? 0.1F * f3 : 0.02F); + f2 = 0.91F; + + if (this.onGround) + { + f2 = 0.54600006F; + int j = this.worldObj.getBlockId(MathHelper.floor_double(this.posX), MathHelper.floor_double(this.boundingBox.minY) - 1, MathHelper.floor_double(this.posZ)); + + if (j > 0) + { + f2 = Block.blocksList[j].slipperiness * 0.91F; + } + } + + this.moveEntity(this.motionX, this.motionY, this.motionZ); + this.motionX *= (double)f2; + this.motionY *= (double)f2; + this.motionZ *= (double)f2; + } + + this.prevLimbSwingAmount = this.limbSwingAmount; + double d0 = this.posX - this.prevPosX; + double d1 = this.posZ - this.prevPosZ; + float f4 = MathHelper.sqrt_double(d0 * d0 + d1 * d1) * 4.0F; + + if (f4 > 1.0F) + { + f4 = 1.0F; + } + + this.limbSwingAmount += (f4 - this.limbSwingAmount) * 0.4F; + this.limbSwing += this.limbSwingAmount; + } + + @Override + public boolean isOnLadder() + { + return false; + } +} diff --git a/common/biomesoplenty/entities/EntityWasp.java b/common/biomesoplenty/entities/EntityWasp.java index 6de8fb61f..a7f7436bc 100644 --- a/common/biomesoplenty/entities/EntityWasp.java +++ b/common/biomesoplenty/entities/EntityWasp.java @@ -1,30 +1,168 @@ package biomesoplenty.entities; -import org.lwjgl.opengl.GL11; - -import net.minecraft.entity.EntityLiving; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.passive.EntityAmbientCreature; -import net.minecraft.entity.passive.EntityBat; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class EntityWasp extends EntityLiving +public class EntityWasp extends EntityFlyingMob { + public int courseChangeCooldown; + public double waypointX; + public double waypointY; + public double waypointZ; + private Entity targetedEntity; + + /** Cooldown time between target loss and new target aquirement. */ + private int aggroCooldown; + public int prevAttackCounter; + public int attackCounter; + public EntityWasp(World world) { super(world); - this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); + this.setSize(1.0F, 1.0F); } - public boolean isAIEnabled() + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setAttribute(2.5D); + } + + @Override + protected void updateEntityActionState() + { + if (!this.worldObj.isRemote && this.worldObj.difficultySetting == 0) + { + this.setDead(); + } + + this.despawnEntity(); + this.prevAttackCounter = this.attackCounter; + double d0 = this.waypointX - this.posX; + double d1 = this.waypointY - this.posY; + double d2 = this.waypointZ - this.posZ; + double d3 = d0 * d0 + d1 * d1 + d2 * d2; + + if (d3 < 1.0D || d3 > 3600.0D) + { + this.waypointX = this.posX + (double)((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); + this.waypointY = this.posY + (double)((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); + this.waypointZ = this.posZ + (double)((this.rand.nextFloat() * 2.0F - 1.0F) * 16.0F); + } + + if (this.courseChangeCooldown-- <= 0) + { + this.courseChangeCooldown += this.rand.nextInt(5) + 2; + d3 = (double)MathHelper.sqrt_double(d3); + + if (this.isCourseTraversable(this.waypointX, this.waypointY, this.waypointZ, d3)) + { + this.motionX += d0 / d3 * 0.1D; + this.motionY += d1 / d3 * 0.1D; + this.motionZ += d2 / d3 * 0.1D; + } + else + { + this.waypointX = this.posX; + this.waypointY = this.posY; + this.waypointZ = this.posZ; + } + } + + if (this.targetedEntity != null && this.targetedEntity.isDead) + { + this.targetedEntity = null; + } + + if (this.targetedEntity == null || this.aggroCooldown-- <= 0) + { + this.targetedEntity = this.worldObj.getClosestVulnerablePlayerToEntity(this, 100.0D); + + if (this.targetedEntity != null) + { + this.aggroCooldown = 20; + } + } + + double d4 = 64.0D; + + if (this.targetedEntity != null && this.targetedEntity.getDistanceSqToEntity(this) < d4 * d4) + { + double d5 = this.targetedEntity.posX - this.posX; + double d6 = this.targetedEntity.boundingBox.minY + (double)(this.targetedEntity.height / 2.0F) - (this.posY + (double)(this.height / 2.0F)); + double d7 = this.targetedEntity.posZ - this.posZ; + this.renderYawOffset = this.rotationYaw = -((float)Math.atan2(d5, d7)) * 180.0F / (float)Math.PI; + + if (this.canEntityBeSeen(this.targetedEntity)) + { + this.waypointX = targetedEntity.posX; + this.waypointY = targetedEntity.posY; + this.waypointZ = targetedEntity.posZ; + + float f1 = this.targetedEntity.getDistanceToEntity(this); + + this.attackEntity(this.targetedEntity, f1); + + ++this.attackCounter; + } + else if (this.attackCounter > 0) + { + --this.attackCounter; + } + } + else + { + this.renderYawOffset = this.rotationYaw = -((float)Math.atan2(this.motionX, this.motionZ)) * 180.0F / (float)Math.PI; + + if (this.attackCounter > 0) + { + --this.attackCounter; + } + } + } + + private boolean isCourseTraversable(double par1, double par3, double par5, double par7) + { + double d4 = (this.waypointX - this.posX) / par7; + double d5 = (this.waypointY - this.posY) / par7; + double d6 = (this.waypointZ - this.posZ) / par7; + AxisAlignedBB axisalignedbb = this.boundingBox.copy(); + + for (int i = 1; (double)i < par7; ++i) + { + axisalignedbb.offset(d4, d5, d6); + + if (!this.worldObj.getCollidingBoundingBoxes(this, axisalignedbb).isEmpty()) + { + return false; + } + } + return true; } @Override - public boolean allowLeashing() + protected String getLivingSound() { - return false; + return "biomesoplenty:mob.wasp.say"; + } + + @Override + protected String getHurtSound() + { + return "biomesoplenty:mob.wasp.say"; + } + + @Override + protected String getDeathSound() + { + return "biomesoplenty:mob.wasp.say"; } } diff --git a/common/biomesoplenty/entities/models/ModelWasp.java b/common/biomesoplenty/entities/models/ModelWasp.java index 5ab4da74e..2a2d18bfe 100644 --- a/common/biomesoplenty/entities/models/ModelWasp.java +++ b/common/biomesoplenty/entities/models/ModelWasp.java @@ -131,33 +131,22 @@ public class ModelWasp extends ModelBase Abdomen.addChild(Stinger); } + @Override public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(0.0F, 0.75F, 0.0F); + + this.setRotationAngles(f, f1, f2, f3, f4, f5, entity); /*Head*/ - float headspeed = 0.1F * (float)(entity.entityId % 10); - Head.rotateAngleX = MathHelper.sin((float)entity.ticksExisted * headspeed) * 2.5F * (float)Math.PI / 180.0F; - Head.rotateAngleY = 0.0F; - Head.rotateAngleZ = MathHelper.cos((float)entity.ticksExisted * headspeed) * 1.5F * (float)Math.PI / 180.0F; - Head.render(f5); - /*Wings*/ - Right_Wing.rotateAngleY = MathHelper.cos(f2 * 1.7F) * (float)Math.PI * 0.25F; - Left_Wing.rotateAngleY = -Right_Wing.rotateAngleY; - Right_Wing.rotateAngleZ = Right_Wing.rotateAngleY; - Left_Wing.rotateAngleZ = -Right_Wing.rotateAngleY; - + /*Wings*/ Left_Wing.render(f5); Right_Wing.render(f5); - /*Body*/ - float thoraxspeed = 0.05F * (float)(entity.entityId % 10); - Thorax.rotateAngleX = MathHelper.sin((float)entity.ticksExisted * thoraxspeed) * 2.5F * (float)Math.PI / 180.0F; - Thorax.rotateAngleY = 0.0F; - Thorax.rotateAngleZ = MathHelper.cos((float)entity.ticksExisted * thoraxspeed) * 1.5F * (float)Math.PI / 180.0F; - + /*Body*/ Thorax.render(f5); /*float nosespeed = 0.5F * (float)(entity.entityId % 10); @@ -166,11 +155,6 @@ public class ModelWasp extends ModelBase Nose.rotateAngleZ = MathHelper.cos((float)entity.ticksExisted * nosespeed) * 1.5F * (float)Math.PI / 180.0F;*/ /*Stinger*/ - float abdomenspeed = 0.6F * (float)(entity.entityId % 10); - Abdomen.rotateAngleX = MathHelper.sin((float)entity.ticksExisted * abdomenspeed) * 2.5F * (float)Math.PI / 180.0F; - Abdomen.rotateAngleY = 0.0F; - Abdomen.rotateAngleZ = MathHelper.cos((float)entity.ticksExisted * abdomenspeed) * 1.5F * (float)Math.PI / 180.0F; - Abdomen.render(f5); } @@ -178,5 +162,22 @@ public class ModelWasp extends ModelBase public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) { super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + + float headspeed = 0.1F * (float)(entity.entityId % 10); + Head.rotateAngleX = MathHelper.sin(f2 * headspeed) * 2.5F * (float)Math.PI / 180.0F; + Head.rotateAngleZ = MathHelper.cos(f2 * headspeed) * 1.5F * (float)Math.PI / 180.0F; + + float thoraxspeed = 0.075F * (float)(entity.entityId % 10); + Thorax.rotateAngleX = MathHelper.sin(f2 * thoraxspeed) * 2.5F * (float)Math.PI / 180.0F; + Thorax.rotateAngleZ = MathHelper.cos(f2 * thoraxspeed) * 1.5F * (float)Math.PI / 180.0F; + + Right_Wing.rotateAngleY = MathHelper.cos(f2 * 1.7F) * (float)Math.PI * 0.25F; + Left_Wing.rotateAngleY = -Right_Wing.rotateAngleY; + Right_Wing.rotateAngleZ = Right_Wing.rotateAngleY; + Left_Wing.rotateAngleZ = -Right_Wing.rotateAngleY; + + float abdomenspeed = 0.6F * (float)(entity.entityId % 10); + Abdomen.rotateAngleX = MathHelper.sin(f2 * abdomenspeed) * 2.5F * (float)Math.PI / 180.0F; + Abdomen.rotateAngleZ = MathHelper.cos(f2 * abdomenspeed) * 1.5F * (float)Math.PI / 180.0F; } } diff --git a/common/biomesoplenty/entities/render/RenderWasp.java b/common/biomesoplenty/entities/render/RenderWasp.java index 17adb8f27..98d186f97 100644 --- a/common/biomesoplenty/entities/render/RenderWasp.java +++ b/common/biomesoplenty/entities/render/RenderWasp.java @@ -14,6 +14,7 @@ public class RenderWasp extends RenderLiving public RenderWasp() { super(new ModelWasp(), 0.25F); + this.shadowSize = 0.0F; } @Override diff --git a/common/biomesoplenty/handlers/SoundHandler.java b/common/biomesoplenty/handlers/SoundHandler.java index 6cec5d6fa..08e040972 100644 --- a/common/biomesoplenty/handlers/SoundHandler.java +++ b/common/biomesoplenty/handlers/SoundHandler.java @@ -13,7 +13,7 @@ import cpw.mods.fml.relauncher.SideOnly; public class SoundHandler { static String[] recordSoundFiles = { "biomesoplenty:bopdisc.ogg", "biomesoplenty:bopdiscmud.ogg" }; - static String[] soundFiles = { "biomesoplenty:mob/phantom/say.ogg", "biomesoplenty:mob/phantom/hurt.ogg", "biomesoplenty:mob/phantom/death.ogg" }; + static String[] soundFiles = { "biomesoplenty:mob/phantom/say.ogg", "biomesoplenty:mob/phantom/hurt.ogg", "biomesoplenty:mob/phantom/death.ogg", "biomesoplenty:mob/wasp/say.ogg" }; @SideOnly(Side.CLIENT) @ForgeSubscribe diff --git a/resources/assets/biomesoplenty/sound/mob/wasp/say.ogg b/resources/assets/biomesoplenty/sound/mob/wasp/say.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2681e3da6a4e727bbf3cc63d182ba1e29de1e776 GIT binary patch literal 40650 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

Sn(=D&FWsRDpW&5#ju9DS3p65ObeDy0ClCOd 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