diff --git a/src/main/java/forestry/core/config/ForestryItem.java b/src/main/java/forestry/core/config/ForestryItem.java index 9e0ac054c..c9a53eeba 100755 --- a/src/main/java/forestry/core/config/ForestryItem.java +++ b/src/main/java/forestry/core/config/ForestryItem.java @@ -32,10 +32,6 @@ import forestry.plugins.PluginManager.Stage; * @author SirSengir */ public enum ForestryItem { - // Mail - stamps, - letters, - catalogue, // Butterflies butterflyGE, flutterlyzer, diff --git a/src/main/java/forestry/mail/GuiHandlerMail.java b/src/main/java/forestry/mail/GuiHandlerMail.java index 35f3d227a..d344e8702 100755 --- a/src/main/java/forestry/mail/GuiHandlerMail.java +++ b/src/main/java/forestry/mail/GuiHandlerMail.java @@ -13,6 +13,7 @@ package forestry.mail; import net.minecraft.client.gui.Gui; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -20,7 +21,6 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.core.GuiHandlerBase; -import forestry.core.config.ForestryItem; import forestry.core.network.GuiId; import forestry.core.tiles.TileUtil; import forestry.mail.gui.ContainerCatalogue; @@ -36,10 +36,10 @@ import forestry.mail.gui.GuiPhilatelist; import forestry.mail.gui.GuiTradeName; import forestry.mail.gui.GuiTrader; import forestry.mail.inventory.ItemInventoryLetter; -import forestry.mail.items.ItemLetter; import forestry.mail.tiles.TileMailbox; import forestry.mail.tiles.TilePhilatelist; import forestry.mail.tiles.TileTrader; +import forestry.plugins.PluginMail; public class GuiHandlerMail extends GuiHandlerBase { @@ -58,7 +58,8 @@ public class GuiHandlerMail extends GuiHandlerBase { return null; } - if (ForestryItem.catalogue.isItemEqual(cata)) { + Item cataItem = cata.getItem(); + if (PluginMail.items.catalogue == cataItem) { return new GuiCatalogue(player); } else { return null; @@ -70,7 +71,7 @@ public class GuiHandlerMail extends GuiHandlerBase { return null; } - if (equipped.getItem() instanceof ItemLetter) { + if (equipped.getItem() == PluginMail.items.letters) { return new GuiLetter(player, new ItemInventoryLetter(player, equipped)); } else { return null; @@ -104,7 +105,8 @@ public class GuiHandlerMail extends GuiHandlerBase { return null; } - if (ForestryItem.catalogue.isItemEqual(cata)) { + Item cataItem = cata.getItem(); + if (PluginMail.items.catalogue == cataItem) { return new ContainerCatalogue(player); } else { return null; @@ -116,7 +118,7 @@ public class GuiHandlerMail extends GuiHandlerBase { return null; } - if (equipped.getItem() instanceof ItemLetter) { + if (equipped.getItem() == PluginMail.items.letters) { return new ContainerLetter(player, new ItemInventoryLetter(player, equipped)); } else { return null; diff --git a/src/main/java/forestry/mail/LetterProperties.java b/src/main/java/forestry/mail/LetterProperties.java index 90cc04bdd..54fe96ef9 100644 --- a/src/main/java/forestry/mail/LetterProperties.java +++ b/src/main/java/forestry/mail/LetterProperties.java @@ -10,7 +10,11 @@ ******************************************************************************/ package forestry.mail; +import java.util.List; + import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; @@ -18,8 +22,8 @@ import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import forestry.api.mail.ILetter; -import forestry.core.config.ForestryItem; import forestry.core.render.TextureManager; +import forestry.plugins.PluginMail; public class LetterProperties { private enum State { @@ -33,7 +37,7 @@ public class LetterProperties { public static ItemStack createStampedLetterStack(ILetter letter) { Size size = getSize(letter); int meta = encodeMeta(State.STAMPED, size); - return ForestryItem.letters.getItemStack(1, meta); + return new ItemStack(PluginMail.items.letters, 1, meta); } public static void closeLetter(ItemStack parent, ILetter letter) { @@ -89,6 +93,17 @@ public class LetterProperties { } } + @SuppressWarnings("unchecked") + public static void getSubItems(Item item, CreativeTabs tab, List list) { + for (State state : State.values()) { + for (Size size : Size.values()) { + int meta = encodeMeta(state, size); + ItemStack letter = new ItemStack(item, 1, meta); + list.add(letter); + } + } + } + @SideOnly(Side.CLIENT) public static IIcon getIconFromDamage(int damage) { State state = getState(damage); diff --git a/src/main/java/forestry/mail/PostOffice.java b/src/main/java/forestry/mail/PostOffice.java index 1d121811f..f6d8d2eda 100755 --- a/src/main/java/forestry/mail/PostOffice.java +++ b/src/main/java/forestry/mail/PostOffice.java @@ -27,7 +27,8 @@ import forestry.api.mail.IPostalState; import forestry.api.mail.IStamps; import forestry.api.mail.ITradeStation; import forestry.api.mail.PostManager; -import forestry.core.config.ForestryItem; +import forestry.mail.items.EnumStampDefinition; +import forestry.plugins.PluginMail; public class PostOffice extends WorldSavedData implements IPostOffice { @@ -129,24 +130,13 @@ public class PostOffice extends WorldSavedData implements IPostOffice { @Override public ItemStack getAnyStamp(EnumPostage[] postages, int max) { - for (EnumPostage postage : postages) { - - int collected; - if (collectedPostage[postage.ordinal()] <= 0) { - continue; - } - - if (max >= collectedPostage[postage.ordinal()]) { - collected = collectedPostage[postage.ordinal()]; - collectedPostage[postage.ordinal()] = 0; - } else { - collected = max; - collectedPostage[postage.ordinal()] -= max; - } + int collected = Math.min(max, collectedPostage[postage.ordinal()]); + collectedPostage[postage.ordinal()] -= collected; if (collected > 0) { - return ForestryItem.stamps.getItemStack(collected, postage.ordinal() - 1); + EnumStampDefinition stampDefinition = EnumStampDefinition.getFromPostage(postage); + return PluginMail.items.stamps.get(stampDefinition, collected); } } diff --git a/src/main/java/forestry/mail/PostRegistry.java b/src/main/java/forestry/mail/PostRegistry.java index c040fb37f..595244eb8 100755 --- a/src/main/java/forestry/mail/PostRegistry.java +++ b/src/main/java/forestry/mail/PostRegistry.java @@ -30,10 +30,10 @@ import forestry.api.mail.IPostRegistry; import forestry.api.mail.IPostalCarrier; import forestry.api.mail.ITradeStation; import forestry.api.mail.PostManager; -import forestry.core.config.ForestryItem; import forestry.core.proxy.Proxies; import forestry.core.utils.PlayerUtil; import forestry.mail.network.packets.PacketPOBoxInfoResponse; +import forestry.plugins.PluginMail; public class PostRegistry implements IPostRegistry { @@ -238,7 +238,6 @@ public class PostRegistry implements IPostRegistry { @Override public boolean isLetter(ItemStack itemstack) { - return ForestryItem.letters.isItemEqual(itemstack); + return itemstack != null && itemstack.getItem() == PluginMail.items.letters; } - } diff --git a/src/main/java/forestry/mail/TradeStation.java b/src/main/java/forestry/mail/TradeStation.java index a023bb6af..bc3f21a6d 100755 --- a/src/main/java/forestry/mail/TradeStation.java +++ b/src/main/java/forestry/mail/TradeStation.java @@ -30,12 +30,13 @@ import forestry.api.mail.IStamps; import forestry.api.mail.ITradeStation; import forestry.api.mail.PostManager; import forestry.api.mail.TradeStationInfo; -import forestry.core.config.ForestryItem; import forestry.core.inventory.IInventoryAdapter; import forestry.core.inventory.InventoryAdapter; import forestry.core.utils.InventoryUtil; import forestry.core.utils.ItemStackUtil; import forestry.mail.inventory.InventoryTradeStation; +import forestry.mail.items.EnumStampDefinition; +import forestry.plugins.PluginMail; public class TradeStation extends WorldSavedData implements ITradeStation, IInventoryAdapter { public static final String SAVE_NAME = "TradePO_"; @@ -224,8 +225,11 @@ public class TradeStation extends WorldSavedData implements ITradeStation, IInve // Attach necessary postage int[] stampCount = getPostage(requiredPostage, isVirtual()); for (int i = 0; i < stampCount.length; i++) { - if (stampCount[i] > 0) { - mail.addStamps(ForestryItem.stamps.getItemStack(stampCount[i], EnumPostage.values()[i].ordinal() - 1)); + int count = stampCount[i]; + if (count > 0) { + EnumPostage postage = EnumPostage.values()[i]; + EnumStampDefinition stampDefinition = EnumStampDefinition.getFromPostage(postage); + mail.addStamps(PluginMail.items.stamps.get(stampDefinition, count)); } } @@ -264,7 +268,7 @@ public class TradeStation extends WorldSavedData implements ITradeStation, IInve ILetter confirm = new Letter(this.address, new MailAddress(this.owner)); confirm.setText(ordersToFill + " order(s) from " + letter.getSender().getName() + " were filled."); - confirm.addStamps(ForestryItem.stamps.getItemStack(1, EnumPostage.P_1.ordinal() - 1)); + confirm.addStamps(PluginMail.items.stamps.get(EnumStampDefinition.P_1, 1)); confirm.writeToNBT(nbttagcompound); ItemStack confirmstack = LetterProperties.createStampedLetterStack(confirm); diff --git a/src/main/java/forestry/mail/inventory/ItemInventoryLetter.java b/src/main/java/forestry/mail/inventory/ItemInventoryLetter.java index eccddda2e..aea500d04 100644 --- a/src/main/java/forestry/mail/inventory/ItemInventoryLetter.java +++ b/src/main/java/forestry/mail/inventory/ItemInventoryLetter.java @@ -23,10 +23,10 @@ import forestry.api.core.IErrorSource; import forestry.api.core.IErrorState; import forestry.api.mail.ILetter; import forestry.core.config.Config; -import forestry.core.config.ForestryItem; import forestry.core.errors.EnumErrorCode; import forestry.core.gui.IHintSource; import forestry.core.inventory.ItemInventory; +import forestry.core.items.ItemWithGui; import forestry.core.utils.SlotUtil; import forestry.mail.Letter; import forestry.mail.LetterProperties; @@ -121,7 +121,7 @@ public class ItemInventoryLetter extends ItemInventory implements IErrorSource, Item item = itemStack.getItem(); return item instanceof ItemStamps; } else if (SlotUtil.isSlotInRange(slotIndex, Letter.SLOT_ATTACHMENT_1, Letter.SLOT_ATTACHMENT_COUNT)) { - return !ForestryItem.letters.isItemEqual(itemStack); + return !(itemStack.getItem() instanceof ItemWithGui); } return false; } diff --git a/src/main/java/forestry/mail/items/EnumStampDefinition.java b/src/main/java/forestry/mail/items/EnumStampDefinition.java new file mode 100644 index 000000000..861a0220d --- /dev/null +++ b/src/main/java/forestry/mail/items/EnumStampDefinition.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.mail.items; + +import java.awt.Color; +import java.util.EnumMap; +import java.util.Map; + +import net.minecraft.init.Items; + +import forestry.api.mail.EnumPostage; +import forestry.core.items.ItemOverlay; +import forestry.plugins.PluginCore; + +public enum EnumStampDefinition implements ItemOverlay.IOverlayInfo { + P_1("1n", EnumPostage.P_1, PluginCore.items.apatite, new Color(0x4a8ca7), new Color(0xffffff)), + P_2("2n", EnumPostage.P_2, "ingotCopper", new Color(0xe8c814), new Color(0xffffff)), + P_5("5n", EnumPostage.P_5, "ingotTin", new Color(0x9c0707), new Color(0xffffff)), + P_10("10n", EnumPostage.P_10, Items.gold_ingot, new Color(0x7bd1b8), new Color(0xffffff)), + P_20("20n", EnumPostage.P_20, Items.diamond, new Color(0xff9031), new Color(0xfff7dd)), + P_50("50n", EnumPostage.P_50, Items.emerald, new Color(0x6431d7), new Color(0xfff7dd)), + P_100("100n", EnumPostage.P_100, Items.nether_star, new Color(0xd731ba), new Color(0xfff7dd)), + // P_200("200n", EnumPostage.P_200, Items.nether_star, new Color(0xcd9831), new Color(0xfff7dd)), + ; + + public static final EnumStampDefinition[] VALUES = values(); + private static final Map postageMap = new EnumMap<>(EnumPostage.class); + + static { + for (EnumStampDefinition stampDefinition : VALUES) { + postageMap.put(stampDefinition.getPostage(), stampDefinition); + } + } + + private final String name; + private final int primaryColor; + private final int secondaryColor; + private final Object craftingIngredient; + private final EnumPostage postage; + + EnumStampDefinition(String name, EnumPostage postage, Object crafting, Color primaryColor, Color secondaryColor) { + this.name = name; + this.primaryColor = primaryColor.getRGB(); + this.secondaryColor = secondaryColor.getRGB(); + this.craftingIngredient = crafting; + this.postage = postage; + } + + public EnumPostage getPostage() { + return this.postage; + } + + public Object getCraftingIngredient() { + return this.craftingIngredient; + } + + @Override + public String getName() { + return name; + } + + @Override + public int getPrimaryColor() { + return primaryColor; + } + + @Override + public int getSecondaryColor() { + return secondaryColor; + } + + @Override + public boolean isSecret() { + return false; + } + + public static EnumStampDefinition getFromPostage(EnumPostage postage) { + return postageMap.get(postage); + } +} diff --git a/src/main/java/forestry/mail/items/ItemLetter.java b/src/main/java/forestry/mail/items/ItemLetter.java index 6c08efdc4..a82c10e6b 100755 --- a/src/main/java/forestry/mail/items/ItemLetter.java +++ b/src/main/java/forestry/mail/items/ItemLetter.java @@ -13,7 +13,9 @@ package forestry.mail.items; import java.util.List; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentTranslation; @@ -79,4 +81,9 @@ public class ItemLetter extends ItemWithGui { ILetter letter = new Letter(nbttagcompound); letter.addTooltip(list); } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + LetterProperties.getSubItems(item, tab, list); + } } diff --git a/src/main/java/forestry/mail/items/ItemRegistryMail.java b/src/main/java/forestry/mail/items/ItemRegistryMail.java new file mode 100644 index 000000000..f6707c597 --- /dev/null +++ b/src/main/java/forestry/mail/items/ItemRegistryMail.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2011-2014 SirSengir. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the GNU Lesser Public License v3 + * which accompanies this distribution, and is available at + * http://www.gnu.org/licenses/lgpl-3.0.txt + * + * Various Contributors including, but not limited to: + * SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges + ******************************************************************************/ +package forestry.mail.items; + +import forestry.core.items.ItemRegistry; +import forestry.core.items.ItemWithGui; +import forestry.core.network.GuiId; + +public class ItemRegistryMail extends ItemRegistry { + public final ItemStamps stamps; + public final ItemLetter letters; + public final ItemWithGui catalogue; + + public ItemRegistryMail() { + stamps = registerItem(new ItemStamps(), "stamps"); + letters = registerItem(new ItemLetter(), "letters"); + catalogue = registerItem(new ItemWithGui(GuiId.CatalogueGUI), "catalogue"); + } +} diff --git a/src/main/java/forestry/mail/items/ItemStamps.java b/src/main/java/forestry/mail/items/ItemStamps.java index bef54b03c..5ad941919 100755 --- a/src/main/java/forestry/mail/items/ItemStamps.java +++ b/src/main/java/forestry/mail/items/ItemStamps.java @@ -18,56 +18,8 @@ import forestry.core.CreativeTabForestry; import forestry.core.items.ItemOverlay; public class ItemStamps extends ItemOverlay implements IStamps { - - public static class StampInfo implements IOverlayInfo { - private final String name; - private final int primaryColor; - private final int secondaryColor; - private final Object craftingIngredient; - private final EnumPostage postage; - - public StampInfo(String name, EnumPostage postage, Object crafting, int primaryColor, int secondaryColor) { - this.name = name; - this.primaryColor = primaryColor; - this.secondaryColor = secondaryColor; - this.craftingIngredient = crafting; - this.postage = postage; - } - - public EnumPostage getPostage() { - return this.postage; - } - - public Object getCraftingIngredient() { - return this.craftingIngredient; - } - - @Override - public String getName() { - return name; - } - - @Override - public int getPrimaryColor() { - return primaryColor; - } - - @Override - public int getSecondaryColor() { - return secondaryColor; - } - - @Override - public boolean isSecret() { - return false; - } - } - - private final StampInfo[] stampInfo; - - public ItemStamps(StampInfo[] overlays) { - super(CreativeTabForestry.tabForestry, overlays); - this.stampInfo = overlays; + public ItemStamps() { + super(CreativeTabForestry.tabForestry, EnumStampDefinition.VALUES); } @Override @@ -76,21 +28,14 @@ public class ItemStamps extends ItemOverlay implements IStamps { return EnumPostage.P_0; } - if (itemstack.getItemDamage() < 0 || itemstack.getItemDamage() >= stampInfo.length) { + if (itemstack.getItemDamage() < 0 || itemstack.getItemDamage() >= EnumStampDefinition.VALUES.length) { return EnumPostage.P_0; } - return stampInfo[itemstack.getItemDamage()].getPostage(); + return EnumStampDefinition.VALUES[itemstack.getItemDamage()].getPostage(); } - @Override - public String getUnlocalizedName(ItemStack itemstack) { - if (itemstack.getItemDamage() < 0 || itemstack.getItemDamage() >= stampInfo.length) { - return null; - } - - return super.getUnlocalizedName(itemstack); + public ItemStack get(EnumStampDefinition stampInfo, int amount) { + return new ItemStack(this, amount, stampInfo.ordinal()); } - - } diff --git a/src/main/java/forestry/plugins/PluginMail.java b/src/main/java/forestry/plugins/PluginMail.java index 13c3ce857..fc940cd4d 100755 --- a/src/main/java/forestry/plugins/PluginMail.java +++ b/src/main/java/forestry/plugins/PluginMail.java @@ -12,7 +12,6 @@ package forestry.plugins; import net.minecraft.block.material.Material; import net.minecraft.init.Items; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; @@ -20,9 +19,9 @@ import net.minecraftforge.oredict.OreDictionary; import cpw.mods.fml.common.FMLCommonHandler; import forestry.api.mail.EnumAddressee; -import forestry.api.mail.EnumPostage; import forestry.api.mail.PostManager; import forestry.api.recipes.RecipeManagers; +import forestry.apiculture.items.ItemRegistryApiculture; import forestry.core.GuiHandlerBase; import forestry.core.ISaveEventHandler; import forestry.core.blocks.BlockBase; @@ -30,12 +29,9 @@ import forestry.core.circuits.EnumCircuitBoardType; import forestry.core.config.Config; import forestry.core.config.Constants; import forestry.core.config.ForestryBlock; -import forestry.core.config.ForestryItem; import forestry.core.fluids.Fluids; import forestry.core.items.EnumElectronTube; import forestry.core.items.ItemBlockForestry; -import forestry.core.items.ItemWithGui; -import forestry.core.network.GuiId; import forestry.core.network.IPacketRegistry; import forestry.core.recipes.RecipeUtil; import forestry.core.recipes.ShapedRecipeCustom; @@ -46,9 +42,8 @@ import forestry.mail.PostalCarrier; import forestry.mail.SaveEventHandlerMail; import forestry.mail.TickHandlerMailClient; import forestry.mail.commands.CommandMail; -import forestry.mail.items.ItemLetter; -import forestry.mail.items.ItemStamps; -import forestry.mail.items.ItemStamps.StampInfo; +import forestry.mail.items.EnumStampDefinition; +import forestry.mail.items.ItemRegistryMail; import forestry.mail.network.PacketRegistryMail; import forestry.mail.tiles.TileMailbox; import forestry.mail.tiles.TilePhilatelist; @@ -61,7 +56,8 @@ public class PluginMail extends ForestryPlugin { private static MachineDefinition definitionMailbox; private static MachineDefinition definitionTradestation; private static MachineDefinition definitionPhilatelist; - private static StampInfo[] stampDefinitions; + + public static ItemRegistryMail items; @Override protected void setupAPI() { @@ -74,28 +70,9 @@ public class PluginMail extends ForestryPlugin { @Override protected void registerItemsAndBlocks() { - - stampDefinitions = new StampInfo[]{ - new StampInfo("1n", EnumPostage.P_1, PluginCore.items.apatite, 0x4a8ca7, 0xffffff), - new StampInfo("2n", EnumPostage.P_2, "ingotCopper", 0xe8c814, 0xffffff), - new StampInfo("5n", EnumPostage.P_5, "ingotTin", 0x9c0707, 0xffffff), - new StampInfo("10n", EnumPostage.P_10, Items.gold_ingot, 0x7bd1b8, 0xffffff), - new StampInfo("20n", EnumPostage.P_20, Items.diamond, 0xff9031, 0xfff7dd), - new StampInfo("50n", EnumPostage.P_50, Items.emerald, 0x6431d7, 0xfff7dd), - new StampInfo("100n", EnumPostage.P_100, Items.nether_star, 0xd731ba, 0xfff7dd)}; //new StampInfo("200n", EnumPostage.P_200, Item.netherStar, 0xcd9831, 0xfff7dd)}; - - /* STAMPS */ - ForestryItem.stamps.registerItem(new ItemStamps(stampDefinitions), "stamps"); - - /* LETTER */ - ForestryItem.letters.registerItem(new ItemLetter(), "letters"); - - /* CATALOGUE */ - Item itemCatalogue = new ItemWithGui(GuiId.CatalogueGUI).setMaxStackSize(1); - ForestryItem.catalogue.registerItem(itemCatalogue, "catalogue"); + items = new ItemRegistryMail(); ForestryBlock.mail.registerBlock(new BlockBase(Material.iron), ItemBlockForestry.class, "mail"); - } @Override @@ -160,42 +137,45 @@ public class PluginMail extends ForestryPlugin { @Override protected void registerRecipes() { - // Letters + Object stampGlue; + Object letterGlue; - Item stampGlue; - if (PluginManager.Module.APICULTURE.isEnabled()) { - RecipeUtil.addShapelessRecipe(ForestryItem.letters.getItemStack(), Items.paper, PluginApiculture.items.propolis.getWildcard()); - stampGlue = PluginApiculture.items.honeyDrop; + ItemRegistryApiculture beeItems = PluginApiculture.items; + if (beeItems != null) { + stampGlue = beeItems.honeyDrop; + letterGlue = beeItems.propolis.getWildcard(); } else { - RecipeUtil.addShapelessRecipe(ForestryItem.letters.getItemStack(), Items.paper, Items.slime_ball); stampGlue = Items.slime_ball; + letterGlue = Items.slime_ball; } + RecipeUtil.addShapelessRecipe(items.letters.getItemStack(), Items.paper, letterGlue); + if (Config.craftingStampsEnabled) { - for (int i = 0; i < stampDefinitions.length; i++) { - if (Config.collectorStamps.contains(stampDefinitions[i].getName())) { + for (EnumStampDefinition stampDefinition : EnumStampDefinition.VALUES) { + if (Config.collectorStamps.contains(stampDefinition.getName())) { continue; } - RecipeUtil.addRecipe(ForestryItem.stamps.getItemStack(9, i), + RecipeUtil.addRecipe(items.stamps.get(stampDefinition, 9), "XXX", "###", "ZZZ", - 'X', stampDefinitions[i].getCraftingIngredient(), + 'X', stampDefinition.getCraftingIngredient(), '#', Items.paper, 'Z', stampGlue); - RecipeManagers.carpenterManager.addRecipe(10, Fluids.SEEDOIL.getFluid(300), null, ForestryItem.stamps.getItemStack(9, i), + RecipeManagers.carpenterManager.addRecipe(10, Fluids.SEEDOIL.getFluid(300), null, items.stamps.get(stampDefinition, 9), "XXX", "###", - 'X', stampDefinitions[i].getCraftingIngredient(), + 'X', stampDefinition.getCraftingIngredient(), '#', Items.paper); } } // Recycling - RecipeUtil.addRecipe(new ItemStack(Items.paper), "###", '#', ForestryItem.letters.getItemStack(1, OreDictionary.WILDCARD_VALUE)); + RecipeUtil.addRecipe(new ItemStack(Items.paper), "###", '#', new ItemStack(items.letters, 1, OreDictionary.WILDCARD_VALUE)); // Carpenter - RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(250), null, ForestryItem.letters.getItemStack(), "###", "###", '#', PluginCore.items.woodPulp); + RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(250), null, items.letters.getItemStack(), "###", "###", '#', PluginCore.items.woodPulp); - RecipeUtil.addShapelessRecipe(ForestryItem.catalogue.getItemStack(), ForestryItem.stamps.getItemStack(1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.book)); + RecipeUtil.addShapelessRecipe(items.catalogue.getItemStack(), new ItemStack(items.stamps, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.book)); } @Override