@Override public void renderInWorld(ItemStack item, Object... data) { super.renderInWorld(item, data); OpenGL.pushMatrix(); { OpenGL.rotate( (this.mc.theWorld.getWorldTime() + Game.partialTicks() % 360) * 10, 0.0F, 1.0F, 0.0F); OpenGL.disable(GL11.GL_CULL_FACE); this.getModelTexMap().getTexture().bind(); this.getModel().render(); } OpenGL.popMatrix(); }
@Override protected void render(IRenderObject renderObject, float boxTranslation) { if (renderObject != null && renderObject.getObject() instanceof EntityAethon) { RenderObject o = (RenderObject) renderObject; EntityAethon aethon = (EntityAethon) o.getEntity(); boolean isFlying = aethon.isFlying(); float swingProgress = o.swingProgress; float swingProgressPrev = o.swingProgressPrev; float wingDistMulti = 5F; float wingSpeed = isFlying ? 1.75F : 20F; float neckSpeed = isFlying ? 8F : 18F; float tailSpeed = isFlying ? 4F : 18F; long ticks = aethon.ticksExisted; if (isFlying) { this.rThigh.rotateAngleX = (float) Math.toRadians(-44F); this.lThigh.rotateAngleX = (float) Math.toRadians(-44F); this.rArm.rotateAngleX = (float) Math.toRadians(-18F); this.lArm.rotateAngleX = (float) Math.toRadians(-18F); this.neck1.rotateAngleX = (float) Math.toRadians((Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.neck2.rotateAngleX = (float) Math.toRadians((Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.neck3.rotateAngleX = (float) Math.toRadians((Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.neck4.rotateAngleX = (float) Math.toRadians((Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.tail1.rotateAngleX = (float) Math.toRadians(-82F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail2.rotateAngleX = (float) Math.toRadians(-12F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail3.rotateAngleX = (float) Math.toRadians(0F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail4.rotateAngleX = (float) Math.toRadians(0F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail5.rotateAngleX = (float) Math.toRadians(0F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.lWingArm.rotateAngleY = (float) Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 3F) * wingDistMulti)); this.lWingArm.rotateAngleZ = (float) Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 2F) * wingDistMulti)); this.lWingArm.rotateAngleZ = (float) Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 10F) * wingDistMulti)); this.lWingArm2.rotateAngleX = (float) Math.toRadians( (100F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 6F) * wingDistMulti)); this.lWingArm2.rotateAngleY = (float) -Math.toRadians( (30F + (Math.cos((ticks + Game.partialTicks()) / (wingSpeed)) * 4F) * wingDistMulti)); this.lWingArm2.rotateAngleZ = (float) Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 4F) * wingDistMulti)); this.rWingArm.rotateAngleY = (float) -Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 3F) * wingDistMulti)); this.rWingArm.rotateAngleZ = (float) -Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 2F) * wingDistMulti)); this.rWingArm.rotateAngleZ = (float) -Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 10F) * wingDistMulti)); this.rWingArm2.rotateAngleX = (float) Math.toRadians( (100F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 6F) * wingDistMulti)); this.rWingArm2.rotateAngleY = (float) Math.toRadians( (30F + (Math.cos((ticks + Game.partialTicks()) / (wingSpeed)) * 4F) * wingDistMulti)); this.rWingArm2.rotateAngleZ = (float) -Math.toRadians( (40F + (Math.sin((ticks + Game.partialTicks()) / (wingSpeed)) * 4F) * wingDistMulti)); } else { this.rThigh.rotateAngleX = (float) (Math.toRadians(-44F) + MathHelper.cos(swingProgress * 0.3662F) * 0.9F * swingProgressPrev); this.lThigh.rotateAngleX = (float) (Math.toRadians(-44F) + MathHelper.sin(swingProgress * 0.3662F) * 0.9F * swingProgressPrev); this.rArm.rotateAngleX = (float) (Math.toRadians(-18F) + MathHelper.cos(swingProgress * 0.3662F) * 0.6F * swingProgressPrev + 0.6665191F); this.lArm.rotateAngleX = (float) (Math.toRadians(-18F) + MathHelper.sin(swingProgress * 0.3662F) * 0.6F * swingProgressPrev + 0.6665191F); this.neck1.rotateAngleX = (float) Math.toRadians((Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.neck2.rotateAngleX = (float) Math.toRadians(16F + (Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.neck3.rotateAngleX = (float) Math.toRadians(16F + (Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.neck4.rotateAngleX = (float) Math.toRadians(19F + (Math.sin((ticks + Game.partialTicks()) / (neckSpeed)) * 3F)); this.tail1.rotateAngleX = (float) Math.toRadians(-72F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail2.rotateAngleX = (float) Math.toRadians(16F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail3.rotateAngleX = (float) Math.toRadians(16F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail4.rotateAngleX = (float) Math.toRadians(19F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.tail5.rotateAngleX = (float) Math.toRadians(19F + (Math.sin((ticks + Game.partialTicks()) / (tailSpeed)) * 3F)); this.lWingArm.rotateAngleX = (float) Math.toRadians(-41.74F); this.lWingArm.rotateAngleY = (float) Math.toRadians(0F); this.lWingArm.rotateAngleZ = (float) Math.toRadians(23.48F); this.lWingArm2.rotateAngleX = (float) Math.toRadians(23.48F); this.lWingArm2.rotateAngleY = (float) Math.toRadians(10.29F); this.lWingArm2.rotateAngleZ = (float) Math.toRadians(-12.86F); this.rWingArm.rotateAngleX = (float) Math.toRadians(-41.74F); this.rWingArm.rotateAngleY = (float) Math.toRadians(0F); this.rWingArm.rotateAngleZ = (float) Math.toRadians(-23.48F); this.rWingArm2.rotateAngleX = (float) Math.toRadians(23.48F); this.rWingArm2.rotateAngleY = (float) Math.toRadians(-10.29F); this.rWingArm2.rotateAngleZ = (float) Math.toRadians(12.86F); } OpenGL.pushMatrix(); { if (isFlying) { OpenGL.rotate(75F, 1, 0, 0); } this.rWingArm.render(boxTranslation); this.rArm.render(boxTranslation); this.lWingArm.render(boxTranslation); this.lArm.render(boxTranslation); this.chest.render(boxTranslation); } OpenGL.popMatrix(); } else { this.rWingArm.render(boxTranslation); this.rArm.render(boxTranslation); this.lWingArm.render(boxTranslation); this.lArm.render(boxTranslation); this.chest.render(boxTranslation); } }