import com.nomiceu.nomilabs.groovy.ChangeRecipeBuilder import com.nomiceu.nomilabs.groovy.ChangeRecipeBuilderCollection import com.nomiceu.nomilabs.util.LabsModeHelper import gregtech.api.recipes.RecipeBuilder import gregtech.api.metatileentity.multiblock.CleanroomType import gregtech.api.recipes.ingredients.GTRecipeItemInput import gregtech.api.recipes.ingredients.nbtmatch.NBTCondition import gregtech.api.recipes.ingredients.nbtmatch.NBTMatcher import net.minecraft.item.ItemStack import net.minecraftforge.fluids.FluidStack import gregtech.loaders.WoodTypeEntry import gregtech.loaders.recipe.WoodRecipeLoader def newWoods = Arrays.asList( new WoodTypeEntry.Builder("biomesoplenty", "sacred_oak") .planks(item("biomesoplenty:planks_0", 0), "sacred_oak_planks") .log(item("biomesoplenty:log_0", 4)).removeCharcoalRecipe() .door(item("biomesoplenty:sacred_oak_door"), "sacred_oak_door") .slab(item("biomesoplenty:wood_slab_0", 0), "sacred_oak_wooden_slab") .fence(item("biomesoplenty:sacred_oak_fence"), "sacred_oak_fence") .fenceGate(item("biomesoplenty:sacred_oak_fence_gate"), "sacred_oak_fence_gate") .stairs(item("biomesoplenty:sacred_oak_stairs"), "sacred_oak_stairs") .boat(item("biomesoplenty:boat_sacred_oak"), "boat_sacred_oak") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "cherry") .planks(item("biomesoplenty:planks_0", 1), "cherry_planks") .log(item("biomesoplenty:log_0", 5)).removeCharcoalRecipe() .door(item("biomesoplenty:cherry_door"), "cherry_door") .slab(item("biomesoplenty:wood_slab_0", 1), "cherry_wooden_slab") .fence(item("biomesoplenty:cherry_fence"), "cherry_fence") .fenceGate(item("biomesoplenty:cherry_fence_gate"), "cherry_fence_gate") .stairs(item("biomesoplenty:cherry_stairs"), "cherry_stairs") .boat(item("biomesoplenty:boat_cherry"), "boat_cherry") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "umbran") .planks(item("biomesoplenty:planks_0", 2), "umbran_planks") .log(item("biomesoplenty:log_0", 6)).removeCharcoalRecipe() .door(item("biomesoplenty:umbran_door"), "umbran_door") .slab(item("biomesoplenty:wood_slab_0", 2), "umbran_wooden_slab") .fence(item("biomesoplenty:umbran_fence"), "umbran_fence") .fenceGate(item("biomesoplenty:umbran_fence_gate"), "umbran_fence_gate") .stairs(item("biomesoplenty:umbran_stairs"), "umbran_stairs") .boat(item("biomesoplenty:boat_umbran"), "boat_umbran") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "fir") .planks(item("biomesoplenty:planks_0", 3), "fir_planks") .log(item("biomesoplenty:log_0", 7)).removeCharcoalRecipe() .door(item("biomesoplenty:fir_door"), "fir_door") .slab(item("biomesoplenty:wood_slab_0", 3), "fir_wooden_slab") .fence(item("biomesoplenty:fir_fence"), "fir_fence") .fenceGate(item("biomesoplenty:fir_fence_gate"), "fir_fence_gate") .stairs(item("biomesoplenty:fir_stairs"), "fir_stairs") .boat(item("biomesoplenty:boat_fir"), "boat_fir") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "ethereal") .planks(item("biomesoplenty:planks_0", 4), "ethereal_planks") .log(item("biomesoplenty:log_1", 4)).removeCharcoalRecipe() .door(item("biomesoplenty:ethereal_door"), "ethereal_door") .slab(item("biomesoplenty:wood_slab_0", 4), "ethereal_wooden_slab") .fence(item("biomesoplenty:ethereal_fence"), "ethereal_fence") .fenceGate(item("biomesoplenty:ethereal_fence_gate"), "ethereal_fence_gate") .stairs(item("biomesoplenty:ethereal_stairs"), "ethereal_stairs") .boat(item("biomesoplenty:boat_ethereal"), "boat_ethereal") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "magic") .planks(item("biomesoplenty:planks_0", 5), "magic_planks") .log(item("biomesoplenty:log_1", 5)).removeCharcoalRecipe() .door(item("biomesoplenty:magic_door"), "magic_door") .slab(item("biomesoplenty:wood_slab_0", 5), "magic_wooden_slab") .fence(item("biomesoplenty:magic_fence"), "magic_fence") .fenceGate(item("biomesoplenty:magic_fence_gate"), "magic_fence_gate") .stairs(item("biomesoplenty:magic_stairs"), "magic_stairs") .boat(item("biomesoplenty:boat_magic"), "boat_magic") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "mangrove") .planks(item("biomesoplenty:planks_0", 6), "mangrove_planks") .log(item("biomesoplenty:log_1", 6)).removeCharcoalRecipe() .door(item("biomesoplenty:mangrove_door"), "mangrove_door") .slab(item("biomesoplenty:wood_slab_0", 6), "mangrove_wooden_slab") .fence(item("biomesoplenty:mangrove_fence"), "mangrove_fence") .fenceGate(item("biomesoplenty:mangrove_fence_gate"), "mangrove_fence_gate") .stairs(item("biomesoplenty:mangrove_stairs"), "mangrove_stairs") .boat(item("biomesoplenty:boat_mangrove"), "boat_mangrove") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "palm") .planks(item("biomesoplenty:planks_0", 7), "palm_planks") .log(item("biomesoplenty:log_1", 7)).removeCharcoalRecipe() .door(item("biomesoplenty:palm_door"), "palm_door") .slab(item("biomesoplenty:wood_slab_0", 7), "palm_wooden_slab") .fence(item("biomesoplenty:palm_fence"), "palm_fence") .fenceGate(item("biomesoplenty:palm_fence_gate"), "palm_fence_gate") .stairs(item("biomesoplenty:palm_stairs"), "palm_stairs") .boat(item("biomesoplenty:boat_palm"), "boat_palm") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "redwood") .planks(item("biomesoplenty:planks_0", 8), "redwood_planks") .log(item("biomesoplenty:log_2", 4)).removeCharcoalRecipe() .door(item("biomesoplenty:redwood_door"), "redwood_door") .slab(item("biomesoplenty:wood_slab_1", 0), "redwood_wooden_slab") .fence(item("biomesoplenty:redwood_fence"), "redwood_fence") .fenceGate(item("biomesoplenty:redwood_fence_gate"), "redwood_fence_gate") .stairs(item("biomesoplenty:redwood_stairs"), "redwood_stairs") .boat(item("biomesoplenty:boat_redwood"), "boat_redwood") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "willow") .planks(item("biomesoplenty:planks_0", 9), "willow_planks") .log(item("biomesoplenty:log_2", 5)).removeCharcoalRecipe() .door(item("biomesoplenty:willow_door"), "willow_door") .slab(item("biomesoplenty:wood_slab_1", 1), "willow_wooden_slab") .fence(item("biomesoplenty:willow_fence"), "willow_fence") .fenceGate(item("biomesoplenty:willow_fence_gate"), "willow_fence_gate") .stairs(item("biomesoplenty:willow_stairs"), "willow_stairs") .boat(item("biomesoplenty:boat_willow"), "boat_willow") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "pine") .planks(item("biomesoplenty:planks_0", 10), "pine_planks") .log(item("biomesoplenty:log_2", 6)).removeCharcoalRecipe() .door(item("biomesoplenty:pine_door"), "pine_door") .slab(item("biomesoplenty:wood_slab_1", 2), "pine_wooden_slab") .fence(item("biomesoplenty:pine_fence"), "pine_fence") .fenceGate(item("biomesoplenty:pine_fence_gate"), "pine_fence_gate") .stairs(item("biomesoplenty:pine_stairs"), "pine_stairs") .boat(item("biomesoplenty:boat_pine"), "boat_pine") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "hellbark") .planks(item("biomesoplenty:planks_0", 11), "hellbark_planks") .log(item("biomesoplenty:log_2", 7)).removeCharcoalRecipe() .door(item("biomesoplenty:hellbark_door"), "hellbark_door") .slab(item("biomesoplenty:wood_slab_1", 3), "hellbark_wooden_slab") .fence(item("biomesoplenty:hellbark_fence"), "hellbark_fence") .fenceGate(item("biomesoplenty:hellbark_fence_gate"), "hellbark_fence_gate") .stairs(item("biomesoplenty:hellbark_stairs"), "hellbark_stairs") .boat(item("biomesoplenty:boat_hellbark"), "boat_hellbark") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "jacaranda") .planks(item("biomesoplenty:planks_0", 12), "jacaranda_planks") .log(item("biomesoplenty:log_3", 4)).removeCharcoalRecipe() .door(item("biomesoplenty:jacaranda_door"), "jacaranda_door") .slab(item("biomesoplenty:wood_slab_1", 4), "jacaranda_wooden_slab") .fence(item("biomesoplenty:jacaranda_fence"), "jacaranda_fence") .fenceGate(item("biomesoplenty:jacaranda_fence_gate"), "jacaranda_fence_gate") .stairs(item("biomesoplenty:jacaranda_stairs"), "jacaranda_stairs") .boat(item("biomesoplenty:boat_jacaranda"), "boat_jacaranda") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "mahogany") .planks(item("biomesoplenty:planks_0", 13), "mahogany_planks") .log(item("biomesoplenty:log_3", 5)).removeCharcoalRecipe() .door(item("biomesoplenty:mahogany_door"), "mahogany_door") .slab(item("biomesoplenty:wood_slab_1", 5), "mahogany_wooden_slab") .fence(item("biomesoplenty:mahogany_fence"), "mahogany_fence") .fenceGate(item("biomesoplenty:mahogany_fence_gate"), "mahogany_fence_gate") .stairs(item("biomesoplenty:mahogany_stairs"), "mahogany_stairs") .boat(item("biomesoplenty:boat_mahogany"), "boat_mahogany") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "ebony") .planks(item("biomesoplenty:planks_0", 14), "ebony_planks") .log(item("biomesoplenty:log_3", 6)).removeCharcoalRecipe() .door(item("biomesoplenty:ebony_door"), "ebony_door") .slab(item("biomesoplenty:wood_slab_1", 6), "ebony_wooden_slab") .fence(item("biomesoplenty:ebony_fence"), "ebony_fence") .fenceGate(item("biomesoplenty:ebony_fence_gate"), "ebony_fence_gate") .stairs(item("biomesoplenty:ebony_stairs"), "ebony_stairs") .boat(item("biomesoplenty:boat_ebony"), "boat_ebony") .registerAllUnificationInfo() .build(), new WoodTypeEntry.Builder("biomesoplenty", "eucalyptus") .planks(item("biomesoplenty:planks_0", 15), "eucalyptus_planks") .log(item("biomesoplenty:log_3", 7)).removeCharcoalRecipe() .door(item("biomesoplenty:eucalyptus_door"), "eucalyptus_door") .slab(item("biomesoplenty:wood_slab_1", 7), "eucalyptus_wooden_slab") .fence(item("biomesoplenty:eucalyptus_fence"), "eucalyptus_fence") .fenceGate(item("biomesoplenty:eucalyptus_fence_gate"), "eucalyptus_fence_gate") .stairs(item("biomesoplenty:eucalyptus_stairs"), "eucalyptus_stairs") .boat(item("biomesoplenty:boat_eucalyptus"), "boat_eucalyptus") .registerAllUnificationInfo() .build(), ) def woodRecipeLoader = new WoodRecipeLoader() for (entry : newWoods) { woodRecipeLoader.registerWoodTypeRecipe(entry) }