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));
}
}
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);
}
}
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);
}
}
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));
});
}
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);
}
Aggregations