package me.nieznasz.mnie.models; import org.lwjgl.opengl.GL11; import me.nieznasz.mnie.modules.ItemHandModule; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.model.ModelRenderer; import net.minecraft.util.ResourceLocation; public class HandItem extends HandItemBase { private ModelRenderer ItemHand; private ResourceLocation wingsImages; public void init(int wingID) { this.wingsImages = new ResourceLocation("textures/wings/" + wingID + ".png"); this.ItemHand = new ModelRenderer(this, 0, 0); if (ItemHandModule.isFalse()) { for (float i = 0.0F; i < 0.65F; i += 0.05F) { this.ItemHand.addBox(0.3F, -6F, 1.5F, 0, 32, 32, i); } } else { this.ItemHand.addBox(0.3F, -0F, 0.0F, 0, 32, 32, 0.05F); } this.ItemHand.setRotationPoint(5f, -0.1f, -20f); this.ItemHand.setTextureSize(16,64); } public void render(EntityPlayerSP player, boolean isSneaking) { postRender(player, isSneaking); } private void postRender(EntityPlayerSP player, boolean isSneaking) { GL11.glPushMatrix(); Minecraft.getMinecraft().getTextureManager().bindTexture(this.wingsImages); RenderWing(player, player.onGround, isSneaking); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); GL11.glPopMatrix(); } private void RenderWing(EntityPlayerSP player, boolean isGround, boolean isSneaking) { float angle = getWingAngle(60.0F, 8000, player.getYOffset()); setRotation(this.ItemHand, (float) Math.toRadians(angle + 3.0F)); if (isSneaking) { this.ItemHand.rotateAngleX = 0.15f; } GL11.glPushMatrix(); GL11.glTranslatef(0F, 0F, 1.7F * SCALE); this.ItemHand.render(SCALE); GL11.glPopMatrix(); } }