/** Attempts to right-click use an item by the given EntityPlayer in the given World */ public boolean tryUseItem( EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack) { int var4 = par3ItemStack.stackSize; int var5 = par3ItemStack.getItemDamage(); ItemStack var6 = par3ItemStack.useItemRightClick(par2World, par1EntityPlayer); if (var6 == par3ItemStack && (var6 == null || var6.stackSize == var4 && var6.getMaxItemUseDuration() <= 0 && var6.getItemDamage() == var5)) { return false; } else { par1EntityPlayer.inventory.mainInventory[par1EntityPlayer.inventory.currentItem] = var6; if (this.isCreative()) { var6.stackSize = var4; if (var6.isItemStackDamageable()) { var6.setItemDamage(var5); } } if (var6.stackSize == 0) { par1EntityPlayer.inventory.mainInventory[par1EntityPlayer.inventory.currentItem] = null; } if (!par1EntityPlayer.isUsingItem()) { ((EntityPlayerMP) par1EntityPlayer) .sendContainerToPlayer(par1EntityPlayer.inventoryContainer); } return true; } }
public int getItemInUseDuration() { if (isUsingItem()) { return itemInUse.getMaxItemUseDuration() - itemInUseCount; } else { return 0; } }
public int getItemIcon(ItemStack itemstack, int i) { int j = super.getItemIcon(itemstack, i); if (itemstack.itemID == Item.fishingRod.shiftedIndex && fishEntity != null) { j = itemstack.getIconIndex() + 16; } else { if (itemstack.getItem().func_46058_c()) { return itemstack.getItem().func_46057_a(itemstack.getItemDamage(), i); } if (itemInUse != null && itemstack.itemID == Item.bow.shiftedIndex) { int k = itemstack.getMaxItemUseDuration() - itemInUseCount; if (k >= 18) { return 133; } if (k > 13) { return 117; } if (k > 0) { return 101; } } } return j; }
public void handlePlace(Packet15Place par1Packet15Place) { WorldServer worldserver = mcServer.worldServerForDimension(playerEntity.dimension); ItemStack itemstack = playerEntity.inventory.getCurrentItem(); boolean flag = false; int i = par1Packet15Place.getXPosition(); int j = par1Packet15Place.getYPosition(); int k = par1Packet15Place.getZPosition(); int l = par1Packet15Place.getDirection(); boolean flag1 = worldserver.actionsAllowed = worldserver.provider.worldType != 0 || mcServer.getConfigurationManager().areCommandsAllowed(playerEntity.username) || mcServer.isSinglePlayer(); if (par1Packet15Place.getDirection() == 255) { if (itemstack == null) { return; } playerEntity.theItemInWorldManager.tryUseItem(playerEntity, worldserver, itemstack); } else if (par1Packet15Place.getYPosition() < mcServer.getBuildLimit() - 1 || par1Packet15Place.getDirection() != 1 && par1Packet15Place.getYPosition() < mcServer.getBuildLimit()) { ChunkCoordinates chunkcoordinates = worldserver.getSpawnPoint(); int i1 = MathHelper.abs_int(i - chunkcoordinates.posX); int j1 = MathHelper.abs_int(k - chunkcoordinates.posZ); if (i1 > j1) { j1 = i1; } if (field_72587_r && playerEntity.getDistanceSq((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D) < 64D && (j1 > 16 || flag1)) { playerEntity.theItemInWorldManager.activateBlockOrUseItem( playerEntity, worldserver, itemstack, i, j, k, l, par1Packet15Place.getXOffset(), par1Packet15Place.getYOffset(), par1Packet15Place.getZOffset()); } flag = true; } else { playerEntity.serverForThisPlayer.sendPacketToPlayer( new Packet3Chat( (new StringBuilder()) .append("\2477Height limit for building is ") .append(mcServer.getBuildLimit()) .toString())); flag = true; } if (flag) { playerEntity.serverForThisPlayer.sendPacketToPlayer( new Packet53BlockChange(i, j, k, worldserver)); if (l == 0) { j--; } if (l == 1) { j++; } if (l == 2) { k--; } if (l == 3) { k++; } if (l == 4) { i--; } if (l == 5) { i++; } playerEntity.serverForThisPlayer.sendPacketToPlayer( new Packet53BlockChange(i, j, k, worldserver)); } itemstack = playerEntity.inventory.getCurrentItem(); if (itemstack != null && itemstack.stackSize == 0) { playerEntity.inventory.mainInventory[playerEntity.inventory.currentItem] = null; itemstack = null; } if (itemstack == null || itemstack.getMaxItemUseDuration() == 0) { playerEntity.playerInventoryBeingManipulated = true; playerEntity.inventory.mainInventory[playerEntity.inventory.currentItem] = ItemStack.copyItemStack( playerEntity.inventory.mainInventory[playerEntity.inventory.currentItem]); Slot slot = playerEntity.craftingInventory.getSlotFromInventory( playerEntity.inventory, playerEntity.inventory.currentItem); playerEntity.craftingInventory.updateCraftingResults(); playerEntity.playerInventoryBeingManipulated = false; if (!ItemStack.areItemStacksEqual( playerEntity.inventory.getCurrentItem(), par1Packet15Place.getItemStack())) { sendPacketToPlayer( new Packet103SetSlot( playerEntity.craftingInventory.windowId, slot.slotNumber, playerEntity.inventory.getCurrentItem())); } } worldserver.actionsAllowed = false; }
public void renderItemInFirstPerson(float par1) { float var2 = this.prevEquippedProgress + (this.equippedProgress - this.prevEquippedProgress) * par1; EntityPlayerSP var3 = this.mc.thePlayer; float var4 = var3.prevRotationPitch + (var3.rotationPitch - var3.prevRotationPitch) * par1; GL11.glPushMatrix(); GL11.glRotatef(var4, 1.0F, 0.0F, 0.0F); GL11.glRotatef( var3.prevRotationYaw + (var3.rotationYaw - var3.prevRotationYaw) * par1, 0.0F, 1.0F, 0.0F); RenderHelper.enableStandardItemLighting(); GL11.glPopMatrix(); float var6; float var7; if (var3 instanceof EntityPlayerSP) { EntityPlayerSP var5 = (EntityPlayerSP) var3; var6 = var5.prevRenderArmPitch + (var5.renderArmPitch - var5.prevRenderArmPitch) * par1; var7 = var5.prevRenderArmYaw + (var5.renderArmYaw - var5.prevRenderArmYaw) * par1; GL11.glRotatef((var3.rotationPitch - var6) * 0.1F, 1.0F, 0.0F, 0.0F); GL11.glRotatef((var3.rotationYaw - var7) * 0.1F, 0.0F, 1.0F, 0.0F); } ItemStack var14 = this.itemToRender; var6 = this.mc.theWorld.getLightBrightness( MathHelper.floor_double(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double(var3.posZ)); var6 = 1.0F; int var15 = this.mc.theWorld.getLightBrightnessForSkyBlocks( MathHelper.floor_double(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double(var3.posZ), 0); int var8 = var15 % 65536; int var9 = var15 / 65536; OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, (float) var8 / 1.0F, (float) var9 / 1.0F); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); float var10; float var17; float var18; if (var14 != null) { var15 = Item.itemsList[var14.itemID].getColorFromDamage(var14.getItemDamage(), 0); var17 = (float) (var15 >> 16 & 255) / 255.0F; var18 = (float) (var15 >> 8 & 255) / 255.0F; var10 = (float) (var15 & 255) / 255.0F; GL11.glColor4f(var6 * var17, var6 * var18, var6 * var10, 1.0F); } else { GL11.glColor4f(var6, var6, var6, 1.0F); } float var11; float var13; if (var14 != null && var14.itemID == Item.map.shiftedIndex) { GL11.glPushMatrix(); var7 = 0.8F; var17 = var3.getSwingProgress(par1); var18 = MathHelper.sin(var17 * (float) Math.PI); var10 = MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI); GL11.glTranslatef( -var10 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI * 2.0F) * 0.2F, -var18 * 0.2F); var17 = 1.0F - var4 / 45.0F + 0.1F; if (var17 < 0.0F) { var17 = 0.0F; } if (var17 > 1.0F) { var17 = 1.0F; } var17 = -MathHelper.cos(var17 * (float) Math.PI) * 0.5F + 0.5F; GL11.glTranslatef( 0.0F, 0.0F * var7 - (1.0F - var2) * 1.2F - var17 * 0.5F + 0.04F, -0.9F * var7); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var17 * -85.0F, 0.0F, 0.0F, 1.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glBindTexture( GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTextureForDownloadableImage( this.mc.thePlayer.skinUrl, this.mc.thePlayer.getTexture())); for (var9 = 0; var9 < 2; ++var9) { int var25 = var9 * 2 - 1; GL11.glPushMatrix(); GL11.glTranslatef(-0.0F, -0.6F, 1.1F * (float) var25); GL11.glRotatef((float) (-45 * var25), 1.0F, 0.0F, 0.0F); GL11.glRotatef(-90.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(59.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef((float) (-65 * var25), 0.0F, 1.0F, 0.0F); Render var21 = RenderManager.instance.getEntityRenderObject(this.mc.thePlayer); RenderPlayer var24 = (RenderPlayer) var21; var13 = 1.0F; GL11.glScalef(var13, var13, var13); var24.drawFirstPersonHand(); GL11.glPopMatrix(); } var18 = var3.getSwingProgress(par1); var10 = MathHelper.sin(var18 * var18 * (float) Math.PI); var11 = MathHelper.sin(MathHelper.sqrt_float(var18) * (float) Math.PI); GL11.glRotatef(-var10 * 20.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-var11 * 20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-var11 * 80.0F, 1.0F, 0.0F, 0.0F); var18 = 0.38F; GL11.glScalef(var18, var18, var18); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-1.0F, -1.0F, 0.0F); var10 = 0.015625F; GL11.glScalef(var10, var10, var10); this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture("/misc/mapbg.png")); Tessellator var26 = Tessellator.instance; GL11.glNormal3f(0.0F, 0.0F, -1.0F); var26.startDrawingQuads(); byte var27 = 7; var26.addVertexWithUV((double) (0 - var27), (double) (128 + var27), 0.0D, 0.0D, 1.0D); var26.addVertexWithUV((double) (128 + var27), (double) (128 + var27), 0.0D, 1.0D, 1.0D); var26.addVertexWithUV((double) (128 + var27), (double) (0 - var27), 0.0D, 1.0D, 0.0D); var26.addVertexWithUV((double) (0 - var27), (double) (0 - var27), 0.0D, 0.0D, 0.0D); var26.draw(); MapData var23 = Item.map.getMapData(var14, this.mc.theWorld); this.mapItemRenderer.renderMap(this.mc.thePlayer, this.mc.renderEngine, var23); GL11.glPopMatrix(); } else if (var14 != null) { GL11.glPushMatrix(); var7 = 0.8F; float var12; if (var3.getItemInUseCount() > 0) { EnumAction var16 = var14.getItemUseAction(); if (var16 == EnumAction.eat || var16 == EnumAction.drink) { var18 = (float) var3.getItemInUseCount() - par1 + 1.0F; var10 = 1.0F - var18 / (float) var14.getMaxItemUseDuration(); var12 = 1.0F - var10; var12 = var12 * var12 * var12; var12 = var12 * var12 * var12; var12 = var12 * var12 * var12; var13 = 1.0F - var12; GL11.glTranslatef( 0.0F, MathHelper.abs(MathHelper.cos(var18 / 4.0F * (float) Math.PI) * 0.1F) * (float) ((double) var10 > 0.2D ? 1 : 0), 0.0F); GL11.glTranslatef(var13 * 0.6F, -var13 * 0.5F, 0.0F); GL11.glRotatef(var13 * 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var13 * 10.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(var13 * 30.0F, 0.0F, 0.0F, 1.0F); } } else { var17 = var3.getSwingProgress(par1); var18 = MathHelper.sin(var17 * (float) Math.PI); var10 = MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI); GL11.glTranslatef( -var10 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI * 2.0F) * 0.2F, -var18 * 0.2F); } GL11.glTranslatef(0.7F * var7, -0.65F * var7 - (1.0F - var2) * 0.6F, -0.9F * var7); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); var17 = var3.getSwingProgress(par1); var18 = MathHelper.sin(var17 * var17 * (float) Math.PI); var10 = MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI); GL11.glRotatef(-var18 * 20.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-var10 * 20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-var10 * 80.0F, 1.0F, 0.0F, 0.0F); var17 = 0.4F; GL11.glScalef(var17, var17, var17); if (var3.getItemInUseCount() > 0) { EnumAction var20 = var14.getItemUseAction(); if (var20 == EnumAction.block) { GL11.glTranslatef(-0.5F, 0.2F, 0.0F); GL11.glRotatef(30.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-80.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(60.0F, 0.0F, 1.0F, 0.0F); } else if (var20 == EnumAction.bow) { GL11.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(-0.9F, 0.2F, 0.0F); var10 = (float) var14.getMaxItemUseDuration() - ((float) var3.getItemInUseCount() - par1 + 1.0F); var11 = var10 / 20.0F; var11 = (var11 * var11 + var11 * 2.0F) / 3.0F; if (var11 > 1.0F) { var11 = 1.0F; } if (var11 > 0.1F) { GL11.glTranslatef( 0.0F, MathHelper.sin((var10 - 0.1F) * 1.3F) * 0.01F * (var11 - 0.1F), 0.0F); } GL11.glTranslatef(0.0F, 0.0F, var11 * 0.1F); GL11.glRotatef(-335.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(0.0F, 0.5F, 0.0F); var12 = 1.0F + var11 * 0.2F; GL11.glScalef(1.0F, 1.0F, var12); GL11.glTranslatef(0.0F, -0.5F, 0.0F); GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); } } if (var14.getItem().shouldRotateAroundWhenRendering()) { GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); } if (var14.getItem().func_46058_c()) { this.renderItem(var3, var14, 0); var9 = Item.itemsList[var14.itemID].getColorFromDamage(var14.getItemDamage(), 1); var10 = (float) (var9 >> 16 & 255) / 255.0F; var11 = (float) (var9 >> 8 & 255) / 255.0F; var12 = (float) (var9 & 255) / 255.0F; GL11.glColor4f(var6 * var10, var6 * var11, var6 * var12, 1.0F); this.renderItem(var3, var14, 1); } else { this.renderItem(var3, var14, 0); } GL11.glPopMatrix(); } else { GL11.glPushMatrix(); var7 = 0.8F; var17 = var3.getSwingProgress(par1); var18 = MathHelper.sin(var17 * (float) Math.PI); var10 = MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI); GL11.glTranslatef( -var10 * 0.3F, MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI * 2.0F) * 0.4F, -var18 * 0.4F); GL11.glTranslatef(0.8F * var7, -0.75F * var7 - (1.0F - var2) * 0.6F, -0.9F * var7); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); var17 = var3.getSwingProgress(par1); var18 = MathHelper.sin(var17 * var17 * (float) Math.PI); var10 = MathHelper.sin(MathHelper.sqrt_float(var17) * (float) Math.PI); GL11.glRotatef(var10 * 70.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-var18 * 20.0F, 0.0F, 0.0F, 1.0F); GL11.glBindTexture( GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTextureForDownloadableImage( this.mc.thePlayer.skinUrl, this.mc.thePlayer.getTexture())); GL11.glTranslatef(-1.0F, 3.6F, 3.5F); GL11.glRotatef(120.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(200.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef(5.6F, 0.0F, 0.0F); Render var19 = RenderManager.instance.getEntityRenderObject(this.mc.thePlayer); RenderPlayer var22 = (RenderPlayer) var19; var10 = 1.0F; GL11.glScalef(var10, var10, var10); var22.drawFirstPersonHand(); GL11.glPopMatrix(); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); RenderHelper.disableStandardItemLighting(); }
/** * Renders the active item in the player's hand when in first person mode. Args: partialTickTime */ public void renderItemInFirstPerson(float par1) { float var2 = this.prevEquippedProgress + (this.equippedProgress - this.prevEquippedProgress) * par1; EntityClientPlayerMP var3 = this.mc.thePlayer; float var4 = var3.prevRotationPitch + (var3.rotationPitch - var3.prevRotationPitch) * par1; GL11.glPushMatrix(); GL11.glRotatef(var4, 1.0F, 0.0F, 0.0F); GL11.glRotatef( var3.prevRotationYaw + (var3.rotationYaw - var3.prevRotationYaw) * par1, 0.0F, 1.0F, 0.0F); RenderHelper.enableStandardItemLighting(); GL11.glPopMatrix(); float var5; float var6; if (var3 instanceof EntityPlayerSP) { var5 = var3.prevRenderArmPitch + (var3.renderArmPitch - var3.prevRenderArmPitch) * par1; var6 = var3.prevRenderArmYaw + (var3.renderArmYaw - var3.prevRenderArmYaw) * par1; GL11.glRotatef((var3.rotationPitch - var5) * 0.1F, 1.0F, 0.0F, 0.0F); GL11.glRotatef((var3.rotationYaw - var6) * 0.1F, 0.0F, 1.0F, 0.0F); } ItemStack var7 = this.itemToRender; var5 = this.mc.theWorld.getLightBrightness( MathHelper.floor_double(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double(var3.posZ)); var5 = 1.0F; int var8 = this.mc.theWorld.getLightBrightnessForSkyBlocks( MathHelper.floor_double(var3.posX), MathHelper.floor_double(var3.posY), MathHelper.floor_double(var3.posZ), 0); int var9 = var8 % 65536; int var10 = var8 / 65536; OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, (float) var9 / 1.0F, (float) var10 / 1.0F); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); float var11; float var12; float var13; if (var7 != null) { var8 = Item.itemsList[var7.itemID].getColorFromItemStack(var7, 0); var13 = (float) (var8 >> 16 & 255) / 255.0F; var12 = (float) (var8 >> 8 & 255) / 255.0F; var11 = (float) (var8 & 255) / 255.0F; GL11.glColor4f(var5 * var13, var5 * var12, var5 * var11, 1.0F); } else { GL11.glColor4f(var5, var5, var5, 1.0F); } float var14; float var15; Render var17; float var16; RenderPlayer var18; if (var7 != null && var7.itemID == Item.map.itemID) { GL11.glPushMatrix(); var6 = 0.8F; var13 = var3.getSwingProgress(par1); var12 = MathHelper.sin(var13 * (float) Math.PI); var11 = MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI); GL11.glTranslatef( -var11 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI * 2.0F) * 0.2F, -var12 * 0.2F); var13 = 1.0F - var4 / 45.0F + 0.1F; if (var13 < 0.0F) { var13 = 0.0F; } if (var13 > 1.0F) { var13 = 1.0F; } var13 = -MathHelper.cos(var13 * (float) Math.PI) * 0.5F + 0.5F; GL11.glTranslatef( 0.0F, 0.0F * var6 - (1.0F - var2) * 1.2F - var13 * 0.5F + 0.04F, -0.9F * var6); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var13 * -85.0F, 0.0F, 0.0F, 1.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glBindTexture( GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTextureForDownloadableImage( this.mc.thePlayer.skinUrl, this.mc.thePlayer.getTexture())); for (var10 = 0; var10 < 2; ++var10) { int var24 = var10 * 2 - 1; GL11.glPushMatrix(); GL11.glTranslatef(-0.0F, -0.6F, 1.1F * (float) var24); GL11.glRotatef((float) (-45 * var24), 1.0F, 0.0F, 0.0F); GL11.glRotatef(-90.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(59.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef((float) (-65 * var24), 0.0F, 1.0F, 0.0F); var17 = RenderManager.instance.getEntityRenderObject(this.mc.thePlayer); var18 = (RenderPlayer) var17; var16 = 1.0F; GL11.glScalef(var16, var16, var16); var18.func_82441_a(this.mc.thePlayer); GL11.glPopMatrix(); } var12 = var3.getSwingProgress(par1); var11 = MathHelper.sin(var12 * var12 * (float) Math.PI); var14 = MathHelper.sin(MathHelper.sqrt_float(var12) * (float) Math.PI); GL11.glRotatef(-var11 * 20.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-var14 * 20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-var14 * 80.0F, 1.0F, 0.0F, 0.0F); var15 = 0.38F; GL11.glScalef(var15, var15, var15); GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-1.0F, -1.0F, 0.0F); var16 = 0.015625F; GL11.glScalef(var16, var16, var16); this.mc.renderEngine.bindTexture(this.mc.renderEngine.getTexture("/misc/mapbg.png")); Tessellator var25 = Tessellator.instance; GL11.glNormal3f(0.0F, 0.0F, -1.0F); var25.startDrawingQuads(); byte var23 = 7; var25.addVertexWithUV((double) (0 - var23), (double) (128 + var23), 0.0D, 0.0D, 1.0D); var25.addVertexWithUV((double) (128 + var23), (double) (128 + var23), 0.0D, 1.0D, 1.0D); var25.addVertexWithUV((double) (128 + var23), (double) (0 - var23), 0.0D, 1.0D, 0.0D); var25.addVertexWithUV((double) (0 - var23), (double) (0 - var23), 0.0D, 0.0D, 0.0D); var25.draw(); MapData var27 = Item.map.getMapData(var7, this.mc.theWorld); if (var27 != null) { this.mapItemRenderer.renderMap(this.mc.thePlayer, this.mc.renderEngine, var27); } GL11.glPopMatrix(); } else if (var7 != null) { GL11.glPushMatrix(); var6 = 0.8F; if (var3.getItemInUseCount() > 0) { EnumAction var19 = var7.getItemUseAction(); if (var19 == EnumAction.eat || var19 == EnumAction.drink) { var12 = (float) var3.getItemInUseCount() - par1 + 1.0F; var11 = 1.0F - var12 / (float) var7.getMaxItemUseDuration(); var14 = 1.0F - var11; var14 = var14 * var14 * var14; var14 = var14 * var14 * var14; var14 = var14 * var14 * var14; var15 = 1.0F - var14; GL11.glTranslatef( 0.0F, MathHelper.abs(MathHelper.cos(var12 / 4.0F * (float) Math.PI) * 0.1F) * (float) ((double) var11 > 0.2D ? 1 : 0), 0.0F); GL11.glTranslatef(var15 * 0.6F, -var15 * 0.5F, 0.0F); GL11.glRotatef(var15 * 90.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(var15 * 10.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(var15 * 30.0F, 0.0F, 0.0F, 1.0F); } } else { var13 = var3.getSwingProgress(par1); var12 = MathHelper.sin(var13 * (float) Math.PI); var11 = MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI); GL11.glTranslatef( -var11 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI * 2.0F) * 0.2F, -var12 * 0.2F); } GL11.glTranslatef(0.7F * var6, -0.65F * var6 - (1.0F - var2) * 0.6F, -0.9F * var6); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); var13 = var3.getSwingProgress(par1); var12 = MathHelper.sin(var13 * var13 * (float) Math.PI); var11 = MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI); GL11.glRotatef(-var12 * 20.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-var11 * 20.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-var11 * 80.0F, 1.0F, 0.0F, 0.0F); var14 = 0.4F; GL11.glScalef(var14, var14, var14); float var20; float var22; if (var3.getItemInUseCount() > 0) { EnumAction var21 = var7.getItemUseAction(); if (var21 == EnumAction.block) { GL11.glTranslatef(-0.5F, 0.2F, 0.0F); GL11.glRotatef(30.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-80.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(60.0F, 0.0F, 1.0F, 0.0F); } else if (var21 == EnumAction.bow) { GL11.glRotatef(-18.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-12.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-8.0F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(-0.9F, 0.2F, 0.0F); var16 = (float) var7.getMaxItemUseDuration() - ((float) var3.getItemInUseCount() - par1 + 1.0F); var22 = var16 / 20.0F; var22 = (var22 * var22 + var22 * 2.0F) / 3.0F; if (var22 > 1.0F) { var22 = 1.0F; } if (var22 > 0.1F) { GL11.glTranslatef( 0.0F, MathHelper.sin((var16 - 0.1F) * 1.3F) * 0.01F * (var22 - 0.1F), 0.0F); } GL11.glTranslatef(0.0F, 0.0F, var22 * 0.1F); GL11.glRotatef(-335.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(0.0F, 0.5F, 0.0F); var20 = 1.0F + var22 * 0.2F; GL11.glScalef(1.0F, 1.0F, var20); GL11.glTranslatef(0.0F, -0.5F, 0.0F); GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F); } } if (var7.getItem().shouldRotateAroundWhenRendering()) { GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F); } if (var7.getItem().requiresMultipleRenderPasses()) { this.renderItem(var3, var7, 0); int var26 = Item.itemsList[var7.itemID].getColorFromItemStack(var7, 1); var16 = (float) (var26 >> 16 & 255) / 255.0F; var22 = (float) (var26 >> 8 & 255) / 255.0F; var20 = (float) (var26 & 255) / 255.0F; GL11.glColor4f(var5 * var16, var5 * var22, var5 * var20, 1.0F); this.renderItem(var3, var7, 1); } else { this.renderItem(var3, var7, 0); } GL11.glPopMatrix(); } else if (!var3.getHasActivePotion()) { GL11.glPushMatrix(); var6 = 0.8F; var13 = var3.getSwingProgress(par1); var12 = MathHelper.sin(var13 * (float) Math.PI); var11 = MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI); GL11.glTranslatef( -var11 * 0.3F, MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI * 2.0F) * 0.4F, -var12 * 0.4F); GL11.glTranslatef(0.8F * var6, -0.75F * var6 - (1.0F - var2) * 0.6F, -0.9F * var6); GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); var13 = var3.getSwingProgress(par1); var12 = MathHelper.sin(var13 * var13 * (float) Math.PI); var11 = MathHelper.sin(MathHelper.sqrt_float(var13) * (float) Math.PI); GL11.glRotatef(var11 * 70.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-var12 * 20.0F, 0.0F, 0.0F, 1.0F); GL11.glBindTexture( GL11.GL_TEXTURE_2D, this.mc.renderEngine.getTextureForDownloadableImage( this.mc.thePlayer.skinUrl, this.mc.thePlayer.getTexture())); GL11.glTranslatef(-1.0F, 3.6F, 3.5F); GL11.glRotatef(120.0F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(200.0F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef(5.6F, 0.0F, 0.0F); var17 = RenderManager.instance.getEntityRenderObject(this.mc.thePlayer); var18 = (RenderPlayer) var17; var16 = 1.0F; GL11.glScalef(var16, var16, var16); var18.func_82441_a(this.mc.thePlayer); GL11.glPopMatrix(); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); RenderHelper.disableStandardItemLighting(); }
public void handlePlace(Packet15Place par1Packet15Place) { WorldServer var2 = this.mcServer.getWorldManager(this.playerEntity.dimension); ItemStack var3 = this.playerEntity.inventory.getCurrentItem(); boolean var4 = false; int var5 = par1Packet15Place.getXPosition(); int var6 = par1Packet15Place.getYPosition(); int var7 = par1Packet15Place.getZPosition(); int var8 = par1Packet15Place.getDirection(); boolean var9 = var2.disableSpawnProtection = var2.provider.worldType != 0 || this.mcServer.getConfigurationManager().isOp(this.playerEntity.username) || this.mcServer.isSinglePlayer(); if (par1Packet15Place.getDirection() == 255) { if (var3 == null) { return; } this.playerEntity.theItemInWorldManager.tryUseItem(this.playerEntity, var2, var3); } else if (par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit() - 1 && (par1Packet15Place.getDirection() == 1 || par1Packet15Place.getYPosition() >= this.mcServer.getBuildLimit())) { this.playerEntity.playerNetServerHandler.sendPacket( new Packet3Chat("\u00a77Height limit for building is " + this.mcServer.getBuildLimit())); var4 = true; } else { ChunkCoordinates var10 = var2.getSpawnPoint(); int var11 = MathHelper.abs(var5 - var10.posX); int var12 = MathHelper.abs(var7 - var10.posZ); if (var11 > var12) { var12 = var11; } if (this.hasMoved && this.playerEntity.getDistanceSq( (double) var5 + 0.5D, (double) var6 + 0.5D, (double) var7 + 0.5D) < 64.0D && (var12 > 16 || var9)) { this.playerEntity.theItemInWorldManager.activateBlockOrUseItem( this.playerEntity, var2, var3, var5, var6, var7, var8, par1Packet15Place.getXOffset(), par1Packet15Place.getYOffset(), par1Packet15Place.getZOffset()); } var4 = true; } if (var4) { this.playerEntity.playerNetServerHandler.sendPacket( new Packet53BlockChange(var5, var6, var7, var2)); if (var8 == 0) { --var6; } if (var8 == 1) { ++var6; } if (var8 == 2) { --var7; } if (var8 == 3) { ++var7; } if (var8 == 4) { --var5; } if (var8 == 5) { ++var5; } this.playerEntity.playerNetServerHandler.sendPacket( new Packet53BlockChange(var5, var6, var7, var2)); } var3 = this.playerEntity.inventory.getCurrentItem(); if (var3 != null && var3.stackSize == 0) { this.playerEntity.inventory.mainInventory[this.playerEntity.inventory.currentItem] = null; var3 = null; } if (var3 == null || var3.getMaxItemUseDuration() == 0) { this.playerEntity.isChangingQuantityOnly = true; this.playerEntity.inventory.mainInventory[this.playerEntity.inventory.currentItem] = ItemStack.copyItemStack( this.playerEntity.inventory.mainInventory[this.playerEntity.inventory.currentItem]); Slot var13 = this.playerEntity.craftingInventory.func_75147_a( this.playerEntity.inventory, this.playerEntity.inventory.currentItem); this.playerEntity.craftingInventory.updateCraftingResults(); this.playerEntity.isChangingQuantityOnly = false; if (!ItemStack.areItemStacksEqual( this.playerEntity.inventory.getCurrentItem(), par1Packet15Place.getItemStack())) { this.sendPacket( new Packet103SetSlot( this.playerEntity.craftingInventory.windowId, var13.slotNumber, this.playerEntity.inventory.getCurrentItem())); } } var2.disableSpawnProtection = false; }
/** * Renders the active item in the player's hand when in first person mode. Args: partialTickTime */ public void renderItemInFirstPerson(float par1) { float f = prevEquippedProgress + (equippedProgress - prevEquippedProgress) * par1; EntityPlayerSP entityplayersp = mc.thePlayer; float f1 = ((EntityPlayer) (entityplayersp)).prevRotationPitch + (((EntityPlayer) (entityplayersp)).rotationPitch - ((EntityPlayer) (entityplayersp)).prevRotationPitch) * par1; GL11.glPushMatrix(); GL11.glRotatef(f1, 1.0F, 0.0F, 0.0F); GL11.glRotatef( ((EntityPlayer) (entityplayersp)).prevRotationYaw + (((EntityPlayer) (entityplayersp)).rotationYaw - ((EntityPlayer) (entityplayersp)).prevRotationYaw) * par1, 0.0F, 1.0F, 0.0F); RenderHelper.enableStandardItemLighting(); GL11.glPopMatrix(); if (entityplayersp instanceof EntityPlayerSP) { EntityPlayerSP entityplayersp1 = (EntityPlayerSP) entityplayersp; float f2 = entityplayersp1.prevRenderArmPitch + (entityplayersp1.renderArmPitch - entityplayersp1.prevRenderArmPitch) * par1; float f4 = entityplayersp1.prevRenderArmYaw + (entityplayersp1.renderArmYaw - entityplayersp1.prevRenderArmYaw) * par1; GL11.glRotatef( (((EntityPlayer) (entityplayersp)).rotationPitch - f2) * 0.1F, 1.0F, 0.0F, 0.0F); GL11.glRotatef((((EntityPlayer) (entityplayersp)).rotationYaw - f4) * 0.1F, 0.0F, 1.0F, 0.0F); } ItemStack itemstack = itemToRender; float f3 = mc.theWorld.getLightBrightness( MathHelper.floor_double(((EntityPlayer) (entityplayersp)).posX), MathHelper.floor_double(((EntityPlayer) (entityplayersp)).posY), MathHelper.floor_double(((EntityPlayer) (entityplayersp)).posZ)); f3 = 1.0F; int i = mc.theWorld.getLightBrightnessForSkyBlocks( MathHelper.floor_double(((EntityPlayer) (entityplayersp)).posX), MathHelper.floor_double(((EntityPlayer) (entityplayersp)).posY), MathHelper.floor_double(((EntityPlayer) (entityplayersp)).posZ), 0); int k = i % 0x10000; int l = i / 0x10000; OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, (float) k / 1.0F, (float) l / 1.0F); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); if (itemstack != null) { int j = Item.itemsList[itemstack.itemID].getColorFromDamage(itemstack.getItemDamage(), 0); float f8 = (float) (j >> 16 & 0xff) / 255F; float f13 = (float) (j >> 8 & 0xff) / 255F; float f19 = (float) (j & 0xff) / 255F; GL11.glColor4f(f3 * f8, f3 * f13, f3 * f19, 1.0F); } else { GL11.glColor4f(f3, f3, f3, 1.0F); } if (itemstack != null && itemstack.itemID == Item.map.shiftedIndex) { GL11.glPushMatrix(); float f5 = 0.8F; float f9 = entityplayersp.getSwingProgress(par1); float f14 = MathHelper.sin(f9 * (float) Math.PI); float f20 = MathHelper.sin(MathHelper.sqrt_float(f9) * (float) Math.PI); GL11.glTranslatef( -f20 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(f9) * (float) Math.PI * 2.0F) * 0.2F, -f14 * 0.2F); f9 = (1.0F - f1 / 45F) + 0.1F; if (f9 < 0.0F) { f9 = 0.0F; } if (f9 > 1.0F) { f9 = 1.0F; } f9 = -MathHelper.cos(f9 * (float) Math.PI) * 0.5F + 0.5F; GL11.glTranslatef(0.0F, (0.0F * f5 - (1.0F - f) * 1.2F - f9 * 0.5F) + 0.04F, -0.9F * f5); GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(f9 * -85F, 0.0F, 0.0F, 1.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glBindTexture( GL11.GL_TEXTURE_2D, mc.renderEngine.getTextureForDownloadableImage( mc.thePlayer.skinUrl, mc.thePlayer.getTexture())); for (f14 = 0; f14 < 2; f14++) { f20 = f14 * 2 - 1; GL11.glPushMatrix(); GL11.glTranslatef(-0F, -0.6F, 1.1F * (float) f20); GL11.glRotatef(-45 * f20, 1.0F, 0.0F, 0.0F); GL11.glRotatef(-90F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(59F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-65 * f20, 0.0F, 1.0F, 0.0F); Render render1 = RenderManager.instance.getEntityRenderObject(mc.thePlayer); RenderPlayer renderplayer1 = (RenderPlayer) render1; float f34 = 1.0F; GL11.glScalef(f34, f34, f34); renderplayer1.drawFirstPersonHand(); GL11.glPopMatrix(); } f14 = entityplayersp.getSwingProgress(par1); f20 = MathHelper.sin(f14 * f14 * (float) Math.PI); float f27 = MathHelper.sin(MathHelper.sqrt_float(f14) * (float) Math.PI); GL11.glRotatef(-f20 * 20F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-f27 * 20F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-f27 * 80F, 1.0F, 0.0F, 0.0F); f14 = 0.38F; GL11.glScalef(f14, f14, f14); GL11.glRotatef(90F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F); GL11.glTranslatef(-1F, -1F, 0.0F); f20 = 0.015625F; GL11.glScalef(f20, f20, f20); mc.renderEngine.bindTexture(mc.renderEngine.getTexture("/misc/mapbg.png")); Tessellator tessellator = Tessellator.instance; GL11.glNormal3f(0.0F, 0.0F, -1F); tessellator.startDrawingQuads(); byte byte0 = 7; tessellator.addVertexWithUV(0 - byte0, 128 + byte0, 0.0D, 0.0D, 1.0D); tessellator.addVertexWithUV(128 + byte0, 128 + byte0, 0.0D, 1.0D, 1.0D); tessellator.addVertexWithUV(128 + byte0, 0 - byte0, 0.0D, 1.0D, 0.0D); tessellator.addVertexWithUV(0 - byte0, 0 - byte0, 0.0D, 0.0D, 0.0D); tessellator.draw(); MapData mapdata = Item.map.getMapData(itemstack, mc.theWorld); mapItemRenderer.renderMap(mc.thePlayer, mc.renderEngine, mapdata); GL11.glPopMatrix(); } else if (itemstack != null) { GL11.glPushMatrix(); float f6 = 0.8F; if (entityplayersp.getItemInUseCount() > 0) { EnumAction enumaction = itemstack.getItemUseAction(); if (enumaction == EnumAction.eat || enumaction == EnumAction.drink) { float f15 = ((float) entityplayersp.getItemInUseCount() - par1) + 1.0F; float f21 = 1.0F - f15 / (float) itemstack.getMaxItemUseDuration(); float f28 = f21; float f31 = 1.0F - f28; f31 = f31 * f31 * f31; f31 = f31 * f31 * f31; f31 = f31 * f31 * f31; float f35 = 1.0F - f31; GL11.glTranslatef( 0.0F, MathHelper.abs(MathHelper.cos((f15 / 4F) * (float) Math.PI) * 0.1F) * (float) ((double) f28 <= 0.20000000000000001D ? 0 : 1), 0.0F); GL11.glTranslatef(f35 * 0.6F, -f35 * 0.5F, 0.0F); GL11.glRotatef(f35 * 90F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(f35 * 10F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(f35 * 30F, 0.0F, 0.0F, 1.0F); } } else { float f10 = entityplayersp.getSwingProgress(par1); float f16 = MathHelper.sin(f10 * (float) Math.PI); float f22 = MathHelper.sin(MathHelper.sqrt_float(f10) * (float) Math.PI); GL11.glTranslatef( -f22 * 0.4F, MathHelper.sin(MathHelper.sqrt_float(f10) * (float) Math.PI * 2.0F) * 0.2F, -f16 * 0.2F); } GL11.glTranslatef(0.7F * f6, -0.65F * f6 - (1.0F - f) * 0.6F, -0.9F * f6); GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); float f11 = entityplayersp.getSwingProgress(par1); float f17 = MathHelper.sin(f11 * f11 * (float) Math.PI); float f23 = MathHelper.sin(MathHelper.sqrt_float(f11) * (float) Math.PI); GL11.glRotatef(-f17 * 20F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-f23 * 20F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-f23 * 80F, 1.0F, 0.0F, 0.0F); f11 = 0.4F; GL11.glScalef(f11, f11, f11); if (entityplayersp.getItemInUseCount() > 0) { EnumAction enumaction1 = itemstack.getItemUseAction(); if (enumaction1 == EnumAction.block) { GL11.glTranslatef(-0.5F, 0.2F, 0.0F); GL11.glRotatef(30F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-80F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(60F, 0.0F, 1.0F, 0.0F); } else if (enumaction1 == EnumAction.bow) { GL11.glRotatef(-18F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-12F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-8F, 1.0F, 0.0F, 0.0F); GL11.glTranslatef(-0.9F, 0.2F, 0.0F); float f24 = (float) itemstack.getMaxItemUseDuration() - (((float) entityplayersp.getItemInUseCount() - par1) + 1.0F); float f29 = f24 / 20F; f29 = (f29 * f29 + f29 * 2.0F) / 3F; if (f29 > 1.0F) { f29 = 1.0F; } if (f29 > 0.1F) { GL11.glTranslatef( 0.0F, MathHelper.sin((f24 - 0.1F) * 1.3F) * 0.01F * (f29 - 0.1F), 0.0F); } GL11.glTranslatef(0.0F, 0.0F, f29 * 0.1F); GL11.glRotatef(-335F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(-50F, 0.0F, 1.0F, 0.0F); GL11.glTranslatef(0.0F, 0.5F, 0.0F); float f32 = 1.0F + f29 * 0.2F; GL11.glScalef(1.0F, 1.0F, f32); GL11.glTranslatef(0.0F, -0.5F, 0.0F); GL11.glRotatef(50F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(335F, 0.0F, 0.0F, 1.0F); } } if (itemstack.getItem().shouldRotateAroundWhenRendering()) { GL11.glRotatef(180F, 0.0F, 1.0F, 0.0F); } if (itemstack.getItem().func_46058_c()) { renderItem(entityplayersp, itemstack, 0); int i1 = Item.itemsList[itemstack.itemID].getColorFromDamage(itemstack.getItemDamage(), 1); float f25 = (float) (i1 >> 16 & 0xff) / 255F; float f30 = (float) (i1 >> 8 & 0xff) / 255F; float f33 = (float) (i1 & 0xff) / 255F; GL11.glColor4f(f3 * f25, f3 * f30, f3 * f33, 1.0F); renderItem(entityplayersp, itemstack, 1); } else { renderItem(entityplayersp, itemstack, 0); } GL11.glPopMatrix(); } else { GL11.glPushMatrix(); float f7 = 0.8F; float f12 = entityplayersp.getSwingProgress(par1); float f18 = MathHelper.sin(f12 * (float) Math.PI); float f26 = MathHelper.sin(MathHelper.sqrt_float(f12) * (float) Math.PI); GL11.glTranslatef( -f26 * 0.3F, MathHelper.sin(MathHelper.sqrt_float(f12) * (float) Math.PI * 2.0F) * 0.4F, -f18 * 0.4F); GL11.glTranslatef(0.8F * f7, -0.75F * f7 - (1.0F - f) * 0.6F, -0.9F * f7); GL11.glRotatef(45F, 0.0F, 1.0F, 0.0F); GL11.glEnable(GL12.GL_RESCALE_NORMAL); f12 = entityplayersp.getSwingProgress(par1); f18 = MathHelper.sin(f12 * f12 * (float) Math.PI); f26 = MathHelper.sin(MathHelper.sqrt_float(f12) * (float) Math.PI); GL11.glRotatef(f26 * 70F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-f18 * 20F, 0.0F, 0.0F, 1.0F); GL11.glBindTexture( GL11.GL_TEXTURE_2D, mc.renderEngine.getTextureForDownloadableImage( mc.thePlayer.skinUrl, mc.thePlayer.getTexture())); GL11.glTranslatef(-1F, 3.6F, 3.5F); GL11.glRotatef(120F, 0.0F, 0.0F, 1.0F); GL11.glRotatef(200F, 1.0F, 0.0F, 0.0F); GL11.glRotatef(-135F, 0.0F, 1.0F, 0.0F); GL11.glScalef(1.0F, 1.0F, 1.0F); GL11.glTranslatef(5.6F, 0.0F, 0.0F); Render render = RenderManager.instance.getEntityRenderObject(mc.thePlayer); RenderPlayer renderplayer = (RenderPlayer) render; f26 = 1.0F; GL11.glScalef(f26, f26, f26); renderplayer.drawFirstPersonHand(); GL11.glPopMatrix(); } GL11.glDisable(GL12.GL_RESCALE_NORMAL); RenderHelper.disableStandardItemLighting(); }