From d64f97e0343bf8292b59a7dcc880766fafefb669 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sat, 14 Jun 2025 11:25:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9D=90=E6=96=99=E5=8C=85?= =?UTF-8?q?=E9=85=8D=E6=96=B9=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 10 ++- .../recipes/misc/common_material_pack.json | 65 +++++++++++++++++++ .../recipes/misc/epic_material_pack.json | 65 +++++++++++++++++++ .../recipes/misc/legendary_material_pack.json | 65 +++++++++++++++++++ .../recipes/misc/rare_material_pack.json | 65 +++++++++++++++++++ .../recipe/common_material_pack.json} | 4 +- .../recipe/epic_material_pack.json} | 4 +- .../recipe/legendary_material_pack.json} | 8 +-- .../recipe/rare_material_pack.json} | 4 +- .../datagen/ModRecipeProvider.java | 20 ++++++ 10 files changed, 299 insertions(+), 11 deletions(-) create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/common_material_pack.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/epic_material_pack.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/legendary_material_pack.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/rare_material_pack.json rename src/{main/resources/data/superbwarfare/recipe/material_pack_common_crafting.json => generated/resources/data/superbwarfare/recipe/common_material_pack.json} (83%) rename src/{main/resources/data/superbwarfare/recipe/material_pack_epic_crafting.json => generated/resources/data/superbwarfare/recipe/epic_material_pack.json} (86%) rename src/{main/resources/data/superbwarfare/recipe/material_pack_legendary_crafting.json => generated/resources/data/superbwarfare/recipe/legendary_material_pack.json} (84%) rename src/{main/resources/data/superbwarfare/recipe/material_pack_rare_crafting.json => generated/resources/data/superbwarfare/recipe/rare_material_pack.json} (84%) diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 0b358cbaa..03d96cdc3 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2025-06-14T10:59:27.3003539 Recipes +// 1.21.1 2025-06-14T11:22:09.7701308 Recipes 9775e550332c69f1ee2ac4a09834a35db6f6a2ed data/minecraft/recipe/ammo_box_add_ammo.json 9775e550332c69f1ee2ac4a09834a35db6f6a2ed data/minecraft/recipe/ammo_box_extract_ammo.json 2e1d1bbf32801f3d355c0d3f78ebbb1122cebd4c data/minecraft/recipe/potion_mortar_shell.json @@ -48,7 +48,9 @@ f897cf8f5c8968f22f8fc0638c7340a41345c162 data/superbwarfare/advancement/recipes/ 061127e7f3c533fe2d2d889d79b1dadd30f3b0e4 data/superbwarfare/advancement/recipes/misc/cemented_carbide_barrel.json fef50c56302629f3e056ce1a5bf4acf3db99e95c data/superbwarfare/advancement/recipes/misc/cemented_carbide_spring.json 03a243311236ce62987be96c6978c9ed52c801c7 data/superbwarfare/advancement/recipes/misc/cemented_carbide_trigger.json +962a3dcfbe68292fc527128624076d2dc2b9ee69 data/superbwarfare/advancement/recipes/misc/common_material_pack.json cae0bca9d87ad212a3155135433ffe88f289c04c data/superbwarfare/advancement/recipes/misc/devotion_blueprint.json +adc722f8e8bdca1c2f7bcb9407b66fd63d524153 data/superbwarfare/advancement/recipes/misc/epic_material_pack.json 446c53cb5e07af26811f443ca4d6794a0fd04e42 data/superbwarfare/advancement/recipes/misc/glock_17_blueprint.json 076fac5dd247bc92ef917e3728692ee185f81e3f data/superbwarfare/advancement/recipes/misc/glock_18_blueprint.json 5c9c30fe01fd08afc8baecd61566fb399f74f024 data/superbwarfare/advancement/recipes/misc/hk_416_blueprint.json @@ -61,6 +63,7 @@ fc44de15ff247fa3485514fe9243884a2abcff64 data/superbwarfare/advancement/recipes/ 4762eab2a4224f4c31fff38f72d2a7c28fb05cbf data/superbwarfare/advancement/recipes/misc/iron_trigger.json 652b83a7987f1fa42d174f923e0905c53a20cda7 data/superbwarfare/advancement/recipes/misc/javelin_blueprint.json 899c04e1a22a41365129a5ca24348194f7dd4d88 data/superbwarfare/advancement/recipes/misc/k_98_blueprint.json +73ad3b32318511010f9acd7902ef7cfc2ba101a3 data/superbwarfare/advancement/recipes/misc/legendary_material_pack.json d481715aad2fc1fc01357103cb11ed201fc92dde data/superbwarfare/advancement/recipes/misc/m2hb_blueprint.json 9d10438fe47d61ea60452f0bf62ac0bfc3fd04d3 data/superbwarfare/advancement/recipes/misc/marlin_blueprint.json 969f773f4e7b657a907d050a4c74ae3256b7024e data/superbwarfare/advancement/recipes/misc/minigun_blueprint.json @@ -78,6 +81,7 @@ ab91251a4ad27c9153eec06d6a781aa59fc61785 data/superbwarfare/advancement/recipes/ dd88128230882947ff1f7e46ca413e571374cf88 data/superbwarfare/advancement/recipes/misc/m_98b_blueprint.json 46fc6cc865986b08322c48a583c5d26b148797e5 data/superbwarfare/advancement/recipes/misc/ntw_20_blueprint.json 358b34abec2942bed33a221b8897ff33daf0bbdb data/superbwarfare/advancement/recipes/misc/qbz_95_blueprint.json +1a60ccfaa5e95aaa2d75a5cf0f32dbc840d07d17 data/superbwarfare/advancement/recipes/misc/rare_material_pack.json 1f5902ffc6a4db767c38b44b4fff8536b500bb79 data/superbwarfare/advancement/recipes/misc/rpg_blueprint.json 35aaa4d30e7a6cc1e072c83912850acc8b11d0cd data/superbwarfare/advancement/recipes/misc/rpk_blueprint.json 0fe097b3fa12c718d826bc14eb69c384400e8a8b data/superbwarfare/advancement/recipes/misc/secondary_cataclysm_blueprint.json @@ -108,8 +112,10 @@ cba1ec494c1313b5a84895be16e90a25c0bc754c data/superbwarfare/recipe/bocek_bluepri 7a6f4ea0d09eea03dbfee2d61868d9db0b958522 data/superbwarfare/recipe/cemented_carbide_barrel.json 881a90c5bf36bf08bc7083707c42558b2c70db15 data/superbwarfare/recipe/cemented_carbide_spring.json 415ad91b7fd5c0118fda145eb4e4c6e4fe761cae data/superbwarfare/recipe/cemented_carbide_trigger.json +db67212081316049e59d5509a31fa32c56d61cbf data/superbwarfare/recipe/common_material_pack.json ae7c8b9ef2e97948f11bf753660c4ab4e94930e2 data/superbwarfare/recipe/devotion_blueprint.json 4516cd2b8d2ca38c9bfb398dee8fcc0909d95e0d data/superbwarfare/recipe/devotion_smithing.json +0d993bb8087a4e4ab5d6873c5d1933d8f4bdcec7 data/superbwarfare/recipe/epic_material_pack.json 1ca96490a6d317f6bc71e05a2dced261b8790c0b data/superbwarfare/recipe/glock_17_blueprint.json 499cbb24af56a133da435b6e38fe8f9c26862dd2 data/superbwarfare/recipe/glock_17_smithing.json 96eef061bdfc9c777dd50669e797b284db47e6ef data/superbwarfare/recipe/glock_18_blueprint.json @@ -129,6 +135,7 @@ edb663a08bf42112eb4663d4b51113d6ccb793bb data/superbwarfare/recipe/iron_spring.j 90d1f438dc8cc0dc26c49a943b84819607488585 data/superbwarfare/recipe/javelin_smithing.json 9ced791c2f2eeb19bab3b7826e05c936953974cc data/superbwarfare/recipe/k_98_blueprint.json 9446bd3818f87e6f849d118a0bc21123587bdb04 data/superbwarfare/recipe/k_98_smithing.json +31dc4eaf8edd635132435f68cfc07dc2fe9ae037 data/superbwarfare/recipe/legendary_material_pack.json a6935ef289d09a955b17074da622839205534fe5 data/superbwarfare/recipe/m2hb_blueprint.json 31c3dcbd4a07735b31e9f4c0919318897606290d data/superbwarfare/recipe/marlin_blueprint.json 771b135c355c88a55994c47291f949205672a277 data/superbwarfare/recipe/marlin_smithing.json @@ -160,6 +167,7 @@ a22cb7c546460b175643385a500b2af9d24c6cd7 data/superbwarfare/recipe/m_870_bluepri ff117c48405a73e49d29d737132d1c249b0fc3b5 data/superbwarfare/recipe/ntw_20_smithing.json f99ef54062417a7da9882662880469ec1c054d05 data/superbwarfare/recipe/qbz_95_blueprint.json d9be0b3784bf8ce54692b1317fd0a7e18854ed27 data/superbwarfare/recipe/qbz_95_smithing.json +795b8eb03eb5fc669e4359f44726e558bf738120 data/superbwarfare/recipe/rare_material_pack.json 9c7fe800ff5834fd8a98051dfc28c2c17616df9e data/superbwarfare/recipe/rpg_blueprint.json 63ee17d3e9219cc61d3971516e4aa5b6a57924c8 data/superbwarfare/recipe/rpg_smithing.json 2d9c1b07950aba143ec78afbd4a869fa01d7a75f data/superbwarfare/recipe/rpk_blueprint.json diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/common_material_pack.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/common_material_pack.json new file mode 100644 index 000000000..c56097f6d --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/common_material_pack.json @@ -0,0 +1,65 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_iron_action": { + "conditions": { + "items": [ + { + "items": "superbwarfare:iron_action" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_barrel": { + "conditions": { + "items": [ + { + "items": "superbwarfare:iron_barrel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_spring": { + "conditions": { + "items": [ + { + "items": "superbwarfare:iron_spring" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_iron_trigger": { + "conditions": { + "items": [ + { + "items": "superbwarfare:iron_trigger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:common_material_pack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_iron_barrel", + "has_iron_action", + "has_iron_spring", + "has_iron_trigger" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:common_material_pack" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/epic_material_pack.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/epic_material_pack.json new file mode 100644 index 000000000..87a76cdad --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/epic_material_pack.json @@ -0,0 +1,65 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cemented_carbide_action": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_action" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cemented_carbide_barrel": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_barrel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cemented_carbide_spring": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_spring" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_cemented_carbide_trigger": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_trigger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:epic_material_pack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cemented_carbide_barrel", + "has_cemented_carbide_action", + "has_cemented_carbide_spring", + "has_cemented_carbide_trigger" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:epic_material_pack" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/legendary_material_pack.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/legendary_material_pack.json new file mode 100644 index 000000000..74c7450f2 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/legendary_material_pack.json @@ -0,0 +1,65 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_netherite_action": { + "conditions": { + "items": [ + { + "items": "superbwarfare:netherite_action" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_barrel": { + "conditions": { + "items": [ + { + "items": "superbwarfare:netherite_barrel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_spring": { + "conditions": { + "items": [ + { + "items": "superbwarfare:netherite_spring" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_netherite_trigger": { + "conditions": { + "items": [ + { + "items": "superbwarfare:netherite_trigger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:legendary_material_pack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_netherite_barrel", + "has_netherite_action", + "has_netherite_spring", + "has_netherite_trigger" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:legendary_material_pack" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/rare_material_pack.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/rare_material_pack.json new file mode 100644 index 000000000..40f26151b --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/rare_material_pack.json @@ -0,0 +1,65 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_action": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_action" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_steel_barrel": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_barrel" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_steel_spring": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_spring" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_steel_trigger": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_trigger" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:rare_material_pack" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_barrel", + "has_steel_action", + "has_steel_spring", + "has_steel_trigger" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:rare_material_pack" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/material_pack_common_crafting.json b/src/generated/resources/data/superbwarfare/recipe/common_material_pack.json similarity index 83% rename from src/main/resources/data/superbwarfare/recipe/material_pack_common_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/common_material_pack.json index 040e254bf..5222df6c3 100644 --- a/src/main/resources/data/superbwarfare/recipe/material_pack_common_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/common_material_pack.json @@ -16,7 +16,7 @@ } ], "result": { - "id": "superbwarfare:common_material_pack", - "count": 1 + "count": 1, + "id": "superbwarfare:common_material_pack" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/material_pack_epic_crafting.json b/src/generated/resources/data/superbwarfare/recipe/epic_material_pack.json similarity index 86% rename from src/main/resources/data/superbwarfare/recipe/material_pack_epic_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/epic_material_pack.json index 1fac34228..a2ef227c9 100644 --- a/src/main/resources/data/superbwarfare/recipe/material_pack_epic_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/epic_material_pack.json @@ -16,7 +16,7 @@ } ], "result": { - "id": "superbwarfare:epic_material_pack", - "count": 1 + "count": 1, + "id": "superbwarfare:epic_material_pack" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/material_pack_legendary_crafting.json b/src/generated/resources/data/superbwarfare/recipe/legendary_material_pack.json similarity index 84% rename from src/main/resources/data/superbwarfare/recipe/material_pack_legendary_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/legendary_material_pack.json index 4ae620254..274113619 100644 --- a/src/main/resources/data/superbwarfare/recipe/material_pack_legendary_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/legendary_material_pack.json @@ -6,17 +6,17 @@ "item": "superbwarfare:netherite_barrel" }, { - "item": "superbwarfare:netherite_spring" + "item": "superbwarfare:netherite_action" }, { - "item": "superbwarfare:netherite_action" + "item": "superbwarfare:netherite_spring" }, { "item": "superbwarfare:netherite_trigger" } ], "result": { - "id": "superbwarfare:legendary_material_pack", - "count": 1 + "count": 1, + "id": "superbwarfare:legendary_material_pack" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/material_pack_rare_crafting.json b/src/generated/resources/data/superbwarfare/recipe/rare_material_pack.json similarity index 84% rename from src/main/resources/data/superbwarfare/recipe/material_pack_rare_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/rare_material_pack.json index 4fd4ae405..ec118469a 100644 --- a/src/main/resources/data/superbwarfare/recipe/material_pack_rare_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/rare_material_pack.json @@ -16,7 +16,7 @@ } ], "result": { - "id": "superbwarfare:rare_material_pack", - "count": 1 + "count": 1, + "id": "superbwarfare:rare_material_pack" } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java index 68a48c0ad..65c3b5f81 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java @@ -37,11 +37,18 @@ public class ModRecipeProvider extends RecipeProvider { SpecialRecipeBuilder.special(AmmoBoxExtractAmmoRecipe::new).save(output, "ammo_box_extract_ammo"); // items + // 材料 generateMaterialRecipes(output, ModItems.IRON_MATERIALS, Items.IRON_INGOT); generateMaterialRecipes(output, ModItems.STEEL_MATERIALS, ModItems.STEEL_INGOT.get()); generateMaterialRecipes(output, ModItems.CEMENTED_CARBIDE_MATERIALS, ModItems.CEMENTED_CARBIDE_INGOT.get()); // TODO 下界合金材料 + // 材料包 + generateMaterialPackRecipe(output, ModItems.IRON_MATERIALS, ModItems.COMMON_MATERIAL_PACK.get()); + generateMaterialPackRecipe(output, ModItems.STEEL_MATERIALS, ModItems.RARE_MATERIAL_PACK.get()); + generateMaterialPackRecipe(output, ModItems.CEMENTED_CARBIDE_MATERIALS, ModItems.EPIC_MATERIAL_PACK.get()); + generateMaterialPackRecipe(output, ModItems.NETHERITE_MATERIALS, ModItems.LEGENDARY_MATERIAL_PACK.get()); + // vehicles containerRecipe(ModEntities.A_10A.get()) .pattern("dad") @@ -220,4 +227,17 @@ public class ModRecipeProvider extends RecipeProvider { .unlockedBy(getHasName(ingredient), has(ingredient)) .save(output, Mod.loc(getItemName(material.trigger().get()))); } + + public static void generateMaterialPackRecipe(@NotNull RecipeOutput output, ModItems.Materials material, Item pack) { + ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, pack) + .requires(material.barrel().get()) + .requires(material.action().get()) + .requires(material.spring().get()) + .requires(material.trigger().get()) + .unlockedBy(getHasName(material.barrel().get()), has(material.barrel().get())) + .unlockedBy(getHasName(material.action().get()), has(material.action().get())) + .unlockedBy(getHasName(material.spring().get()), has(material.spring().get())) + .unlockedBy(getHasName(material.trigger().get()), has(material.trigger().get())) + .save(output, Mod.loc(getItemName(pack))); + } }