From 0fe87253d15744ce30477bf824f8e881957246a9 Mon Sep 17 00:00:00 2001 From: mezz Date: Tue, 17 Nov 2015 22:28:46 -0800 Subject: [PATCH] Move core items to PluginCore.items (first of item/block refactor) --- .../apiculture/genetics/BeeDefinition.java | 13 +- .../inventory/InventoryAlvearySieve.java | 4 +- .../forestry/core/CreativeTabForestry.java | 4 +- .../core/blocks/BlockResourceOre.java | 4 +- .../java/forestry/core/blocks/BlockSoil.java | 4 +- .../core/circuits/CircuitRegistry.java | 4 +- .../core/circuits/ItemCircuitBoard.java | 7 +- .../forestry/core/config/ForestryItem.java | 53 ---- .../java/forestry/core/config/GameMode.java | 9 +- .../forestry/core/items/EnumElectronTube.java | 48 ++++ .../forestry/core/items/ItemAssemblyKit.java | 25 -- ...temMisc.java => ItemCraftingMaterial.java} | 31 ++- .../java/forestry/core/items/ItemCrated.java | 24 +- .../forestry/core/items/ItemElectronTube.java | 42 ++- .../forestry/core/items/ItemForestry.java | 9 + .../java/forestry/core/items/ItemFruit.java | 6 +- .../java/forestry/core/items/ItemOverlay.java | 2 +- .../forestry/core/items/ItemRegistry.java | 29 ++ .../forestry/core/items/ItemRegistryCore.java | 194 ++++++++++++++ .../forestry/core/recipes/RecipeUtil.java | 12 + .../forestry/core/utils/ItemStackUtil.java | 6 +- .../forestry/energy/tiles/TileEnginePeat.java | 12 +- .../java/forestry/farming/logic/CropPeat.java | 6 +- .../farming/logic/FarmLogicOrchard.java | 4 +- .../forestry/farming/logic/FarmLogicPeat.java | 4 +- .../forestry/plugins/PluginApiculture.java | 103 +++---- .../forestry/plugins/PluginArboriculture.java | 19 +- .../forestry/plugins/PluginBiomesOPlenty.java | 6 +- .../plugins/PluginBuildCraftTransport.java | 15 +- .../java/forestry/plugins/PluginCore.java | 252 +++++------------- .../plugins/PluginExtraUtilities.java | 4 +- .../java/forestry/plugins/PluginFactory.java | 151 ++++++----- .../java/forestry/plugins/PluginFarming.java | 44 +-- .../java/forestry/plugins/PluginFluids.java | 6 +- .../forestry/plugins/PluginGrowthCraft.java | 8 +- .../forestry/plugins/PluginHarvestCraft.java | 3 +- src/main/java/forestry/plugins/PluginIC2.java | 15 +- .../java/forestry/plugins/PluginMail.java | 16 +- .../java/forestry/plugins/PluginNatura.java | 7 +- .../java/forestry/plugins/PluginStorage.java | 47 ++-- 40 files changed, 706 insertions(+), 546 deletions(-) create mode 100644 src/main/java/forestry/core/items/EnumElectronTube.java rename src/main/java/forestry/core/items/{ItemMisc.java => ItemCraftingMaterial.java} (78%) mode change 100755 => 100644 create mode 100644 src/main/java/forestry/core/items/ItemRegistry.java create mode 100644 src/main/java/forestry/core/items/ItemRegistryCore.java diff --git a/src/main/java/forestry/apiculture/genetics/BeeDefinition.java b/src/main/java/forestry/apiculture/genetics/BeeDefinition.java index 4c232a423..5ba5478ac 100644 --- a/src/main/java/forestry/apiculture/genetics/BeeDefinition.java +++ b/src/main/java/forestry/apiculture/genetics/BeeDefinition.java @@ -36,6 +36,7 @@ import forestry.apiculture.genetics.alleles.AlleleEffect; import forestry.core.config.ForestryItem; import forestry.core.genetics.alleles.AlleleHelper; import forestry.core.genetics.alleles.EnumAllele; +import forestry.plugins.PluginCore; public enum BeeDefinition implements IBeeDefinition { /* HONEY BRANCH */ @@ -321,7 +322,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { beeSpecies.addProduct(ForestryItem.beeComb.getItemStack(1, 2), 0.55f) - .addProduct(ForestryItem.ash.getItemStack(), 0.15f) + .addProduct(PluginCore.items.ash.getItemStack(), 0.15f) .setTemperature(EnumTemperature.HELLISH) .setHumidity(EnumHumidity.ARID); } @@ -577,7 +578,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { beeSpecies.addProduct(ForestryItem.beeComb.getItemStack(1, 4), 0.20f) - .addProduct(ForestryItem.craftingMaterial.getItemStack(1, 5), 0.20f) + .addProduct(PluginCore.items.craftingMaterial.getIceShard(1), 0.20f) .setTemperature(EnumTemperature.ICY); } @@ -597,7 +598,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { beeSpecies.addProduct(ForestryItem.beeComb.getItemStack(1, 4), 0.20f) - .addProduct(ForestryItem.craftingMaterial.getItemStack(1, 5), 0.40f) + .addProduct(PluginCore.items.craftingMaterial.getIceShard(1), 0.40f) .setTemperature(EnumTemperature.ICY) .setHasEffect(); } @@ -701,7 +702,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { beeSpecies.addProduct(ForestryItem.beeComb.getItemStack(1, 4), 0.30f) - .addProduct(ForestryItem.craftingMaterial.getItemStack(1, 5), 0.20f) + .addProduct(PluginCore.items.craftingMaterial.getIceShard(1), 0.20f) .setTemperature(EnumTemperature.ICY) .setHasEffect() .setIsNotCounted(); @@ -725,7 +726,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { beeSpecies.addProduct(ForestryItem.beeComb.getItemStack(1, 4), 0.30f) - .addProduct(ForestryItem.craftingMaterial.getItemStack(1, 5), 0.20f) + .addProduct(PluginCore.items.craftingMaterial.getIceShard(1), 0.20f) .setTemperature(EnumTemperature.ICY) .setHasEffect() .setIsNotCounted(); @@ -876,7 +877,7 @@ public enum BeeDefinition implements IBeeDefinition { @Override protected void setSpeciesProperties(IAlleleBeeSpeciesCustom beeSpecies) { beeSpecies.addProduct(ForestryItem.beeComb.getItemStack(1, 15), 0.39f) - .addSpecialty(ForestryItem.peat.getItemStack(), 0.08f) + .addSpecialty(PluginCore.items.peat.getItemStack(), 0.08f) .setHumidity(EnumHumidity.DAMP); } diff --git a/src/main/java/forestry/apiculture/inventory/InventoryAlvearySieve.java b/src/main/java/forestry/apiculture/inventory/InventoryAlvearySieve.java index e9450f352..31c3f2482 100644 --- a/src/main/java/forestry/apiculture/inventory/InventoryAlvearySieve.java +++ b/src/main/java/forestry/apiculture/inventory/InventoryAlvearySieve.java @@ -14,10 +14,10 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import forestry.apiculture.multiblock.TileAlvearySieve; -import forestry.core.config.ForestryItem; import forestry.core.inventory.InventoryAdapterTile; import forestry.core.inventory.watchers.ISlotPickupWatcher; import forestry.core.utils.ItemStackUtil; +import forestry.plugins.PluginCore; public class InventoryAlvearySieve extends InventoryAdapterTile implements ISlotPickupWatcher { public static final int SLOT_POLLEN_1 = 0; @@ -30,7 +30,7 @@ public class InventoryAlvearySieve extends InventoryAdapterTile 0) { - drops.add(ForestryItem.apatite.getItemStack(amount)); + drops.add(PluginCore.items.apatite.getItemStack(amount)); } } else { drops.add(new ItemStack(this, 1, metadata)); diff --git a/src/main/java/forestry/core/blocks/BlockSoil.java b/src/main/java/forestry/core/blocks/BlockSoil.java index fe707fd67..46591a050 100644 --- a/src/main/java/forestry/core/blocks/BlockSoil.java +++ b/src/main/java/forestry/core/blocks/BlockSoil.java @@ -35,8 +35,8 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.core.CreativeTabForestry; import forestry.core.config.Constants; import forestry.core.config.ForestryBlock; -import forestry.core.config.ForestryItem; import forestry.core.render.TextureManager; +import forestry.plugins.PluginCore; /** * Humus, bog earth, peat @@ -69,7 +69,7 @@ public class BlockSoil extends Block implements IItemTyped { SoilType type = getTypeFromMeta(metadata); if (type == SoilType.PEAT) { - ret.add(ForestryItem.peat.getItemStack()); + ret.add(PluginCore.items.peat.getItemStack()); ret.add(new ItemStack(Blocks.dirt)); } else if (type == SoilType.HUMUS) { ret.add(new ItemStack(Blocks.dirt)); diff --git a/src/main/java/forestry/core/circuits/CircuitRegistry.java b/src/main/java/forestry/core/circuits/CircuitRegistry.java index 63c07d9f4..9d754d1c8 100755 --- a/src/main/java/forestry/core/circuits/CircuitRegistry.java +++ b/src/main/java/forestry/core/circuits/CircuitRegistry.java @@ -23,7 +23,7 @@ import forestry.api.circuits.ICircuitBoard; import forestry.api.circuits.ICircuitLayout; import forestry.api.circuits.ICircuitLibrary; import forestry.api.circuits.ICircuitRegistry; -import forestry.core.config.ForestryItem; +import forestry.plugins.PluginCore; public class CircuitRegistry implements ICircuitRegistry { @@ -100,7 +100,7 @@ public class CircuitRegistry implements ICircuitRegistry { @Override public boolean isChipset(ItemStack itemstack) { - return ForestryItem.circuitboards.isItemEqual(itemstack); + return itemstack != null && itemstack.getItem() == PluginCore.items.circuitboards; } @Override diff --git a/src/main/java/forestry/core/circuits/ItemCircuitBoard.java b/src/main/java/forestry/core/circuits/ItemCircuitBoard.java index ee0dcd816..2b955fb65 100755 --- a/src/main/java/forestry/core/circuits/ItemCircuitBoard.java +++ b/src/main/java/forestry/core/circuits/ItemCircuitBoard.java @@ -23,8 +23,8 @@ import forestry.api.circuits.ChipsetManager; import forestry.api.circuits.ICircuit; import forestry.api.circuits.ICircuitBoard; import forestry.api.circuits.ICircuitLayout; -import forestry.core.config.ForestryItem; import forestry.core.items.ItemForestryMultiPass; +import forestry.plugins.PluginCore; public class ItemCircuitBoard extends ItemForestryMultiPass { @@ -76,7 +76,7 @@ public class ItemCircuitBoard extends ItemForestryMultiPass { } public static ItemStack createCircuitboard(EnumCircuitBoardType type, ICircuitLayout layout, ICircuit[] circuits) { - ItemStack chipset = ForestryItem.circuitboards.getItemStack(1, type.ordinal()); + ItemStack chipset = PluginCore.items.circuitboards.getCircuitboard(type); saveChipset(chipset, new CircuitBoard(type, layout, circuits)); return chipset; } @@ -92,4 +92,7 @@ public class ItemCircuitBoard extends ItemForestryMultiPass { itemstack.setTagCompound(nbttagcompound); } + public ItemStack getCircuitboard(EnumCircuitBoardType type) { + return new ItemStack(this, 1, type.ordinal()); + } } diff --git a/src/main/java/forestry/core/config/ForestryItem.java b/src/main/java/forestry/core/config/ForestryItem.java index 83d7e5f34..5768f18b2 100755 --- a/src/main/java/forestry/core/config/ForestryItem.java +++ b/src/main/java/forestry/core/config/ForestryItem.java @@ -32,17 +32,6 @@ import forestry.plugins.PluginManager.Stage; * @author SirSengir */ public enum ForestryItem { - - fertilizerBio, - fertilizerCompound, - apatite, - // Ingots - ingotCopper, - ingotTin, - ingotBronze, - // Tools - wrench, - pipette, bucketBiomass, bucketEthanol, bucketGlass, @@ -51,21 +40,6 @@ public enum ForestryItem { bucketJuice, bucketSeedoil, bucketShortMead, - // Crafting - impregnatedCasing, - sturdyCasing, - hardenedCasing, - craftingMaterial, - // Rainmaker - iodineCharge, - // Gears - gearBronze, - gearCopper, - gearTin, - // Chipsets - circuitboards, - solderingIron, - tubes, // Mail stamps, letters, @@ -73,28 +47,8 @@ public enum ForestryItem { // mailIndicator, // Carpenter - stickImpregnated, - woodPulp, - carton, crate, - // Tools - bronzePickaxe, - brokenBronzePickaxe, - kitPickaxe, - bronzeShovel, - brokenBronzeShovel, - kitShovel, - // Do not touch - contagious! - tent, habitatLocator, - // Moistener - mouldyWheat, - decayingWheat, - mulch, - // Peat - peat, - bituminousPeat, - ash, // Bees beeQueenGE, beeDroneGE, @@ -104,7 +58,6 @@ public enum ForestryItem { imprinter, honeyDrop, scoop, - beeswax, pollenCluster, propolis, honeydew, @@ -112,8 +65,6 @@ public enum ForestryItem { honeyedSlice, ambrosia, honeyPot, - phosphor, - refractoryWax, waxCast, frameUntreated, frameImpregnated, @@ -134,8 +85,6 @@ public enum ForestryItem { // Beverages beverage, infuser, - // Naturalist's Armor - naturalistHat, // Apiarist's Armor apiaristHat, apiaristChest, @@ -143,8 +92,6 @@ public enum ForestryItem { apiaristBoots, // Combs beeComb, - // Fruits - fruits, // Backpacks apiaristBackpack, lepidopteristBackpack, diff --git a/src/main/java/forestry/core/config/GameMode.java b/src/main/java/forestry/core/config/GameMode.java index d1191252c..e9a510b1f 100644 --- a/src/main/java/forestry/core/config/GameMode.java +++ b/src/main/java/forestry/core/config/GameMode.java @@ -20,6 +20,7 @@ import net.minecraft.item.ItemStack; import forestry.Forestry; import forestry.api.core.IGameMode; import forestry.core.utils.Log; +import forestry.plugins.PluginCore; public class GameMode implements IGameMode { private static final String GAMEMODE_KEY = "gamemode"; @@ -36,10 +37,10 @@ public class GameMode implements IGameMode { private static final int FARM_FERTILIZER_VALUE = 2000; - private final ItemStack recipeFertilizerOutputApatite = ForestryItem.fertilizerCompound.getItemStack(8); - private final ItemStack recipeFertilizerOutputAsh = ForestryItem.fertilizerCompound.getItemStack(16); - private final ItemStack recipeCompostOutputWheat = ForestryItem.fertilizerBio.getItemStack(4); - private final ItemStack recipeCompostOutputAsh = ForestryItem.fertilizerBio.getItemStack(1); + private final ItemStack recipeFertilizerOutputApatite = PluginCore.items.fertilizerCompound.getItemStack(8); + private final ItemStack recipeFertilizerOutputAsh = PluginCore.items.fertilizerCompound.getItemStack(16); + private final ItemStack recipeCompostOutputWheat = PluginCore.items.fertilizerBio.getItemStack(4); + private final ItemStack recipeCompostOutputAsh = PluginCore.items.fertilizerBio.getItemStack(1); private final ItemStack recipeHumusOutputFertilizer = ForestryBlock.soil.getItemStack(8); private final ItemStack recipeHumusOutputCompost = ForestryBlock.soil.getItemStack(8); diff --git a/src/main/java/forestry/core/items/EnumElectronTube.java b/src/main/java/forestry/core/items/EnumElectronTube.java new file mode 100644 index 000000000..524ede9c1 --- /dev/null +++ b/src/main/java/forestry/core/items/EnumElectronTube.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * 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.core.items; + +import java.awt.Color; + +public enum EnumElectronTube { + COPPER(new Color(0xe3b78e)), + TIN(new Color(0xE6F8FF)), + BRONZE(new Color(0xddc276)), + IRON(new Color(0xCCCCCC)), + GOLD(new Color(0xffff8b)), + DIAMOND(new Color(0x8CF5E3)), + OBSIDIAN(new Color(0x866bc0)), + BLAZE(new Color(0xd96600), new Color(0xFFF87E)), + RUBBER(new Color(0x444444)), + EMERALD(new Color(0x00CC41)), + APATITE(new Color(0x579CD9)), + LAPIS(new Color(0x1c57c6)), + ENDER(new Color(0x33adad), new Color(0x255661)); + + private final ItemOverlay.OverlayInfo overlayInfo; + + EnumElectronTube(Color color) { + this(color, Color.WHITE); + } + + EnumElectronTube(Color color, Color baseColor) { + this.overlayInfo = new ItemOverlay.OverlayInfo("ex-" + ordinal(), baseColor, color); + } + + public static ItemOverlay.OverlayInfo[] getAllOverlayInfo() { + EnumElectronTube[] values = values(); + ItemOverlay.OverlayInfo[] overlayInfos = new ItemOverlay.OverlayInfo[values.length]; + for (EnumElectronTube electronTube : values) { + overlayInfos[electronTube.ordinal()] = electronTube.overlayInfo; + } + return overlayInfos; + } +} diff --git a/src/main/java/forestry/core/items/ItemAssemblyKit.java b/src/main/java/forestry/core/items/ItemAssemblyKit.java index 3f5f9bbec..2a99e3ec5 100755 --- a/src/main/java/forestry/core/items/ItemAssemblyKit.java +++ b/src/main/java/forestry/core/items/ItemAssemblyKit.java @@ -13,22 +13,14 @@ package forestry.core.items; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; import net.minecraft.world.World; public class ItemAssemblyKit extends ItemForestry { private final ItemStack assembled; - private final boolean motionOnOpen; public ItemAssemblyKit(ItemStack assembled) { - this(assembled, false); - } - - public ItemAssemblyKit(ItemStack assembled, boolean motionOnOpen) { - super(); maxStackSize = 24; this.assembled = assembled; - this.motionOnOpen = motionOnOpen; } @Override @@ -36,25 +28,8 @@ public class ItemAssemblyKit extends ItemForestry { if (!world.isRemote) { itemstack.stackSize--; EntityItem entity = new EntityItem(world, entityplayer.posX, entityplayer.posY, entityplayer.posZ, assembled.copy()); - - if (motionOnOpen) { - float f1 = 0.3F; - entity.motionX = -MathHelper.sin((entityplayer.rotationYaw / 180F) * 3.141593F) - * MathHelper.cos((entityplayer.rotationPitch / 180F) * 3.141593F) * f1; - entity.motionZ = MathHelper.cos((entityplayer.rotationYaw / 180F) * 3.141593F) - * MathHelper.cos((entityplayer.rotationPitch / 180F) * 3.141593F) * f1; - entity.motionY = -MathHelper.sin((entityplayer.rotationPitch / 180F) * 3.141593F) * f1 + 0.1F; - f1 = 0.02F; - float f3 = world.rand.nextFloat() * 3.141593F * 2.0F; - f1 *= world.rand.nextFloat(); - entity.motionX += Math.cos(f3) * f1; - entity.motionY += (world.rand.nextFloat() - world.rand.nextFloat()) * 0.1F; - entity.motionZ += Math.sin(f3) * f1; - } - world.spawnEntityInWorld(entity); } return itemstack; } - } diff --git a/src/main/java/forestry/core/items/ItemMisc.java b/src/main/java/forestry/core/items/ItemCraftingMaterial.java old mode 100755 new mode 100644 similarity index 78% rename from src/main/java/forestry/core/items/ItemMisc.java rename to src/main/java/forestry/core/items/ItemCraftingMaterial.java index e6ae9c5b1..a1cba582e --- a/src/main/java/forestry/core/items/ItemMisc.java +++ b/src/main/java/forestry/core/items/ItemCraftingMaterial.java @@ -23,11 +23,11 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.core.render.TextureManager; -public class ItemMisc extends ItemForestry { +public class ItemCraftingMaterial extends ItemForestry { private final String[] definition = new String[]{"pulsatingDust", "pulsatingMesh", "silkWisp", "wovenSilk", "dissipationCharge", "iceShard", "scentedPaneling"}; - public ItemMisc() { + public ItemCraftingMaterial() { super(); setMaxDamage(0); setHasSubtypes(true); @@ -84,4 +84,31 @@ public class ItemMisc extends ItemForestry { } } + public ItemStack getPulsatingDust() { + return new ItemStack(this, 1, 0); + } + + public ItemStack getPulsatingMesh() { + return new ItemStack(this, 1, 1); + } + + public ItemStack getSilkWisp() { + return new ItemStack(this, 1, 2); + } + + public ItemStack getWovenSilk() { + return new ItemStack(this, 1, 3); + } + + public ItemStack getDissipationCharge() { + return new ItemStack(this, 1, 4); + } + + public ItemStack getIceShard(int amount) { + return new ItemStack(this, amount, 5); + } + + public ItemStack getScentedPaneling() { + return new ItemStack(this, 1, 6); + } } diff --git a/src/main/java/forestry/core/items/ItemCrated.java b/src/main/java/forestry/core/items/ItemCrated.java index 418d2dbe4..3fb412e00 100755 --- a/src/main/java/forestry/core/items/ItemCrated.java +++ b/src/main/java/forestry/core/items/ItemCrated.java @@ -11,11 +11,9 @@ package forestry.core.items; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.MathHelper; import net.minecraft.util.StatCollector; import net.minecraft.world.World; @@ -24,6 +22,7 @@ import cpw.mods.fml.relauncher.SideOnly; import forestry.core.proxy.Proxies; import forestry.core.render.TextureManager; +import forestry.core.utils.ItemStackUtil; import forestry.core.utils.StringUtil; public class ItemCrated extends Item { @@ -46,31 +45,16 @@ public class ItemCrated extends Item { @Override public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer) { - if (!world.isRemote) { if (contained == null || itemstack.stackSize == 0) { return itemstack; } itemstack.stackSize--; - EntityItem entity = new EntityItem(world, entityplayer.posX, entityplayer.posY, entityplayer.posZ, new ItemStack(contained.getItem(), 9, - contained.getItemDamage())); - entity.delayBeforeCanPickup = 40; - float f1 = 0.3F; - entity.motionX = -MathHelper.sin((entityplayer.rotationYaw / 180F) * 3.141593F) * MathHelper.cos((entityplayer.rotationPitch / 180F) * 3.141593F) - * f1; - entity.motionZ = MathHelper.cos((entityplayer.rotationYaw / 180F) * 3.141593F) * MathHelper.cos((entityplayer.rotationPitch / 180F) * 3.141593F) - * f1; - entity.motionY = -MathHelper.sin((entityplayer.rotationPitch / 180F) * 3.141593F) * f1 + 0.1F; - f1 = 0.02F; - float f3 = world.rand.nextFloat() * 3.141593F * 2.0F; - f1 *= world.rand.nextFloat(); - entity.motionX += Math.cos(f3) * f1; - entity.motionY += (world.rand.nextFloat() - world.rand.nextFloat()) * 0.1F; - entity.motionZ += Math.sin(f3) * f1; - - world.spawnEntityInWorld(entity); + ItemStack dropStack = contained.copy(); + dropStack.stackSize = 9; + ItemStackUtil.dropItemStackAsEntity(dropStack, world, entityplayer.posX, entityplayer.posY, entityplayer.posZ, 40); } return itemstack; } diff --git a/src/main/java/forestry/core/items/ItemElectronTube.java b/src/main/java/forestry/core/items/ItemElectronTube.java index 8f2d18f9e..4e47c64e9 100644 --- a/src/main/java/forestry/core/items/ItemElectronTube.java +++ b/src/main/java/forestry/core/items/ItemElectronTube.java @@ -13,10 +13,12 @@ package forestry.core.items; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Multimap; +import java.util.Collection; import java.util.List; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; @@ -24,6 +26,7 @@ import forestry.api.circuits.ChipsetManager; import forestry.api.circuits.ICircuit; import forestry.api.circuits.ICircuitLayout; import forestry.core.circuits.SolderManager; +import forestry.core.config.Config; import forestry.core.proxy.Proxies; import forestry.core.utils.StringUtil; @@ -36,15 +39,7 @@ public class ItemElectronTube extends ItemOverlay { @SuppressWarnings({"rawtypes", "unchecked"}) @Override public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean flag) { - - Multimap circuits = ArrayListMultimap.create(); - for (ICircuitLayout circuitLayout : ChipsetManager.circuitRegistry.getRegisteredLayouts().values()) { - ICircuit circuit = SolderManager.getCircuit(circuitLayout, itemstack); - if (circuit != null) { - circuits.put(circuitLayout, circuit); - } - } - + Multimap circuits = getCircuits(itemstack); if (circuits.size() > 0) { if (Proxies.common.isShiftDown()) { for (ICircuitLayout circuitLayout : circuits.keys()) { @@ -61,4 +56,33 @@ public class ItemElectronTube extends ItemOverlay { list.add("<" + StringUtil.localize("gui.noeffect") + ">"); } } + + @SuppressWarnings({"rawtypes", "unchecked"}) + @Override + public void getSubItems(Item item, CreativeTabs par2CreativeTabs, List itemList) { + for (int i = 0; i < overlays.length; i++) { + if (Config.isDebug || !overlays[i].isSecret) { + ItemStack itemStack = new ItemStack(this, 1, i); + if (Config.isDebug || getCircuits(itemStack).size() > 0) { + itemList.add(itemStack); + } + } + } + } + + private static Multimap getCircuits(ItemStack itemStack) { + Multimap circuits = ArrayListMultimap.create(); + Collection allLayouts = ChipsetManager.circuitRegistry.getRegisteredLayouts().values(); + for (ICircuitLayout circuitLayout : allLayouts) { + ICircuit circuit = SolderManager.getCircuit(circuitLayout, itemStack); + if (circuit != null) { + circuits.put(circuitLayout, circuit); + } + } + return circuits; + } + + public ItemStack get(EnumElectronTube type, int amount) { + return new ItemStack(this, amount, type.ordinal()); + } } diff --git a/src/main/java/forestry/core/items/ItemForestry.java b/src/main/java/forestry/core/items/ItemForestry.java index 7e8ab7db3..c722e521f 100755 --- a/src/main/java/forestry/core/items/ItemForestry.java +++ b/src/main/java/forestry/core/items/ItemForestry.java @@ -12,6 +12,7 @@ package forestry.core.items; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -30,4 +31,12 @@ public class ItemForestry extends Item { public void registerIcons(IIconRegister register) { itemIcon = TextureManager.registerTex(register, StringUtil.cleanItemName(this)); } + + public ItemStack getItemStack() { + return new ItemStack(this); + } + + public ItemStack getItemStack(int amount) { + return new ItemStack(this, amount); + } } diff --git a/src/main/java/forestry/core/items/ItemFruit.java b/src/main/java/forestry/core/items/ItemFruit.java index d4261963b..9c3d15f17 100755 --- a/src/main/java/forestry/core/items/ItemFruit.java +++ b/src/main/java/forestry/core/items/ItemFruit.java @@ -19,13 +19,11 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; -import net.minecraftforge.oredict.OreDictionary; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import forestry.core.config.ForestryItem; import forestry.core.render.TextureManager; +import forestry.plugins.PluginCore; public class ItemFruit extends ItemForestryFood { @@ -57,7 +55,7 @@ public class ItemFruit extends ItemForestryFood { } public ItemStack getStack(int qty) { - return ForestryItem.fruits.getItemStack(qty, ordinal()); + return new ItemStack(PluginCore.items.fruits, qty, ordinal()); } public String getOreDict() { diff --git a/src/main/java/forestry/core/items/ItemOverlay.java b/src/main/java/forestry/core/items/ItemOverlay.java index 627db6b91..d0781ef86 100755 --- a/src/main/java/forestry/core/items/ItemOverlay.java +++ b/src/main/java/forestry/core/items/ItemOverlay.java @@ -55,7 +55,7 @@ public class ItemOverlay extends ItemForestry { } } - private final OverlayInfo[] overlays; + protected final OverlayInfo[] overlays; public ItemOverlay(CreativeTabs tab, OverlayInfo... overlays) { super(); diff --git a/src/main/java/forestry/core/items/ItemRegistry.java b/src/main/java/forestry/core/items/ItemRegistry.java new file mode 100644 index 000000000..ac94836d4 --- /dev/null +++ b/src/main/java/forestry/core/items/ItemRegistry.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * 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.core.items; + +import net.minecraft.item.Item; + +import cpw.mods.fml.common.registry.GameRegistry; + +import forestry.core.utils.StringUtil; +import forestry.plugins.PluginManager; + +public abstract class ItemRegistry { + protected static T registerItem(T item, String name) { + if (PluginManager.getStage() != PluginManager.Stage.SETUP) { + throw new RuntimeException("Tried to register Item outside of Setup"); + } + item.setUnlocalizedName("for." + name); + GameRegistry.registerItem(item, StringUtil.cleanItemName(item)); + return item; + } +} diff --git a/src/main/java/forestry/core/items/ItemRegistryCore.java b/src/main/java/forestry/core/items/ItemRegistryCore.java new file mode 100644 index 000000000..f47e474ca --- /dev/null +++ b/src/main/java/forestry/core/items/ItemRegistryCore.java @@ -0,0 +1,194 @@ +/******************************************************************************* + * 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.core.items; + +import net.minecraft.item.ItemStack; + +import net.minecraftforge.oredict.OreDictionary; + +import forestry.api.core.Tabs; +import forestry.core.CreativeTabForestry; +import forestry.core.circuits.ItemCircuitBoard; +import forestry.core.genetics.ItemResearchNote; +import forestry.core.network.GuiId; + +public class ItemRegistryCore extends ItemRegistry { + /* Fertilizer */ + public final ItemForestry fertilizerBio; + public final ItemForestry fertilizerCompound; + + /* Gems */ + public final ItemForestry apatite; + + /* Research */ + public final ItemResearchNote researchNote; + + /* Ingots */ + public final ItemForestry ingotCopper; + public final ItemForestry ingotTin; + public final ItemForestry ingotBronze; + + /* Tools */ + public final ItemWrench wrench; + public final ItemPipette pipette; + + /* Packaged Tools */ + public final ItemForestry carton; + public final ItemForestry brokenBronzePickaxe; + public final ItemForestry brokenBronzeShovel; + public final ItemForestryTool bronzePickaxe; + public final ItemForestryTool bronzeShovel; + public final ItemAssemblyKit kitShovel; + public final ItemAssemblyKit kitPickaxe; + + /* Machine Parts */ + public final ItemForestry sturdyCasing; + public final ItemForestry hardenedCasing; + public final ItemForestry impregnatedCasing; + public final ItemForestry gearBronze; + public final ItemForestry gearCopper; + public final ItemForestry gearTin; + + /* Soldering */ + public final ItemSolderingIron solderingIron; + public final ItemCircuitBoard circuitboards; + public final ItemElectronTube tubes; + + /* Armor */ + public final ItemArmorNaturalist spectacles; + + /* Peat */ + public final ItemForestry peat; + public final ItemForestry ash; + public final ItemForestry bituminousPeat; + + /* Moistener */ + public final ItemForestry mouldyWheat; + public final ItemForestry decayingWheat; + public final ItemForestry mulch; + + /* Rainmaker */ + public final ItemForestry iodineCharge; + public final ItemForestry phosphor; + + /* Misc */ + public final ItemCraftingMaterial craftingMaterial; + public final ItemForestry stickImpregnated; + public final ItemForestry woodPulp; + public final ItemForestry beeswax; + public final ItemForestry refractoryWax; + public final ItemFruit fruits; + + public ItemRegistryCore() { + fertilizerBio = registerItem(new ItemForestry(), "fertilizerBio"); + fertilizerCompound = registerItem(new ItemForestryBonemeal(), "fertilizerCompound"); + + apatite = registerItem(new ItemForestry(), "apatite"); + OreDictionary.registerOre("gemApatite", apatite); + + researchNote = registerItem(new ItemResearchNote(), "researchNote"); + + ingotCopper = registerItem(new ItemForestry(), "ingotCopper"); + OreDictionary.registerOre("ingotCopper", ingotCopper); + + ingotTin = registerItem(new ItemForestry(), "ingotTin"); + OreDictionary.registerOre("ingotTin", ingotTin); + + ingotBronze = registerItem(new ItemForestry(), "ingotBronze"); + OreDictionary.registerOre("ingotBronze", ingotBronze); + + wrench = registerItem(new ItemWrench(), "wrench"); + pipette = registerItem(new ItemPipette(), "pipette"); + + sturdyCasing = registerItem(new ItemForestry(), "sturdyMachine"); + hardenedCasing = registerItem(new ItemForestry(), "hardenedMachine"); + impregnatedCasing = registerItem(new ItemForestry(), "impregnatedCasing"); + + craftingMaterial = registerItem(new ItemCraftingMaterial(), "craftingMaterial"); + + spectacles = registerItem(new ItemArmorNaturalist(), "naturalistHelmet"); + + peat = registerItem(new ItemForestry(), "peat"); + OreDictionary.registerOre("brickPeat", peat); + + ash = registerItem(new ItemForestry(), "ash"); + OreDictionary.registerOre("dustAsh", ash); + + bituminousPeat = registerItem(new ItemForestry(), "bituminousPeat"); + + gearBronze = registerItem(new ItemForestry(), "gearBronze"); + OreDictionary.registerOre("gearBronze", gearBronze); + gearCopper = registerItem(new ItemForestry(), "gearCopper"); + OreDictionary.registerOre("gearCopper", gearCopper); + gearTin = registerItem(new ItemForestry(), "gearTin"); + OreDictionary.registerOre("gearTin", gearTin); + + circuitboards = registerItem(new ItemCircuitBoard(), "chipsets"); + + solderingIron = new ItemSolderingIron(GuiId.SolderingIronGUI); + solderingIron.setMaxDamage(5).setFull3D(); + registerItem(solderingIron, "solderingIron"); + + tubes = registerItem(new ItemElectronTube(CreativeTabForestry.tabForestry, EnumElectronTube.getAllOverlayInfo()), "thermionicTubes"); + + // / CARTONS + carton = registerItem(new ItemForestry(), "carton"); + + // / CRAFTING CARPENTER + stickImpregnated = registerItem(new ItemForestry(), "oakStick"); + woodPulp = registerItem(new ItemForestry(), "woodPulp"); + OreDictionary.registerOre("pulpWood", woodPulp); + + // / RECLAMATION + brokenBronzePickaxe = registerItem(new ItemForestry(), "brokenBronzePickaxe"); + brokenBronzeShovel = registerItem(new ItemForestry(), "brokenBronzeShovel"); + + // / TOOLS + bronzePickaxe = new ItemForestryTool(new ItemStack(brokenBronzePickaxe)); + bronzePickaxe.setHarvestLevel("pickaxe", 3); + registerItem(bronzePickaxe, "bronzePickaxe"); + + bronzeShovel = new ItemForestryTool(new ItemStack(brokenBronzeShovel)); + bronzeShovel.setHarvestLevel("shovel", 3); + registerItem(bronzeShovel, "bronzeShovel"); + + // / ASSEMBLY KITS + kitShovel = new ItemAssemblyKit(new ItemStack(bronzeShovel)); + registerItem(kitShovel, "kitShovel"); + + kitPickaxe = new ItemAssemblyKit(new ItemStack(bronzePickaxe)); + registerItem(kitPickaxe, "kitPickaxe"); + + // / MOISTENER RESOURCES + mouldyWheat = registerItem(new ItemForestry(), "mouldyWheat"); + decayingWheat = registerItem(new ItemForestry(), "decayingWheat"); + mulch = registerItem(new ItemForestry(), "mulch"); + + // / RAINMAKER SUBSTRATES + iodineCharge = registerItem(new ItemForestry(), "iodineCapsule"); + + phosphor = registerItem(new ItemForestry(), "phosphor"); + + // / BEE RESOURCES + beeswax = registerItem(new ItemForestry(), "beeswax"); + beeswax.setCreativeTab(Tabs.tabApiculture); + OreDictionary.registerOre("itemBeeswax", beeswax); + + refractoryWax = registerItem(new ItemForestry(), "refractoryWax"); + + // FRUITS + fruits = registerItem(new ItemFruit(), "fruits"); + for (ItemFruit.EnumFruit def : ItemFruit.EnumFruit.values()) { + ItemStack fruit = new ItemStack(fruits, 1, def.ordinal()); + OreDictionary.registerOre(def.getOreDict(), fruit); + } + } +} diff --git a/src/main/java/forestry/core/recipes/RecipeUtil.java b/src/main/java/forestry/core/recipes/RecipeUtil.java index 590794bba..1e1497698 100644 --- a/src/main/java/forestry/core/recipes/RecipeUtil.java +++ b/src/main/java/forestry/core/recipes/RecipeUtil.java @@ -221,18 +221,30 @@ public abstract class RecipeUtil { } } + public static void addRecipe(Item item, Object... obj) { + addRecipe(new ItemStack(item), obj); + } + @SuppressWarnings("unchecked") public static void addRecipe(ItemStack itemstack, Object... obj) { cleanRecipe(obj); CraftingManager.getInstance().getRecipeList().add(new ShapedOreRecipe(itemstack, obj)); } + public static void addShapelessRecipe(Item item, Object... obj) { + addShapelessRecipe(new ItemStack(item), obj); + } + @SuppressWarnings("unchecked") public static void addShapelessRecipe(ItemStack itemstack, Object... obj) { cleanRecipe(obj); CraftingManager.getInstance().getRecipeList().add(new ShapelessOreRecipe(itemstack, obj)); } + public static void addSmelting(ItemStack res, Item prod, float xp) { + addSmelting(res, new ItemStack(prod), xp); + } + public static void addSmelting(ItemStack res, ItemStack prod, float xp) { if (res == null || res.getItem() == null) { throw new IllegalArgumentException("Tried to register smelting recipe with null input"); diff --git a/src/main/java/forestry/core/utils/ItemStackUtil.java b/src/main/java/forestry/core/utils/ItemStackUtil.java index ec3525f00..662ba56e9 100644 --- a/src/main/java/forestry/core/utils/ItemStackUtil.java +++ b/src/main/java/forestry/core/utils/ItemStackUtil.java @@ -288,6 +288,10 @@ public abstract class ItemStackUtil { } public static void dropItemStackAsEntity(ItemStack items, World world, double x, double y, double z) { + dropItemStackAsEntity(items, world, x, y, z, 10); + } + + public static void dropItemStackAsEntity(ItemStack items, World world, double x, double y, double z, int delayForPickup) { if (items.stackSize <= 0 || world.isRemote) { return; } @@ -297,7 +301,7 @@ public abstract class ItemStackUtil { double d1 = (world.rand.nextFloat() * f1) + (1.0F - f1) * 0.5D; double d2 = (world.rand.nextFloat() * f1) + (1.0F - f1) * 0.5D; EntityItem entityitem = new EntityItem(world, x + d, y + d1, z + d2, items); - entityitem.delayBeforeCanPickup = 10; + entityitem.delayBeforeCanPickup = delayForPickup; world.spawnEntityInWorld(entityitem); } diff --git a/src/main/java/forestry/energy/tiles/TileEnginePeat.java b/src/main/java/forestry/energy/tiles/TileEnginePeat.java index 54ab425ef..f2b5b6b60 100644 --- a/src/main/java/forestry/energy/tiles/TileEnginePeat.java +++ b/src/main/java/forestry/energy/tiles/TileEnginePeat.java @@ -29,7 +29,6 @@ import cpw.mods.fml.common.registry.GameData; import forestry.api.fuels.FuelManager; import forestry.core.config.Constants; -import forestry.core.config.ForestryItem; import forestry.core.errors.EnumErrorCode; import forestry.core.inventory.AdjacentInventoryCache; import forestry.core.inventory.IInventoryAdapter; @@ -40,6 +39,7 @@ import forestry.core.tiles.TileEngine; import forestry.core.utils.InventoryUtil; import forestry.energy.inventory.InventoryEnginePeat; import forestry.factory.triggers.FactoryTriggers; +import forestry.plugins.PluginCore; import buildcraft.api.statements.ITriggerExternal; @@ -75,14 +75,16 @@ public class TileEnginePeat extends TileEngine implements ISidedInventory { private int getFreeWasteSlot() { IInventoryAdapter inventory = getInternalInventory(); for (int i = InventoryEnginePeat.SLOT_WASTE_1; i <= InventoryEnginePeat.SLOT_WASTE_COUNT; i++) { - if (inventory.getStackInSlot(i) == null) { + ItemStack waste = inventory.getStackInSlot(i); + if (waste == null) { return i; } - if (!ForestryItem.ash.isItemEqual(inventory.getStackInSlot(i))) { + + if (waste.getItem() != PluginCore.items.ash) { continue; } - if (inventory.getStackInSlot(i).stackSize < 64) { + if (waste.stackSize < 64) { return i; } } @@ -182,7 +184,7 @@ public class TileEnginePeat extends TileEngine implements ISidedInventory { if (wasteSlot >= 0) { IInventoryAdapter inventory = getInternalInventory(); if (inventory.getStackInSlot(wasteSlot) == null) { - inventory.setInventorySlotContents(wasteSlot, ForestryItem.ash.getItemStack()); + inventory.setInventorySlotContents(wasteSlot, PluginCore.items.ash.getItemStack()); } else { inventory.getStackInSlot(wasteSlot).stackSize++; } diff --git a/src/main/java/forestry/farming/logic/CropPeat.java b/src/main/java/forestry/farming/logic/CropPeat.java index aa626287b..e59341e4a 100755 --- a/src/main/java/forestry/farming/logic/CropPeat.java +++ b/src/main/java/forestry/farming/logic/CropPeat.java @@ -20,9 +20,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import forestry.core.blocks.BlockSoil; -import forestry.core.config.ForestryItem; import forestry.core.proxy.Proxies; import forestry.core.utils.vect.Vect; +import forestry.plugins.PluginCore; public class CropPeat extends Crop { @@ -33,7 +33,7 @@ public class CropPeat extends Crop { @Override protected boolean isCrop(Vect pos) { Block block = getBlock(pos); - if (block == null || !(block instanceof BlockSoil)) { + if (!(block instanceof BlockSoil)) { return false; } @@ -45,7 +45,7 @@ public class CropPeat extends Crop { @Override protected Collection harvestBlock(Vect pos) { List drops = new ArrayList<>(); - drops.add(ForestryItem.peat.getItemStack()); + drops.add(PluginCore.items.peat.getItemStack()); Proxies.common.addBlockDestroyEffects(world, pos.x, pos.y, pos.z, world.getBlock(pos.x, pos.y, pos.z), 0); setBlock(pos, Blocks.dirt, 0); diff --git a/src/main/java/forestry/farming/logic/FarmLogicOrchard.java b/src/main/java/forestry/farming/logic/FarmLogicOrchard.java index fdc57eed6..edd440ffe 100755 --- a/src/main/java/forestry/farming/logic/FarmLogicOrchard.java +++ b/src/main/java/forestry/farming/logic/FarmLogicOrchard.java @@ -37,9 +37,9 @@ import forestry.api.farming.ICrop; import forestry.api.farming.IFarmHousing; import forestry.api.farming.IFarmable; import forestry.api.genetics.IFruitBearer; -import forestry.core.config.ForestryItem; import forestry.core.utils.vect.Vect; import forestry.core.utils.vect.VectUtil; +import forestry.plugins.PluginCore; import forestry.plugins.PluginManager; public class FarmLogicOrchard extends FarmLogic { @@ -127,7 +127,7 @@ public class FarmLogicOrchard extends FarmLogic { @Override @SideOnly(Side.CLIENT) public IIcon getIcon() { - return ForestryItem.fruits.item().getIconFromDamage(0); + return PluginCore.items.fruits.getIconFromDamage(0); } @Override diff --git a/src/main/java/forestry/farming/logic/FarmLogicPeat.java b/src/main/java/forestry/farming/logic/FarmLogicPeat.java index 9a79e2be0..7eb88f285 100755 --- a/src/main/java/forestry/farming/logic/FarmLogicPeat.java +++ b/src/main/java/forestry/farming/logic/FarmLogicPeat.java @@ -26,9 +26,9 @@ import forestry.api.farming.ICrop; import forestry.api.farming.IFarmHousing; import forestry.core.blocks.BlockSoil; import forestry.core.config.ForestryBlock; -import forestry.core.config.ForestryItem; import forestry.core.utils.vect.Vect; import forestry.core.utils.vect.VectUtil; +import forestry.plugins.PluginCore; public class FarmLogicPeat extends FarmLogicWatered { @@ -106,7 +106,7 @@ public class FarmLogicPeat extends FarmLogicWatered { @Override @SideOnly(Side.CLIENT) public IIcon getIcon() { - return ForestryItem.peat.item().getIconFromDamage(0); + return PluginCore.items.peat.getIconFromDamage(0); } } diff --git a/src/main/java/forestry/plugins/PluginApiculture.java b/src/main/java/forestry/plugins/PluginApiculture.java index 8c0eca612..ce0310a3c 100644 --- a/src/main/java/forestry/plugins/PluginApiculture.java +++ b/src/main/java/forestry/plugins/PluginApiculture.java @@ -124,6 +124,7 @@ import forestry.core.config.ForestryItem; import forestry.core.config.LocalizedConfiguration; import forestry.core.entities.EntityFXSnow; import forestry.core.fluids.Fluids; +import forestry.core.items.EnumElectronTube; import forestry.core.items.ItemBlockForestry; import forestry.core.items.ItemForestry; import forestry.core.items.ItemOverlay; @@ -290,7 +291,7 @@ public class PluginApiculture extends ForestryPlugin { "###", 'X', "slabWood", '#', "plankWood", - 'C', ForestryItem.impregnatedCasing)) + 'C', PluginCore.items.impregnatedCasing)) .setFaces(0, 1, 2, 2, 4, 4, 0, 7)); definitionChestLegacy = ((BlockBase) ForestryBlock.apiculture.block()).addDefinition(new MachineDefinition(Constants.DEFINITION_APIARISTCHEST_LEGACY_META, "forestry.ApiaristChest", TileApiaristChest.class).setLegacy()); @@ -520,7 +521,7 @@ public class PluginApiculture extends ForestryPlugin { @Override protected void registerCrates() { ICrateRegistry crateRegistry = StorageManager.crateRegistry; - crateRegistry.registerCrate(ForestryItem.beeswax.getItemStack(), "cratedBeeswax"); + crateRegistry.registerCrate(PluginCore.items.beeswax.getItemStack(), "cratedBeeswax"); crateRegistry.registerCrate(ForestryItem.pollenCluster.getItemStack(), "cratedPollen"); crateRegistry.registerCrate(ForestryItem.propolis.getItemStack(), "cratedPropolis"); crateRegistry.registerCrate(ForestryItem.honeydew.getItemStack(), "cratedHoneydew"); @@ -540,25 +541,26 @@ public class PluginApiculture extends ForestryPlugin { crateRegistry.registerCrate(ForestryItem.beeComb.getItemStack(1, 15), "cratedMossyCombs"); crateRegistry.registerCrate(ForestryItem.beeComb.getItemStack(1, 16), "cratedMellowCombs"); - crateRegistry.registerCrate(ForestryItem.refractoryWax.getItemStack(), "cratedRefractoryWax"); + crateRegistry.registerCrate(PluginCore.items.refractoryWax.getItemStack(), "cratedRefractoryWax"); } @Override protected void registerRecipes() { // / APIARIST'S ARMOR + ItemStack wovenSilk = PluginCore.items.craftingMaterial.getWovenSilk(); RecipeUtil.addRecipe(ForestryItem.apiaristHat.getItemStack(), "###", "# #", - '#', ForestryItem.craftingMaterial.getItemStack(1, 3)); + '#', wovenSilk); RecipeUtil.addRecipe(ForestryItem.apiaristChest.getItemStack(), "# #", "###", "###", - '#', ForestryItem.craftingMaterial.getItemStack(1, 3)); + '#', wovenSilk); RecipeUtil.addRecipe(ForestryItem.apiaristLegs.getItemStack(), "###", "# #", "# #", - '#', ForestryItem.craftingMaterial.getItemStack(1, 3)); + '#', wovenSilk); RecipeUtil.addRecipe(ForestryItem.apiaristBoots.getItemStack(), "# #", "# #", - '#', ForestryItem.craftingMaterial.getItemStack(1, 3)); + '#', wovenSilk); // / HABITAT LOCATOR RecipeUtil.addRecipe(ForestryItem.habitatLocator.getItemStack(), @@ -587,7 +589,7 @@ public class PluginApiculture extends ForestryPlugin { 'S', Items.string); RecipeUtil.addRecipe(ForestryItem.frameImpregnated.getItemStack(), "###", "#S#", "###", - '#', ForestryItem.stickImpregnated, + '#', PluginCore.items.stickImpregnated, 'S', Items.string); RecipeUtil.addRecipe(ForestryItem.minecartBeehouse.getItemStack(1, 0), "B", @@ -622,22 +624,22 @@ public class PluginApiculture extends ForestryPlugin { } // / CAPSULES - RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.capsule"), "###", '#', ForestryItem.beeswax); - RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.refractory"), "###", '#', ForestryItem.refractoryWax); + RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.capsule"), "###", '#', PluginCore.items.beeswax); + RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.refractory"), "###", '#', PluginCore.items.refractoryWax); // / BITUMINOUS PEAT - RecipeUtil.addRecipe(ForestryItem.bituminousPeat.getItemStack(), + RecipeUtil.addRecipe(PluginCore.items.bituminousPeat.getItemStack(), " # ", "XYX", " # ", '#', "dustAsh", - 'X', ForestryItem.peat, + 'X', PluginCore.items.peat, 'Y', ForestryItem.propolis); // / TORCHES RecipeUtil.addRecipe(new ItemStack(Blocks.torch, 3), " # ", " # ", " Y ", - '#', ForestryItem.beeswax, + '#', PluginCore.items.beeswax, 'Y', "stickWood"); - RecipeUtil.addRecipe(ForestryItem.craftingMaterial.getItemStack(1, 1), + RecipeUtil.addRecipe(PluginCore.items.craftingMaterial.getPulsatingMesh(), "# #", " # ", "# #", '#', ForestryItem.propolis.getItemStack(1, 2)); @@ -646,21 +648,21 @@ public class PluginApiculture extends ForestryPlugin { "###", "# #", "###", - '#', ForestryItem.beeswax); + '#', PluginCore.items.beeswax); // / ALVEARY RecipeUtil.addRecipe(ForestryBlock.alveary.getItemStack(1, TileAlveary.PLAIN_META), "###", "#X#", "###", - 'X', ForestryItem.impregnatedCasing, - '#', ForestryItem.craftingMaterial.getItemStack(1, 6)); + 'X', PluginCore.items.impregnatedCasing, + '#', PluginCore.items.craftingMaterial.getScentedPaneling()); // SWARMER RecipeUtil.addRecipe(ForestryBlock.alveary.getItemStack(1, TileAlveary.SWARMER_META), "#G#", " X ", "#G#", - '#', ForestryItem.tubes.getItemStack(1, 5), + '#', PluginCore.items.tubes.get(EnumElectronTube.DIAMOND, 1), 'X', ForestryBlock.alveary, 'G', "ingotGold"); // FAN @@ -668,7 +670,7 @@ public class PluginApiculture extends ForestryPlugin { "I I", " X ", "I#I", - '#', ForestryItem.tubes.getItemStack(1, 4), + '#', PluginCore.items.tubes.get(EnumElectronTube.GOLD, 1), 'X', ForestryBlock.alveary, 'I', "ingotIron"); // HEATER @@ -676,7 +678,7 @@ public class PluginApiculture extends ForestryPlugin { "#I#", " X ", "YYY", - '#', ForestryItem.tubes.getItemStack(1, 4), + '#', PluginCore.items.tubes.get(EnumElectronTube.GOLD, 1), 'X', ForestryBlock.alveary, 'I', "ingotIron", 'Y', "stone"); // HYGROREGULATOR @@ -701,16 +703,16 @@ public class PluginApiculture extends ForestryPlugin { "WWW", 'X', ForestryBlock.alveary, 'I', "ingotIron", - 'W', ForestryItem.craftingMaterial.getItemStack(1, 3)); + 'W', PluginCore.items.craftingMaterial.getWovenSilk()); if (PluginManager.Module.FACTORY.isEnabled()) { // / SQUEEZER RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{ForestryItem.honeyDrop.getItemStack()}, Fluids.HONEY.getFluid(Constants.FLUID_PER_HONEY_DROP), ForestryItem.propolis.getItemStack(), 5); RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{ForestryItem.honeydew.getItemStack()}, Fluids.HONEY.getFluid(Constants.FLUID_PER_HONEY_DROP)); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{ForestryItem.phosphor.getItemStack(2), new ItemStack(Blocks.sand)}, Fluids.LAVA.getFluid(2000)); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{ForestryItem.phosphor.getItemStack(2), new ItemStack(Blocks.sand, 1, 1)}, Fluids.LAVA.getFluid(2000)); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{ForestryItem.phosphor.getItemStack(2), new ItemStack(Blocks.dirt)}, Fluids.LAVA.getFluid(1600)); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{PluginCore.items.phosphor.getItemStack(2), new ItemStack(Blocks.sand)}, Fluids.LAVA.getFluid(2000)); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{PluginCore.items.phosphor.getItemStack(2), new ItemStack(Blocks.sand, 1, 1)}, Fluids.LAVA.getFluid(2000)); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{PluginCore.items.phosphor.getItemStack(2), new ItemStack(Blocks.dirt)}, Fluids.LAVA.getFluid(1600)); // / CARPENTER RecipeManagers.carpenterManager.addRecipe(100, Fluids.WATER.getFluid(2000), null, ForestryItem.beealyzer.getItemStack(), @@ -719,43 +721,43 @@ public class PluginApiculture extends ForestryPlugin { 'X', "ingotTin", 'R', "dustRedstone", 'D', "gemDiamond"); - RecipeManagers.carpenterManager.addRecipe(50, Fluids.HONEY.getFluid(500), null, ForestryItem.craftingMaterial.getItemStack(1, 6), + RecipeManagers.carpenterManager.addRecipe(50, Fluids.HONEY.getFluid(500), null, PluginCore.items.craftingMaterial.getScentedPaneling(), " J ", "###", "WPW", '#', "plankWood", 'J', ForestryItem.royalJelly, - 'W', ForestryItem.beeswax, + 'W', PluginCore.items.beeswax, 'P', ForestryItem.pollenCluster); RecipeManagers.carpenterManager.addRecipe(30, Fluids.WATER.getFluid(600), null, ForestryBlock.candle.getItemStack(24), " X ", "###", "###", - '#', ForestryItem.beeswax, + '#', PluginCore.items.beeswax, 'X', Items.string); RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(200), null, ForestryBlock.candle.getItemStack(6), "#X#", - '#', ForestryItem.beeswax, - 'X', ForestryItem.craftingMaterial.getItemStack(1, 2)); + '#', PluginCore.items.beeswax, + 'X', PluginCore.items.craftingMaterial.getSilkWisp()); RecipeUtil.addShapelessRecipe(ForestryBlock.candle.getItemStack(), ForestryBlock.candle.getItemStack()); RecipeUtil.addShapelessRecipe(ForestryBlock.candle.getItemStack(1, 1), ForestryBlock.candle.getItemStack(1, 1)); // / CENTRIFUGE // Honey combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 0), ImmutableMap.of( - ForestryItem.beeswax.getItemStack(), 1.0f, + PluginCore.items.beeswax.getItemStack(), 1.0f, ForestryItem.honeyDrop.getItemStack(), 0.9f )); // Cocoa combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 1), ImmutableMap.of( - ForestryItem.beeswax.getItemStack(), 1.0f, + PluginCore.items.beeswax.getItemStack(), 1.0f, new ItemStack(Items.dye, 1, 3), 0.5f )); // Simmering combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 2), ImmutableMap.of( - ForestryItem.refractoryWax.getItemStack(), 1.0f, - ForestryItem.phosphor.getItemStack(2), 0.7f + PluginCore.items.refractoryWax.getItemStack(), 1.0f, + PluginCore.items.phosphor.getItemStack(2), 0.7f )); // Stringy combs @@ -772,7 +774,7 @@ public class PluginApiculture extends ForestryPlugin { // Frozen combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 4), ImmutableMap.of( - ForestryItem.beeswax.getItemStack(), 0.8f, + PluginCore.items.beeswax.getItemStack(), 0.8f, ForestryItem.honeyDrop.getItemStack(), 0.7f, new ItemStack(Items.snowball), 0.4f, ForestryItem.pollenCluster.getItemStack(1, 1), 0.2f @@ -786,7 +788,7 @@ public class PluginApiculture extends ForestryPlugin { // Parched combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 7), ImmutableMap.of( - ForestryItem.beeswax.getItemStack(), 1.0f, + PluginCore.items.beeswax.getItemStack(), 1.0f, ForestryItem.honeyDrop.getItemStack(), 0.9f )); @@ -803,33 +805,33 @@ public class PluginApiculture extends ForestryPlugin { // Powdery combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 10), ImmutableMap.of( ForestryItem.honeyDrop.getItemStack(), 0.2f, - ForestryItem.beeswax.getItemStack(), 0.2f, + PluginCore.items.beeswax.getItemStack(), 0.2f, new ItemStack(Items.gunpowder), 0.9f )); // Wheaten Combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 14), ImmutableMap.of( ForestryItem.honeyDrop.getItemStack(), 0.2f, - ForestryItem.beeswax.getItemStack(), 0.2f, + PluginCore.items.beeswax.getItemStack(), 0.2f, new ItemStack(Items.wheat), 0.8f )); // Mossy Combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 15), ImmutableMap.of( - ForestryItem.beeswax.getItemStack(), 1.0f, + PluginCore.items.beeswax.getItemStack(), 1.0f, ForestryItem.honeyDrop.getItemStack(), 0.9f )); // Mellow Combs RecipeManagers.centrifugeManager.addRecipe(20, ForestryItem.beeComb.getItemStack(1, 16), ImmutableMap.of( ForestryItem.honeydew.getItemStack(), 0.6f, - ForestryItem.beeswax.getItemStack(), 0.2f, + PluginCore.items.beeswax.getItemStack(), 0.2f, new ItemStack(Items.quartz), 0.3f )); // Silky Propolis RecipeManagers.centrifugeManager.addRecipe(5, ForestryItem.propolis.getItemStack(1, 3), ImmutableMap.of( - ForestryItem.craftingMaterial.getItemStack(1, 2), 0.6f, + PluginCore.items.craftingMaterial.getSilkWisp(), 0.6f, ForestryItem.propolis.getItemStack(), 0.1f )); @@ -849,8 +851,20 @@ public class PluginApiculture extends ForestryPlugin { private static IRecipe[] createAlyzerRecipes(Block block, int meta) { ArrayList recipes = new ArrayList<>(); - recipes.add(ShapedRecipeCustom.createShapedRecipe(new ItemStack(block, 1, meta), "XTX", " Y ", "X X", 'Y', ForestryItem.sturdyCasing, 'T', ForestryItem.beealyzer, 'X', "ingotBronze")); - recipes.add(ShapedRecipeCustom.createShapedRecipe(new ItemStack(block, 1, meta), "XTX", " Y ", "X X", 'Y', ForestryItem.sturdyCasing, 'T', ForestryItem.treealyzer, 'X', "ingotBronze")); + recipes.add(ShapedRecipeCustom.createShapedRecipe(new ItemStack(block, 1, meta), + "XTX", + " Y ", + "X X", + 'Y', PluginCore.items.sturdyCasing, + 'T', ForestryItem.beealyzer, + 'X', "ingotBronze")); + recipes.add(ShapedRecipeCustom.createShapedRecipe(new ItemStack(block, 1, meta), + "XTX", + " Y ", + "X X", + 'Y', PluginCore.items.sturdyCasing, + 'T', ForestryItem.treealyzer, + 'X', "ingotBronze")); return recipes.toArray(new IRecipe[recipes.size()]); } @@ -953,11 +967,6 @@ public class PluginApiculture extends ForestryPlugin { return secondPrincessChance; } - private static void parseBeeBlacklist(String list) { - String[] items = list.split("[;]+"); - parseBeeBlacklist(items); - } - private static void parseBeeBlacklist(String[] items) { for (String item : items) { if (item.isEmpty()) { diff --git a/src/main/java/forestry/plugins/PluginArboriculture.java b/src/main/java/forestry/plugins/PluginArboriculture.java index 2aedcb218..185b4a10c 100644 --- a/src/main/java/forestry/plugins/PluginArboriculture.java +++ b/src/main/java/forestry/plugins/PluginArboriculture.java @@ -349,7 +349,7 @@ public class PluginArboriculture extends ForestryPlugin { " # ", "#X#", " # ", - '#', ForestryItem.refractoryWax, + '#', PluginCore.items.refractoryWax, 'X', logs.copy()})); planks.stackSize = 1; @@ -358,7 +358,7 @@ public class PluginArboriculture extends ForestryPlugin { "X#X", "#X#", "X#X", - '#', ForestryItem.refractoryWax, + '#', PluginCore.items.refractoryWax, 'X', planks.copy()})); } } @@ -375,13 +375,14 @@ public class PluginArboriculture extends ForestryPlugin { int seedOilMultiplier = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.seed"); int juiceMultiplier = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple"); int mulchMultiplier = ForestryAPI.activeMode.getIntegerSetting("squeezer.mulch.apple"); - RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[]{EnumFruit.CHERRY.getStack()}, Fluids.SEEDOIL.getFluid(5 * seedOilMultiplier), ForestryItem.mulch.getItemStack(), 5); - RecipeManagers.squeezerManager.addRecipe(60, new ItemStack[]{EnumFruit.WALNUT.getStack()}, Fluids.SEEDOIL.getFluid(18 * seedOilMultiplier), ForestryItem.mulch.getItemStack(), 5); - RecipeManagers.squeezerManager.addRecipe(70, new ItemStack[]{EnumFruit.CHESTNUT.getStack()}, Fluids.SEEDOIL.getFluid(22 * seedOilMultiplier), ForestryItem.mulch.getItemStack(), 2); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.LEMON.getStack()}, Fluids.JUICE.getFluid(juiceMultiplier * 2), ForestryItem.mulch.getItemStack(), (int) Math.floor(mulchMultiplier * 0.5f)); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.PLUM.getStack()}, Fluids.JUICE.getFluid((int) Math.floor(juiceMultiplier * 0.5f)), ForestryItem.mulch.getItemStack(), mulchMultiplier * 3); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.PAPAYA.getStack()}, Fluids.JUICE.getFluid(juiceMultiplier * 3), ForestryItem.mulch.getItemStack(), (int) Math.floor(mulchMultiplier * 0.5f)); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.DATES.getStack()}, Fluids.JUICE.getFluid((int) Math.floor(juiceMultiplier * 0.25)), ForestryItem.mulch.getItemStack(), mulchMultiplier); + ItemStack mulch = new ItemStack(PluginCore.items.mulch); + RecipeManagers.squeezerManager.addRecipe(20, new ItemStack[]{EnumFruit.CHERRY.getStack()}, Fluids.SEEDOIL.getFluid(5 * seedOilMultiplier), mulch, 5); + RecipeManagers.squeezerManager.addRecipe(60, new ItemStack[]{EnumFruit.WALNUT.getStack()}, Fluids.SEEDOIL.getFluid(18 * seedOilMultiplier), mulch, 5); + RecipeManagers.squeezerManager.addRecipe(70, new ItemStack[]{EnumFruit.CHESTNUT.getStack()}, Fluids.SEEDOIL.getFluid(22 * seedOilMultiplier), mulch, 2); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.LEMON.getStack()}, Fluids.JUICE.getFluid(juiceMultiplier * 2), mulch, (int) Math.floor(mulchMultiplier * 0.5f)); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.PLUM.getStack()}, Fluids.JUICE.getFluid((int) Math.floor(juiceMultiplier * 0.5f)), mulch, mulchMultiplier * 3); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.PAPAYA.getStack()}, Fluids.JUICE.getFluid(juiceMultiplier * 3), mulch, (int) Math.floor(mulchMultiplier * 0.5f)); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{EnumFruit.DATES.getStack()}, Fluids.JUICE.getFluid((int) Math.floor(juiceMultiplier * 0.25)), mulch, mulchMultiplier); RecipeUtil.addFermenterRecipes(ForestryItem.sapling.getItemStack(), ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.sapling"), Fluids.BIOMASS); } diff --git a/src/main/java/forestry/plugins/PluginBiomesOPlenty.java b/src/main/java/forestry/plugins/PluginBiomesOPlenty.java index 61c3f9b06..7c75023fb 100644 --- a/src/main/java/forestry/plugins/PluginBiomesOPlenty.java +++ b/src/main/java/forestry/plugins/PluginBiomesOPlenty.java @@ -29,7 +29,6 @@ import forestry.api.farming.Farmables; import forestry.api.recipes.RecipeManagers; import forestry.api.storage.BackpackManager; import forestry.core.config.Constants; -import forestry.core.config.ForestryItem; import forestry.core.fluids.Fluids; import forestry.core.recipes.RecipeUtil; import forestry.core.utils.Log; @@ -125,12 +124,13 @@ public class PluginBiomesOPlenty extends ForestryPlugin { } private static void addSqueezerRecipes() { + ItemStack mulch = new ItemStack(PluginCore.items.mulch); if (food != null) { - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(food)}, Fluids.JUICE.getFluid(50), ForestryItem.mulch.getItemStack(), 5); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(food)}, Fluids.JUICE.getFluid(50), mulch, 5); } if (persimmon != null) { - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{persimmon}, Fluids.JUICE.getFluid(200), ForestryItem.mulch.getItemStack(), 20); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{persimmon}, Fluids.JUICE.getFluid(200), mulch, 20); } } diff --git a/src/main/java/forestry/plugins/PluginBuildCraftTransport.java b/src/main/java/forestry/plugins/PluginBuildCraftTransport.java index 6de5057a2..aa914087e 100644 --- a/src/main/java/forestry/plugins/PluginBuildCraftTransport.java +++ b/src/main/java/forestry/plugins/PluginBuildCraftTransport.java @@ -16,7 +16,6 @@ import net.minecraft.item.ItemStack; import cpw.mods.fml.common.registry.GameRegistry; import forestry.core.config.Constants; -import forestry.core.config.ForestryItem; import forestry.core.recipes.RecipeUtil; import forestry.core.utils.Log; import forestry.core.utils.ModUtil; @@ -38,14 +37,12 @@ public class PluginBuildCraftTransport extends ForestryPlugin { @Override protected void registerRecipes() { - Item beeswax = ForestryItem.beeswax.item(); - if (beeswax != null) { - Item pipeWaterproof = GameRegistry.findItem(BCT, "pipeWaterproof"); - if (pipeWaterproof != null) { - RecipeUtil.addShapelessRecipe(new ItemStack(pipeWaterproof), beeswax); - } else { - Log.fine("No BuildCraft pipe waterproof found."); - } + Item beeswax = PluginCore.items.beeswax; + Item pipeWaterproof = GameRegistry.findItem(BCT, "pipeWaterproof"); + if (pipeWaterproof != null) { + RecipeUtil.addShapelessRecipe(new ItemStack(pipeWaterproof), beeswax); + } else { + Log.fine("No BuildCraft pipe waterproof found."); } } } diff --git a/src/main/java/forestry/plugins/PluginCore.java b/src/main/java/forestry/plugins/PluginCore.java index 7492980eb..46b05a607 100644 --- a/src/main/java/forestry/plugins/PluginCore.java +++ b/src/main/java/forestry/plugins/PluginCore.java @@ -10,14 +10,12 @@ ******************************************************************************/ package forestry.plugins; -import java.awt.Color; import java.util.ArrayList; import net.minecraft.block.material.Material; import net.minecraft.command.ICommand; import net.minecraft.init.Blocks; import net.minecraft.init.Items; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; @@ -27,12 +25,10 @@ import cpw.mods.fml.common.IFuelHandler; import forestry.api.circuits.ChipsetManager; import forestry.api.core.ForestryAPI; -import forestry.api.core.Tabs; import forestry.api.genetics.AlleleManager; import forestry.api.multiblock.MultiblockManager; import forestry.api.storage.ICrateRegistry; import forestry.api.storage.StorageManager; -import forestry.core.CreativeTabForestry; import forestry.core.GuiHandlerBase; import forestry.core.IPickupHandler; import forestry.core.ISaveEventHandler; @@ -43,7 +39,6 @@ import forestry.core.blocks.BlockResourceOre; import forestry.core.blocks.BlockResourceStorage; import forestry.core.blocks.BlockSoil; import forestry.core.circuits.CircuitRegistry; -import forestry.core.circuits.ItemCircuitBoard; import forestry.core.circuits.SolderManager; import forestry.core.commands.CommandPlugins; import forestry.core.commands.CommandVersion; @@ -52,26 +47,13 @@ import forestry.core.config.Config; import forestry.core.config.Constants; import forestry.core.config.ForestryBlock; import forestry.core.config.ForestryItem; -import forestry.core.genetics.ItemResearchNote; import forestry.core.genetics.alleles.AlleleFactory; import forestry.core.genetics.alleles.AlleleHelper; import forestry.core.genetics.alleles.AlleleRegistry; -import forestry.core.items.ItemArmorNaturalist; -import forestry.core.items.ItemAssemblyKit; import forestry.core.items.ItemBlockForestry; import forestry.core.items.ItemBlockTyped; -import forestry.core.items.ItemElectronTube; -import forestry.core.items.ItemForestry; -import forestry.core.items.ItemForestryBonemeal; -import forestry.core.items.ItemForestryTool; -import forestry.core.items.ItemFruit; -import forestry.core.items.ItemMisc; -import forestry.core.items.ItemOverlay.OverlayInfo; -import forestry.core.items.ItemPipette; -import forestry.core.items.ItemSolderingIron; -import forestry.core.items.ItemWrench; +import forestry.core.items.ItemRegistryCore; import forestry.core.multiblock.MultiblockLogicFactory; -import forestry.core.network.GuiId; import forestry.core.network.IPacketRegistry; import forestry.core.network.PacketRegistryCore; import forestry.core.proxy.Proxies; @@ -89,6 +71,7 @@ public class PluginCore extends ForestryPlugin { private static MachineDefinition definitionEscritoire; public static final RootCommand rootCommand = new RootCommand(); + public static ItemRegistryCore items; @Override protected void setupAPI() { @@ -111,128 +94,7 @@ public class PluginCore extends ForestryPlugin { @Override protected void registerItemsAndBlocks() { - // / FERTILIZERS - ForestryItem.fertilizerBio.registerItem(new ItemForestry(), "fertilizerBio"); - ForestryItem.fertilizerCompound.registerItem(new ItemForestryBonemeal(), "fertilizerCompound"); - - // / GEMS - ForestryItem.apatite.registerItem(new ItemForestry(), "apatite"); - OreDictionary.registerOre("gemApatite", ForestryItem.apatite.getItemStack()); - - ForestryItem.researchNote.registerItem(new ItemResearchNote(), "researchNote"); - - // / INGOTS - ForestryItem.ingotCopper.registerItem(new ItemForestry(), "ingotCopper"); - ForestryItem.ingotTin.registerItem(new ItemForestry(), "ingotTin"); - ForestryItem.ingotBronze.registerItem(new ItemForestry(), "ingotBronze"); - - OreDictionary.registerOre("ingotCopper", ForestryItem.ingotCopper.getItemStack()); - OreDictionary.registerOre("ingotTin", ForestryItem.ingotTin.getItemStack()); - OreDictionary.registerOre("ingotBronze", ForestryItem.ingotBronze.getItemStack()); - - // / TOOLS - ForestryItem.wrench.registerItem((new ItemWrench()), "wrench"); - ForestryItem.pipette.registerItem(new ItemPipette(), "pipette"); - - // / MACHINES - ForestryItem.sturdyCasing.registerItem((new ItemForestry()), "sturdyMachine"); - ForestryItem.hardenedCasing.registerItem((new ItemForestry()), "hardenedMachine"); - ForestryItem.impregnatedCasing.registerItem((new ItemForestry()), "impregnatedCasing"); - - ForestryItem.craftingMaterial.registerItem(new ItemMisc(), "craftingMaterial"); - - /* ARMOR */ - ForestryItem.naturalistHat.registerItem(new ItemArmorNaturalist(), "naturalistHelmet"); - - // / PEAT PRODUCTION - ForestryItem.peat.registerItem((new ItemForestry()), "peat"); - OreDictionary.registerOre("brickPeat", ForestryItem.peat.getItemStack()); - - ForestryItem.ash.registerItem((new ItemForestry()), "ash"); - OreDictionary.registerOre("dustAsh", ForestryItem.ash.getItemStack()); - - RecipeUtil.addSmelting(ForestryItem.peat.getItemStack(), ForestryItem.ash.getItemStack(), 0.0f); - ForestryItem.bituminousPeat.registerItem(new ItemForestry(), "bituminousPeat"); - - // / GEARS - ForestryItem.gearBronze.registerItem((new ItemForestry()), "gearBronze"); - OreDictionary.registerOre("gearBronze", ForestryItem.gearBronze.getItemStack()); - ForestryItem.gearCopper.registerItem((new ItemForestry()), "gearCopper"); - OreDictionary.registerOre("gearCopper", ForestryItem.gearCopper.getItemStack()); - ForestryItem.gearTin.registerItem((new ItemForestry()), "gearTin"); - OreDictionary.registerOre("gearTin", ForestryItem.gearTin.getItemStack()); - - // / CIRCUIT BOARDS - ForestryItem.circuitboards.registerItem(new ItemCircuitBoard(), "chipsets"); - Item solderingIron = new ItemSolderingIron(GuiId.SolderingIronGUI).setMaxDamage(5).setFull3D(); - ForestryItem.solderingIron.registerItem(solderingIron, "solderingIron"); - - Color tubeCoverNormal = Color.WHITE; - Color tubeCoverGold = new Color(0xFFF87E); - Color tubeCoverEnder = new Color(0x255661); - - ForestryItem.tubes.registerItem(new ItemElectronTube(CreativeTabForestry.tabForestry, - new OverlayInfo("ex-0", tubeCoverNormal, new Color(0xe3b78e)), - new OverlayInfo("ex-1", tubeCoverNormal, new Color(0xE6F8FF)), - new OverlayInfo("ex-2", tubeCoverNormal, new Color(0xddc276)), - new OverlayInfo("ex-3", tubeCoverNormal, new Color(0xCCCCCC)), - new OverlayInfo("ex-4", tubeCoverNormal, new Color(0xffff8b)), - new OverlayInfo("ex-5", tubeCoverNormal, new Color(0x8CF5E3)), - new OverlayInfo("ex-6", tubeCoverNormal, new Color(0x866bc0)), - new OverlayInfo("ex-7", tubeCoverGold, new Color(0xd96600)), - new OverlayInfo("ex-8", tubeCoverNormal, new Color(0x444444)), - new OverlayInfo("ex-9", tubeCoverNormal, new Color(0x00CC41)), - new OverlayInfo("ex-10", tubeCoverNormal, new Color(0x579CD9)), - new OverlayInfo("ex-11", tubeCoverNormal, new Color(0x1c57c6)), - new OverlayInfo("ex-12", tubeCoverEnder, new Color(0x33adad)) - ), "thermionicTubes"); - - // / CARTONS - ForestryItem.carton.registerItem((new ItemForestry()), "carton"); - - // / CRAFTING CARPENTER - ForestryItem.stickImpregnated.registerItem((new ItemForestry()), "oakStick"); - ForestryItem.woodPulp.registerItem((new ItemForestry()), "woodPulp"); - OreDictionary.registerOre("pulpWood", ForestryItem.woodPulp.getItemStack()); - - // / RECLAMATION - ForestryItem.brokenBronzePickaxe.registerItem((new ItemForestry()), "brokenBronzePickaxe"); - ForestryItem.brokenBronzeShovel.registerItem((new ItemForestry()), "brokenBronzeShovel"); - - // / TOOLS - final ItemStack remnants = ForestryItem.brokenBronzePickaxe.getItemStack(); - ForestryItem.bronzePickaxe.registerItem(new ItemForestryTool(remnants), "bronzePickaxe"); - ForestryItem.bronzePickaxe.item().setHarvestLevel("pickaxe", 3); - - final ItemStack remnants1 = ForestryItem.brokenBronzeShovel.getItemStack(); - ForestryItem.bronzeShovel.registerItem(new ItemForestryTool(remnants1), "bronzeShovel"); - ForestryItem.bronzeShovel.item().setHarvestLevel("shovel", 3); - - // / ASSEMBLY KITS - ForestryItem.kitShovel.registerItem(new ItemAssemblyKit(ForestryItem.bronzeShovel.getItemStack()), "kitShovel"); - ForestryItem.kitPickaxe.registerItem(new ItemAssemblyKit(ForestryItem.bronzePickaxe.getItemStack()), "kitPickaxe"); - - // / MOISTENER RESOURCES - ForestryItem.mouldyWheat.registerItem((new ItemForestry()), "mouldyWheat"); - ForestryItem.decayingWheat.registerItem((new ItemForestry()), "decayingWheat"); - ForestryItem.mulch.registerItem((new ItemForestry()), "mulch"); - - // / RAINMAKER SUBSTRATES - ForestryItem.iodineCharge.registerItem((new ItemForestry()), "iodineCapsule"); - - ForestryItem.phosphor.registerItem((new ItemForestry()), "phosphor"); - - // / BEE RESOURCES - ForestryItem.beeswax.registerItem(new ItemForestry().setCreativeTab(Tabs.tabApiculture), "beeswax"); - OreDictionary.registerOre("itemBeeswax", ForestryItem.beeswax.getItemStack()); - - ForestryItem.refractoryWax.registerItem(new ItemForestry(), "refractoryWax"); - - // FRUITS - ForestryItem.fruits.registerItem(new ItemFruit(), "fruits"); - for (ItemFruit.EnumFruit def : ItemFruit.EnumFruit.values()) { - OreDictionary.registerOre(def.getOreDict(), def.getStack()); - } + items = new ItemRegistryCore(); ForestryBlock.core.registerBlock(new BlockBase(Material.iron, true), ItemBlockForestry.class, "core"); @@ -301,6 +163,39 @@ public class PluginCore extends ForestryPlugin { @Override protected void registerCrates() { ICrateRegistry crateRegistry = StorageManager.crateRegistry; + + // forestry items + crateRegistry.registerCrate(items.peat, "cratedPeat"); + crateRegistry.registerCrate(items.apatite, "cratedApatite"); + crateRegistry.registerCrate(items.fertilizerCompound, "cratedFertilizer"); + crateRegistry.registerCrate(items.mulch, "cratedMulch"); + crateRegistry.registerCrate(items.phosphor, "cratedPhosphor"); + crateRegistry.registerCrate(items.ash, "cratedAsh"); + crateRegistry.registerCrateUsingOreDict(items.ingotTin, "cratedTin"); + crateRegistry.registerCrateUsingOreDict(items.ingotCopper, "cratedCopper"); + crateRegistry.registerCrateUsingOreDict(items.ingotBronze, "cratedBronze"); + + // forestry blocks + crateRegistry.registerCrate(ForestryBlock.soil.getItemStack(1, 0), "cratedHumus"); + crateRegistry.registerCrate(ForestryBlock.soil.getItemStack(1, 1), "cratedBogearth"); + + // vanilla items + crateRegistry.registerCrate(Items.wheat, "cratedWheat"); + crateRegistry.registerCrate(Items.cookie, "cratedCookies"); + crateRegistry.registerCrate(Items.redstone, "cratedRedstone"); + crateRegistry.registerCrate(new ItemStack(Items.dye, 1, 4), "cratedLapis"); + crateRegistry.registerCrate(Items.reeds, "cratedReeds"); + crateRegistry.registerCrate(Items.clay_ball, "cratedClay"); + crateRegistry.registerCrate(Items.glowstone_dust, "cratedGlowstone"); + crateRegistry.registerCrate(Items.apple, "cratedApples"); + crateRegistry.registerCrate(new ItemStack(Items.nether_wart), "cratedNetherwart"); + crateRegistry.registerCrate(new ItemStack(Items.coal, 1, 1), "cratedCharcoal"); + crateRegistry.registerCrate(new ItemStack(Items.coal, 1, 0), "cratedCoal"); + crateRegistry.registerCrate(Items.wheat_seeds, "cratedSeeds"); + crateRegistry.registerCrate(Items.potato, "cratedPotatoes"); + crateRegistry.registerCrate(Items.carrot, "cratedCarrots"); + + // vanilla blocks crateRegistry.registerCrate(new ItemStack(Blocks.log, 1, 0), "cratedWood"); crateRegistry.registerCrate(new ItemStack(Blocks.log, 1, 1), "cratedSpruceWood"); crateRegistry.registerCrate(new ItemStack(Blocks.log, 1, 2), "cratedBirchWood"); @@ -319,58 +214,33 @@ public class PluginCore extends ForestryPlugin { crateRegistry.registerCrate(Blocks.netherrack, "cratedNetherrack"); crateRegistry.registerCrate(Blocks.soul_sand, "cratedSoulsand"); crateRegistry.registerCrate(Blocks.sandstone, "cratedSandstone"); - crateRegistry.registerCrate(ForestryBlock.soil.getItemStack(1, 0), "cratedHumus"); - crateRegistry.registerCrate(ForestryBlock.soil.getItemStack(1, 1), "cratedBogearth"); crateRegistry.registerCrate(Blocks.nether_brick, "cratedNetherbrick"); - crateRegistry.registerCrate(ForestryItem.peat.item(), "cratedPeat"); - crateRegistry.registerCrate(ForestryItem.apatite.item(), "cratedApatite"); - crateRegistry.registerCrate(ForestryItem.fertilizerCompound.item(), "cratedFertilizer"); - crateRegistry.registerCrate(Items.wheat, "cratedWheat"); crateRegistry.registerCrate(Blocks.mycelium, "cratedMycelium"); - crateRegistry.registerCrate(ForestryItem.mulch.item(), "cratedMulch"); - crateRegistry.registerCrate(Items.cookie, "cratedCookies"); - crateRegistry.registerCrate(Items.redstone, "cratedRedstone"); - crateRegistry.registerCrate(new ItemStack(Items.dye, 1, 4), "cratedLapis"); - crateRegistry.registerCrate(Items.reeds, "cratedReeds"); - crateRegistry.registerCrate(Items.clay_ball, "cratedClay"); - crateRegistry.registerCrate(Items.glowstone_dust, "cratedGlowstone"); - crateRegistry.registerCrate(Items.apple, "cratedApples"); - crateRegistry.registerCrate(new ItemStack(Items.nether_wart), "cratedNetherwart"); - crateRegistry.registerCrate(ForestryItem.phosphor.item(), "cratedPhosphor"); - crateRegistry.registerCrate(ForestryItem.ash.item(), "cratedAsh"); - crateRegistry.registerCrate(new ItemStack(Items.coal, 1, 1), "cratedCharcoal"); - crateRegistry.registerCrate(new ItemStack(Items.coal, 1, 0), "cratedCoal"); crateRegistry.registerCrate(Blocks.gravel, "cratedGravel"); - crateRegistry.registerCrate(Items.wheat_seeds, "cratedSeeds"); crateRegistry.registerCrate(new ItemStack(Blocks.sapling, 1, 0), "cratedSaplings"); crateRegistry.registerCrate(new ItemStack(Blocks.sapling, 1, 1), "cratedSpruceSapling"); crateRegistry.registerCrate(new ItemStack(Blocks.sapling, 1, 2), "cratedBirchSapling"); crateRegistry.registerCrate(new ItemStack(Blocks.sapling, 1, 3), "cratedJungleSapling"); crateRegistry.registerCrate(new ItemStack(Blocks.sapling, 1, 4), "cratedAcaciaSapling"); crateRegistry.registerCrate(new ItemStack(Blocks.sapling, 1, 5), "cratedDarkOakSapling"); - crateRegistry.registerCrate(Items.potato, "cratedPotatoes"); - crateRegistry.registerCrate(Items.carrot, "cratedCarrots"); - - crateRegistry.registerCrateUsingOreDict(ForestryItem.ingotTin.item(), "cratedTin"); - crateRegistry.registerCrateUsingOreDict(ForestryItem.ingotCopper.item(), "cratedCopper"); - crateRegistry.registerCrateUsingOreDict(ForestryItem.ingotBronze.item(), "cratedBronze"); } @Override protected void registerRecipes() { /* SMELTING RECIPES */ - RecipeUtil.addSmelting(ForestryBlock.resources.getItemStack(1, 0), ForestryItem.apatite.getItemStack(), 0.5f); - RecipeUtil.addSmelting(ForestryBlock.resources.getItemStack(1, 1), ForestryItem.ingotCopper.getItemStack(), 0.5f); - RecipeUtil.addSmelting(ForestryBlock.resources.getItemStack(1, 2), ForestryItem.ingotTin.getItemStack(), 0.5f); + RecipeUtil.addSmelting(ForestryBlock.resources.getItemStack(1, 0), items.apatite, 0.5f); + RecipeUtil.addSmelting(ForestryBlock.resources.getItemStack(1, 1), items.ingotCopper, 0.5f); + RecipeUtil.addSmelting(ForestryBlock.resources.getItemStack(1, 2), items.ingotTin, 0.5f); + RecipeUtil.addSmelting(new ItemStack(items.peat), items.ash, 0.0f); /* BRONZE INGOTS */ if (Config.isCraftingBronzeEnabled()) { - RecipeUtil.addShapelessRecipe(ForestryItem.ingotBronze.getItemStack(4), "ingotTin", "ingotCopper", "ingotCopper", "ingotCopper"); + RecipeUtil.addShapelessRecipe(new ItemStack(items.ingotBronze, 4), "ingotTin", "ingotCopper", "ingotCopper", "ingotCopper"); } /* STURDY MACHINE */ - RecipeUtil.addRecipe(ForestryItem.sturdyCasing.getItemStack(), "###", "# #", "###", '#', "ingotBronze"); + RecipeUtil.addRecipe(items.sturdyCasing, "###", "# #", "###", '#', "ingotBronze"); // / EMPTY CANS RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.can"), " # ", "# #", '#', "ingotTin"); @@ -383,21 +253,21 @@ public class PluginCore extends ForestryPlugin { } else { gearCenter = "ingotCopper"; } - RecipeUtil.addRecipe(ForestryItem.gearBronze.getItemStack(), " # ", "#X#", " # ", '#', "ingotBronze", 'X', gearCenter); - RecipeUtil.addRecipe(ForestryItem.gearCopper.getItemStack(), " # ", "#X#", " # ", '#', "ingotCopper", 'X', gearCenter); - RecipeUtil.addRecipe(ForestryItem.gearTin.getItemStack(), " # ", "#X#", " # ", '#', "ingotTin", 'X', gearCenter); + RecipeUtil.addRecipe(items.gearBronze, " # ", "#X#", " # ", '#', "ingotBronze", 'X', gearCenter); + RecipeUtil.addRecipe(items.gearCopper, " # ", "#X#", " # ", '#', "ingotCopper", 'X', gearCenter); + RecipeUtil.addRecipe(items.gearTin, " # ", "#X#", " # ", '#', "ingotTin", 'X', gearCenter); // / SURVIVALIST TOOLS - RecipeUtil.addRecipe(ForestryItem.bronzePickaxe.getItemStack(), " X ", " X ", "###", '#', "ingotBronze", 'X', "stickWood"); - RecipeUtil.addRecipe(ForestryItem.bronzeShovel.getItemStack(), " X ", " X ", " # ", '#', "ingotBronze", 'X', "stickWood"); - RecipeUtil.addShapelessRecipe(ForestryItem.kitPickaxe.getItemStack(), ForestryItem.bronzePickaxe, ForestryItem.carton); - RecipeUtil.addShapelessRecipe(ForestryItem.kitShovel.getItemStack(), ForestryItem.bronzeShovel, ForestryItem.carton); + RecipeUtil.addRecipe(items.bronzePickaxe, " X ", " X ", "###", '#', "ingotBronze", 'X', "stickWood"); + RecipeUtil.addRecipe(items.bronzeShovel, " X ", " X ", " # ", '#', "ingotBronze", 'X', "stickWood"); + RecipeUtil.addShapelessRecipe(items.kitPickaxe, items.bronzePickaxe, items.carton); + RecipeUtil.addShapelessRecipe(items.kitShovel, items.bronzeShovel, items.carton); /* NATURALIST'S ARMOR */ - RecipeUtil.addRecipe(ForestryItem.naturalistHat.getItemStack(), " X ", "Y Y", 'X', "ingotBronze", 'Y', "paneGlass"); + RecipeUtil.addRecipe(items.spectacles, " X ", "Y Y", 'X', "ingotBronze", 'Y', "paneGlass"); // / WRENCH - RecipeUtil.addRecipe(ForestryItem.wrench.getItemStack(), "# #", " # ", " # ", '#', "ingotBronze"); + RecipeUtil.addRecipe(items.wrench, "# #", " # ", " # ", '#', "ingotBronze"); // Manure and Fertilizer if (ForestryAPI.activeMode.getStackSetting("recipe.output.compost.wheat").stackSize > 0) { @@ -415,10 +285,10 @@ public class PluginCore extends ForestryPlugin { // Humus if (ForestryAPI.activeMode.getStackSetting("recipe.output.humus.compost").stackSize > 0) { - RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.humus.compost"), "###", "#X#", "###", '#', Blocks.dirt, 'X', ForestryItem.fertilizerBio); + RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.humus.compost"), "###", "#X#", "###", '#', Blocks.dirt, 'X', items.fertilizerBio); } if (ForestryAPI.activeMode.getStackSetting("recipe.output.humus.fertilizer").stackSize > 0) { - RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.humus.fertilizer"), "###", "#X#", "###", '#', Blocks.dirt, 'X', ForestryItem.fertilizerCompound); + RecipeUtil.addRecipe(ForestryAPI.activeMode.getStackSetting("recipe.output.humus.fertilizer"), "###", "#X#", "###", '#', Blocks.dirt, 'X', items.fertilizerCompound); } // Bog earth @@ -433,23 +303,23 @@ public class PluginCore extends ForestryPlugin { } // Crafting Material - RecipeUtil.addRecipe(new ItemStack(Items.string), "#", "#", "#", '#', ForestryItem.craftingMaterial.getItemStack(1, 2)); + RecipeUtil.addRecipe(new ItemStack(Items.string), "#", "#", "#", '#', items.craftingMaterial.getSilkWisp()); // / Pipette - RecipeUtil.addRecipe(ForestryItem.pipette.getItemStack(), " #", " X ", "X ", 'X', "paneGlass", '#', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE)); + RecipeUtil.addRecipe(items.pipette, " #", " X ", "X ", 'X', "paneGlass", '#', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE)); // Storage Blocks RecipeUtil.addRecipe(ForestryBlock.resourceStorage.getItemStack(1, 0), "###", "###", "###", '#', "gemApatite"); - RecipeUtil.addShapelessRecipe(ForestryItem.apatite.getItemStack(9), "blockApatite"); + RecipeUtil.addShapelessRecipe(new ItemStack(items.apatite, 9), "blockApatite"); RecipeUtil.addRecipe(ForestryBlock.resourceStorage.getItemStack(1, 1), "###", "###", "###", '#', "ingotCopper"); - RecipeUtil.addShapelessRecipe(ForestryItem.ingotCopper.getItemStack(9), "blockCopper"); + RecipeUtil.addShapelessRecipe(new ItemStack(items.ingotCopper, 9), "blockCopper"); RecipeUtil.addRecipe(ForestryBlock.resourceStorage.getItemStack(1, 2), "###", "###", "###", '#', "ingotTin"); - RecipeUtil.addShapelessRecipe(ForestryItem.ingotTin.getItemStack(9), "blockTin"); + RecipeUtil.addShapelessRecipe(new ItemStack(items.ingotTin, 9), "blockTin"); RecipeUtil.addRecipe(ForestryBlock.resourceStorage.getItemStack(1, 3), "###", "###", "###", '#', "ingotBronze"); - RecipeUtil.addShapelessRecipe(ForestryItem.ingotBronze.getItemStack(9), "blockBronze"); + RecipeUtil.addShapelessRecipe(new ItemStack(items.ingotBronze, 9), "blockBronze"); } @Override @@ -476,10 +346,10 @@ public class PluginCore extends ForestryPlugin { @Override public int getBurnTime(ItemStack fuel) { - if (fuel != null && fuel.getItem() == ForestryItem.peat.item()) { + if (fuel != null && fuel.getItem() == items.peat) { return 2000; } - if (fuel != null && fuel.getItem() == ForestryItem.bituminousPeat.item()) { + if (fuel != null && fuel.getItem() == items.bituminousPeat) { return 4200; } diff --git a/src/main/java/forestry/plugins/PluginExtraUtilities.java b/src/main/java/forestry/plugins/PluginExtraUtilities.java index 432883d7b..9e4091d41 100644 --- a/src/main/java/forestry/plugins/PluginExtraUtilities.java +++ b/src/main/java/forestry/plugins/PluginExtraUtilities.java @@ -24,7 +24,7 @@ import forestry.api.farming.IFarmable; import forestry.core.circuits.Circuit; import forestry.core.config.Config; import forestry.core.config.Constants; -import forestry.core.config.ForestryItem; +import forestry.core.items.EnumElectronTube; import forestry.core.utils.ModUtil; import forestry.farming.circuits.CircuitFarmLogic; import forestry.farming.logic.FarmLogicEnder; @@ -63,7 +63,7 @@ public class PluginExtraUtilities extends ForestryPlugin { if (PluginManager.Module.FARMING.isEnabled() && Config.isExUtilEnderLilyEnabled()) { ICircuitLayout layoutManaged = ChipsetManager.circuitRegistry.getLayout("forestry.farms.managed"); - ChipsetManager.solderManager.addRecipe(layoutManaged, ForestryItem.tubes.getItemStack(1, 12), Circuit.farmEnderManaged); + ChipsetManager.solderManager.addRecipe(layoutManaged, PluginCore.items.tubes.get(EnumElectronTube.ENDER, 1), Circuit.farmEnderManaged); } } } diff --git a/src/main/java/forestry/plugins/PluginFactory.java b/src/main/java/forestry/plugins/PluginFactory.java index 017163956..4eabbc26f 100644 --- a/src/main/java/forestry/plugins/PluginFactory.java +++ b/src/main/java/forestry/plugins/PluginFactory.java @@ -37,12 +37,17 @@ import forestry.core.GuiHandlerBase; import forestry.core.blocks.BlockBase; import forestry.core.circuits.Circuit; import forestry.core.circuits.CircuitLayout; +import forestry.core.circuits.EnumCircuitBoardType; +import forestry.core.circuits.ItemCircuitBoard; 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.ItemBlockNBT; +import forestry.core.items.ItemElectronTube; +import forestry.core.items.ItemRegistryCore; import forestry.core.network.IPacketRegistry; import forestry.core.proxy.Proxies; import forestry.core.recipes.RecipeUtil; @@ -155,25 +160,34 @@ public class PluginFactory extends ForestryPlugin { public void preInit() { super.preInit(); + ItemRegistryCore coreItems = PluginCore.items; + // Set fuels and resources for the fermenter - FuelManager.fermenterFuel.put(ForestryItem.fertilizerCompound.getItemStack(), new FermenterFuel(ForestryItem.fertilizerCompound.getItemStack(), + ItemStack fertilizerCompound = coreItems.fertilizerCompound.getItemStack(); + FuelManager.fermenterFuel.put(fertilizerCompound, new FermenterFuel(fertilizerCompound, ForestryAPI.activeMode.getIntegerSetting("fermenter.value.fertilizer"), ForestryAPI.activeMode.getIntegerSetting("fermenter.cycles.fertilizer"))); - FuelManager.fermenterFuel.put(ForestryItem.fertilizerBio.getItemStack(), new FermenterFuel(ForestryItem.fertilizerBio.getItemStack(), ForestryAPI.activeMode.getIntegerSetting("fermenter.value.compost"), ForestryAPI.activeMode.getIntegerSetting("fermenter.cycles.compost"))); - FuelManager.fermenterFuel.put(ForestryItem.mulch.getItemStack(), new FermenterFuel(ForestryItem.mulch.getItemStack(), ForestryAPI.activeMode - .getIntegerSetting("fermenter.value.compost"), ForestryAPI.activeMode.getIntegerSetting("fermenter.cycles.compost"))); + + int cyclesCompost = ForestryAPI.activeMode.getIntegerSetting("fermenter.cycles.compost"); + int valueCompost = ForestryAPI.activeMode.getIntegerSetting("fermenter.value.compost"); + ItemStack fertilizerBio = coreItems.fertilizerBio.getItemStack(); + ItemStack mulch = coreItems.mulch.getItemStack(); + FuelManager.fermenterFuel.put(fertilizerBio, new FermenterFuel(fertilizerBio, valueCompost, cyclesCompost)); + FuelManager.fermenterFuel.put(mulch, new FermenterFuel(mulch, valueCompost, cyclesCompost)); // Add moistener resources - FuelManager.moistenerResource.put(new ItemStack(Items.wheat), new MoistenerFuel(new ItemStack(Items.wheat), ForestryItem.mouldyWheat.getItemStack(), 0, - 300)); - FuelManager.moistenerResource.put(ForestryItem.mouldyWheat.getItemStack(), new MoistenerFuel(ForestryItem.mouldyWheat.getItemStack(), ForestryItem.decayingWheat.getItemStack(), 1, 600)); - FuelManager.moistenerResource.put(ForestryItem.decayingWheat.getItemStack(), new MoistenerFuel(ForestryItem.decayingWheat.getItemStack(), - ForestryItem.mulch.getItemStack(), 2, 900)); + ItemStack wheat = new ItemStack(Items.wheat); + ItemStack mouldyWheat = coreItems.mouldyWheat.getItemStack(); + ItemStack decayingWheat = coreItems.decayingWheat.getItemStack(); + FuelManager.moistenerResource.put(wheat, new MoistenerFuel(wheat, mouldyWheat, 0, 300)); + FuelManager.moistenerResource.put(mouldyWheat, new MoistenerFuel(mouldyWheat, decayingWheat, 1, 600)); + FuelManager.moistenerResource.put(decayingWheat, new MoistenerFuel(decayingWheat, mulch, 2, 900)); // Set fuels for our own engines - FuelManager.copperEngineFuel.put(ForestryItem.peat.getItemStack(), new EngineCopperFuel(ForestryItem.peat.getItemStack(), - Constants.ENGINE_COPPER_FUEL_VALUE_PEAT, Constants.ENGINE_COPPER_CYCLE_DURATION_PEAT)); - FuelManager.copperEngineFuel.put(ForestryItem.bituminousPeat.getItemStack(), new EngineCopperFuel(ForestryItem.bituminousPeat.getItemStack(), - Constants.ENGINE_COPPER_FUEL_VALUE_BITUMINOUS_PEAT, Constants.ENGINE_COPPER_CYCLE_DURATION_BITUMINOUS_PEAT)); + ItemStack peat = coreItems.peat.getItemStack(); + FuelManager.copperEngineFuel.put(peat, new EngineCopperFuel(peat, Constants.ENGINE_COPPER_FUEL_VALUE_PEAT, Constants.ENGINE_COPPER_CYCLE_DURATION_PEAT)); + + ItemStack bituminousPeat = coreItems.peat.getItemStack(); + FuelManager.copperEngineFuel.put(bituminousPeat, new EngineCopperFuel(bituminousPeat, Constants.ENGINE_COPPER_FUEL_VALUE_BITUMINOUS_PEAT, Constants.ENGINE_COPPER_CYCLE_DURATION_BITUMINOUS_PEAT)); FuelManager.bronzeEngineFuel.put(Fluids.BIOMASS.getFluid(), new EngineBronzeFuel(Fluids.BIOMASS.getFluid(), Constants.ENGINE_FUEL_VALUE_BIOMASS, (int) (Constants.ENGINE_CYCLE_DURATION_BIOMASS * ForestryAPI.activeMode.getFloatSetting("fuel.biomass.biogas")), 1)); @@ -189,9 +203,10 @@ public class PluginFactory extends ForestryPlugin { Constants.ENGINE_FUEL_VALUE_JUICE, Constants.ENGINE_CYCLE_DURATION_JUICE, 1)); // Set rain substrates - FuelManager.rainSubstrate.put(ForestryItem.iodineCharge.getItemStack(), new RainSubstrate(ForestryItem.iodineCharge.getItemStack(), - Constants.RAINMAKER_RAIN_DURATION_IODINE, 0.01f)); - FuelManager.rainSubstrate.put(ForestryItem.craftingMaterial.getItemStack(1, 4), new RainSubstrate(ForestryItem.craftingMaterial.getItemStack(1, 4), 0.075f)); + ItemStack iodineCharge = coreItems.iodineCharge.getItemStack(); + ItemStack dissipationCharge = coreItems.craftingMaterial.getDissipationCharge(); + FuelManager.rainSubstrate.put(iodineCharge, new RainSubstrate(iodineCharge, Constants.RAINMAKER_RAIN_DURATION_IODINE, 0.01f)); + FuelManager.rainSubstrate.put(dissipationCharge, new RainSubstrate(dissipationCharge, 0.075f)); BlockBase factoryTESR = ((BlockBase) ForestryBlock.factoryTESR.block()); @@ -203,7 +218,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', ForestryItem.canEmpty, - 'Y', ForestryItem.sturdyCasing))); + 'Y', coreItems.sturdyCasing))); definitionCarpenter = factoryTESR.addDefinition(new MachineDefinition(Constants.DEFINITION_CARPENTER_META, "forestry.Carpenter", TileCarpenter.class, Proxies.render.getRenderDefaultMachine(Constants.TEXTURE_PATH_BLOCKS + "/carpenter_"), ShapedRecipeCustom.createShapedRecipe( @@ -213,7 +228,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "ingotBronze", - 'Y', ForestryItem.sturdyCasing))); + 'Y', coreItems.sturdyCasing))); definitionCentrifuge = factoryTESR.addDefinition(new MachineDefinition(Constants.DEFINITION_CENTRIFUGE_META, "forestry.Centrifuge", TileCentrifuge.class, Proxies.render.getRenderDefaultMachine(Constants.TEXTURE_PATH_BLOCKS + "/centrifuge_"), ShapedRecipeCustom.createShapedRecipe( @@ -223,7 +238,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "ingotCopper", - 'Y', ForestryItem.sturdyCasing.getItemStack()))); + 'Y', coreItems.sturdyCasing))); definitionFermenter = factoryTESR.addDefinition(new MachineDefinition(Constants.DEFINITION_FERMENTER_META, "forestry.Fermenter", TileFermenter.class, Proxies.render.getRenderDefaultMachine(Constants.TEXTURE_PATH_BLOCKS + "/fermenter_"), ShapedRecipeCustom.createShapedRecipe( @@ -233,7 +248,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "gearBronze", - 'Y', ForestryItem.sturdyCasing))); + 'Y', coreItems.sturdyCasing))); definitionMoistener = factoryTESR.addDefinition(new MachineDefinition(Constants.DEFINITION_MOISTENER_META, "forestry.Moistener", TileMoistener.class, Proxies.render.getRenderDefaultMachine(Constants.TEXTURE_PATH_BLOCKS + "/moistener_"), ShapedRecipeCustom.createShapedRecipe( @@ -243,7 +258,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "gearCopper", - 'Y', ForestryItem.sturdyCasing))); + 'Y', coreItems.sturdyCasing))); definitionSqueezer = factoryTESR.addDefinition(new MachineDefinition(Constants.DEFINITION_SQUEEZER_META, "forestry.Squeezer", TileSqueezer.class, Proxies.render.getRenderDefaultMachine(Constants.TEXTURE_PATH_BLOCKS + "/squeezer_"), ShapedRecipeCustom.createShapedRecipe( @@ -253,7 +268,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "ingotTin", - 'Y', ForestryItem.sturdyCasing.getItemStack()))); + 'Y', coreItems.sturdyCasing))); definitionStill = factoryTESR.addDefinition(new MachineDefinition(Constants.DEFINITION_STILL_META, "forestry.Still", TileStill.class, Proxies.render.getRenderDefaultMachine(Constants.TEXTURE_PATH_BLOCKS + "/still_"), ShapedRecipeCustom.createShapedRecipe( @@ -263,7 +278,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "dustRedstone", - 'Y', ForestryItem.sturdyCasing))); + 'Y', coreItems.sturdyCasing))); definitionRainmaker = factoryTESR.addDefinition(new MachineDefinition(Constants.DEFINITION_RAINMAKER_META, "forestry.Rainmaker", TileMillRainmaker.class, Proxies.render.getRenderMill(Constants.TEXTURE_PATH_BLOCKS + "/rainmaker_"), ShapedRecipeCustom.createShapedRecipe( @@ -273,7 +288,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "gearTin", - 'Y', ForestryItem.hardenedCasing))); + 'Y', coreItems.hardenedCasing))); BlockBase factoryPlain = ((BlockBase) ForestryBlock.factoryPlain.block()); @@ -285,7 +300,7 @@ public class PluginFactory extends ForestryPlugin { "XZX", '#', "blockGlass", 'X', "ingotGold", - 'Y', ForestryItem.sturdyCasing, + 'Y', coreItems.sturdyCasing, 'Z', "chestWood")) .setFaces(0, 1, 2, 3, 4, 4)); @@ -296,7 +311,7 @@ public class PluginFactory extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "ingotIron", - 'Y', ForestryItem.sturdyCasing)) + 'Y', coreItems.sturdyCasing)) .setFaces(0, 1, 0, 0, 0, 0)); definitionWorktable = factoryPlain.addDefinition(new MachineDefinition(Constants.DEFINITION_WORKTABLE_META, "forestry.Worktable", TileWorktable.class, @@ -355,30 +370,31 @@ public class PluginFactory extends ForestryPlugin { protected void registerRecipes() { // / FABRICATOR + ItemElectronTube electronTube = PluginCore.items.tubes; - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 0), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.COPPER, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotCopper"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 1), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.TIN, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotTin"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 2), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.BRONZE, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotBronze"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 3), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.IRON, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotIron"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 4), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.GOLD, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotGold"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 5), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.DIAMOND, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "gemDiamond"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 6), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.OBSIDIAN, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', Blocks.obsidian}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 7), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.BLAZE, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', Items.blaze_powder}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 9), new Object[]{ + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.EMERALD, 4), new Object[]{ " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "gemEmerald"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 10), + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.APATITE, 4), new Object[]{" X ", "#X#", "XXX", '#', "dustRedstone", 'X', "gemApatite"}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 11), + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.LAPIS, 4), new Object[]{" X ", "#X#", "XXX", '#', "dustRedstone", 'X', new ItemStack(Items.dye, 1, 4)}); - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 12), + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.ENDER, 4), new Object[]{" X ", "#X#", "XXX", '#', new ItemStack(Items.ender_eye, 1, 0), 'X', new ItemStack(Blocks.end_stone, 1, 0)}); String[] dyes = {"dyeBlack", "dyeRed", "dyeGreen", "dyeBrown", "dyeBlue", "dyePurple", "dyeCyan", "dyeLightGray", "dyeGray", "dyePink", "dyeLime", @@ -396,16 +412,16 @@ public class PluginFactory extends ForestryPlugin { int appleMulchAmount = ForestryAPI.activeMode.getIntegerSetting("squeezer.mulch.apple"); int appleJuiceAmount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple"); RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(Items.apple)}, Fluids.JUICE.getFluid(appleJuiceAmount), - ForestryItem.mulch.getItemStack(), appleMulchAmount); + PluginCore.items.mulch.getItemStack(), appleMulchAmount); int seedOilAmount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.seed"); FluidStack seedOil = Fluids.SEEDOIL.getFluid(seedOilAmount); RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(Items.wheat_seeds)}, seedOil); RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(Items.pumpkin_seeds)}, seedOil); RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(Items.melon_seeds)}, seedOil); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{ForestryItem.phosphor.getItemStack(2), new ItemStack(Blocks.cobblestone)}, Fluids.LAVA.getFluid(1600)); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{PluginCore.items.phosphor.getItemStack(2), new ItemStack(Blocks.cobblestone)}, Fluids.LAVA.getFluid(1600)); RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(Blocks.cactus)}, Fluids.WATER.getFluid(500)); - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(Items.snowball), ForestryItem.craftingMaterial.getItemStack(4, 5)}, Fluids.ICE.getFluid(4000)); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(Items.snowball), PluginCore.items.craftingMaterial.getIceShard(4)}, Fluids.ICE.getFluid(4000)); // STILL RecipeManagers.stillManager.addRecipe(Constants.STILL_DESTILLATION_DURATION, Fluids.BIOMASS.getFluid(Constants.STILL_DESTILLATION_INPUT), @@ -439,7 +455,7 @@ public class PluginFactory extends ForestryPlugin { RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.sand), Fluids.GLASS.getFluid(1000), 3000); // / CARPENTER - RecipeManagers.carpenterManager.addRecipe(50, Fluids.SEEDOIL.getFluid(250), null, ForestryItem.impregnatedCasing.getItemStack(), + RecipeManagers.carpenterManager.addRecipe(50, Fluids.SEEDOIL.getFluid(250), null, PluginCore.items.impregnatedCasing.getItemStack(), "###", "# #", "###", @@ -453,12 +469,12 @@ public class PluginFactory extends ForestryPlugin { // RESOURCES RecipeManagers.carpenterManager.addRecipe(10, Fluids.SEEDOIL.getFluid(100), null, - ForestryItem.stickImpregnated.getItemStack(2), + PluginCore.items.stickImpregnated.getItemStack(2), "#", "#", '#', "logWood"); RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(250), null, - ForestryItem.woodPulp.getItemStack(4), + PluginCore.items.woodPulp.getItemStack(4), "#", '#', "logWood"); RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(250), null, @@ -472,36 +488,37 @@ public class PluginFactory extends ForestryPlugin { "#X#", "###", '#', Blocks.dirt, - 'X', ForestryItem.mulch); + 'X', PluginCore.items.mulch); RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(1000), null, ForestryBlock.soil.getItemStack(8, 1), "#X#", "XYX", "#X#", '#', Blocks.dirt, 'X', "sand", - 'Y', ForestryItem.mulch); - RecipeManagers.carpenterManager.addRecipe(75, Fluids.WATER.getFluid(5000), null, ForestryItem.hardenedCasing.getItemStack(), + 'Y', PluginCore.items.mulch); + RecipeManagers.carpenterManager.addRecipe(75, Fluids.WATER.getFluid(5000), null, PluginCore.items.hardenedCasing.getItemStack(), "# #", " Y ", "# #", '#', "gemDiamond", - 'Y', ForestryItem.sturdyCasing); + 'Y', PluginCore.items.sturdyCasing); // / CHIPSETS - RecipeManagers.carpenterManager.addRecipe(20, Fluids.WATER.getFluid(1000), null, ForestryItem.circuitboards.getItemStack(1, 0), + ItemCircuitBoard circuitBoard = PluginCore.items.circuitboards; + RecipeManagers.carpenterManager.addRecipe(20, Fluids.WATER.getFluid(1000), null, circuitBoard.getCircuitboard(EnumCircuitBoardType.BASIC), "R R", "R#R", "R R", '#', "ingotTin", 'R', "dustRedstone"); - RecipeManagers.carpenterManager.addRecipe(40, Fluids.WATER.getFluid(1000), null, ForestryItem.circuitboards.getItemStack(1, 1), + RecipeManagers.carpenterManager.addRecipe(40, Fluids.WATER.getFluid(1000), null, circuitBoard.getCircuitboard(EnumCircuitBoardType.ENHANCED), "R#R", "R#R", "R#R", '#', "ingotBronze", 'R', "dustRedstone"); - RecipeManagers.carpenterManager.addRecipe(80, Fluids.WATER.getFluid(1000), null, ForestryItem.circuitboards.getItemStack(1, 2), + RecipeManagers.carpenterManager.addRecipe(80, Fluids.WATER.getFluid(1000), null, circuitBoard.getCircuitboard(EnumCircuitBoardType.REFINED), "R#R", "R#R", "R#R", '#', "ingotIron", 'R', "dustRedstone"); - RecipeManagers.carpenterManager.addRecipe(80, Fluids.WATER.getFluid(1000), null, ForestryItem.circuitboards.getItemStack(1, 3), + RecipeManagers.carpenterManager.addRecipe(80, Fluids.WATER.getFluid(1000), null, circuitBoard.getCircuitboard(EnumCircuitBoardType.INTRICATE), "R#R", "R#R", "R#R", '#', "ingotGold", 'R', "dustRedstone"); - RecipeManagers.carpenterManager.addRecipe(40, Fluids.WATER.getFluid(1000), null, ForestryItem.solderingIron.getItemStack(), + RecipeManagers.carpenterManager.addRecipe(40, Fluids.WATER.getFluid(1000), null, PluginCore.items.solderingIron.getItemStack(), " # ", "# #", " B", '#', "ingotIron", 'B', "ingotBronze"); // RAIN SUBSTRATES if (PluginManager.Module.APICULTURE.isEnabled()) { - RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(1000), null, ForestryItem.iodineCharge.getItemStack(), + RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(1000), null, PluginCore.items.iodineCharge.getItemStack(), "Z#Z", "#Y#", "X#X", @@ -509,7 +526,7 @@ public class PluginFactory extends ForestryPlugin { 'X', Items.gunpowder, 'Y', ForestryItem.canEmpty, 'Z', ForestryItem.honeyDrop); - RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(1000), null, ForestryItem.craftingMaterial.getItemStack(1, 4), + RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(1000), null, PluginCore.items.craftingMaterial.getDissipationCharge(), "Z#Z", "#Y#", "X#X", @@ -521,30 +538,30 @@ public class PluginFactory extends ForestryPlugin { // Ender pearl RecipeManagers.carpenterManager.addRecipe(100, null, new ItemStack(Items.ender_pearl, 1), " # ", "###", " # ", '#', - ForestryItem.craftingMaterial.getItemStack(1, 1)); + PluginCore.items.craftingMaterial.getPulsatingMesh()); // Woven Silk - RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(500), null, ForestryItem.craftingMaterial.getItemStack(1, 3), - "###", "###", "###", '#', ForestryItem.craftingMaterial.getItemStack(1, 2)); + RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(500), null, PluginCore.items.craftingMaterial.getWovenSilk(), + "###", "###", "###", '#', PluginCore.items.craftingMaterial.getSilkWisp()); // Boxes - RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(1000), null, ForestryItem.carton.getItemStack(2), + RecipeManagers.carpenterManager.addRecipe(5, Fluids.WATER.getFluid(1000), null, PluginCore.items.carton.getItemStack(2), " # ", "# #", " # ", '#', "pulpWood"); // Assembly Kits - RecipeManagers.carpenterManager.addRecipe(20, null, ForestryItem.carton.getItemStack(), ForestryItem.kitPickaxe.getItemStack(), new Object[]{ + RecipeManagers.carpenterManager.addRecipe(20, null, PluginCore.items.carton.getItemStack(), PluginCore.items.kitPickaxe.getItemStack(), new Object[]{ "###", " X ", " X ", '#', "ingotBronze", 'X', "stickWood"}); - RecipeManagers.carpenterManager.addRecipe(20, null, ForestryItem.carton.getItemStack(), ForestryItem.kitShovel.getItemStack(), + RecipeManagers.carpenterManager.addRecipe(20, null, PluginCore.items.carton.getItemStack(), PluginCore.items.kitShovel.getItemStack(), new Object[]{" # ", " X ", " X ", '#', "ingotBronze", 'X', "stickWood"}); // Reclamation - RecipeManagers.carpenterManager.addRecipe(null, ForestryItem.ingotBronze.getItemStack(2, ForestryItem.ingotBronze.item().getMaxDamage()), - "#", '#', ForestryItem.brokenBronzePickaxe); - RecipeManagers.carpenterManager.addRecipe(null, ForestryItem.ingotBronze.getItemStack(), "#", '#', ForestryItem.brokenBronzeShovel); + RecipeManagers.carpenterManager.addRecipe(null, PluginCore.items.ingotBronze.getItemStack(2), + "#", '#', PluginCore.items.brokenBronzePickaxe); + RecipeManagers.carpenterManager.addRecipe(null, PluginCore.items.ingotBronze.getItemStack(), "#", '#', PluginCore.items.brokenBronzeShovel); // Crating and uncrating if (PluginManager.Module.STORAGE.isEnabled()) { @@ -553,9 +570,9 @@ public class PluginFactory extends ForestryPlugin { ICircuitLayout layout = ChipsetManager.circuitRegistry.getLayout("forestry.machine.upgrade"); // / Solder Manager - ChipsetManager.solderManager.addRecipe(layout, ForestryItem.tubes.getItemStack(1, 9), Circuit.machineSpeedUpgrade1); - ChipsetManager.solderManager.addRecipe(layout, ForestryItem.tubes.getItemStack(1, 7), Circuit.machineSpeedUpgrade2); - ChipsetManager.solderManager.addRecipe(layout, ForestryItem.tubes.getItemStack(1, 4), Circuit.machineEfficiencyUpgrade1); + ChipsetManager.solderManager.addRecipe(layout, PluginCore.items.tubes.get(EnumElectronTube.EMERALD, 1), Circuit.machineSpeedUpgrade1); + ChipsetManager.solderManager.addRecipe(layout, PluginCore.items.tubes.get(EnumElectronTube.BLAZE, 1), Circuit.machineSpeedUpgrade2); + ChipsetManager.solderManager.addRecipe(layout, PluginCore.items.tubes.get(EnumElectronTube.GOLD, 1), Circuit.machineEfficiencyUpgrade1); } @Override diff --git a/src/main/java/forestry/plugins/PluginFarming.java b/src/main/java/forestry/plugins/PluginFarming.java index e28ab96a5..9627b7d10 100644 --- a/src/main/java/forestry/plugins/PluginFarming.java +++ b/src/main/java/forestry/plugins/PluginFarming.java @@ -40,7 +40,7 @@ import forestry.core.circuits.Circuit; import forestry.core.circuits.CircuitLayout; import forestry.core.config.Constants; import forestry.core.config.ForestryBlock; -import forestry.core.config.ForestryItem; +import forestry.core.items.EnumElectronTube; import forestry.core.items.ItemBlockTyped; import forestry.core.recipes.ShapedRecipeCustom; import forestry.core.utils.Log; @@ -154,7 +154,7 @@ public class PluginFarming extends ForestryPlugin { public void doInit() { super.doInit(); - farmFertilizer = ForestryItem.fertilizerCompound.getItemStack(); + farmFertilizer = PluginCore.items.fertilizerCompound.getItemStack(); GameRegistry.registerTileEntity(TileFarmPlain.class, "forestry.Farm"); GameRegistry.registerTileEntity(TileGearbox.class, "forestry.FarmGearbox"); @@ -302,33 +302,39 @@ public class PluginFarming extends ForestryPlugin { block.saveToCompound(compound); basic.setTagCompound((NBTTagCompound) compound.copy()); - ShapedRecipeCustom.buildRecipe(basic.copy(), "I#I", "WCW", '#', block.getBase(), 'W', "slabWood", 'C', ForestryItem.tubes.getItemStack(1, 1), 'I', "ingotCopper"); + ShapedRecipeCustom.buildRecipe(basic.copy(), + "I#I", + "WCW", + '#', block.getBase(), + 'W', "slabWood", + 'C', PluginCore.items.tubes.get(EnumElectronTube.TIN, 1), + 'I', "ingotCopper"); ShapedRecipeCustom.buildRecipe(gearbox, " # ", "TTT", '#', basic, 'T', "gearTin"); ShapedRecipeCustom.buildRecipe(hatch, " # ", "TDT", '#', basic, 'T', "gearTin", 'D', Blocks.trapdoor); ShapedRecipeCustom.buildRecipe(valve, " # ", "XTX", '#', basic, 'T', "gearTin", 'X', "blockGlass"); - ShapedRecipeCustom.buildRecipe(control, " # ", "XTX", '#', basic, 'T', ForestryItem.tubes.getItemStack(1, 4), 'X', "dustRedstone"); + ShapedRecipeCustom.buildRecipe(control, " # ", "XTX", '#', basic, 'T', PluginCore.items.tubes.get(EnumElectronTube.GOLD, 1), 'X', "dustRedstone"); } // Circuits ICircuitLayout layoutManaged = ChipsetManager.circuitRegistry.getLayout("forestry.farms.managed"); ICircuitLayout layoutManual = ChipsetManager.circuitRegistry.getLayout("forestry.farms.manual"); - ChipsetManager.solderManager.addRecipe(layoutManaged, ForestryItem.tubes.getItemStack(1, 0), Circuit.farmArborealManaged); - ChipsetManager.solderManager.addRecipe(layoutManaged, ForestryItem.tubes.getItemStack(1, 1), Circuit.farmPeatManaged); - ChipsetManager.solderManager.addRecipe(layoutManaged, ForestryItem.tubes.getItemStack(1, 2), Circuit.farmCerealManaged); - ChipsetManager.solderManager.addRecipe(layoutManaged, ForestryItem.tubes.getItemStack(1, 3), Circuit.farmVegetableManaged); - ChipsetManager.solderManager.addRecipe(layoutManaged, ForestryItem.tubes.getItemStack(1, 7), Circuit.farmInfernalManaged); - ChipsetManager.solderManager.addRecipe(layoutManaged, ForestryItem.tubes.getItemStack(1, 10), Circuit.farmShroomManaged); + ChipsetManager.solderManager.addRecipe(layoutManaged, PluginCore.items.tubes.get(EnumElectronTube.COPPER, 1), Circuit.farmArborealManaged); + ChipsetManager.solderManager.addRecipe(layoutManaged, PluginCore.items.tubes.get(EnumElectronTube.TIN, 1), Circuit.farmPeatManaged); + ChipsetManager.solderManager.addRecipe(layoutManaged, PluginCore.items.tubes.get(EnumElectronTube.BRONZE, 1), Circuit.farmCerealManaged); + ChipsetManager.solderManager.addRecipe(layoutManaged, PluginCore.items.tubes.get(EnumElectronTube.IRON, 1), Circuit.farmVegetableManaged); + ChipsetManager.solderManager.addRecipe(layoutManaged, PluginCore.items.tubes.get(EnumElectronTube.BLAZE, 1), Circuit.farmInfernalManaged); + ChipsetManager.solderManager.addRecipe(layoutManaged, PluginCore.items.tubes.get(EnumElectronTube.APATITE, 1), Circuit.farmShroomManaged); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 0), Circuit.farmOrchardManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 1), Circuit.farmPeatManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 2), Circuit.farmCerealManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 3), Circuit.farmVegetableManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 4), Circuit.farmSucculentManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 5), Circuit.farmPoalesManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 6), Circuit.farmGourdManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 10), Circuit.farmShroomManual); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 11), Circuit.farmCocoaManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.COPPER, 1), Circuit.farmOrchardManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.TIN, 1), Circuit.farmPeatManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.BRONZE, 1), Circuit.farmCerealManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.IRON, 1), Circuit.farmVegetableManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.GOLD, 1), Circuit.farmSucculentManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.DIAMOND, 1), Circuit.farmPoalesManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.OBSIDIAN, 1), Circuit.farmGourdManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.APATITE, 1), Circuit.farmShroomManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.LAPIS, 1), Circuit.farmCocoaManual); } } diff --git a/src/main/java/forestry/plugins/PluginFluids.java b/src/main/java/forestry/plugins/PluginFluids.java index 9bd596271..3ab00f8a5 100644 --- a/src/main/java/forestry/plugins/PluginFluids.java +++ b/src/main/java/forestry/plugins/PluginFluids.java @@ -147,9 +147,9 @@ public class PluginFluids extends ForestryPlugin { } if (RecipeManagers.squeezerManager != null) { - RecipeManagers.squeezerManager.addContainerRecipe(10, ForestryItem.canEmpty.getItemStack(), ForestryItem.ingotTin.getItemStack(), 0.05f); - RecipeManagers.squeezerManager.addContainerRecipe(10, ForestryItem.waxCapsule.getItemStack(), ForestryItem.beeswax.getItemStack(), 0.10f); - RecipeManagers.squeezerManager.addContainerRecipe(10, ForestryItem.refractoryEmpty.getItemStack(), ForestryItem.refractoryWax.getItemStack(), 0.10f); + RecipeManagers.squeezerManager.addContainerRecipe(10, ForestryItem.canEmpty.getItemStack(), PluginCore.items.ingotTin.getItemStack(), 0.05f); + RecipeManagers.squeezerManager.addContainerRecipe(10, ForestryItem.waxCapsule.getItemStack(), PluginCore.items.beeswax.getItemStack(), 0.10f); + RecipeManagers.squeezerManager.addContainerRecipe(10, ForestryItem.refractoryEmpty.getItemStack(), PluginCore.items.refractoryWax.getItemStack(), 0.10f); } FluidStack ethanol = Fluids.ETHANOL.getFluid(1); diff --git a/src/main/java/forestry/plugins/PluginGrowthCraft.java b/src/main/java/forestry/plugins/PluginGrowthCraft.java index e7d587fc1..66bbefe8c 100644 --- a/src/main/java/forestry/plugins/PluginGrowthCraft.java +++ b/src/main/java/forestry/plugins/PluginGrowthCraft.java @@ -91,12 +91,12 @@ public class PluginGrowthCraft extends ForestryPlugin { ItemStack emptyComb = new ItemStack(GameRegistry.findItem("Growthcraft|Bees", "grc.honeyComb"), 1, 0); ItemStack fullComb = new ItemStack(GameRegistry.findItem("Growthcraft|Bees", "grc.honeyComb"), 1, 1); RecipeManagers.centrifugeManager.addRecipe(20, emptyComb, ImmutableMap.of( - ForestryItem.beeswax.getItemStack(), 1.0f) + PluginCore.items.beeswax.getItemStack(), 1.0f) ); RecipeManagers.centrifugeManager.addRecipe(20, fullComb, ImmutableMap.of( - ForestryItem.beeswax.getItemStack(), 1.0f, - ForestryItem.honeyDrop.getItemStack(), 0.9f, - ForestryItem.honeydew.getItemStack(), 0.1f) + PluginCore.items.beeswax.getItemStack(), 1.0f, + ForestryItem.honeyDrop.getItemStack(), 0.9f, + ForestryItem.honeydew.getItemStack(), 0.1f) ); ItemStack bamboo = GameRegistry.findItemStack("Growthcraft|Bamboo", "grc.bamboo", 1); diff --git a/src/main/java/forestry/plugins/PluginHarvestCraft.java b/src/main/java/forestry/plugins/PluginHarvestCraft.java index 7150a40f6..9ed24339e 100644 --- a/src/main/java/forestry/plugins/PluginHarvestCraft.java +++ b/src/main/java/forestry/plugins/PluginHarvestCraft.java @@ -24,7 +24,6 @@ import forestry.api.fuels.FuelManager; import forestry.api.fuels.MoistenerFuel; import forestry.api.recipes.RecipeManagers; import forestry.core.config.Constants; -import forestry.core.config.ForestryItem; import forestry.core.fluids.Fluids; import forestry.core.recipes.RecipeUtil; import forestry.core.utils.ModUtil; @@ -249,7 +248,7 @@ public class PluginHarvestCraft extends ForestryPlugin { Block grainBlock = GameRegistry.findBlock(HC, "pam" + grainName + "Crop"); if (grain != null && wheatamount.stackSize > 0) { RecipeUtil.addRecipe(wheatamount, " X ", "X#X", " X ", '#', Blocks.dirt, 'X', grain); - FuelManager.moistenerResource.put(grain, new MoistenerFuel(grain, ForestryItem.mouldyWheat.getItemStack(), 0, 300)); + FuelManager.moistenerResource.put(grain, new MoistenerFuel(grain, PluginCore.items.mouldyWheat.getItemStack(), 0, 300)); } if (grainSeed != null) { RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{grainSeed}, Fluids.SEEDOIL.getFluid(seedamount)); diff --git a/src/main/java/forestry/plugins/PluginIC2.java b/src/main/java/forestry/plugins/PluginIC2.java index 2562921ed..6c6ae2849 100644 --- a/src/main/java/forestry/plugins/PluginIC2.java +++ b/src/main/java/forestry/plugins/PluginIC2.java @@ -42,6 +42,7 @@ 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.proxy.Proxies; import forestry.core.recipes.RecipeUtil; import forestry.core.recipes.ShapedRecipeCustom; @@ -139,7 +140,7 @@ public class PluginIC2 extends ForestryPlugin { "X#X", '#', "blockGlass", 'X', "ingotGold", - 'Y', ForestryItem.sturdyCasing))); + 'Y', PluginCore.items.sturdyCasing))); emptyCell = IC2Items.getItem("cell"); if (emptyCell != null) { @@ -255,7 +256,7 @@ public class PluginIC2 extends ForestryPlugin { if (rubber != null) { for (Object rubberOreDict : RecipeUtil.getOreDictRecipeEquivalents(rubber)) { - RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), ForestryItem.tubes.getItemStack(4, 8), + RecipeManagers.fabricatorManager.addRecipe(null, Fluids.GLASS.getFluid(500), PluginCore.items.tubes.get(EnumElectronTube.RUBBER, 4), new Object[]{" X ", "#X#", "XXX", '#', "dustRedstone", 'X', rubberOreDict}); } } @@ -305,14 +306,14 @@ public class PluginIC2 extends ForestryPlugin { ICircuitLayout layout = ChipsetManager.circuitRegistry.getLayout("forestry.engine.tin"); // / Solder Manager - ChipsetManager.solderManager.addRecipe(layout, ForestryItem.tubes.getItemStack(1, 0), Circuit.energyElectricChoke1); - ChipsetManager.solderManager.addRecipe(layout, ForestryItem.tubes.getItemStack(1, 1), Circuit.energyElectricBoost1); - ChipsetManager.solderManager.addRecipe(layout, ForestryItem.tubes.getItemStack(1, 2), Circuit.energyElectricBoost2); - ChipsetManager.solderManager.addRecipe(layout, ForestryItem.tubes.getItemStack(1, 3), Circuit.energyElectricEfficiency1); + ChipsetManager.solderManager.addRecipe(layout, PluginCore.items.tubes.get(EnumElectronTube.COPPER, 1), Circuit.energyElectricChoke1); + ChipsetManager.solderManager.addRecipe(layout, PluginCore.items.tubes.get(EnumElectronTube.TIN, 1), Circuit.energyElectricBoost1); + ChipsetManager.solderManager.addRecipe(layout, PluginCore.items.tubes.get(EnumElectronTube.BRONZE, 1), Circuit.energyElectricBoost2); + ChipsetManager.solderManager.addRecipe(layout, PluginCore.items.tubes.get(EnumElectronTube.IRON, 1), Circuit.energyElectricEfficiency1); if (PluginManager.Module.FARMING.isEnabled() && resin != null && rubberwood != null) { ICircuitLayout layoutManual = ChipsetManager.circuitRegistry.getLayout("forestry.farms.manual"); - ChipsetManager.solderManager.addRecipe(layoutManual, ForestryItem.tubes.getItemStack(1, 8), Circuit.farmRubberManual); + ChipsetManager.solderManager.addRecipe(layoutManual, PluginCore.items.tubes.get(EnumElectronTube.RUBBER, 1), Circuit.farmRubberManual); } } diff --git a/src/main/java/forestry/plugins/PluginMail.java b/src/main/java/forestry/plugins/PluginMail.java index 6d55d4d1f..43ef79f8d 100755 --- a/src/main/java/forestry/plugins/PluginMail.java +++ b/src/main/java/forestry/plugins/PluginMail.java @@ -26,11 +26,13 @@ import forestry.api.recipes.RecipeManagers; import forestry.core.GuiHandlerBase; import forestry.core.ISaveEventHandler; import forestry.core.blocks.BlockBase; +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; @@ -74,7 +76,7 @@ public class PluginMail extends ForestryPlugin { protected void registerItemsAndBlocks() { stampDefinitions = new StampInfo[]{ - new StampInfo("1n", EnumPostage.P_1, ForestryItem.apatite, 0x4a8ca7, 0xffffff), + 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), @@ -110,7 +112,7 @@ public class PluginMail extends ForestryPlugin { " # ", "#Y#", "XXX", '#', "ingotTin", 'X', "chestWood", - 'Y', ForestryItem.sturdyCasing); + 'Y', PluginCore.items.sturdyCasing); BlockBase mail = ((BlockBase) ForestryBlock.mail.block()); @@ -121,11 +123,11 @@ public class PluginMail extends ForestryPlugin { "Z#Z", "#Y#", "XWX", - '#', ForestryItem.tubes.getItemStack(1, 2), + '#', PluginCore.items.tubes.get(EnumElectronTube.BRONZE, 1), 'X', "chestWood", - 'Y', ForestryItem.sturdyCasing, - 'Z', ForestryItem.tubes.getItemStack(1, 3), - 'W', ForestryItem.circuitboards.getItemStack(1, 2)); + 'Y', PluginCore.items.sturdyCasing, + 'Z', PluginCore.items.tubes.get(EnumElectronTube.IRON, 1), + 'W', PluginCore.items.circuitboards.getCircuitboard(EnumCircuitBoardType.REFINED)); definitionTradestation = mail.addDefinition(new MachineDefinition(Constants.DEFINITION_TRADESTATION_META, "forestry.Tradestation", TileTrader.class, recipe).setFaces(0, 1, 2, 3, 4, 4, 0, 7)); definitionPhilatelist = mail.addDefinition(new MachineDefinition(Constants.DEFINITION_PHILATELIST_META, "forestry.Philatelist", TilePhilatelist.class) @@ -191,7 +193,7 @@ public class PluginMail extends ForestryPlugin { RecipeUtil.addRecipe(new ItemStack(Items.paper), "###", '#', ForestryItem.letters.getItemStack(1, OreDictionary.WILDCARD_VALUE)); // Carpenter - RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(250), null, ForestryItem.letters.getItemStack(), "###", "###", '#', ForestryItem.woodPulp); + RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(250), null, ForestryItem.letters.getItemStack(), "###", "###", '#', PluginCore.items.woodPulp); RecipeUtil.addShapelessRecipe(ForestryItem.catalogue.getItemStack(), ForestryItem.stamps.getItemStack(1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.book)); } diff --git a/src/main/java/forestry/plugins/PluginNatura.java b/src/main/java/forestry/plugins/PluginNatura.java index ff232a8c5..bfc3494d2 100755 --- a/src/main/java/forestry/plugins/PluginNatura.java +++ b/src/main/java/forestry/plugins/PluginNatura.java @@ -32,7 +32,6 @@ import forestry.api.recipes.RecipeManagers; import forestry.api.storage.ICrateRegistry; import forestry.api.storage.StorageManager; import forestry.core.config.Constants; -import forestry.core.config.ForestryItem; import forestry.core.fluids.Fluids; import forestry.core.recipes.RecipeUtil; import forestry.core.utils.ModUtil; @@ -247,7 +246,9 @@ public class PluginNatura extends ForestryPlugin { amount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple") / 2; amount = Math.max(amount, 1); // Produce at least 1 mb of juice. - RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{new ItemStack(GameRegistry.findItem(NATURA, "Natura.netherfood"), 1, 0)}, Fluids.JUICE.getFluid(amount), ForestryItem.mulch.getItemStack(), ForestryAPI.activeMode.getIntegerSetting("squeezer.mulch.apple")); + ItemStack netherFood = new ItemStack(GameRegistry.findItem(NATURA, "Natura.netherfood"), 1, 0); + ItemStack mulch = PluginCore.items.mulch.getItemStack(); + RecipeManagers.squeezerManager.addRecipe(10, new ItemStack[]{netherFood}, Fluids.JUICE.getFluid(amount), mulch, ForestryAPI.activeMode.getIntegerSetting("squeezer.mulch.apple")); amount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple") / 25; amount = Math.max(amount, 1); // Produce at least 1 mb of juice. @@ -262,7 +263,7 @@ public class PluginNatura extends ForestryPlugin { ItemStack compostWheat = ForestryAPI.activeMode.getStackSetting("recipe.output.compost.wheat"); RecipeUtil.addRecipe(compostWheat, " X ", "X#X", " X ", '#', Blocks.dirt, 'X', itemBarley); } - FuelManager.moistenerResource.put(itemBarley, new MoistenerFuel(itemBarley, ForestryItem.mouldyWheat.getItemStack(), 0, 300)); + FuelManager.moistenerResource.put(itemBarley, new MoistenerFuel(itemBarley, PluginCore.items.mouldyWheat.getItemStack(), 0, 300)); } } diff --git a/src/main/java/forestry/plugins/PluginStorage.java b/src/main/java/forestry/plugins/PluginStorage.java index f01bfaa8a..f80c64b76 100755 --- a/src/main/java/forestry/plugins/PluginStorage.java +++ b/src/main/java/forestry/plugins/PluginStorage.java @@ -311,9 +311,9 @@ public class PluginStorage extends ForestryPlugin { new ItemStack(Blocks.obsidian), new ItemStack(Blocks.coal_ore), new ItemStack(Items.coal), - ForestryItem.bronzePickaxe.getItemStack(), - ForestryItem.kitPickaxe.getItemStack(), - ForestryItem.brokenBronzePickaxe.getItemStack() + PluginCore.items.bronzePickaxe.getItemStack(), + PluginCore.items.kitPickaxe.getItemStack(), + PluginCore.items.brokenBronzePickaxe.getItemStack() )); digger.addValidOreDictNames(diggerOreDictNames); @@ -325,9 +325,9 @@ public class PluginStorage extends ForestryPlugin { new ItemStack(Blocks.sandstone, 1, 0), new ItemStack(Items.clay_ball), new ItemStack(Blocks.soul_sand), - ForestryItem.bronzeShovel.getItemStack(), - ForestryItem.kitShovel.getItemStack(), - ForestryItem.brokenBronzeShovel.getItemStack() + PluginCore.items.bronzeShovel.getItemStack(), + PluginCore.items.kitShovel.getItemStack(), + PluginCore.items.brokenBronzeShovel.getItemStack() )); forester.addValidOreDictNames(foresterOreDictNames); @@ -592,25 +592,24 @@ public class PluginStorage extends ForestryPlugin { " # ", "# #", " # ", '#', "logWood"); // / BACKPACKS T2 - RecipeManagers.carpenterManager.addRecipe(200, Fluids.WATER.getFluid(1000), null, ForestryItem.minerBackpackT2.getItemStack(), - "WXW", "WTW", "WWW", 'X', "gemDiamond", 'W', - ForestryItem.craftingMaterial.getItemStack(1, 3), 'T', ForestryItem.minerBackpack); - RecipeManagers.carpenterManager.addRecipe(200, Fluids.WATER.getFluid(1000), null, ForestryItem.diggerBackpackT2.getItemStack(), - "WXW", "WTW", "WWW", 'X', "gemDiamond", 'W', - ForestryItem.craftingMaterial.getItemStack(1, 3), 'T', ForestryItem.diggerBackpack); - RecipeManagers.carpenterManager.addRecipe(200, Fluids.WATER.getFluid(1000), null, ForestryItem.foresterBackpackT2.getItemStack(), - "WXW", "WTW", "WWW", 'X', "gemDiamond", 'W', - ForestryItem.craftingMaterial.getItemStack(1, 3), 'T', ForestryItem.foresterBackpack); - RecipeManagers.carpenterManager.addRecipe(200, Fluids.WATER.getFluid(1000), null, ForestryItem.hunterBackpackT2.getItemStack(), - "WXW", "WTW", "WWW", 'X', "gemDiamond", 'W', - ForestryItem.craftingMaterial.getItemStack(1, 3), 'T', ForestryItem.hunterBackpack); - RecipeManagers.carpenterManager.addRecipe(200, Fluids.WATER.getFluid(1000), null, ForestryItem.adventurerBackpackT2.getItemStack(), - "WXW", "WTW", "WWW", 'X', "gemDiamond", 'W', - ForestryItem.craftingMaterial.getItemStack(1, 3), 'T', ForestryItem.adventurerBackpack); - RecipeManagers.carpenterManager.addRecipe(200, Fluids.WATER.getFluid(1000), null, ForestryItem.builderBackpackT2.getItemStack(), - "WXW", "WTW", "WWW", 'X', "gemDiamond", 'W', - ForestryItem.craftingMaterial.getItemStack(1, 3), 'T', ForestryItem.builderBackpack); + addT2BackpackRecipe(ForestryItem.minerBackpack.getItemStack(), ForestryItem.minerBackpackT2.getItemStack()); + addT2BackpackRecipe(ForestryItem.diggerBackpack.getItemStack(), ForestryItem.diggerBackpackT2.getItemStack()); + addT2BackpackRecipe(ForestryItem.foresterBackpack.getItemStack(), ForestryItem.foresterBackpackT2.getItemStack()); + addT2BackpackRecipe(ForestryItem.hunterBackpack.getItemStack(), ForestryItem.hunterBackpackT2.getItemStack()); + addT2BackpackRecipe(ForestryItem.adventurerBackpack.getItemStack(), ForestryItem.adventurerBackpackT2.getItemStack()); + addT2BackpackRecipe(ForestryItem.builderBackpack.getItemStack(), ForestryItem.builderBackpackT2.getItemStack()); } } + private static void addT2BackpackRecipe(ItemStack backpackT1, ItemStack backpackT2) { + ItemStack wovenSilk = PluginCore.items.craftingMaterial.getWovenSilk(); + RecipeManagers.carpenterManager.addRecipe(200, Fluids.WATER.getFluid(1000), null, backpackT2, + "WXW", + "WTW", + "WWW", + 'X', "gemDiamond", + 'W', wovenSilk, + 'T', backpackT1); + } + }