public void setItem(ItemStack stack) { ItemStack curInstance = storedInstance.copy(); this.storedInstance = ItemHelper.cloneStack(stack, 1); this.storedStack = stack; if (tile.world != null) { tile.updateTrackers(); if (!ItemHelper.itemsIdentical(curInstance, storedInstance)) { tile.markChunkDirty(); } } }
@Override public EnumRarity getRarity(ItemStack stack) { int i = ItemHelper.getItemDamage(stack); if (!itemMap.containsKey(i)) { return EnumRarity.COMMON; } return itemMap.get(ItemHelper.getItemDamage(stack)).rarity; }
/** * Determine if a player is holding an ItemStack with a specific Item ID and Metadata. */ public static boolean isPlayerHoldingItemStack(ItemStack stack, EntityPlayer player) { return itemsEqualWithMetadata(stack, getHeldStack(player)); }
/** * Determine if a player is holding an ItemStack of a specific Item type. */ public static boolean isPlayerHoldingItem(Item item, EntityPlayer player) { return itemsEqual(item, getItemFromStack(getHeldStack(player))); }
public static boolean isPlayerHoldingItem(Class<?> item, EntityPlayer player) { return item.isInstance(getItemFromStack(getHeldStack(player))); }
private static void addDefaultGearRecipe(String oreType, ItemStack gear) { if (oreType == null || oreType.isEmpty()) { return; } addRecipe(DEFAULT_ENERGY, ItemHelper.getOre("ingot" + StringHelper.titleCase(oreType), 4), ItemHelper.cloneStack(gear, 1), Mode.GEAR); addRecipe(DEFAULT_ENERGY, ItemHelper.getOre("gem" + StringHelper.titleCase(oreType), 4), ItemHelper.cloneStack(gear, 1), Mode.GEAR); }
@Override public ItemStack getStackInSlot(int slot) { if (isCreative) { return ItemHelper.cloneStack(inventory[slot]); } return super.getStackInSlot(slot); }
stackInSlot = slot.getStack(); if (slot.isItemValid(stack) && ItemHelper.itemsEqualWithMetadata(stack, stackInSlot, true)) { int l = stackInSlot.getCount() + stack.getCount(); int slotLimit = Math.min(stack.getMaxStackSize(), slot.getSlotStackLimit()); slot.putStack(ItemHelper.cloneStack(stack, Math.min(stack.getCount(), slot.getSlotStackLimit()))); slot.onSlotChanged();
public static int getIndex(ItemStack output) { for (int i = 0; i < outputList.size(); i++) { if (ItemHelper.itemsIdentical(output, outputList.get(i))) { return i; } } // Default to first if no match found. return 0; }
for (ItemStack seed : registeredSeeds) { for (ItemStack crop : registeredCrops) { if (ItemHelper.itemsEqualWithMetadata(seed, crop)) { isTuber = true; if (ItemHelper.isBlock(registeredCrops.get(0))) { isBlock = true; ItemStack seed = ItemHelper.cloneStack(registeredSeeds.get(0), 1); ItemStack crop = ItemHelper.cloneStack(registeredCrops.get(0), isTuber ? 3 : 1);
public static ItemStack getItemStack(ItemStack stack) { SmashConversion result = smashList.get(ItemHelper.getOreName(stack)); if (result == null) { return ItemStack.EMPTY; } ItemStack ret = result.toItemStack(); return ret.isEmpty() ? ItemStack.EMPTY : ItemHelper.cloneStack(ret, ret.getCount() * stack.getCount()); }
/** * Determine if two ItemStacks have the same Item, identical damage, and NBT. */ public static boolean itemsIdentical(ItemStack stackA, ItemStack stackB) { return itemsEqualWithoutMetadata(stackA, stackB) && getItemDamage(stackA) == getItemDamage(stackB) && doNBTsMatch(stackA.getTagCompound(), stackB.getTagCompound()); }
@Override public void stuffItem(ItemStack item) { for (ItemStack stuffed : stuffedItems) { if (ItemHelper.itemsEqualWithMetadata(item, stuffed, true)) { stuffed.grow(item.getCount()); if (stuffed.getCount() < 0) { stuffed.setCount(Integer.MAX_VALUE); } return; } } stuffedItems.add(item.copy()); onNeighborChange(); }
/** * Determine if two ItemStacks have the same Item, damage, and NBT. */ public static boolean itemsEqualWithMetadata(ItemStack stackA, ItemStack stackB, boolean checkNBT) { return itemsEqualWithMetadata(stackA, stackB) && (!checkNBT || doNBTsMatch(stackA.getTagCompound(), stackB.getTagCompound())); }
public static boolean validOre(ItemStack stack) { if (blacklistStacks.contains(new ItemWrapper(stack)) || ItemHelper.getItemDamage(stack) == OreDictionary.WILDCARD_VALUE) { return false; } return ItemHelper.hasOreName(stack) && isWhitelist == listNames.contains(OreDictionaryArbiter.getOreName(stack)); }
private static void addDefaultPlateRecipe(String oreType) { if (oreType == null || oreType.isEmpty()) { return; } String plateName = "plate" + StringHelper.titleCase(oreType); if (!ItemHelper.oreNameExists(plateName)) { return; } addDefaultPlateRecipe(oreType, ItemHelper.getOre(plateName)); }
if (oreName.startsWith("ingot")) { oreType = oreName.substring(5, oreName.length()); addDefaultRecipe(ItemHelper.getOre("ingot" + oreType), ItemHelper.getOre("block" + oreType)); addDefaultRecipe(ItemHelper.getOre("nugget" + oreType), ItemHelper.getOre("ingot" + oreType)); boolean match = true; for (int i = 1; i < target.recipeItems.size(); i++) { match &= target.recipeItems.get(i).getMatchingStacks().length > 0 && ItemHelper.itemsIdentical(target.recipeItems.get(0).getMatchingStacks()[0], target.recipeItems.get(i).getMatchingStacks()[0]); boolean match = true; for (int i = 1; i < target.recipeItems.size(); i++) { match &= target.recipeItems.get(i).getMatchingStacks().length > 0 && ItemHelper.itemsIdentical(target.recipeItems.get(0).getMatchingStacks()[0], target.recipeItems.get(i).getMatchingStacks()[0]);
ItemStack toItemStack() { return ItemHelper.getOre(ore, count); } }
/** * Determine if two ItemStacks have the same Item and NBT. */ public static boolean itemsEqualWithoutMetadata(ItemStack stackA, ItemStack stackB, boolean checkNBT) { return itemsEqualWithoutMetadata(stackA, stackB) && (!checkNBT || doNBTsMatch(stackA.getTagCompound(), stackB.getTagCompound())); }
/** * Adds Inventory information to ItemStacks which themselves hold things. Called in addInformation(). */ public static void addInventoryInformation(ItemStack stack, List<String> list) { addInventoryInformation(stack, list, 0, Integer.MAX_VALUE); }