diff --git a/build.gradle b/build.gradle index b5d991b17..d7c133b28 100644 --- a/build.gradle +++ b/build.gradle @@ -210,8 +210,9 @@ dependencies { // runtimeOnly fg.deobf("maven.modrinth:spark:1.10.38-forge") //runtimeOnly fg.deobf("curse.maven:forbidden-arcanus-309858:4729924") //runtimeOnly fg.deobf("curse.maven:valhelsia-core-416935:3886212") - //implementation fg.deobf("curse.maven:citadel-331936:3783096") - //implementation fg.deobf("curse.maven:ice-and-fire-dragons-264231:4614465") + // runtimeOnly fg.deobf("curse.maven:citadel-331936:3783096") + // runtimeOnly fg.deobf("curse.maven:ice-and-fire-dragons-264231:4614465") + // runtimeOnly fg.deobf("curse.maven:exnihilosequentia-400012:4083676") // https://discord.com/channels/313125603924639766/725850371834118214/910619168821354497 // Prevent Mixin annotation processor from getting into IntelliJ's annotation processor settings diff --git a/src/generated/resources/.cache/cache b/src/generated/resources/.cache/cache index ac4708f7b..0f8d79ddc 100644 --- a/src/generated/resources/.cache/cache +++ b/src/generated/resources/.cache/cache @@ -4209,6 +4209,14 @@ c4c835cb43f02ab9d3188a290d165cc331bbdb8c data/create/recipes/crushing/compat/ele 8513b0f046d3a4592fab6aa2c4d0d88857927873 data/create/recipes/crushing/compat/elementaryores/ore_lapis_nether.json a18ff5eb6a8c11c866f159a207d61cd1373ef565 data/create/recipes/crushing/compat/elementaryores/ore_redstone_end.json 8b01607b11949fc6848826a5fc4bae9253b0134b data/create/recipes/crushing/compat/elementaryores/ore_redstone_nether.json +9ff53cec277656f660254cbcf965fb6a9b208c0e data/create/recipes/crushing/compat/exnihilosequentia/andesite.json +9ece8cff78de549a25792714b488f969a921db08 data/create/recipes/crushing/compat/exnihilosequentia/crushed_diorite.json +a0f90d5271b97b24063f0dcbd8368625489f6f4c data/create/recipes/crushing/compat/exnihilosequentia/crushed_netherrack.json +3413d360348f1dbd49375152939e8bdbd5f54e9b data/create/recipes/crushing/compat/exnihilosequentia/diorite.json +2c6f4781609a87130ca4b61f1856dec4d1e0b876 data/create/recipes/crushing/compat/exnihilosequentia/dust.json +5444110abe3dfe0c078a1acf39359f136c357c92 data/create/recipes/crushing/compat/exnihilosequentia/end_stone.json +00ef13509bc8d0af41351c55bcf78a319c07c202 data/create/recipes/crushing/compat/exnihilosequentia/granite.json +8c6bf21c0f20ccc4de3b73fa793b7ded93524666 data/create/recipes/crushing/compat/exnihilosequentia/netherrack.json b1db1983cfe1d9573cd00a59a5b3a4a57a470d4d data/create/recipes/crushing/compat/galosphere/allurite.json 7f324629c6285f52e168f8b55097c6e8d927811f data/create/recipes/crushing/compat/galosphere/amethyst.json c47ad0f5238b8c6a8019bafb09a880b939373ead data/create/recipes/crushing/compat/galosphere/lumiere.json @@ -4284,7 +4292,7 @@ b85ba487f2867564c10a0870b55ce213558156bf data/create/recipes/crushing/deepslate_ 1f4d8fae88e2589b21fe5a9558393e71199d0e22 data/create/recipes/crushing/deepslate_zinc_ore.json 4c482db5575b74b4111800602d7fce22b2e6d32a data/create/recipes/crushing/diamond_horse_armor.json c42d105c8567c0844fcd811349093c2d754ea7d0 data/create/recipes/crushing/diamond_ore.json -f2b1c52cde3ecd83f021eff5114375e2f6526d90 data/create/recipes/crushing/diorite.json +d0e969aabb7a3d6014638bb7166dff6c20a0f713 data/create/recipes/crushing/diorite.json 38e958ba2e12daeed2fb0bc65a9ab9e04c98b816 data/create/recipes/crushing/diorite_recycling.json 1327589e844cb587a02167e4428fd604350d60e1 data/create/recipes/crushing/emerald_ore.json b26b1f0dccf2ffb194ce12173890a83e93369b39 data/create/recipes/crushing/glowstone.json @@ -4299,7 +4307,7 @@ e870d049abc5cd5f389f70414c67e76ddc14060d data/create/recipes/crushing/leather_ho cab15acd2d62f1d70e0972b443f7987048d5183a data/create/recipes/crushing/nether_gold_ore.json 6cd97c6f12687790943db810f85036b02586c753 data/create/recipes/crushing/nether_quartz_ore.json 6e424d7e9f7d8b585384053a713db28f9d36448b data/create/recipes/crushing/nether_wart_block.json -8003e7db3ee11066b365c251f04f84028820de94 data/create/recipes/crushing/netherrack.json +f79c7fd90fa54034da1f083ff860a80324534c28 data/create/recipes/crushing/netherrack.json db2930bd8b5c8ecacf53e63d22d32fe2c018867c data/create/recipes/crushing/nickel_ore.json dd4b9e88a723f6c3f2456f36ef2354cd86d85433 data/create/recipes/crushing/obsidian.json 0efffde66998ef5b3d050438b9f734de37958223 data/create/recipes/crushing/ochrum.json diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/andesite.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/andesite.json new file mode 100644 index 000000000..1fc99378a --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/andesite.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:andesite" + } + ], + "results": [ + { + "item": "exnihilosequentia:crushed_andesite" + } + ], + "processingTime": 350, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/crushed_diorite.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/crushed_diorite.json new file mode 100644 index 000000000..fb0e7c501 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/crushed_diorite.json @@ -0,0 +1,21 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "exnihilosequentia:crushed_diorite" + } + ], + "results": [ + { + "item": "minecraft:quartz", + "chance": 0.25 + } + ], + "processingTime": 100, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/crushed_netherrack.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/crushed_netherrack.json new file mode 100644 index 000000000..7d53bbd97 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/crushed_netherrack.json @@ -0,0 +1,24 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "exnihilosequentia:crushed_netherrack" + } + ], + "results": [ + { + "item": "create:cinder_flour" + }, + { + "item": "create:cinder_flour", + "chance": 0.5 + } + ], + "processingTime": 100, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/diorite.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/diorite.json new file mode 100644 index 000000000..6483a15d3 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/diorite.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:diorite" + } + ], + "results": [ + { + "item": "exnihilosequentia:crushed_diorite" + } + ], + "processingTime": 350, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/dust.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/dust.json new file mode 100644 index 000000000..a4abc6835 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/dust.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:sand" + } + ], + "results": [ + { + "item": "exnihilosequentia:dust" + } + ], + "processingTime": 200, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/end_stone.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/end_stone.json new file mode 100644 index 000000000..6eba474f1 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/end_stone.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:end_stone" + } + ], + "results": [ + { + "item": "exnihilosequentia:crushed_end_stone" + } + ], + "processingTime": 350, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/granite.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/granite.json new file mode 100644 index 000000000..34647501f --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/granite.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:granite" + } + ], + "results": [ + { + "item": "exnihilosequentia:crushed_granite" + } + ], + "processingTime": 350, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} diff --git a/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/netherrack.json b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/netherrack.json new file mode 100644 index 000000000..46146e939 --- /dev/null +++ b/src/generated/resources/data/create/recipes/crushing/compat/exnihilosequentia/netherrack.json @@ -0,0 +1,20 @@ +{ + "type": "create:crushing", + "ingredients": [ + { + "item": "minecraft:netherrack" + } + ], + "results": [ + { + "item": "exnihilosequentia:crushed_netherrack" + } + ], + "processingTime": 350, + "conditions": [ + { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + } + ] +} diff --git a/src/generated/resources/data/create/recipes/crushing/diorite.json b/src/generated/resources/data/create/recipes/crushing/diorite.json index d24a98f38..88030ecc1 100644 --- a/src/generated/resources/data/create/recipes/crushing/diorite.json +++ b/src/generated/resources/data/create/recipes/crushing/diorite.json @@ -11,5 +11,14 @@ "chance": 0.25 } ], - "processingTime": 350 + "processingTime": 350, + "conditions": [ + { + "value": { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/generated/resources/data/create/recipes/crushing/netherrack.json b/src/generated/resources/data/create/recipes/crushing/netherrack.json index ec9af51d6..527b64dc6 100644 --- a/src/generated/resources/data/create/recipes/crushing/netherrack.json +++ b/src/generated/resources/data/create/recipes/crushing/netherrack.json @@ -14,5 +14,14 @@ "chance": 0.5 } ], - "processingTime": 250 + "processingTime": 250, + "conditions": [ + { + "value": { + "modid": "exnihilosequentia", + "type": "forge:mod_loaded" + }, + "type": "forge:not" + } + ] } \ No newline at end of file diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java index b6f4065f9..cc448f4ad 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/CrushingRecipeGen.java @@ -55,7 +55,7 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { .output(Items.STRING, 2) .output(.5f, Items.STRING)), - DIORITE = mineralRecycling(AllPaletteStoneTypes.DIORITE, b -> b.duration(350) + DIORITE = ensMineralRecycling(AllPaletteStoneTypes.DIORITE, b -> b.duration(350) .output(.25f, Items.QUARTZ, 1)), CRIMSITE = @@ -187,7 +187,8 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { NETHERRACK = create(() -> Blocks.NETHERRACK, b -> b.duration(250) .output(AllItems.CINDER_FLOUR.get()) - .output(.5f, AllItems.CINDER_FLOUR.get())), + .output(.5f, AllItems.CINDER_FLOUR.get()) + .whenModMissing(Mods.ENS.getId())), // AE2 AE2_DEEPSLATE_ORE = create(Mods.AE2.recipeId("deepslate_quartz_ore"), b -> b.duration(300) @@ -386,7 +387,26 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { EO_LAPIS_END = eoEndOre("lapis", Items.LAPIS_LAZULI, 10), EO_DIAMOND_END = eoEndOre("diamond", Items.DIAMOND, 1), EO_REDSTONE_END = eoEndOre("redstone", Items.REDSTONE, 6), - EO_ENDER_END = eoEndOre("ender", Items.ENDER_PEARL, 1) + EO_ENDER_END = eoEndOre("ender", Items.ENDER_PEARL, 1), + + // Ex Nihilo: Sequentia + + ENS_STONES = ensStones("andesite", "diorite", "end_stone", "granite", "netherrack"), + + ENS_DUST = create(Mods.ENS.recipeId("dust"), b -> b.duration(200) + .require(Blocks.SAND).output(Mods.ENS, "dust") + .whenModLoaded(Mods.ENS.getId())), + + ENS_NETHERRACK = create(Mods.ENS.recipeId("crushed_netherrack"), b -> b.duration(100) + .require(Mods.ENS, "crushed_netherrack") + .output(AllItems.CINDER_FLOUR.get()) + .output(.5f, AllItems.CINDER_FLOUR.get()) + .whenModLoaded(Mods.ENS.getId())), + + ENS_DIORITE = create(Mods.ENS.recipeId("crushed_diorite"), b -> b.duration(100) + .require(Mods.ENS, "crushed_diorite") + .output(.25f, Items.QUARTZ, 1) + .whenModLoaded(Mods.ENS.getId())) ; @@ -418,6 +438,12 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { return create(type.getBaseBlock()::get, transform); } + protected GeneratedRecipe ensMineralRecycling(AllPaletteStoneTypes type, + UnaryOperator>> transform) { + create(Lang.asId(type.name()) + "_recycling", b -> transform.apply(b.require(type.materialTag))); + return create(type.getBaseBlock()::get, b -> transform.apply(b.whenModMissing(Mods.ENS.getId()))); + } + protected GeneratedRecipe ore(ItemLike stoneType, Supplier ore, Supplier raw, float expectedAmount, int duration) { return create(ore, b -> { @@ -548,6 +574,17 @@ public class CrushingRecipeGen extends ProcessingRecipeGen { .whenModLoaded(Mods.EO.getId())); } + protected GeneratedRecipe ensStones(String... stones) { + for (String stone : stones) { + String crushed = "crushed_" + stone; + create(Mods.ENS.recipeId(stone), b -> b.duration(350) + .require(Mods.MC, stone) + .output(Mods.ENS, crushed) + .whenModLoaded(Mods.ENS.getId())); + } + return null; + } + public CrushingRecipeGen(DataGenerator dataGenerator) { super(dataGenerator); } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/Mods.java b/src/main/java/com/simibubi/create/foundation/data/recipe/Mods.java index 08b03142a..941b6fe92 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/Mods.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/Mods.java @@ -52,7 +52,8 @@ public enum Mods { BMK("biomemakeover"), NE("nethers_exoticism"), EO("elementaryores"), - IF("iceandfire") + IF("iceandfire"), + ENS("exnihilosequentia") ;