/** * Clear this player's inventory, using the specified ID and metadata as filters or -1 for no * filter. */ public int clearInventory(int par1, int par2) { int var3 = 0; int var4; ItemStack var5; for (var4 = 0; var4 < this.mainInventory.length; ++var4) { var5 = this.mainInventory[var4]; if (var5 != null && (par1 <= -1 || var5.itemID == par1) && (par2 <= -1 || var5.getItemDamage() == par2)) { var3 += var5.stackSize; this.mainInventory[var4] = null; } } for (var4 = 0; var4 < this.armorInventory.length; ++var4) { var5 = this.armorInventory[var4]; if (var5 != null && (par1 <= -1 || var5.itemID == par1) && (par2 <= -1 || var5.getItemDamage() == par2)) { var3 += var5.stackSize; this.armorInventory[var4] = null; } } return var3; }
/** 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; } }
private boolean func_21137_a(InventoryCrafting inventorycrafting, int i, int j, boolean flag) { for (int k = 0; k < 3; k++) { for (int l = 0; l < 3; l++) { int i1 = k - i; int j1 = l - j; ItemStack itemstack = null; if (i1 >= 0 && j1 >= 0 && i1 < recipeWidth && j1 < recipeHeight) { if (flag) { itemstack = recipeItems[(recipeWidth - i1 - 1) + j1 * recipeWidth]; } else { itemstack = recipeItems[i1 + j1 * recipeWidth]; } } ItemStack itemstack1 = inventorycrafting.func_21103_b(k, l); if (itemstack1 == null && itemstack == null) { continue; } if (itemstack1 == null && itemstack != null || itemstack1 != null && itemstack == null) { return false; } if (itemstack.itemID != itemstack1.itemID) { return false; } if (itemstack.getItemDamage() != -1 && itemstack.getItemDamage() != itemstack1.getItemDamage()) { return false; } } } return true; }
public String getItemNameIS(ItemStack itemstack) { return (new StringBuilder()) .append(super.getItemName()) .append(".") .append(ItemDye.dyeColorNames[BlockCloth.getBlockFromDye(itemstack.getItemDamage())]) .toString(); }
public boolean onItemUse( ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7) { if (par3World.isRemote) { return true; } else { int var8 = par3World.getBlockId(par4, par5, par6); par4 += Facing.offsetsXForSide[par7]; par5 += Facing.offsetsYForSide[par7]; par6 += Facing.offsetsZForSide[par7]; double var9 = 0.0D; if (par7 == 1 && var8 == Block.fence.blockID || var8 == Block.netherFence.blockID) { var9 = 0.5D; } if (func_48440_a( par3World, par1ItemStack.getItemDamage(), (double) par4 + 0.5D, (double) par5 + var9, (double) par6 + 0.5D) && !par2EntityPlayer.capabilities.isCreativeMode) { --par1ItemStack.stackSize; } return true; } }
@Override public String getItemNameIS(ItemStack itemstack) { String name = ""; switch (itemstack.getItemDamage()) { case 0: name = "PlatinumBlock"; break; case 1: name = "RedstoneBlock"; break; case 2: name = "RefinedObsidian"; break; case 3: name = "CoalBlock"; break; case 4: name = "RefinedGlowstone"; break; default: name = "Unknown"; break; } return getItemName() + "." + name; }
/** Called when the player picks up an item from an inventory slot */ public void onPickupFromSlot(ItemStack par1ItemStack) { if (par1ItemStack.itemID == Item.potion.shiftedIndex && par1ItemStack.getItemDamage() > 0) { player.addStat(AchievementList.potion, 1); } super.onPickupFromSlot(par1ItemStack); }
public boolean hitEntity(ItemStack itemstack, EntityLiving mob, EntityLiving entityliving1) { World world = entityliving1.worldObj; if (type1 == type2) { attacks(itemstack, world, entityliving1, mob, type1); } else { if (random.nextInt(100) + 1 <= 80) { attacks(itemstack, world, entityliving1, mob, type1); } if (random.nextInt(100) + 1 <= 20) { attacks(itemstack, world, entityliving1, mob, type2); } } int i = itemstack.getItemDamage(); if (i >= dur) { itemstack.stackSize = 0; } if (type1 == 3 || type2 == 3 || type1 == 4 || type2 == 4 || type1 == 8 || type2 == 8) { if (random.nextInt(100) + 1 <= 90) { itemstack.damageItem(1, entityliving1); } } else { itemstack.damageItem(1, entityliving1); } return true; }
/** * Activate the clicked on block, otherwise use the held item. Args: player, world, itemStack, x, * y, z, side, xOffset, yOffset, zOffset */ public boolean activateBlockOrUseItem( EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { int var11 = par2World.getBlockId(par4, par5, par6); if (var11 > 0 && Block.blocksList[var11].onBlockActivated( par2World, par4, par5, par6, par1EntityPlayer, par7, par8, par9, par10)) { return true; } else if (par3ItemStack == null) { return false; } else if (this.isCreative()) { int var12 = par3ItemStack.getItemDamage(); int var13 = par3ItemStack.stackSize; boolean var14 = par3ItemStack.func_77943_a( par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10); par3ItemStack.setItemDamage(var12); par3ItemStack.stackSize = var13; return var14; } else { return par3ItemStack.func_77943_a( par1EntityPlayer, par2World, par4, par5, par6, par7, par8, par9, par10); } }
public void updateEquippedItem() { this.prevEquippedProgress = this.equippedProgress; EntityPlayerSP var1 = this.mc.thePlayer; ItemStack var2 = var1.inventory.getCurrentItem(); boolean var4 = this.equippedItemSlot == var1.inventory.currentItem && var2 == this.itemToRender; if (this.itemToRender == null && var2 == null) { var4 = true; } if (var2 != null && this.itemToRender != null && var2 != this.itemToRender && var2.itemID == this.itemToRender.itemID && var2.getItemDamage() == this.itemToRender.getItemDamage()) { this.itemToRender = var2; var4 = true; } float var5 = 0.4F; float var6 = var4 ? 1.0F : 0.0F; float var7 = var6 - this.equippedProgress; if (var7 < -var5) { var7 = -var5; } if (var7 > var5) { var7 = var5; } this.equippedProgress += var7; if (this.equippedProgress < 0.1F) { this.itemToRender = var2; this.equippedItemSlot = var1.inventory.currentItem; } }
/** Handles a players right click */ public boolean onPlayerRightClick( EntityPlayer par1EntityPlayer, World par2World, ItemStack par3ItemStack, int par4, int par5, int par6, int par7) { syncCurrentPlayItem(); netClientHandler.addToSendQueue( new Packet15Place(par4, par5, par6, par7, par1EntityPlayer.inventory.getCurrentItem())); int i = par2World.getBlockId(par4, par5, par6); if (i > 0 && Block.blocksList[i].blockActivated(par2World, par4, par5, par6, par1EntityPlayer)) { return true; } if (par3ItemStack == null) { return false; } if (creativeMode) { int j = par3ItemStack.getItemDamage(); int k = par3ItemStack.stackSize; boolean flag = par3ItemStack.useItem(par1EntityPlayer, par2World, par4, par5, par6, par7); par3ItemStack.setItemDamage(j); par3ItemStack.stackSize = k; return flag; } else { return par3ItemStack.useItem(par1EntityPlayer, par2World, par4, par5, par6, par7); } }
private int func_21083_d(ItemStack itemstack) { int i = itemstack.itemID; int j = itemstack.stackSize; int k = func_21082_c(itemstack); if (k < 0) { k = getFirstEmptyStack(); } if (k < 0) { return j; } if (mainInventory[k] == null) { mainInventory[k] = new ItemStack(i, 0, itemstack.getItemDamage()); } int l = j; if (l > mainInventory[k].getMaxStackSize() - mainInventory[k].stackSize) { l = mainInventory[k].getMaxStackSize() - mainInventory[k].stackSize; } if (l > getInventoryStackLimit() - mainInventory[k].stackSize) { l = getInventoryStackLimit() - mainInventory[k].stackSize; } if (l == 0) { return j; } else { j -= l; mainInventory[k].stackSize += l; mainInventory[k].animationsToGo = 5; return j; } }
/** * This function stores as many items of an ItemStack as possible in a matching slot and returns * the quantity of left over items. */ private int storePartialItemStack(ItemStack par1ItemStack) { int var2 = par1ItemStack.itemID; int var3 = par1ItemStack.stackSize; int var4; if (par1ItemStack.getMaxStackSize() == 1) { var4 = this.getFirstEmptyStack(); if (var4 < 0) { return var3; } else { if (this.mainInventory[var4] == null) { this.mainInventory[var4] = ItemStack.copyItemStack(par1ItemStack); } return 0; } } else { var4 = this.storeItemStack(par1ItemStack); if (var4 < 0) { var4 = this.getFirstEmptyStack(); } if (var4 < 0) { return var3; } else { if (this.mainInventory[var4] == null) { this.mainInventory[var4] = new ItemStack(var2, 0, par1ItemStack.getItemDamage()); if (par1ItemStack.hasTagCompound()) { this.mainInventory[var4].setTagCompound( (NBTTagCompound) par1ItemStack.getTagCompound().copy()); } } int var5 = var3; if (var3 > this.mainInventory[var4].getMaxStackSize() - this.mainInventory[var4].stackSize) { var5 = this.mainInventory[var4].getMaxStackSize() - this.mainInventory[var4].stackSize; } if (var5 > this.getInventoryStackLimit() - this.mainInventory[var4].stackSize) { var5 = this.getInventoryStackLimit() - this.mainInventory[var4].stackSize; } if (var5 == 0) { return var3; } else { var3 -= var5; this.mainInventory[var4].stackSize += var5; this.mainInventory[var4].animationsToGo = 5; return var3; } } } }
public String getItemNameIS(ItemStack par1ItemStack) { int var2 = par1ItemStack.getItemDamage(); if (var2 < 0 || var2 >= BlockWood.woodType.length) { var2 = 0; } return super.getItemName() + "." + BlockWood.woodType[var2]; }
/** * Returns the unlocalized name of this item. This version accepts an ItemStack so different * stacks can have different names based on their damage or NBT. */ public String getUnlocalizedName(ItemStack par1ItemStack) { int var2 = par1ItemStack.getItemDamage(); if (var2 < 0 || var2 >= this.field_82804_b.length) { var2 = 0; } return super.getUnlocalizedName() + "." + this.field_82804_b[var2]; }
public String getItemDisplayName(ItemStack par1ItemStack) { String var2 = ("" + StatCollector.translateToLocal(this.getItemName() + ".name")).trim(); String var3 = EntityList.getStringFromID(par1ItemStack.getItemDamage()); if (var3 != null) { var2 = var2 + " " + StatCollector.translateToLocal("entity." + var3 + ".name"); } return var2; }
public boolean onBlockDestroyed( ItemStack itemstack, int i, int j, int k, int l, EntityLiving entityliving) { int i1 = itemstack.getItemDamage(); if (i1 >= dur) { itemstack.stackSize = 0; } itemstack.damageItem(2, entityliving); return true; }
public String getItemNameIS(ItemStack par1ItemStack) { int var2 = par1ItemStack.getItemDamage(); if (var2 < 0 || var2 >= BlockStoneBrick.STONE_BRICK_TYPES.length) { var2 = 0; } return super.getItemName() + "." + BlockStoneBrick.STONE_BRICK_TYPES[var2]; }
public boolean onItemUse( ItemStack itemstack, EntityPlayer entityplayer, World world, int i, int j, int k, int l) { int i1 = world.getBlockId(i, j, k); if (i1 == Block.snow.blockID) { l = 0; } else if (i1 != Block.vine.blockID) { if (l == 0) { j--; } if (l == 1) { j++; } if (l == 2) { k--; } if (l == 3) { k++; } if (l == 4) { i--; } if (l == 5) { i++; } } if (itemstack.stackSize == 0) { return false; } if (!entityplayer.canPlayerEdit(i, j, k)) { return false; } if (j == world.worldYMax - 1 && Block.blocksList[blockID].blockMaterial.isSolid()) { return false; } if (world.canBlockBePlacedAt(blockID, i, j, k, false, l)) { Block block = Block.blocksList[blockID]; if (world.setBlockAndMetadataWithNotify( i, j, k, blockID, getMetadata(itemstack.getItemDamage()))) { if (world.getBlockId(i, j, k) == blockID) { Block.blocksList[blockID].onBlockPlaced(world, i, j, k, l); Block.blocksList[blockID].onBlockPlacedBy(world, i, j, k, entityplayer); } world.playSoundEffect( (float) i + 0.5F, (float) j + 0.5F, (float) k + 0.5F, block.stepSound.stepSoundDir(), (block.stepSound.getVolume() + 1.0F) / 2.0F, block.stepSound.getPitch() * 0.8F); itemstack.stackSize--; } return true; } else { return false; } }
public boolean onBlockDestroyed( ItemStack itemstack, int bID, int x, int y, int z, EntityLiving player) { int unbreaking = headUnbreaking; if (handleUnbreaking > unbreaking) unbreaking = handleUnbreaking; if (random.nextInt(100) + 1 <= 100 - (unbreaking * 10)) { if (itemstack.getItemDamage() + 1 >= itemstack.getMaxDamage()) ((EntityPlayer) player).destroyCurrentEquippedItem(); else itemstack.damageItem(1, player); } return true; }
public void updateEquippedItem() { prevEquippedProgress = equippedProgress; EntityPlayerSP entityplayersp = mc.thePlayer; ItemStack itemstack = ((EntityPlayer) (entityplayersp)).inventory.getCurrentItem(); ItemStack itemstack1 = itemstack; boolean flag = equippedItemSlot == ((EntityPlayer) (entityplayersp)).inventory.currentItem && itemstack1 == itemToRender; if (itemToRender == null && itemstack1 == null) { flag = true; } if (itemstack1 != null && itemToRender != null && itemstack1 != itemToRender && itemstack1.itemID == itemToRender.itemID && itemstack1.getItemDamage() == itemToRender.getItemDamage()) { itemToRender = itemstack1; flag = true; } float f = 0.4F; float f1 = flag ? 1.0F : 0.0F; float f2 = f1 - equippedProgress; if (f2 < -f) { f2 = -f; } if (f2 > f) { f2 = f; } equippedProgress += f2; if (equippedProgress < 0.1F) { itemToRender = itemstack1; equippedItemSlot = ((EntityPlayer) (entityplayersp)).inventory.currentItem; } }
protected void onFoodEaten( ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) { if (par1ItemStack.getItemDamage() > 0) { if (!par2World.isRemote) { par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.regeneration.id, 600, 3)); par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.resistance.id, 6000, 0)); par3EntityPlayer.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 6000, 0)); } } else { super.onFoodEaten(par1ItemStack, par2World, par3EntityPlayer); } }
public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer) { if (itemstack.getItemDamage() == 0) { entityplayer.openGui( ObsidianIngots.instance, 20, world, (int) entityplayer.posX, (int) entityplayer.posY, (int) entityplayer.posZ); } return itemstack; }
public String getItemNameIS(ItemStack par1ItemStack) { int i = par1ItemStack.getItemDamage(); if (i < 0 || i >= BlockStoneBrick.field_72188_a.length) { i = 0; } return (new StringBuilder()) .append(super.getItemName()) .append(".") .append(BlockStoneBrick.field_72188_a[i]) .toString(); }
/** Handle a creative slot packet. */ public void handleCreativeSetSlot(Packet107CreativeSetSlot par1Packet107CreativeSetSlot) { if (this.playerEntity.theItemInWorldManager.isCreative()) { boolean var2 = par1Packet107CreativeSetSlot.slot < 0; ItemStack var3 = par1Packet107CreativeSetSlot.itemStack; boolean var4 = par1Packet107CreativeSetSlot.slot >= 1 && par1Packet107CreativeSetSlot.slot < 36 + InventoryPlayer.func_70451_h(); boolean var5 = var3 == null || var3.itemID < Item.itemsList.length && var3.itemID >= 0 && Item.itemsList[var3.itemID] != null; boolean var6 = var3 == null || var3.getItemDamage() >= 0 && var3.getItemDamage() >= 0 && var3.stackSize <= 64 && var3.stackSize > 0; if (var4 && var5 && var6) { if (var3 == null) { this.playerEntity.inventorySlots.putStackInSlot( par1Packet107CreativeSetSlot.slot, (ItemStack) null); } else { this.playerEntity.inventorySlots.putStackInSlot(par1Packet107CreativeSetSlot.slot, var3); } this.playerEntity.inventorySlots.setCanCraft(this.playerEntity, true); } else if (var2 && var5 && var6 && this.field_72578_n < 200) { this.field_72578_n += 20; EntityItem var7 = this.playerEntity.dropPlayerItem(var3); if (var7 != null) { var7.func_70288_d(); } } } }
/** Handle a creative slot packet. */ public void handleCreativeSetSlot(Packet107CreativeSetSlot par1Packet107CreativeSetSlot) { if (playerEntity.theItemInWorldManager.isCreative()) { boolean flag = par1Packet107CreativeSetSlot.slot < 0; ItemStack itemstack = par1Packet107CreativeSetSlot.itemStack; boolean flag1 = par1Packet107CreativeSetSlot.slot >= 1 && par1Packet107CreativeSetSlot.slot < 36 + InventoryPlayer.func_70451_h(); boolean flag2 = itemstack == null || itemstack.itemID < Item.itemsList.length && itemstack.itemID >= 0 && Item.itemsList[itemstack.itemID] != null; boolean flag3 = itemstack == null || itemstack.getItemDamage() >= 0 && itemstack.getItemDamage() >= 0 && itemstack.stackSize <= 64 && itemstack.stackSize > 0; if (flag1 && flag2 && flag3) { if (itemstack == null) { playerEntity.inventorySlots.putStackInSlot(par1Packet107CreativeSetSlot.slot, null); } else { playerEntity.inventorySlots.putStackInSlot(par1Packet107CreativeSetSlot.slot, itemstack); } playerEntity.inventorySlots.setPlayerIsPresent(playerEntity, true); } else if (flag && flag2 && flag3 && creativeItemCreationSpamThresholdTally < 200) { creativeItemCreationSpamThresholdTally += 20; EntityItem entityitem = playerEntity.dropPlayerItem(itemstack); if (entityitem != null) { entityitem.func_70288_d(); } } } }
private int func_21082_c(ItemStack itemstack) { for (int i = 0; i < mainInventory.length; i++) { if (mainInventory[i] != null && mainInventory[i].itemID == itemstack.itemID && mainInventory[i].func_21132_c() && mainInventory[i].stackSize < mainInventory[i].getMaxStackSize() && mainInventory[i].stackSize < getInventoryStackLimit() && (!mainInventory[i].getHasSubtypes() || mainInventory[i].getItemDamage() == itemstack.getItemDamage())) { return i; } } return -1; }
/** stores an itemstack in the users inventory */ private int storeItemStack(ItemStack par1ItemStack) { for (int var2 = 0; var2 < this.mainInventory.length; ++var2) { if (this.mainInventory[var2] != null && this.mainInventory[var2].itemID == par1ItemStack.itemID && this.mainInventory[var2].isStackable() && this.mainInventory[var2].stackSize < this.mainInventory[var2].getMaxStackSize() && this.mainInventory[var2].stackSize < this.getInventoryStackLimit() && (!this.mainInventory[var2].getHasSubtypes() || this.mainInventory[var2].getItemDamage() == par1ItemStack.getItemDamage()) && ItemStack.areItemStackTagsEqual(this.mainInventory[var2], par1ItemStack)) { return var2; } } return -1; }
public static void preRender(ItemStack itemStack) { if (renderingEnchantment) { // rendering custom enchantment -- keep current state } else if (itemStack == null) { clear(); } else if (itemStack.getItem() instanceof ItemBlock) { clear(); ctm = CTMUtils18.getInstance(); ctm.preRenderHeld( null, ((ItemBlock) itemStack.getItem()).getBlock(), itemStack.getItemDamage()); } else { ctm = null; currentItem = itemStack; itemOverride = CITUtils.findItemOverride(itemStack); } }
/** Dispense the specified stack, play the dispense sound and spawn particles. */ public ItemStack dispenseStack(IBlockSource par1IBlockSource, ItemStack par2ItemStack) { EnumFacing var3 = BlockDispenser.getFacing(par1IBlockSource.getBlockMetadata()); double var4 = par1IBlockSource.getX() + (double) var3.getFrontOffsetX(); double var6 = (double) ((float) par1IBlockSource.getYInt() + 0.2F); double var8 = par1IBlockSource.getZ() + (double) var3.getFrontOffsetZ(); Entity var10 = ItemMonsterPlacer.spawnCreature( par1IBlockSource.getWorld(), par2ItemStack.getItemDamage(), var4, var6, var8); if (var10 instanceof EntityLiving && par2ItemStack.hasDisplayName()) { ((EntityLiving) var10).func_94058_c(par2ItemStack.getDisplayName()); } par2ItemStack.splitStack(1); return par2ItemStack; }