diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java b/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java index d06ffac..6d18cb6 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/ticking/MobMonolith.java @@ -100,6 +100,12 @@ public class MobMonolith extends EntityFlying implements IMob { return false; } + + @Override + public float getEyeHeight() + { + return this.height +2F; + } public void setEntityPosition(Entity entity, double x, double y, double z) { @@ -206,14 +212,14 @@ public class MobMonolith extends EntityFlying implements IMob this.playSound(mod_pocketDim.modid+":monk", 1F, 1F); this.soundTime=100; } - if ((aggroPercent>.80)&&this.soundTime<100) + if ((aggroPercent>.70)&&this.soundTime<100) { - this.worldObj.playSoundEffect(entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ,mod_pocketDim.modid+":tearing",2, 1F); - this.soundTime=200; + this.worldObj.playSoundEffect(entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ,mod_pocketDim.modid+":tearing",1F, (float) (1+this.rand.nextGaussian())); + this.soundTime=100+this.rand.nextInt(75); } - if ((aggroPercent>.95)&&this.soundTime<200) + if ((aggroPercent>.90)&&this.soundTime<200) { - this.worldObj.playSoundEffect(entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ,mod_pocketDim.modid+":tearing",5, 1F); + this.worldObj.playSoundEffect(entityPlayer.posX, entityPlayer.posY, entityPlayer.posZ,mod_pocketDim.modid+":tearing",7, 1F); this.soundTime=250; } this.soundTime--; diff --git a/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java b/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java index 48dbfa9..8cb4f97 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java +++ b/src/main/java/StevenDimDoors/mod_pocketDimClient/RenderMobObelisk.java @@ -63,18 +63,28 @@ public class RenderMobObelisk extends RenderLiving GL11.glDisable(GL11.GL_DEPTH_TEST); GL11.glDepthMask(false); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + this.mainModel.onGround = this.renderSwingProgress(par1EntityLivingBase, par9); try { float interpolatedYaw = this.interpolateRotation(par1EntityLivingBase.prevRenderYawOffset, par1EntityLivingBase.renderYawOffset, par9); + float interpolatedYawHead = this.interpolateRotation(par1EntityLivingBase.prevRotationYawHead, par1EntityLivingBase.rotationYawHead, par9); + float rotation; + float pitch = par1EntityLivingBase.prevRotationPitch + (par1EntityLivingBase.rotationPitch - par1EntityLivingBase.prevRotationPitch) * par9; this.renderLivingAt(par1EntityLivingBase, x, y, z); - this.rotateCorpse(par1EntityLivingBase, 0, 0, par9); + + rotation = this.handleRotationFloat(par1EntityLivingBase, par9); + this.rotateCorpse(par1EntityLivingBase, rotation, interpolatedYaw, par9); + + float f6 = 0.0625F; GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glScalef(-1.0F, -1.0F, 1.0F); this.preRenderCallback(par1EntityLivingBase, par9); - GL11.glRotatef(interpolatedYaw , 0.0F, 1.0F, 0.0F); GL11.glRotatef(((MobMonolith)par1EntityLivingBase).pitchLevel , 1.0F, 0.0F, 0.0F); - this.renderModel(par1EntityLivingBase, 0, 0, 0,0, 0, 0); + + GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F); + + this.renderModel(par1EntityLivingBase, 0, 0, rotation, interpolatedYawHead - interpolatedYaw, pitch, f6); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); GL11.glDisable(GL11.GL_TEXTURE_2D);