From 82f4d02fefdc18084724176f79439ec5b901037a Mon Sep 17 00:00:00 2001 From: GaLi Date: Thu, 4 Dec 2025 11:47:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=85=8D=E6=96=B9=E7=94=9F=E6=88=90=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../misc/assembler_matrix_crafter_plus.json | 32 ++++++++++ .../misc/assembler_matrix_pattern_plus.json | 32 ++++++++++ .../misc/assembler_matrix_speed_plus.json | 32 ++++++++++ .../recipe/assembler_matrix_crafter_plus.json | 24 +++++++ .../recipe/assembler_matrix_pattern_plus.json | 24 +++++++ .../recipe/assembler_matrix_speed_plus.json | 24 +++++++ .../datagen/CrafterRecipe.java | 63 +++++++++++++++++++ .../datagen/DataGenerators.java | 34 ++++++++++ 8 files changed, 265 insertions(+) create mode 100644 src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_crafter_plus.json create mode 100644 src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_pattern_plus.json create mode 100644 src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_speed_plus.json create mode 100644 src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_crafter_plus.json create mode 100644 src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_pattern_plus.json create mode 100644 src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_speed_plus.json create mode 100644 src/main/java/com/extendedae_plus/datagen/CrafterRecipe.java create mode 100644 src/main/java/com/extendedae_plus/datagen/DataGenerators.java diff --git a/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_crafter_plus.json b/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_crafter_plus.json new file mode 100644 index 0000000..2501a14 --- /dev/null +++ b/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_crafter_plus.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_quantum_ring": { + "conditions": { + "items": [ + { + "items": "ae2:quantum_ring" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "extendedae_plus:assembler_matrix_crafter_plus" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_quantum_ring" + ] + ], + "rewards": { + "recipes": [ + "extendedae_plus:assembler_matrix_crafter_plus" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_pattern_plus.json b/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_pattern_plus.json new file mode 100644 index 0000000..abb4458 --- /dev/null +++ b/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_pattern_plus.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_quantum_ring": { + "conditions": { + "items": [ + { + "items": "ae2:quantum_ring" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "extendedae_plus:assembler_matrix_pattern_plus" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_quantum_ring" + ] + ], + "rewards": { + "recipes": [ + "extendedae_plus:assembler_matrix_pattern_plus" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_speed_plus.json b/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_speed_plus.json new file mode 100644 index 0000000..ee2590d --- /dev/null +++ b/src/generated/resources/data/extendedae_plus/advancement/recipes/misc/assembler_matrix_speed_plus.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_quantum_ring": { + "conditions": { + "items": [ + { + "items": "ae2:quantum_ring" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "extendedae_plus:assembler_matrix_speed_plus" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_quantum_ring" + ] + ], + "rewards": { + "recipes": [ + "extendedae_plus:assembler_matrix_speed_plus" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_crafter_plus.json b/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_crafter_plus.json new file mode 100644 index 0000000..a4fc397 --- /dev/null +++ b/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_crafter_plus.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "extendedae:assembler_matrix_wall" + }, + "L": { + "item": "minecraft:nether_star" + }, + "R": { + "item": "extendedae:assembler_matrix_crafter" + } + }, + "pattern": [ + "BRB", + "RLR", + "BRB" + ], + "result": { + "count": 1, + "id": "extendedae_plus:assembler_matrix_crafter_plus" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_pattern_plus.json b/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_pattern_plus.json new file mode 100644 index 0000000..a8af0a1 --- /dev/null +++ b/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_pattern_plus.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "extendedae:assembler_matrix_wall" + }, + "L": { + "item": "minecraft:nether_star" + }, + "R": { + "item": "extendedae:assembler_matrix_pattern" + } + }, + "pattern": [ + "BRB", + "RLR", + "BRB" + ], + "result": { + "count": 1, + "id": "extendedae_plus:assembler_matrix_pattern_plus" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_speed_plus.json b/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_speed_plus.json new file mode 100644 index 0000000..33e7752 --- /dev/null +++ b/src/generated/resources/data/extendedae_plus/recipe/assembler_matrix_speed_plus.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "B": { + "item": "extendedae:assembler_matrix_wall" + }, + "L": { + "item": "minecraft:nether_star" + }, + "R": { + "item": "extendedae:assembler_matrix_speed" + } + }, + "pattern": [ + "BRB", + "RLR", + "BRB" + ], + "result": { + "count": 1, + "id": "extendedae_plus:assembler_matrix_speed_plus" + } +} \ No newline at end of file diff --git a/src/main/java/com/extendedae_plus/datagen/CrafterRecipe.java b/src/main/java/com/extendedae_plus/datagen/CrafterRecipe.java new file mode 100644 index 0000000..1ccd3d3 --- /dev/null +++ b/src/main/java/com/extendedae_plus/datagen/CrafterRecipe.java @@ -0,0 +1,63 @@ +package com.extendedae_plus.datagen; + +import appeng.core.definitions.AEBlocks; +import com.extendedae_plus.ExtendedAEPlus; +import com.extendedae_plus.init.ModItems; +import com.glodblock.github.extendedae.common.EAESingletons; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.recipes.*; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.ItemLike; +import org.jetbrains.annotations.NotNull; + +import java.util.concurrent.CompletableFuture; + +/** + * ExtendedAE Plus 配方数据生成器 + * 用于 NeoForge 1.21.1 + */ +public class CrafterRecipe extends RecipeProvider { + + public CrafterRecipe(PackOutput output, CompletableFuture registries) { + super(output, registries); + } + + @Override + protected void buildRecipes(@NotNull RecipeOutput output) { + + //超级装配矩阵速度核心 + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.ASSEMBLER_MATRIX_SPEED_PLUS.get()) + .pattern("BRB") + .pattern("RLR") + .pattern("BRB") + .define('R', EAESingletons.ASSEMBLER_MATRIX_SPEED) + .define('L', Items.NETHER_STAR) + .define('B', EAESingletons.ASSEMBLER_MATRIX_WALL) + .unlockedBy("has_quantum_ring", has(AEBlocks.QUANTUM_RING)) + .save(output); + + //超级装配矩阵合成核心 + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.ASSEMBLER_MATRIX_CRAFTER_PLUS.get()) + .pattern("BRB") + .pattern("RLR") + .pattern("BRB") + .define('R', EAESingletons.ASSEMBLER_MATRIX_CRAFTER) + .define('L', Items.NETHER_STAR) + .define('B', EAESingletons.ASSEMBLER_MATRIX_WALL) + .unlockedBy("has_quantum_ring", has(AEBlocks.QUANTUM_RING)) + .save(output); + + //超级装配矩阵样板核心 + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.ASSEMBLER_MATRIX_PATTERN_PLUS.get()) + .pattern("BRB") + .pattern("RLR") + .pattern("BRB") + .define('R', EAESingletons.ASSEMBLER_MATRIX_PATTERN) + .define('L', Items.NETHER_STAR) + .define('B', EAESingletons.ASSEMBLER_MATRIX_WALL) + .unlockedBy("has_quantum_ring", has(AEBlocks.QUANTUM_RING)) + .save(output); + + } +} diff --git a/src/main/java/com/extendedae_plus/datagen/DataGenerators.java b/src/main/java/com/extendedae_plus/datagen/DataGenerators.java new file mode 100644 index 0000000..81d399b --- /dev/null +++ b/src/main/java/com/extendedae_plus/datagen/DataGenerators.java @@ -0,0 +1,34 @@ +package com.extendedae_plus.datagen; + +import com.extendedae_plus.ExtendedAEPlus; +import net.minecraft.core.HolderLookup; +import net.minecraft.data.DataGenerator; +import net.minecraft.data.PackOutput; +import net.neoforged.bus.api.SubscribeEvent; +import net.neoforged.fml.common.EventBusSubscriber; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import net.neoforged.neoforge.data.event.GatherDataEvent; + +import java.util.concurrent.CompletableFuture; + +/** + * ExtendedAE Plus 数据生成事件总线 + * 用于 NeoForge 1.21.1 + */ +@EventBusSubscriber(modid = ExtendedAEPlus.MODID) +public class DataGenerators { + + @SubscribeEvent + public static void gatherData(GatherDataEvent event) { + DataGenerator generator = event.getGenerator(); + CompletableFuture lookupProvider = event.getLookupProvider(); + + // 注册配方提供器 + generator.addProvider( + event.includeServer(), + new CrafterRecipe(generator.getPackOutput(), lookupProvider) + ); + + + } +}