Search in sources :

Example 1 with MultiFenceRecipeEmbedded

use of binnie.extratrees.blocks.decor.MultiFenceRecipeEmbedded in project Binnie by ForestryMC.

the class ModuleWood method doInit.

@Override
public void doInit() {
    AlleleETFruitDefinition.init();
    ETTreeDefinition.initTrees();
    ExtraTreeMutation.init();
    if (BinnieCore.isLepidopteryActive()) {
        ButterflySpecies.initButterflies();
    }
    RecipeUtil recipeUtil = new RecipeUtil(Constants.EXTRA_TREES_MOD_ID);
    for (BlockETLog log : logs) {
        ItemStack logInput = new ItemStack(log, 1, OreDictionary.WILDCARD_VALUE);
        ItemStack coalOutput = new ItemStack(Items.COAL, 1, 1);
        GameRegistry.addSmelting(logInput, coalOutput, 0.15F);
    }
    IWoodAccess woodAccess = TreeManager.woodAccess;
    for (EnumETLog log : EnumETLog.VALUES) {
        ItemStack logs = woodAccess.getStack(log, WoodBlockKind.LOG, false);
        ItemStack planks = log.getPlank().getStack(false);
        ItemStack fireproofLogs = woodAccess.getStack(log, WoodBlockKind.LOG, true);
        ItemStack fireproofPlanks = log.getPlank().getStack(true);
        planks.setCount(4);
        recipeUtil.addShapelessRecipe(log.getUid() + "_planks", planks.copy(), logs.copy());
        fireproofPlanks.setCount(4);
        recipeUtil.addShapelessRecipe(log.getUid() + "_fireproof_planks", fireproofPlanks.copy(), fireproofLogs);
        if (ModuleUtils.isModuleActive(ForestryModuleUids.FACTORY, ForestryModuleUids.APICULTURE)) {
            logs.setCount(1);
            fireproofLogs.setCount(1);
            RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), fireproofLogs.copy(), new Object[] { " # ", "#X#", " # ", '#', Mods.Forestry.item("refractory_wax"), 'X', logs.copy() });
        }
    }
    for (ExtraTreePlanks plankType : ExtraTreePlanks.VALUES) {
        for (boolean fireproof : new boolean[] { false, true }) {
            ItemStack planks = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.PLANKS, fireproof);
            ItemStack slabs = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.SLAB, fireproof);
            ItemStack fences = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.FENCE, fireproof);
            ItemStack fenceGates = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.FENCE_GATE, fireproof);
            ItemStack stairs = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.STAIRS, fireproof);
            String plankUid = plankType.getWoodType().getUid();
            if (fireproof) {
                plankUid += "_fireproof";
            }
            stairs.setCount(4);
            recipeUtil.addRecipe(plankUid + "_stairs", stairs.copy(), "#  ", "## ", "###", '#', planks.copy());
            slabs.setCount(6);
            recipeUtil.addRecipe(plankUid + "_slabs", slabs.copy(), "###", '#', planks.copy());
            fences.setCount(3);
            planks.setCount(1);
            recipeUtil.addRecipe(plankUid + "_fences", fences.copy(), "#X#", "#X#", '#', planks.copy(), 'X', "stickWood");
            fenceGates.setCount(1);
            planks.setCount(1);
            recipeUtil.addRecipe(plankUid + "_fence_gates", fenceGates.copy(), "X#X", "X#X", '#', planks.copy(), 'X', "stickWood");
            if (!fireproof) {
                ItemStack doors = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.DOOR, false);
                doors.setCount(3);
                planks.setCount(1);
                recipeUtil.addRecipe(plankUid + "_doors", doors.copy(), "## ", "## ", "## ", '#', planks.copy());
            }
        }
        // Fabricator recipes
        if (ModuleUtils.isModuleActive(ForestryModuleUids.FACTORY, ForestryModuleUids.APICULTURE)) {
            ItemStack planks = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.PLANKS, false);
            ItemStack fireproofPlanks = woodAccess.getStack(plankType.getWoodType(), WoodBlockKind.PLANKS, true);
            planks.setCount(1);
            fireproofPlanks.setCount(5);
            RecipeManagers.fabricatorManager.addRecipe(ItemStack.EMPTY, Fluids.GLASS.getFluid(500), fireproofPlanks.copy(), new Object[] { "X#X", "#X#", "X#X", '#', Mods.Forestry.item("refractory_wax"), 'X', planks.copy() });
        }
    }
    ForgeRegistries.RECIPES.register(new MultiFenceRecipeSize());
    ForgeRegistries.RECIPES.register(new MultiFenceRecipeEmbedded());
    ForgeRegistries.RECIPES.register(new MultiFenceRecipeSolid());
    this.addSqueezer(EnumVanillaWoodType.SPRUCE, ExtraTreeLiquid.Resin, 50);
}
Also used : ExtraTreePlanks(binnie.extratrees.wood.planks.ExtraTreePlanks) EnumETLog(binnie.extratrees.wood.EnumETLog) MultiFenceRecipeEmbedded(binnie.extratrees.blocks.decor.MultiFenceRecipeEmbedded) BlockETLog(binnie.extratrees.blocks.wood.BlockETLog) MultiFenceRecipeSize(binnie.extratrees.blocks.decor.MultiFenceRecipeSize) ItemStack(net.minecraft.item.ItemStack) IWoodAccess(forestry.api.arboriculture.IWoodAccess) MultiFenceRecipeSolid(binnie.extratrees.blocks.decor.MultiFenceRecipeSolid) RecipeUtil(binnie.core.util.RecipeUtil)

Aggregations

RecipeUtil (binnie.core.util.RecipeUtil)1 MultiFenceRecipeEmbedded (binnie.extratrees.blocks.decor.MultiFenceRecipeEmbedded)1 MultiFenceRecipeSize (binnie.extratrees.blocks.decor.MultiFenceRecipeSize)1 MultiFenceRecipeSolid (binnie.extratrees.blocks.decor.MultiFenceRecipeSolid)1 BlockETLog (binnie.extratrees.blocks.wood.BlockETLog)1 EnumETLog (binnie.extratrees.wood.EnumETLog)1 ExtraTreePlanks (binnie.extratrees.wood.planks.ExtraTreePlanks)1 IWoodAccess (forestry.api.arboriculture.IWoodAccess)1 ItemStack (net.minecraft.item.ItemStack)1