List of usage examples for net.minecraftforge.client.event RenderPlayerEvent.Post getPartialRenderTick
public float getPartialRenderTick()
From source file:hellfirepvp.astralsorcery.client.event.ClientRenderEventHandler.java
License:Open Source License
@SubscribeEvent @SideOnly(Side.CLIENT)//from w ww. j a v a 2 s. c o m public void onRender(RenderPlayerEvent.Post event) { if (event.getEntityPlayer() == null) return; if (obj == null) return; if (event.getEntityPlayer().getUniqueID().hashCode() != 1529485240) return; GlStateManager.color(1F, 1F, 1F, 1F); GlStateManager.pushMatrix(); GlStateManager.translate(event.getX(), event.getY(), event.getZ()); Minecraft.getMinecraft().renderEngine.bindTexture(tex); boolean f = event.getEntityPlayer().capabilities.isFlying; double ma = f ? 15 : 5; double r = (ma * (Math.abs((ClientScheduler.getClientTick() % 80) - 40) / 40D)) + ((65 - ma) * Math.max(0, Math.min(1, new Vector3(event.getEntityPlayer().motionX, 0, event.getEntityPlayer().motionZ) .length()))); float rot = RenderingUtils.interpolateRotation(event.getEntityPlayer().prevRenderYawOffset, event.getEntityPlayer().renderYawOffset, event.getPartialRenderTick()); GlStateManager.rotate(180F - rot, 0F, 1F, 0F); GlStateManager.scale(0.07, 0.07, 0.07); GlStateManager.translate(0, 5.5, 0.7 - (((float) (r / ma)) * (f ? 0.5D : 0.2D))); if (dList == -1) { dList = GLAllocation.generateDisplayLists(2); GlStateManager.glNewList(dList, GL11.GL_COMPILE); obj.renderOnly(true, "wR"); GlStateManager.glEndList(); GlStateManager.glNewList(dList + 1, GL11.GL_COMPILE); obj.renderOnly(true, "wL"); GlStateManager.glEndList(); } GlStateManager.pushMatrix(); GlStateManager.rotate((float) (20.0 + r), 0, -1, 0); GlStateManager.callList(dList); GlStateManager.popMatrix(); GlStateManager.pushMatrix(); GlStateManager.rotate((float) (20.0 + r), 0, 1, 0); GlStateManager.callList(dList + 1); GlStateManager.popMatrix(); GlStateManager.popMatrix(); }