Search in sources :

Example 1 with ItemRegistryApiculture

use of forestry.apiculture.items.ItemRegistryApiculture in project ForestryMC by ForestryMC.

the class PluginIC2 method registerRecipes.

@Override
@Optional.Method(modid = PluginIC2.MOD_ID)
public void registerRecipes() {
    ItemRegistryCore coreItems = ModuleCore.items;
    if (rubber != null) {
        RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), coreItems.tubes.get(EnumElectronTube.RUBBER, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "itemRubber" });
    }
    ItemStack plantBall = IC2Items.getItem("crafting", "plant_ball");
    if (plantBall != null) {
        RecipeUtil.addFermenterRecipes(plantBall, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.wheat") * 9, Fluids.BIOMASS);
    }
    ItemStack bioChaff = IC2Items.getItem("crafting", "bio_chaff");
    if (bioChaff != null) {
        RecipeUtil.addFermenterRecipes(bioChaff, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.wheat") * 9, Fluids.BIOMASS);
    }
    ItemRegistryApiculture beeItems = ModuleApiculture.getItems();
    if (beeItems != null) {
        if (resin != null) {
            RecipeManagers.centrifugeManager.addRecipe(20, beeItems.propolis.get(EnumPropolis.NORMAL, 1), ImmutableMap.of(resin, 1.0f));
        } else {
            Log.info("Missing IC2 resin, skipping centrifuge recipe for propolis to resin.");
        }
    }
    if (rubberSapling != null) {
        RecipeUtil.addFermenterRecipes(rubberSapling, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.sapling"), Fluids.BIOMASS);
    } else {
        Log.info("Missing IC2 rubber sapling, skipping fermenter recipe for converting rubber sapling to biomass.");
    }
    if (rubberSapling != null && resin != null) {
        String saplingName = ItemStackUtil.getBlockNameFromRegistryAsString(ItemStackUtil.getBlock(rubberSapling));
        if (saplingName != null) {
            String resinName = ItemStackUtil.getItemNameFromRegistryAsString(resin.getItem());
            String imc = String.format("farmArboreal@%s.%s.%s.%s", saplingName, rubberSapling.getItemDamage(), resinName, resin.getItemDamage());
            Log.trace("Sending IMC '%s'.", imc);
            FMLInterModComms.sendMessage(Constants.MOD_ID, "add-farmable-sapling", imc);
        }
    }
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.ENERGY))) {
        Fluid biogas = FluidRegistry.getFluid("ic2biogas");
        if (biogas != null) {
            int burnDuration = Math.round(Constants.ENGINE_CYCLE_DURATION_BIOMASS * ForestryAPI.activeMode.getFloatSetting("fuel.biomass.biogas"));
            EngineBronzeFuel bronzeFuel = new EngineBronzeFuel(Fluids.BIOMASS.getFluid(), Constants.ENGINE_FUEL_VALUE_BIOMASS, burnDuration, 1);
            FuelManager.bronzeEngineFuel.put(biogas, bronzeFuel);
        }
    }
    ItemStack waterCell = IC2Items.getItem("fluid_cell", "water");
    if (waterCell != null) {
        int bogEarthOutputCan = ForestryAPI.activeMode.getIntegerSetting("recipe.output.bogearth.can");
        if (bogEarthOutputCan > 0) {
            ItemStack bogEarthCan = ModuleCore.getBlocks().bogEarth.get(BlockBogEarth.SoilType.BOG_EARTH, bogEarthOutputCan);
            RecipeUtil.addRecipe("ic2_bog_earth_can", bogEarthCan, "#Y#", "YXY", "#Y#", '#', Blocks.DIRT, 'X', waterCell, 'Y', "sand");
        }
    }
    ICircuitLayout layout = ChipsetManager.circuitRegistry.getLayout("forestry.engine.tin");
    // / Solder Manager
    ChipsetManager.solderManager.addRecipe(layout, coreItems.tubes.get(EnumElectronTube.COPPER, 1), Circuits.energyElectricChoke1);
    ChipsetManager.solderManager.addRecipe(layout, coreItems.tubes.get(EnumElectronTube.TIN, 1), Circuits.energyElectricBoost1);
    ChipsetManager.solderManager.addRecipe(layout, coreItems.tubes.get(EnumElectronTube.BRONZE, 1), Circuits.energyElectricBoost2);
    ChipsetManager.solderManager.addRecipe(layout, coreItems.tubes.get(EnumElectronTube.IRON, 1), Circuits.energyElectricEfficiency1);
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.FARMING))) {
        if (resin != null && rubberWood != null) {
            ICircuitLayout layoutManual = ChipsetManager.circuitRegistry.getLayout("forestry.farms.manual");
            ChipsetManager.solderManager.addRecipe(layoutManual, coreItems.tubes.get(EnumElectronTube.RUBBER, 1), Circuits.farmRubberManual);
        }
        FarmRegistry.getInstance().registerFarmables("farmOrchard", new FarmableBasicIC2Crop());
    }
    BlockRegistryEnergy energyBlocks = ModuleEnergy.blocks;
    if (energyBlocks != null) {
        RecipeUtil.addRecipe("ic2_generator", blocks.generator, "X#X", "XYX", "X#X", '#', "blockGlass", 'X', "ingotGold", 'Y', coreItems.sturdyCasing);
        RecipeUtil.addRecipe("ic2_eletrical_engine", blocks.electricalEngine, "###", " X ", "YVY", '#', "ingotTin", 'X', "blockGlass", 'Y', "gearTin", 'V', Blocks.PISTON);
    }
}
Also used : ICircuitLayout(forestry.api.circuits.ICircuitLayout) ItemRegistryCore(forestry.core.items.ItemRegistryCore) ItemRegistryApiculture(forestry.apiculture.items.ItemRegistryApiculture) ResourceLocation(net.minecraft.util.ResourceLocation) Fluid(net.minecraftforge.fluids.Fluid) BlockRegistryEnergy(forestry.energy.blocks.BlockRegistryEnergy) EngineBronzeFuel(forestry.api.fuels.EngineBronzeFuel) ItemStack(net.minecraft.item.ItemStack) FarmableBasicIC2Crop(forestry.farming.logic.farmables.FarmableBasicIC2Crop)

Example 2 with ItemRegistryApiculture

use of forestry.apiculture.items.ItemRegistryApiculture in project ForestryMC by ForestryMC.

the class PluginIC2 method doInit.

@Override
@Optional.Method(modid = PluginIC2.MOD_ID)
public void doInit() {
    // Remove some items from the recycler
    if (Recipes.recyclerBlacklist != null) {
        ItemRegistryApiculture beeItems = ModuleApiculture.getItems();
        if (beeItems != null) {
            Recipes.recyclerBlacklist.add(Recipes.inputFactory.forStack(new ItemStack(beeItems.beeQueenGE)));
            Recipes.recyclerBlacklist.add(Recipes.inputFactory.forStack(new ItemStack(beeItems.beePrincessGE)));
        }
    } else {
        Log.error("IC2 Recipes.recyclerBlacklist not found.");
    }
    Circuits.energyElectricChoke1 = new CircuitElectricChoke("electric.choke.1");
    Circuits.energyElectricEfficiency1 = new CircuitElectricEfficiency("electric.efficiency.1");
    Circuits.energyElectricBoost1 = new CircuitElectricBoost("electric.boost.1", 7, 20);
    Circuits.energyElectricBoost2 = new CircuitElectricBoost("electric.boost.2", 15, 40);
    blocks.electricalEngine.init();
    blocks.generator.init();
}
Also used : CircuitElectricBoost(forestry.energy.circuits.CircuitElectricBoost) CircuitElectricChoke(forestry.energy.circuits.CircuitElectricChoke) ItemRegistryApiculture(forestry.apiculture.items.ItemRegistryApiculture) CircuitElectricEfficiency(forestry.energy.circuits.CircuitElectricEfficiency) ItemStack(net.minecraft.item.ItemStack)

Example 3 with ItemRegistryApiculture

use of forestry.apiculture.items.ItemRegistryApiculture in project ForestryMC by ForestryMC.

the class AlleleSpecies method getResearchSuitability.

@Override
public float getResearchSuitability(ItemStack itemstack) {
    if (itemstack.isEmpty()) {
        return 0f;
    }
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.APICULTURE))) {
        ItemRegistryApiculture beeItems = ModuleApiculture.getItems();
        Item item = itemstack.getItem();
        if (beeItems.honeyDrop == item) {
            return 0.5f;
        } else if (beeItems.honeydew == item) {
            return 0.7f;
        } else if (beeItems.beeComb == item) {
            return 0.4f;
        }
    }
    if (getRoot().isMember(itemstack)) {
        return 1.0f;
    }
    for (Map.Entry<ItemStack, Float> entry : getRoot().getResearchCatalysts().entrySet()) {
        if (ItemStackUtil.isIdenticalItem(entry.getKey(), itemstack)) {
            return entry.getValue();
        }
    }
    return 0f;
}
Also used : Item(net.minecraft.item.Item) ResourceLocation(net.minecraft.util.ResourceLocation) ItemRegistryApiculture(forestry.apiculture.items.ItemRegistryApiculture) ItemStack(net.minecraft.item.ItemStack) Map(java.util.Map)

Example 4 with ItemRegistryApiculture

use of forestry.apiculture.items.ItemRegistryApiculture in project ForestryMC by ForestryMC.

the class ModuleFactory method registerRecipes.

@Override
public void registerRecipes() {
    // / FABRICATOR
    ItemRegistryCore coreItems = ModuleCore.getItems();
    BlockRegistryCore coreBlocks = ModuleCore.getBlocks();
    ItemRegistryFluids fluidItems = ModuleFluids.getItems();
    BlockRegistryFactory blocks = getBlocks();
    ItemElectronTube electronTube = coreItems.tubes;
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.COPPER, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotCopper" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.TIN, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotTin" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.BRONZE, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotBronze" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.IRON, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotIron" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.GOLD, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "ingotGold" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.DIAMOND, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "gemDiamond" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.OBSIDIAN, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', Blocks.OBSIDIAN });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.BLAZE, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', Items.BLAZE_POWDER });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.EMERALD, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "gemEmerald" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.APATITE, 4), new Object[] { " X ", "#X#", "XXX", '#', "dustRedstone", 'X', "gemApatite" });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, 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(ItemStack.EMPTY, 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) });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), electronTube.get(EnumElectronTube.ORCHID, 4), new Object[] { " X ", "#X#", "XXX", '#', new ItemStack(Items.REPEATER, 1, 0), 'X', new ItemStack(Blocks.REDSTONE_ORE, 1, 0) });
    RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), coreItems.flexibleCasing.getItemStack(), new Object[] { "#E#", "B B", "#E#", '#', OreDictUtil.INGOT_BRONZE, 'B', OreDictUtil.SLIMEBALL, 'E', "gemEmerald" });
    String[] dyes = { "dyeBlack", "dyeRed", "dyeGreen", "dyeBrown", "dyeBlue", "dyePurple", "dyeCyan", "dyeLightGray", "dyeGray", "dyePink", "dyeLime", "dyeYellow", "dyeLightBlue", "dyeMagenta", "dyeOrange", "dyeWhite" };
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.APICULTURE))) {
        ItemRegistryApiculture beeItems = ModuleApiculture.getItems();
        FluidStack liquidGlass = Fluids.GLASS.getFluid(Fluid.BUCKET_VOLUME);
        FluidStack liquidGlassX4 = Fluids.GLASS.getFluid(Fluid.BUCKET_VOLUME * 4);
        for (int i = 0; i < 16; i++) {
            RecipeManagers.fabricatorManager.addRecipe(beeItems.waxCast.getWildcard(), liquidGlass, new ItemStack(Blocks.STAINED_GLASS, 4, 15 - i), new Object[] { "#", "X", '#', dyes[i], 'X', beeItems.propolis.getWildcard() });
        }
        RecipeManagers.fabricatorManager.addRecipe(beeItems.waxCast.getWildcard(), liquidGlassX4, new ItemStack(Blocks.GLASS, 1, 0), new Object[] { "X", 'X', beeItems.propolis.getWildcard() });
    }
    // / SQUEEZER
    int appleMulchAmount = ForestryAPI.activeMode.getIntegerSetting("squeezer.mulch.apple");
    int appleJuiceAmount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple");
    RecipeManagers.squeezerManager.addRecipe(10, new ItemStack(Items.APPLE), Fluids.JUICE.getFluid(appleJuiceAmount), coreItems.mulch.getItemStack(), appleMulchAmount);
    RecipeManagers.squeezerManager.addRecipe(10, new ItemStack(Items.CARROT), Fluids.JUICE.getFluid(appleJuiceAmount), coreItems.mulch.getItemStack(), appleMulchAmount);
    int seedOilAmount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.seed");
    FluidStack seedOil = Fluids.SEED_OIL.getFluid(seedOilAmount);
    RecipeManagers.squeezerManager.addRecipe(10, new ItemStack(Items.WHEAT_SEEDS), seedOil);
    RecipeManagers.squeezerManager.addRecipe(10, new ItemStack(Items.PUMPKIN_SEEDS), seedOil);
    RecipeManagers.squeezerManager.addRecipe(10, new ItemStack(Items.MELON_SEEDS), seedOil);
    RecipeManagers.squeezerManager.addRecipe(10, new ItemStack(Items.BEETROOT_SEEDS), seedOil);
    RecipeManagers.squeezerManager.addRecipe(10, new ItemStack(Blocks.CACTUS), new FluidStack(FluidRegistry.WATER, 500));
    NonNullList<ItemStack> lavaRecipeResources = NonNullList.create();
    lavaRecipeResources.add(coreItems.phosphor.getItemStack(2));
    lavaRecipeResources.add(new ItemStack(Blocks.COBBLESTONE));
    RecipeManagers.squeezerManager.addRecipe(10, lavaRecipeResources, new FluidStack(FluidRegistry.LAVA, 1600));
    NonNullList<ItemStack> iceRecipeResources = NonNullList.create();
    iceRecipeResources.add(new ItemStack(Items.SNOWBALL));
    iceRecipeResources.add(coreItems.craftingMaterial.getIceShard(4));
    RecipeManagers.squeezerManager.addRecipe(10, iceRecipeResources, Fluids.ICE.getFluid(4000));
    // STILL
    RecipeManagers.stillManager.addRecipe(Constants.STILL_DESTILLATION_DURATION, Fluids.BIOMASS.getFluid(Constants.STILL_DESTILLATION_INPUT), Fluids.BIO_ETHANOL.getFluid(Constants.STILL_DESTILLATION_OUTPUT));
    // MOISTENER
    RecipeManagers.moistenerManager.addRecipe(new ItemStack(Items.WHEAT_SEEDS), new ItemStack(Blocks.MYCELIUM), 5000);
    RecipeManagers.moistenerManager.addRecipe(new ItemStack(Blocks.COBBLESTONE), new ItemStack(Blocks.MOSSY_COBBLESTONE), 20000);
    RecipeManagers.moistenerManager.addRecipe(new ItemStack(Blocks.STONEBRICK), new ItemStack(Blocks.STONEBRICK, 1, 1), 20000);
    RecipeManagers.moistenerManager.addRecipe(new ItemStack(Blocks.LEAVES, 1, EnumType.SPRUCE.ordinal()), new ItemStack(Blocks.DIRT, 1, DirtType.PODZOL.ordinal()), 5000);
    // FERMENTER
    RecipeUtil.addFermenterRecipes(OreDictUtil.TREE_SAPLING, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.sapling"), Fluids.BIOMASS);
    RecipeUtil.addFermenterRecipes(OreDictUtil.BLOCK_CACTUS, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.cactus"), Fluids.BIOMASS);
    RecipeUtil.addFermenterRecipes(OreDictUtil.CROP_WHEAT, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.wheat"), Fluids.BIOMASS);
    RecipeUtil.addFermenterRecipes(OreDictUtil.CROP_POTATO, 2 * ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.wheat"), Fluids.BIOMASS);
    RecipeUtil.addFermenterRecipes(OreDictUtil.SUGARCANE, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.cane"), Fluids.BIOMASS);
    RecipeUtil.addFermenterRecipes(new ItemStack(Blocks.BROWN_MUSHROOM), ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.mushroom"), Fluids.BIOMASS);
    RecipeUtil.addFermenterRecipes(new ItemStack(Blocks.RED_MUSHROOM), ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.mushroom"), Fluids.BIOMASS);
    // FABRICATOR
    RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.GLASS), Fluids.GLASS.getFluid(1000), 1000);
    RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.GLASS_PANE), Fluids.GLASS.getFluid(375), 1000);
    RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.SAND), Fluids.GLASS.getFluid(1000), 3000);
    RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.SAND, 1, 1), Fluids.GLASS.getFluid(1000), 3000);
    RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.SANDSTONE), Fluids.GLASS.getFluid(4000), 4800);
    RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.SANDSTONE, 1, 1), Fluids.GLASS.getFluid(4000), 4800);
    RecipeManagers.fabricatorSmeltingManager.addSmelting(new ItemStack(Blocks.SANDSTONE, 1, 2), Fluids.GLASS.getFluid(4000), 4800);
    // / CARPENTER
    RecipeManagers.carpenterManager.addRecipe(50, Fluids.SEED_OIL.getFluid(250), ItemStack.EMPTY, coreItems.impregnatedCasing.getItemStack(), "###", "# #", "###", '#', "logWood");
    RecipeManagers.carpenterManager.addRecipe(50, Fluids.SEED_OIL.getFluid(500), ItemStack.EMPTY, new ItemStack(coreBlocks.escritoire), "#  ", "###", "# #", '#', "plankWood");
    // RESOURCES
    RecipeManagers.carpenterManager.addRecipe(10, Fluids.SEED_OIL.getFluid(100), ItemStack.EMPTY, coreItems.stickImpregnated.getItemStack(2), "#", "#", '#', "logWood");
    RecipeManagers.carpenterManager.addRecipe(5, new FluidStack(FluidRegistry.WATER, 250), ItemStack.EMPTY, coreItems.woodPulp.getItemStack(4), "#", '#', "logWood");
    RecipeManagers.carpenterManager.addRecipe(5, new FluidStack(FluidRegistry.WATER, 250), ItemStack.EMPTY, new ItemStack(Items.PAPER, 1), "#", "#", '#', "pulpWood");
    RecipeManagers.carpenterManager.addRecipe(5, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, new ItemStack(coreBlocks.humus, 9), "###", "#X#", "###", '#', Blocks.DIRT, 'X', coreItems.mulch);
    RecipeManagers.carpenterManager.addRecipe(5, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, coreBlocks.bogEarth.get(BlockBogEarth.SoilType.BOG_EARTH, 8), "#X#", "XYX", "#X#", '#', Blocks.DIRT, 'X', "sand", 'Y', coreItems.mulch);
    RecipeManagers.carpenterManager.addRecipe(75, new FluidStack(FluidRegistry.WATER, 5000), ItemStack.EMPTY, coreItems.hardenedCasing.getItemStack(), "# #", " Y ", "# #", '#', "gemDiamond", 'Y', coreItems.sturdyCasing);
    // / CHIPSETS
    ItemStack basicCircuitboard = ItemCircuitBoard.createCircuitboard(EnumCircuitBoardType.BASIC, null, new ICircuit[] {});
    ItemStack enhancedCircuitboard = ItemCircuitBoard.createCircuitboard(EnumCircuitBoardType.ENHANCED, null, new ICircuit[] {});
    ItemStack refinedCircuitboard = ItemCircuitBoard.createCircuitboard(EnumCircuitBoardType.REFINED, null, new ICircuit[] {});
    ItemStack intricateCircuitboard = ItemCircuitBoard.createCircuitboard(EnumCircuitBoardType.INTRICATE, null, new ICircuit[] {});
    RecipeManagers.carpenterManager.addRecipe(20, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, basicCircuitboard, "R R", "R#R", "R R", '#', "ingotTin", 'R', "dustRedstone");
    RecipeManagers.carpenterManager.addRecipe(40, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, enhancedCircuitboard, "R#R", "R#R", "R#R", '#', "ingotBronze", 'R', "dustRedstone");
    RecipeManagers.carpenterManager.addRecipe(80, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, refinedCircuitboard, "R#R", "R#R", "R#R", '#', "ingotIron", 'R', "dustRedstone");
    RecipeManagers.carpenterManager.addRecipe(80, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, intricateCircuitboard, "R#R", "R#R", "R#R", '#', "ingotGold", 'R', "dustRedstone");
    RecipeManagers.carpenterManager.addRecipe(40, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, coreItems.solderingIron.getItemStack(), " # ", "# #", "  B", '#', "ingotIron", 'B', "ingotBronze");
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.APICULTURE))) {
        ItemRegistryApiculture beeItems = ModuleApiculture.getItems();
        RecipeManagers.carpenterManager.addRecipe(5, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, coreItems.iodineCharge.getItemStack(), "Z#Z", "#Y#", "X#X", '#', beeItems.pollenCluster.getWildcard(), 'X', Items.GUNPOWDER, 'Y', fluidItems.canEmpty, 'Z', beeItems.honeyDrop);
        RecipeManagers.carpenterManager.addRecipe(5, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, coreItems.craftingMaterial.getDissipationCharge(), "Z#Z", "#Y#", "X#X", '#', beeItems.royalJelly, 'X', Items.GUNPOWDER, 'Y', fluidItems.canEmpty, 'Z', beeItems.honeydew);
    }
    // Ender pearl
    RecipeManagers.carpenterManager.addRecipe(100, ItemStack.EMPTY, new ItemStack(Items.ENDER_PEARL, 1), " # ", "###", " # ", '#', coreItems.craftingMaterial.getPulsatingMesh());
    // Woven Silk
    RecipeManagers.carpenterManager.addRecipe(10, new FluidStack(FluidRegistry.WATER, 500), ItemStack.EMPTY, coreItems.craftingMaterial.getWovenSilk(), "###", "###", "###", '#', coreItems.craftingMaterial.getSilkWisp());
    // Boxes
    RecipeManagers.carpenterManager.addRecipe(5, new FluidStack(FluidRegistry.WATER, 1000), ItemStack.EMPTY, coreItems.carton.getItemStack(2), " # ", "# #", " # ", '#', "pulpWood");
    // Assembly Kits
    RecipeManagers.carpenterManager.addRecipe(20, null, coreItems.carton.getItemStack(), coreItems.kitPickaxe.getItemStack(), new Object[] { "###", " X ", " X ", '#', "ingotBronze", 'X', "stickWood" });
    RecipeManagers.carpenterManager.addRecipe(20, null, coreItems.carton.getItemStack(), coreItems.kitShovel.getItemStack(), new Object[] { " # ", " X ", " X ", '#', "ingotBronze", 'X', "stickWood" });
    // Reclamation
    ItemStack ingotBronze = coreItems.ingotBronze.copy();
    ingotBronze.setCount(2);
    RecipeManagers.carpenterManager.addRecipe(ItemStack.EMPTY, ingotBronze, "#", '#', coreItems.brokenBronzePickaxe);
    ingotBronze = ingotBronze.copy();
    ingotBronze.setCount(1);
    RecipeManagers.carpenterManager.addRecipe(ItemStack.EMPTY, ingotBronze, "#", '#', coreItems.brokenBronzeShovel);
    // Crating and uncrating
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.CRATE))) {
        ModuleCrates.createCrateRecipes();
    }
    ICircuitLayout layout = ChipsetManager.circuitRegistry.getLayout("forestry.machine.upgrade");
    // / Solder Manager
    ChipsetManager.solderManager.addRecipe(layout, coreItems.tubes.get(EnumElectronTube.EMERALD, 1), Circuits.machineSpeedUpgrade1);
    ChipsetManager.solderManager.addRecipe(layout, coreItems.tubes.get(EnumElectronTube.BLAZE, 1), Circuits.machineSpeedUpgrade2);
    ChipsetManager.solderManager.addRecipe(layout, coreItems.tubes.get(EnumElectronTube.GOLD, 1), Circuits.machineEfficiencyUpgrade1);
    RecipeUtil.addRecipe("bottler", blocks.bottler, "X#X", "#Y#", "X#X", '#', "blockGlass", 'X', fluidItems.canEmpty, 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("carpenter", blocks.carpenter, "X#X", "XYX", "X#X", '#', "blockGlass", 'X', "ingotBronze", 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("centrifuge", blocks.centrifuge, "X#X", "XYX", "X#X", '#', "blockGlass", 'X', "ingotCopper", 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("fermenter", blocks.fermenter, "X#X", "#Y#", "X#X", '#', "blockGlass", 'X', "gearBronze", 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("moistener", blocks.moistener, "X#X", "#Y#", "X#X", '#', "blockGlass", 'X', "gearCopper", 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("squeezer", blocks.squeezer, "X#X", "XYX", "X#X", '#', "blockGlass", 'X', "ingotTin", 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("still", blocks.still, "X#X", "#Y#", "X#X", '#', "blockGlass", 'X', "dustRedstone", 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("rainmaker", blocks.rainmaker, "X#X", "#Y#", "X#X", '#', "blockGlass", 'X', "gearTin", 'Y', coreItems.hardenedCasing);
    RecipeUtil.addRecipe("fabricator", blocks.fabricator, "X#X", "#Y#", "XZX", '#', "blockGlass", 'X', "ingotGold", 'Y', coreItems.sturdyCasing, 'Z', "chestWood");
    RecipeUtil.addRecipe("raintank", blocks.raintank, "X#X", "XYX", "X#X", '#', "blockGlass", 'X', "ingotIron", 'Y', coreItems.sturdyCasing);
}
Also used : BlockRegistryCore(forestry.core.blocks.BlockRegistryCore) FluidStack(net.minecraftforge.fluids.FluidStack) ItemRegistryApiculture(forestry.apiculture.items.ItemRegistryApiculture) BlockRegistryFactory(forestry.factory.blocks.BlockRegistryFactory) ItemElectronTube(forestry.core.items.ItemElectronTube) ICircuitLayout(forestry.api.circuits.ICircuitLayout) ItemRegistryCore(forestry.core.items.ItemRegistryCore) ResourceLocation(net.minecraft.util.ResourceLocation) ItemRegistryFluids(forestry.core.items.ItemRegistryFluids) ItemStack(net.minecraft.item.ItemStack)

Example 5 with ItemRegistryApiculture

use of forestry.apiculture.items.ItemRegistryApiculture in project ForestryMC by ForestryMC.

the class ModuleMail method registerRecipes.

@Override
public void registerRecipes() {
    ItemRegistryCore coreItems = ModuleCore.getItems();
    ItemRegistryMail items = getItems();
    BlockRegistryMail blocks = getBlocks();
    ItemStack stampGlue;
    ItemStack letterGlue;
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.APICULTURE))) {
        ItemRegistryApiculture beeItems = ModuleApiculture.getItems();
        stampGlue = beeItems.honeyDrop.getItemStack();
        letterGlue = beeItems.propolis.getWildcard();
    } else {
        stampGlue = new ItemStack(Items.SLIME_BALL);
        letterGlue = new ItemStack(Items.SLIME_BALL);
    }
    RecipeUtil.addShapelessRecipe("letter", items.letters.getItemStack(), Items.PAPER, letterGlue);
    if (Config.craftingStampsEnabled) {
        for (EnumStampDefinition stampDefinition : EnumStampDefinition.VALUES) {
            if (Config.collectorStamps.contains(stampDefinition.getUid())) {
                continue;
            }
            ItemStack stamps = items.stamps.get(stampDefinition, 9);
            RecipeUtil.addRecipe("stamps", stamps, "XXX", "###", "ZZZ", 'X', stampDefinition.getCraftingIngredient(), '#', Items.PAPER, 'Z', stampGlue);
            RecipeManagers.carpenterManager.addRecipe(10, Fluids.SEED_OIL.getFluid(300), ItemStack.EMPTY, stamps, "XXX", "###", 'X', stampDefinition.getCraftingIngredient(), '#', Items.PAPER);
        }
    }
    // Recycling
    RecipeUtil.addRecipe("letter_recycling", new ItemStack(Items.PAPER), "###", '#', OreDictUtil.EMPTIED_LETTER_ORE_DICT);
    // Carpenter
    RecipeManagers.carpenterManager.addRecipe(10, new FluidStack(FluidRegistry.WATER, 250), ItemStack.EMPTY, items.letters.getItemStack(), "###", "###", '#', coreItems.woodPulp);
    RecipeUtil.addShapelessRecipe("catalogue", items.catalogue.getItemStack(), items.stamps.getWildcard(), new ItemStack(Items.BOOK));
    RecipeUtil.addRecipe("mailbox", new ItemStack(blocks.mailbox), " # ", "#Y#", "XXX", '#', "ingotTin", 'X', "chestWood", 'Y', coreItems.sturdyCasing);
    RecipeUtil.addRecipe("trade_station", new ItemStack(blocks.tradeStation), "Z#Z", "#Y#", "XWX", '#', coreItems.tubes.get(EnumElectronTube.BRONZE, 1), 'X', "chestWood", 'Y', coreItems.sturdyCasing, 'Z', coreItems.tubes.get(EnumElectronTube.IRON, 1), 'W', ItemCircuitBoard.createCircuitboard(EnumCircuitBoardType.REFINED, null, new ICircuit[] {}));
}
Also used : BlockRegistryMail(forestry.mail.blocks.BlockRegistryMail) ItemRegistryCore(forestry.core.items.ItemRegistryCore) FluidStack(net.minecraftforge.fluids.FluidStack) ResourceLocation(net.minecraft.util.ResourceLocation) ItemRegistryApiculture(forestry.apiculture.items.ItemRegistryApiculture) ItemRegistryMail(forestry.mail.items.ItemRegistryMail) ICircuit(forestry.api.circuits.ICircuit) EnumStampDefinition(forestry.mail.items.EnumStampDefinition) ItemStack(net.minecraft.item.ItemStack)

Aggregations

ItemRegistryApiculture (forestry.apiculture.items.ItemRegistryApiculture)16 ResourceLocation (net.minecraft.util.ResourceLocation)10 ItemStack (net.minecraft.item.ItemStack)9 ItemRegistryCore (forestry.core.items.ItemRegistryCore)5 Item (net.minecraft.item.Item)5 BlockRegistryApiculture (forestry.apiculture.blocks.BlockRegistryApiculture)3 FluidStack (net.minecraftforge.fluids.FluidStack)3 ICircuitLayout (forestry.api.circuits.ICircuitLayout)2 ItemRegistryFluids (forestry.core.items.ItemRegistryFluids)2 Preconditions (com.google.common.base.Preconditions)1 BeeManager (forestry.api.apiculture.BeeManager)1 EnumBeeType (forestry.api.apiculture.EnumBeeType)1 IBee (forestry.api.apiculture.IBee)1 IBeekeepingMode (forestry.api.apiculture.IBeekeepingMode)1 ICircuit (forestry.api.circuits.ICircuit)1 ForestryAPI (forestry.api.core.ForestryAPI)1 EngineBronzeFuel (forestry.api.fuels.EngineBronzeFuel)1 IAlleleSpecies (forestry.api.genetics.IAlleleSpecies)1 ICrateRegistry (forestry.api.storage.ICrateRegistry)1 ModuleApiculture (forestry.apiculture.ModuleApiculture)1