From eef3f158de7aab86849c1e8ce39113fb39918a2b Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Mon, 27 Nov 2023 14:34:06 +0100 Subject: [PATCH] feat: dark matter overhaul --- .../ntx4core/recipes/InputReplacements.java | 8 ++-- .../ntx4core/recipes/RecipeRemovals.java | 2 + .../ntx4core/recipes/RecipeReplacements.java | 15 +++++++- .../ntx4core/recipes/ShapedRecipes.java | 10 +++++ .../data/ntx4core/recipes/animatter_12g.json | 12 ++++++ .../data/ntx4core/recipes/animatter_4g.json | 12 ++++++ .../ntx4core/recipes/animatter_500mg.json | 12 ++++++ .../data/ntx4core/recipes/animatter_ftb.json | 12 ++++++ .../data/ntx4core/recipes/awakened_core.json | 37 +++++++++++++++++++ 9 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/data/ntx4core/recipes/animatter_12g.json create mode 100644 src/main/resources/data/ntx4core/recipes/animatter_4g.json create mode 100644 src/main/resources/data/ntx4core/recipes/animatter_500mg.json create mode 100644 src/main/resources/data/ntx4core/recipes/animatter_ftb.json create mode 100644 src/main/resources/data/ntx4core/recipes/awakened_core.json diff --git a/src/main/java/net/anvilcraft/ntx4core/recipes/InputReplacements.java b/src/main/java/net/anvilcraft/ntx4core/recipes/InputReplacements.java index 7e5d486..a0f275d 100644 --- a/src/main/java/net/anvilcraft/ntx4core/recipes/InputReplacements.java +++ b/src/main/java/net/anvilcraft/ntx4core/recipes/InputReplacements.java @@ -29,9 +29,11 @@ public class InputReplacements implements IEventBusRegisterable { ) ); - var philosopherStoneMapper = new InputReplaceRecipeMapper().replace( - "#forge:gems/diamond", "#ntx4core:darkmatter" - ); + var philosopherStoneMapper = new InputReplaceRecipeMapper() + .replace("#forge:gems/diamond", "ae2:singularity") + .replace("#forge:dusts/redstone", "chemlib:erbium_dust") + .replace("#forge:dusts/glowstone", "psi:ivory_substance") + ; ev.mapRecipeID( new Identifier("projecte", "philosophers_stone"), philosopherStoneMapper ); diff --git a/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeRemovals.java b/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeRemovals.java index e68330e..2fa7167 100644 --- a/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeRemovals.java +++ b/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeRemovals.java @@ -19,6 +19,8 @@ public class RecipeRemovals implements IEventBusRegisterable { ev.removeRecipesMatching(new RecipeContainsPredicate( Util.stackFromRegistry(new Identifier("projecte", "transmutation_table")) )); + ev.removeRecipeID(new Identifier("projecte", "red_matter_alt")); + ev.removeRecipeID(new Identifier("draconicevolution", "components/awakened_core")); } @Override diff --git a/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeReplacements.java b/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeReplacements.java index 6136074..f5d30ac 100644 --- a/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeReplacements.java +++ b/src/main/java/net/anvilcraft/ntx4core/recipes/RecipeReplacements.java @@ -160,11 +160,24 @@ public class RecipeReplacements implements IEventBusRegisterable { -> new ShapedRecipeBuilder(Ntx4Core.id("dark_matter"), r.getOutput()) .pattern("DFD", "FSF", "DFD") .ingredient('F', "projecte:aeternalis_fuel") - .ingredient('S', "ae2:singularity") + .ingredient('S', "mekanism:pellet_antimatter") .ingredient('D', "#forge:ingots/draconium") .build() ); + ev.mapRecipeID( + new Identifier("projecte", "red_matter"), + r + -> new ShapedRecipeBuilder(Ntx4Core.id("red_matter"), r.getOutput()) + .pattern("CDC", "QSE", "CDC") + .ingredient('D', "projecte:dark_matter") + .ingredient('Q', "assemblylinemachines:quark_matter") + .ingredient('E', "dmlreforged:pristine_matter_dragon") + .ingredient('S', "ae2:singularity") + .ingredient('C', "powah:crystal_nitro") + .build() + ); + ev.mapRecipeID( new Identifier("quantumquarryplus", "qqprcp"), r diff --git a/src/main/java/net/anvilcraft/ntx4core/recipes/ShapedRecipes.java b/src/main/java/net/anvilcraft/ntx4core/recipes/ShapedRecipes.java index 358c65a..376f16d 100644 --- a/src/main/java/net/anvilcraft/ntx4core/recipes/ShapedRecipes.java +++ b/src/main/java/net/anvilcraft/ntx4core/recipes/ShapedRecipes.java @@ -1,5 +1,6 @@ package net.anvilcraft.ntx4core.recipes; +import net.anvilcraft.anvillib.Util; import net.anvilcraft.anvillib.event.Bus; import net.anvilcraft.anvillib.event.IEventBusRegisterable; import net.anvilcraft.anvillib.recipe.RecipesEvent; @@ -28,6 +29,15 @@ public class ShapedRecipes implements IEventBusRegisterable { .ingredient('C', "mekanism:teleportation_core") .ingredient('E', "mekanism:energy_tablet") .build()); + ev.registerRecipe(new ShapedRecipeBuilder( + Ntx4Core.id("dark_matter_conversion"), + Util.stackFromRegistry(new Identifier("projecte", "dark_matter")) + ) + .pattern("FDF", "DDD", "FDF") + .ingredient('D', "nuclearscience:celldarkmatter") + .ingredient('F', "projecte:aeternalis_fuel") + .build() + ); } @Override diff --git a/src/main/resources/data/ntx4core/recipes/animatter_12g.json b/src/main/resources/data/ntx4core/recipes/animatter_12g.json new file mode 100644 index 0000000..26b717c --- /dev/null +++ b/src/main/resources/data/ntx4core/recipes/animatter_12g.json @@ -0,0 +1,12 @@ +{ + "type": "mekanism:oxidizing", + "input": { + "ingredient": { + "item": "nuclearscience:cellantimatterverylarge" + } + }, + "output": { + "gas": "mekanism:antimatter", + "amount": 1200 + } + } \ No newline at end of file diff --git a/src/main/resources/data/ntx4core/recipes/animatter_4g.json b/src/main/resources/data/ntx4core/recipes/animatter_4g.json new file mode 100644 index 0000000..f53dd65 --- /dev/null +++ b/src/main/resources/data/ntx4core/recipes/animatter_4g.json @@ -0,0 +1,12 @@ +{ + "type": "mekanism:oxidizing", + "input": { + "ingredient": { + "item": "nuclearscience:cellantimatterlarge" + } + }, + "output": { + "gas": "mekanism:antimatter", + "amount": 400 + } + } \ No newline at end of file diff --git a/src/main/resources/data/ntx4core/recipes/animatter_500mg.json b/src/main/resources/data/ntx4core/recipes/animatter_500mg.json new file mode 100644 index 0000000..c65a071 --- /dev/null +++ b/src/main/resources/data/ntx4core/recipes/animatter_500mg.json @@ -0,0 +1,12 @@ +{ + "type": "mekanism:oxidizing", + "input": { + "ingredient": { + "item": "nuclearscience:cellantimattersmall" + } + }, + "output": { + "gas": "mekanism:antimatter", + "amount": 50 + } + } \ No newline at end of file diff --git a/src/main/resources/data/ntx4core/recipes/animatter_ftb.json b/src/main/resources/data/ntx4core/recipes/animatter_ftb.json new file mode 100644 index 0000000..e3387ae --- /dev/null +++ b/src/main/resources/data/ntx4core/recipes/animatter_ftb.json @@ -0,0 +1,12 @@ +{ + "type": "mekanism:oxidizing", + "input": { + "ingredient": { + "item": "ftbic:antimatter" + } + }, + "output": { + "gas": "mekanism:antimatter", + "amount": 1 + } + } \ No newline at end of file diff --git a/src/main/resources/data/ntx4core/recipes/awakened_core.json b/src/main/resources/data/ntx4core/recipes/awakened_core.json new file mode 100644 index 0000000..b5e8f3a --- /dev/null +++ b/src/main/resources/data/ntx4core/recipes/awakened_core.json @@ -0,0 +1,37 @@ +{ + "type": "draconicevolution:fusion_crafting", + "result": { + "item": "draconicevolution:awakened_core" + }, + "catalyst": { + "item": "projecte:red_matter" + }, + "total_energy": 10000000, + "tier": "WYVERN", + "ingredients": [ + { + "item": "draconicevolution:wyvern_core" + }, + { + "item": "draconicevolution:wyvern_core" + }, + { + "tag": "forge:ingots/draconium_awakened" + }, + { + "tag": "forge:ingots/draconium_awakened" + }, + { + "tag": "forge:ingots/draconium_awakened" + }, + { + "tag": "forge:ingots/draconium_awakened" + }, + { + "item": "draconicevolution:wyvern_core" + }, + { + "item": "draconicevolution:wyvern_core" + } + ] +} \ No newline at end of file