diff --git a/CHANGELOG.md b/CHANGELOG.md index 8697e5ae..bdb43c2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# 2.7.7 +- Drop BQu Mixin [#363](https://github.com/GTModpackTeam/GTExpert-Core/pull/363) +- Fix conflict ImplosionRecipe [#364](https://github.com/GTModpackTeam/GTExpert-Core/pull/364) + +* * * + # 2.7.6 - Make MetaItem, MetaTileEntity, and Material IDs configurable via cfg - Each category uses a configurable start ID; individual IDs are calculated as offsets diff --git a/src/main/java/com/github/gtexpert/core/integration/deda/recipes/DraconicMaterialsRecipe.java b/src/main/java/com/github/gtexpert/core/integration/deda/recipes/DraconicMaterialsRecipe.java index e9b4218b..ec5a6a82 100644 --- a/src/main/java/com/github/gtexpert/core/integration/deda/recipes/DraconicMaterialsRecipe.java +++ b/src/main/java/com/github/gtexpert/core/integration/deda/recipes/DraconicMaterialsRecipe.java @@ -9,20 +9,20 @@ import com.brandon3055.draconicevolution.DEFeatures; import gregtech.api.metatileentity.multiblock.CleanroomType; +import gregtech.api.recipes.GTRecipeHandler; import gregtech.api.recipes.ModHandler; import gregtech.api.recipes.RecipeBuilder; import gregtech.api.recipes.RecipeMaps; import gregtech.api.unification.OreDictUnifier; import gregtech.api.unification.material.Materials; import gregtech.common.ConfigHolder; -import gregtech.common.blocks.MetaBlocks; -import gregtech.common.items.MetaItems; import gregicality.multiblocks.api.fluids.GCYMFluidStorageKeys; import com.github.gtexpert.core.api.GTEValues; import com.github.gtexpert.core.api.unification.material.GTEMaterials; import com.github.gtexpert.core.api.util.Mods; +import com.github.gtexpert.core.loaders.recipe.handlers.GTEImplosionRecipeHandler; public class DraconicMaterialsRecipe { @@ -45,6 +45,8 @@ public static void init() { } builderDD.buildAndRegister(); + GTRecipeHandler.removeRecipesByInputs(RecipeMaps.MACERATOR_RECIPES, + new ItemStack(Blocks.DRAGON_EGG)); RecipeMaps.MACERATOR_RECIPES.recipeBuilder() .input(Blocks.DRAGON_EGG) .output(dust, GTEMaterials.Dragon, 8) @@ -60,6 +62,8 @@ public static void init() { .output(dust, GTEMaterials.Chaos, 2) .duration(1200).EUt(VA[GTEValues.dedaVoltageTier + 1]) .buildAndRegister(); + GTRecipeHandler.removeRecipesByInputs(RecipeMaps.MACERATOR_RECIPES, + new ItemStack(DEFeatures.chaosShard, 1, 1)); RecipeMaps.MACERATOR_RECIPES.recipeBuilder() .inputs(new ItemStack(DEFeatures.chaosShard, 1, 1)) .output(dust, GTEMaterials.Chaos, 1) @@ -103,34 +107,10 @@ public static void init() { ModHandler.addMirroredShapedRecipe("ceu_draconic_block", OreDictUnifier.get(block, GTEMaterials.AwakenedDraconium), "B", 'B', new ItemStack(DEFeatures.draconicBlock)); - RecipeMaps.IMPLOSION_RECIPES.recipeBuilder() + GTEImplosionRecipeHandler.register(builder -> builder .input(DEFeatures.dragonHeart, 1) .input(block, GTEMaterials.Draconium, 4) - .output(block, GTEMaterials.AwakenedDraconium, 3) - .chancedOutput(dust, Materials.DarkAsh, 2500, 0) - .explosivesType(new ItemStack(MetaBlocks.POWDERBARREL, 8)) - .buildAndRegister(); - RecipeMaps.IMPLOSION_RECIPES.recipeBuilder() - .input(DEFeatures.dragonHeart, 1) - .input(block, GTEMaterials.Draconium, 4) - .output(block, GTEMaterials.AwakenedDraconium, 3) - .chancedOutput(dust, Materials.DarkAsh, 2500, 0) - .explosivesAmount(4) - .buildAndRegister(); - RecipeMaps.IMPLOSION_RECIPES.recipeBuilder() - .input(DEFeatures.dragonHeart, 1) - .input(block, GTEMaterials.Draconium, 4) - .output(block, GTEMaterials.AwakenedDraconium, 3) - .chancedOutput(dust, Materials.DarkAsh, 2500, 0) - .explosivesType(MetaItems.DYNAMITE.getStackForm(2)) - .buildAndRegister(); - RecipeMaps.IMPLOSION_RECIPES.recipeBuilder() - .input(DEFeatures.dragonHeart, 1) - .input(block, GTEMaterials.Draconium, 4) - .output(block, GTEMaterials.AwakenedDraconium, 3) - .chancedOutput(dust, Materials.DarkAsh, 2500, 0) - .explosivesType(new ItemStack(MetaBlocks.ITNT)) - .buildAndRegister(); + .output(block, GTEMaterials.AwakenedDraconium, 3)); } public static void remove() { diff --git a/src/main/java/com/github/gtexpert/core/loaders/recipe/handlers/GTEImplosionNoBombRecipeHandler.java b/src/main/java/com/github/gtexpert/core/loaders/recipe/handlers/GTEImplosionNoBombRecipeHandler.java deleted file mode 100644 index 96f86bc0..00000000 --- a/src/main/java/com/github/gtexpert/core/loaders/recipe/handlers/GTEImplosionNoBombRecipeHandler.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.github.gtexpert.core.loaders.recipe.handlers; - -import static gregtech.api.unification.ore.OrePrefix.*; - -import java.util.function.Consumer; - -import net.minecraft.item.ItemStack; - -import gregtech.api.recipes.builders.SimpleRecipeBuilder; -import gregtech.api.unification.material.Material; -import gregtech.api.unification.material.Materials; -import gregtech.api.util.GTUtility; - -import com.github.gtexpert.inb.api.recipes.INBRecipeMaps; - -public class GTEImplosionNoBombRecipeHandler { - - public static void add(Material inputMaterial, Material outputMaterial) { - register(builder -> builder.input(dust, inputMaterial, 4).output(gem, outputMaterial, 3)); - } - - public static void add(Material inputMaterial, ItemStack outputStack) { - register(builder -> builder.input(dust, inputMaterial, 4).outputs(GTUtility.copy(3, outputStack))); - } - - public static void add(String inputOreDict, ItemStack outputStack) { - register(builder -> builder.input(inputOreDict, 4).outputs(GTUtility.copy(3, outputStack))); - } - - private static void register(Consumer recipeConfig) { - SimpleRecipeBuilder builder = INBRecipeMaps.FAKE_IMPLOSION_RECIPES.recipeBuilder(); - recipeConfig.accept(builder); - builder.chancedOutput(dust, Materials.DarkAsh, 2500, 0).buildAndRegister(); - } -} diff --git a/src/main/java/com/github/gtexpert/core/loaders/recipe/handlers/GTEImplosionRecipeHandler.java b/src/main/java/com/github/gtexpert/core/loaders/recipe/handlers/GTEImplosionRecipeHandler.java index 370f7b32..5e289b32 100644 --- a/src/main/java/com/github/gtexpert/core/loaders/recipe/handlers/GTEImplosionRecipeHandler.java +++ b/src/main/java/com/github/gtexpert/core/loaders/recipe/handlers/GTEImplosionRecipeHandler.java @@ -14,8 +14,6 @@ import gregtech.common.blocks.MetaBlocks; import gregtech.common.items.MetaItems; -import com.github.gtexpert.core.api.util.Mods; - public class GTEImplosionRecipeHandler { private static final Consumer[] EXPLOSIVES = new Consumer[] { @@ -26,34 +24,24 @@ public class GTEImplosionRecipeHandler { }; public static void add(Material inputMaterial, Material outputMaterial) { - register( - builder -> builder.input(dust, inputMaterial, 4).output(gem, outputMaterial, 3), - () -> GTEImplosionNoBombRecipeHandler.add(inputMaterial, outputMaterial)); + register(builder -> builder.input(dust, inputMaterial, 4).output(gem, outputMaterial, 3)); } public static void add(Material inputMaterial, ItemStack outputStack) { - register( - builder -> builder.input(dust, inputMaterial, 4).outputs(GTUtility.copy(3, outputStack)), - () -> GTEImplosionNoBombRecipeHandler.add(inputMaterial, outputStack)); + register(builder -> builder.input(dust, inputMaterial, 4).outputs(GTUtility.copy(3, outputStack))); } public static void add(String inputOreDict, ItemStack outputStack) { - register( - builder -> builder.input(inputOreDict, 4).outputs(GTUtility.copy(3, outputStack)), - () -> GTEImplosionNoBombRecipeHandler.add(inputOreDict, outputStack)); + register(builder -> builder.input(inputOreDict, 4).outputs(GTUtility.copy(3, outputStack))); } - private static void register(Consumer recipeConfig, Runnable noBombHandler) { - if (Mods.ImplosionNoBomb.isModLoaded()) { - noBombHandler.run(); - } else { - for (Consumer explosive : EXPLOSIVES) { - ImplosionRecipeBuilder builder = RecipeMaps.IMPLOSION_RECIPES.recipeBuilder(); - recipeConfig.accept(builder); - builder.chancedOutput(dust, Materials.DarkAsh, 2500, 0); - explosive.accept(builder); - builder.buildAndRegister(); - } + public static void register(Consumer recipeConfig) { + for (Consumer explosive : EXPLOSIVES) { + ImplosionRecipeBuilder builder = RecipeMaps.IMPLOSION_RECIPES.recipeBuilder(); + recipeConfig.accept(builder); + builder.chancedOutput(dust, Materials.DarkAsh, 2500, 0); + explosive.accept(builder); + builder.buildAndRegister(); } } }