public TileItemGen() { if( POSSIBLE_ITEMS.isEmpty() ) { for( final Object obj : Item.REGISTRY ) { final Item mi = (Item) obj; if( mi != null && mi != Items.AIR ) { if( mi.isDamageable() ) { for( int dmg = 0; dmg < mi.getMaxDamage(); dmg++ ) { POSSIBLE_ITEMS.add( new ItemStack( mi, 1, dmg ) ); } } else { final NonNullList<ItemStack> list = NonNullList.create(); mi.getSubItems( mi.getCreativeTab(), list ); POSSIBLE_ITEMS.addAll( list ); } } } } }
manaInkwellRecipe = BotaniaAPI.registerManaInfusionRecipe(new ItemStack(ModItems.manaInkwell, 1, ModItems.manaInkwell.getMaxDamage()), new ItemStack(inkwell), 35000);
private @Nonnull static SetDamage setDamage(Item item, int damage) { return new SetDamage(NO_CONDITIONS, new RandomValueRange(damage > 0 ? damage : 1, damage > 0 ? damage : item.getMaxDamage())); }
private static ItemIdentifier getOrCreateDamage(Item item, int damage, ItemIdentifier proposal) { if (proposal != null) { if (proposal.item == item && proposal.itemDamage == damage && proposal.tag == null) { return proposal; } } //again no locking, we can end up removing or overwriting ItemIdentifiers concurrently added by another thread, but that doesn't affect anything. IDamagedIdentifierHolder damages = ItemIdentifier.damageIdentifiers.get(item); if (damages == null) { if (item.getMaxDamage() < 32767) { damages = new ArrayDamagedItentifierHolder(damage); } else { damages = new MapDamagedItentifierHolder(); } ItemIdentifier.damageIdentifiers.put(item, damages); } else { damages.ensureCapacity(damage); } ItemIdentifier ret = damages.get(damage); if (ret != null) { return ret; } ret = new ItemIdentifier(item, damage, null, 0); damages.set(damage, ret); return ret; }
public static boolean canBeRepaired(ItemStack stack) { if (StackUtil.isValid(stack)) { Item item = stack.getItem(); if (item != null) { if (item.isRepairable() && item.getMaxDamage(stack) > 0) { return true; } else { String reg = item.getRegistryName().toString(); if (reg != null) { for (String strg : ConfigStringListValues.REPAIRER_EXTRA_WHITELIST.getValue()) { if (reg.equals(strg)) { return true; } } } } } } return false; }
int j1 = item.getMaxDamage(itemstack) - itemstack.getItemDamage(); int k = item.getMaxDamage(itemstack) - itemstack1.getItemDamage(); int l = j1 + k + item.getMaxDamage(itemstack) * 5 / 100; int i1 = item.getMaxDamage(itemstack) - l;
if (vItem instanceof ItemSpade) { NBTTagCompound nbt = new NBTTagCompound(); int max = (int) (vItem.getMaxDamage() / 4F); nbt.setInteger("MaxDamage", max); nbt.setInteger("Damage", max);
ItemStack drill = new ItemStack(STEAM_DRILL, 1, STEAM_DRILL.getMaxDamage() - 1); RecipeUtility.addRecipe(event, true, "drill1", drill, "xii", ); ItemStack saw = new ItemStack(STEAM_SAW, 1, STEAM_SAW.getMaxDamage() - 1); RecipeUtility.addRecipe(event, true, "axe1", saw, "ini", ); ItemStack shovel = new ItemStack(STEAM_SHOVEL, 1, STEAM_SHOVEL.getMaxDamage() - 1); RecipeUtility.addRecipe(event, true, "shovel1", shovel, "ixi",