@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; }
@Override public EnumRarity getRarity(ItemStack stack) { switch (Type.values()[ItemHelper.getItemDamage(stack)]) { case MULTIMETER: return EnumRarity.COMMON; default: return EnumRarity.COMMON; } }
public ItemWrapper set(ItemStack stack) { if (stack != null) { this.item = stack.getItem(); this.metadata = ItemHelper.getItemDamage(stack); } else { this.item = null; this.metadata = 0; } return this; }
@Override public AugmentType getAugmentType(ItemStack stack) { if (!this.augmentMap.containsKey(ItemHelper.getItemDamage(stack))) { return AugmentType.CREATIVE; } return augmentMap.get(ItemHelper.getItemDamage(stack)).type; }
public static int getLevel(ItemStack stack) { if (!typeMap.containsKey(ItemHelper.getItemDamage(stack))) { return 0; } return typeMap.get(ItemHelper.getItemDamage(stack)).level; }
@Override public String getUnlocalizedName(ItemStack stack) { int i = ItemHelper.getItemDamage(stack); if (!itemMap.containsKey(i)) { return "item.invalid"; } ItemEntry item = itemMap.get(i); return getUnlocalizedName() + "." + item.name; }
@Override public ITextComponent processStack(ItemStack stack) { return new TextComponentString(String.valueOf(ItemHelper.getItemDamage(stack))); } }, toString("string", "text") {
@Override public Multimap<String, AttributeModifier> getAttributeModifiers(EntityEquipmentSlot slot, ItemStack stack) { int metadata = ItemHelper.getItemDamage(stack); Multimap<String, AttributeModifier> multimap = HashMultimap.create(); if (slot == EntityEquipmentSlot.MAINHAND) { multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Tool modifier", metadata > 0 ? 2 : 1, 0)); } return multimap; }
@Override protected int getCapacity(ItemStack stack) { if (!typeMap.containsKey(ItemHelper.getItemDamage(stack))) { return 0; } int capacity = typeMap.get(ItemHelper.getItemDamage(stack)).capacity; int enchant = EnchantmentHelper.getEnchantmentLevel(CoreEnchantments.holding, stack); return capacity + capacity * enchant / 2; }
@Override public int getCapacity(ItemStack stack) { if (!typeMap.containsKey(ItemHelper.getItemDamage(stack))) { return 0; } int capacity = typeMap.get(ItemHelper.getItemDamage(stack)).capacity; int enchant = EnchantmentHelper.getEnchantmentLevel(CoreEnchantments.holding, stack); return capacity + capacity * enchant / 2; }
/** * 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()); }
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)); }
public static int getStorageIndex(ItemStack stack) { if (isCreative(stack) || isVoid(stack) || !typeMap.containsKey(ItemHelper.getItemDamage(stack))) { return 0; } int level = typeMap.get(ItemHelper.getItemDamage(stack)).level; int enchant = EnchantmentHelper.getEnchantmentLevel(CoreEnchantments.holding, stack); return Math.min(1 + level + enchant, CoreProps.STORAGE_SIZE.length - 1); }
public static boolean addItemMapping(ItemStack item, FluidStack fluid) { if (item.isEmpty() || fluid == null) { return false; } itemMap.put(new ItemWrapper(item.getItem(), ItemHelper.getItemDamage(item)), fluid.copy()); return true; }
@Override @SideOnly (Side.CLIENT) public void registerModels() { ModelLoader.setCustomMeshDefinition(this, stack -> new ModelResourceLocation(getRegistryName(), String.format("full=%s,type=%s", stack.getTagCompound() != null && stack.getTagCompound().hasKey("id") ? 1 : 0, itemMap.get(ItemHelper.getItemDamage(stack)).name))); for (Map.Entry<Integer, ItemEntry> entry : itemMap.entrySet()) { for (int i = 0; i < 2; i++) { ModelBakery.registerItemVariants(this, new ModelResourceLocation(getRegistryName(), String.format("full=%s,type=%s", i, entry.getValue().name))); } } }
@Override public ItemStack setDefaultTag(ItemStack stack, int level) { ReconfigurableHelper.setFacing(stack, 3); ReconfigurableHelper.setSideCache(stack, TileDeviceBase.SIDE_CONFIGS[ItemHelper.getItemDamage(stack)].defaultSides); RedstoneControlHelper.setControl(stack, ControlMode.DISABLED); EnergyHelper.setDefaultEnergyTag(stack, 0); return stack; }
@Override public ItemStack setDefaultTag(ItemStack stack, int level) { ReconfigurableHelper.setFacing(stack, 3); ReconfigurableHelper.setSideCache(stack, TileMachineBase.SIDE_CONFIGS[ItemHelper.getItemDamage(stack)].defaultSides); RedstoneControlHelper.setControl(stack, ControlMode.DISABLED); EnergyHelper.setDefaultEnergyTag(stack, 0); stack.getTagCompound().setByte("Level", (byte) level); return stack; }
@Override public ItemStack setDefaultTag(ItemStack stack, int level) { ReconfigurableHelper.setFacing(stack, 3); ReconfigurableHelper.setSideCache(stack, TileApparatusBase.SIDE_CONFIGS[ItemHelper.getItemDamage(stack)].defaultSides); RedstoneControlHelper.setControl(stack, ControlMode.DISABLED); EnergyHelper.setDefaultEnergyTag(stack, 0); stack.getTagCompound().setByte("Level", (byte) level); return stack; }
public static NBTTagCompound writeItemStackToNBT(ItemStack stack, int amount, NBTTagCompound nbt) { nbt.setShort("id", (short) Item.getIdFromItem(stack.getItem())); nbt.setInteger("Count", amount); nbt.setShort("Damage", (short) getItemDamage(stack)); if (stack.hasTagCompound()) { nbt.setTag("tag", stack.getTagCompound()); } return nbt; }
private void writeItemStack(ItemStack theStack) throws IOException { if (theStack.isEmpty()) { addShort(-1); } else { addShort(Item.getIdFromItem(theStack.getItem())); addByte(theStack.getCount()); addShort(ItemHelper.getItemDamage(theStack)); writeNBT(theStack.getTagCompound()); } }