Search in sources :

Example 1 with ItemRegistryCore

use of forestry.core.items.ItemRegistryCore in project ForestryMC by ForestryMC.

the class ModuleCultivation method registerRecipes.

@Override
public void registerRecipes() {
    BlockRegistryCultivation blocks = getBlocks();
    ItemRegistryCore coreItems = ModuleCore.getItems();
    RecipeUtil.addRecipe("arboretum", blocks.arboretum, "GTG", "TCT", "GBG", 'G', OreDictUtil.BLOCK_GLASS, 'T', coreItems.tubes.get(EnumElectronTube.GOLD, 1), 'C', coreItems.flexibleCasing, 'B', coreItems.circuitboards.get(EnumCircuitBoardType.BASIC));
    RecipeUtil.addRecipe("farm_crops", blocks.farmCrops, "GTG", "TCT", "GBG", 'G', OreDictUtil.BLOCK_GLASS, 'T', coreItems.tubes.get(EnumElectronTube.BRONZE, 1), 'C', coreItems.flexibleCasing, 'B', coreItems.circuitboards.get(EnumCircuitBoardType.BASIC));
    RecipeUtil.addRecipe("peat_bog", blocks.peatBog, "GTG", "TCT", "GBG", 'G', OreDictUtil.BLOCK_GLASS, 'T', coreItems.tubes.get(EnumElectronTube.OBSIDIAN, 1), 'C', coreItems.flexibleCasing, 'B', coreItems.circuitboards.get(EnumCircuitBoardType.BASIC));
    RecipeUtil.addRecipe("farm_mushroom", blocks.farmMushroom, "GTG", "TCT", "GBG", 'G', OreDictUtil.BLOCK_GLASS, 'T', coreItems.tubes.get(EnumElectronTube.APATITE, 1), 'C', coreItems.flexibleCasing, 'B', coreItems.circuitboards.get(EnumCircuitBoardType.BASIC));
    RecipeUtil.addRecipe("farm_gourd", blocks.farmGourd, "GTG", "TCT", "GBG", 'G', OreDictUtil.BLOCK_GLASS, 'T', coreItems.tubes.get(EnumElectronTube.LAPIS, 1), 'C', coreItems.flexibleCasing, 'B', coreItems.circuitboards.get(EnumCircuitBoardType.BASIC));
    RecipeUtil.addRecipe("farm_nether", blocks.farmNether, "GTG", "TCT", "GBG", 'G', OreDictUtil.BLOCK_GLASS, 'T', coreItems.tubes.get(EnumElectronTube.BLAZE, 1), 'C', coreItems.flexibleCasing, 'B', coreItems.circuitboards.get(EnumCircuitBoardType.BASIC));
    RecipeUtil.addRecipe("farm_ender", blocks.farmEnder, "GTG", "TCT", "GBG", 'G', OreDictUtil.BLOCK_GLASS, 'T', coreItems.tubes.get(EnumElectronTube.ENDER, 1), 'C', coreItems.flexibleCasing, 'B', coreItems.circuitboards.get(EnumCircuitBoardType.BASIC));
    for (BlockPlanter planter : getBlocks().getPlanters()) {
        RecipeUtil.addShapelessRecipe(planter.blockType.getName() + "_manual_managed", planter.get(true), planter.get(false));
        RecipeUtil.addShapelessRecipe(planter.blockType.getName() + "_managed_manual", planter.get(false), planter.get(true));
    }
}
Also used : BlockRegistryCultivation(forestry.cultivation.blocks.BlockRegistryCultivation) ItemRegistryCore(forestry.core.items.ItemRegistryCore) BlockPlanter(forestry.cultivation.blocks.BlockPlanter)

Example 2 with ItemRegistryCore

use of forestry.core.items.ItemRegistryCore in project ForestryMC by ForestryMC.

the class ModuleDatabase method addRecipe.

private void addRecipe(List<Object> possibleSpecial, Object firstChest, Object secondChest) {
    for (Object special : possibleSpecial) {
        ItemRegistryCore coreItems = ModuleCore.getItems();
        RecipeUtil.addRecipe("database_" + getIngredientName(firstChest) + "_" + getIngredientName(secondChest) + "_" + getIngredientName(special), getBlocks().database, "I#I", "FYS", "WCW", '#', coreItems.portableAlyzer, 'I', "ingotBronze", 'W', "plankWood", 'C', special, 'Y', coreItems.sturdyCasing, 'F', firstChest, 'S', secondChest);
    }
}
Also used : ItemRegistryCore(forestry.core.items.ItemRegistryCore)

Example 3 with ItemRegistryCore

use of forestry.core.items.ItemRegistryCore 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 4 with ItemRegistryCore

use of forestry.core.items.ItemRegistryCore in project ForestryMC by ForestryMC.

the class PluginNatura method registerRecipes.

@Override
public void registerRecipes() {
    int amount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.seed");
    for (ItemStack seed : seeds) {
        RecipeManagers.squeezerManager.addRecipe(10, NonNullList.from(seed, seed), Fluids.SEED_OIL.getFluid(amount));
        RecipeManagers.moistenerManager.addRecipe(seed, new ItemStack(Blocks.MYCELIUM), 5000);
    }
    if (ForestryAPI.enabledModules.contains(new ResourceLocation(Constants.MOD_ID, ForestryModuleUids.FARMING))) {
        cropBlocks.forEach(itemStack -> {
            Block block = ItemStackUtil.getBlock(itemStack);
            ItemStack seedItem;
            int maxAge;
            try {
                maxAge = (int) block.getClass().getDeclaredMethod("getMaxAge").invoke(block);
                seedItem = block.getPickBlock(block.getBlockState().getBaseState(), null, null, null, null);
            } catch (Exception ignored) {
                return;
            }
            Log.info("[PluginNatura] Addding crop '{}'", itemStack);
            if (seedItem.isEmpty()) {
                return;
            }
            FarmRegistry.getInstance().registerFarmables("farmCrops", new FarmableAgingCrop(seedItem, block, (IProperty<Integer>) block.getBlockState().getProperty("age"), maxAge));
        });
    }
    ItemRegistryCore coreItems = ModuleCore.getItems();
    amount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple") / 2;
    // Produce at least 1 mb of juice.
    final int juiceAmount = Math.max(amount, 1);
    ItemStack mulch = coreItems.mulch.getItemStack();
    fruits.forEach(fruit -> RecipeManagers.squeezerManager.addRecipe(10, NonNullList.from(fruit, fruit), Fluids.JUICE.getFluid(juiceAmount), mulch, ForestryAPI.activeMode.getIntegerSetting("squeezer.mulch.apple")));
    amount = ForestryAPI.activeMode.getIntegerSetting("squeezer.liquid.apple") / 25;
    // Produce at least 1 mb of juice.
    amount = Math.max(amount, 1);
    for (ItemStack berry : berries) {
        RecipeManagers.squeezerManager.addRecipe(3, NonNullList.from(berry, berry), Fluids.JUICE.getFluid(amount));
    }
    crops.forEach(crop -> {
        RecipeUtil.addFermenterRecipes(crop, ForestryAPI.activeMode.getIntegerSetting("fermenter.yield.wheat"), Fluids.BIOMASS);
        if (crop.getUnlocalizedName().matches("^.*cotton$")) {
            return;
        }
        int compostWheatAmount = ForestryAPI.activeMode.getIntegerSetting("recipe.output.compost.wheat");
        if (compostWheatAmount > 0) {
            ItemStack compostWheat = coreItems.fertilizerCompound.getItemStack(compostWheatAmount);
            RecipeUtil.addRecipe(compostWheat.getUnlocalizedName(), compostWheat, " X ", "X#X", " X ", '#', Blocks.DIRT, 'X', crop);
        }
        FuelManager.moistenerResource.put(crop, new MoistenerFuel(crop, coreItems.mouldyWheat.getItemStack(), 0, 300));
    });
}
Also used : IProperty(net.minecraft.block.properties.IProperty) ItemRegistryCore(forestry.core.items.ItemRegistryCore) MoistenerFuel(forestry.api.fuels.MoistenerFuel) ResourceLocation(net.minecraft.util.ResourceLocation) Block(net.minecraft.block.Block) ItemStack(net.minecraft.item.ItemStack) FarmableAgingCrop(forestry.farming.logic.farmables.FarmableAgingCrop)

Example 5 with ItemRegistryCore

use of forestry.core.items.ItemRegistryCore 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)

Aggregations

ItemRegistryCore (forestry.core.items.ItemRegistryCore)23 ItemStack (net.minecraft.item.ItemStack)18 ResourceLocation (net.minecraft.util.ResourceLocation)10 ICircuitLayout (forestry.api.circuits.ICircuitLayout)6 FluidStack (net.minecraftforge.fluids.FluidStack)6 ItemRegistryApiculture (forestry.apiculture.items.ItemRegistryApiculture)5 BlockRegistryCore (forestry.core.blocks.BlockRegistryCore)5 MoistenerFuel (forestry.api.fuels.MoistenerFuel)3 ItemRegistryFluids (forestry.core.items.ItemRegistryFluids)3 FarmableAgingCrop (forestry.farming.logic.farmables.FarmableAgingCrop)3 IFarmRegistry (forestry.api.farming.IFarmRegistry)2 EngineBronzeFuel (forestry.api.fuels.EngineBronzeFuel)2 ICrateRegistry (forestry.api.storage.ICrateRegistry)2 BlockRegistryApiculture (forestry.apiculture.blocks.BlockRegistryApiculture)2 CircuitLayout (forestry.core.circuits.CircuitLayout)2 BlockRegistryFarming (forestry.farming.blocks.BlockRegistryFarming)2 Block (net.minecraft.block.Block)2 ImmutableList (com.google.common.collect.ImmutableList)1 EnumForestryWoodType (forestry.api.arboriculture.EnumForestryWoodType)1 IWoodType (forestry.api.arboriculture.IWoodType)1