From 1a92d5e1f1b3126af9367b5371063dbb40fc3944 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sat, 14 Jun 2025 11:03:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9D=90=E6=96=99=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E5=92=8C=E9=85=8D=E6=96=B9=E7=94=9F=E6=88=90=E6=96=B9?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 18 +++++- .../recipes/misc/cemented_carbide_action.json | 32 ++++++++++ .../recipes/misc/cemented_carbide_barrel.json | 32 ++++++++++ .../recipes/misc/cemented_carbide_spring.json | 32 ++++++++++ .../misc/cemented_carbide_trigger.json | 32 ++++++++++ .../recipes/misc/steel_action.json | 32 ++++++++++ .../recipes/misc/steel_barrel.json | 32 ++++++++++ .../recipes/misc/steel_spring.json | 32 ++++++++++ .../recipes/misc/steel_trigger.json | 32 ++++++++++ .../recipe/cemented_carbide_action.json} | 16 +++-- .../recipe/cemented_carbide_barrel.json} | 16 ++--- .../recipe/cemented_carbide_spring.json} | 19 +++--- .../recipe/cemented_carbide_trigger.json} | 23 +++---- .../superbwarfare/recipe/steel_action.json} | 16 +++-- .../superbwarfare/recipe/steel_barrel.json} | 16 ++--- .../superbwarfare/recipe/steel_spring.json} | 19 +++--- .../superbwarfare/recipe/steel_trigger.json} | 23 +++---- .../datagen/ModItemModelProvider.java | 28 ++++----- .../datagen/ModRecipeProvider.java | 61 +++++++++++-------- .../superbwarfare/init/ModItems.java | 40 +++++++----- .../superbwarfare/init/ModVillagers.java | 16 ++--- 21 files changed, 415 insertions(+), 152 deletions(-) create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_action.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_barrel.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_spring.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_trigger.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_action.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_barrel.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_spring.json create mode 100644 src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_trigger.json rename src/{main/resources/data/superbwarfare/recipe/cemented_carbide_barrel_crafting.json => generated/resources/data/superbwarfare/recipe/cemented_carbide_action.json} (52%) rename src/{main/resources/data/superbwarfare/recipe/cemented_carbide_action_crafting.json => generated/resources/data/superbwarfare/recipe/cemented_carbide_barrel.json} (51%) rename src/{main/resources/data/superbwarfare/recipe/cemented_carbide_spring_crafting.json => generated/resources/data/superbwarfare/recipe/cemented_carbide_spring.json} (50%) rename src/{main/resources/data/superbwarfare/recipe/cemented_carbide_trigger_crafting.json => generated/resources/data/superbwarfare/recipe/cemented_carbide_trigger.json} (55%) rename src/{main/resources/data/superbwarfare/recipe/steel_barrel_crafting.json => generated/resources/data/superbwarfare/recipe/steel_action.json} (54%) rename src/{main/resources/data/superbwarfare/recipe/steel_action_crafting.json => generated/resources/data/superbwarfare/recipe/steel_barrel.json} (53%) rename src/{main/resources/data/superbwarfare/recipe/steel_spring_crafting.json => generated/resources/data/superbwarfare/recipe/steel_spring.json} (52%) rename src/{main/resources/data/superbwarfare/recipe/steel_trigger_crafting.json => generated/resources/data/superbwarfare/recipe/steel_trigger.json} (57%) diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index f953aa142..0b358cbaa 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2025-06-14T10:09:06.1391868 Recipes +// 1.21.1 2025-06-14T10:59:27.3003539 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 @@ -44,6 +44,10 @@ c570eb1f7d03feb4896c5f3aa04279ce23bcd76e data/superbwarfare/advancement/recipes/ c8a34f3eab27e1987ada9bee13c40cb96098d15f data/superbwarfare/advancement/recipes/misc/annihilator_blueprint.json edb954552dd2ec2f3aac2b4c6d13fca19b61648e data/superbwarfare/advancement/recipes/misc/aurelia_sceptre_blueprint.json 4d0cf20281017a3468915eeef192fd4262039223 data/superbwarfare/advancement/recipes/misc/bocek_blueprint.json +f897cf8f5c8968f22f8fc0638c7340a41345c162 data/superbwarfare/advancement/recipes/misc/cemented_carbide_action.json +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 cae0bca9d87ad212a3155135433ffe88f289c04c data/superbwarfare/advancement/recipes/misc/devotion_blueprint.json 446c53cb5e07af26811f443ca4d6794a0fd04e42 data/superbwarfare/advancement/recipes/misc/glock_17_blueprint.json 076fac5dd247bc92ef917e3728692ee185f81e3f data/superbwarfare/advancement/recipes/misc/glock_18_blueprint.json @@ -79,6 +83,10 @@ dd88128230882947ff1f7e46ca413e571374cf88 data/superbwarfare/advancement/recipes/ 0fe097b3fa12c718d826bc14eb69c384400e8a8b data/superbwarfare/advancement/recipes/misc/secondary_cataclysm_blueprint.json 1702fe19c2e72e3dd2e782d7210bf5fae195fc34 data/superbwarfare/advancement/recipes/misc/sentinel_blueprint.json 636bdaeadd7771e8aec3a00a4a378817df83a2ea data/superbwarfare/advancement/recipes/misc/sks_blueprint.json +414d4dd603fdbe185eab904313ad055999ffc937 data/superbwarfare/advancement/recipes/misc/steel_action.json +f1b0f1b10a2c0fa43551aa0d222516ef2fc6280f data/superbwarfare/advancement/recipes/misc/steel_barrel.json +a14ae75ff20bd01d2ada8fce0a7dd6ab55e37fc0 data/superbwarfare/advancement/recipes/misc/steel_spring.json +92a191e19fef3b7857ef0a4fe357fc87c78a43de data/superbwarfare/advancement/recipes/misc/steel_trigger.json 9d54e1586679df4baa68666303841a0e845f8728 data/superbwarfare/advancement/recipes/misc/svd_blueprint.json 2a9b21d77cad688c1fb0c924d8be9bb7ded56f0d data/superbwarfare/advancement/recipes/misc/taser_blueprint.json e414607d3519e157842ddb5163a2057b299dd487 data/superbwarfare/advancement/recipes/misc/trachelium_blueprint.json @@ -96,6 +104,10 @@ b5a2b05abd0da94388cbd46b73ae1446db0773b4 data/superbwarfare/recipe/annihilator_b cce043ab62824b9ea7e3c7005692061eaec50396 data/superbwarfare/recipe/a_10a_container.json cba1ec494c1313b5a84895be16e90a25c0bc754c data/superbwarfare/recipe/bocek_blueprint.json 12953ac27377b7869a68cc67a3874b0e555b381a data/superbwarfare/recipe/bocek_smithing.json +3b8ab54c66849f6af945cd9b18ee4a9bc3f4ddba data/superbwarfare/recipe/cemented_carbide_action.json +7a6f4ea0d09eea03dbfee2d61868d9db0b958522 data/superbwarfare/recipe/cemented_carbide_barrel.json +881a90c5bf36bf08bc7083707c42558b2c70db15 data/superbwarfare/recipe/cemented_carbide_spring.json +415ad91b7fd5c0118fda145eb4e4c6e4fe761cae data/superbwarfare/recipe/cemented_carbide_trigger.json ae7c8b9ef2e97948f11bf753660c4ab4e94930e2 data/superbwarfare/recipe/devotion_blueprint.json 4516cd2b8d2ca38c9bfb398dee8fcc0909d95e0d data/superbwarfare/recipe/devotion_smithing.json 1ca96490a6d317f6bc71e05a2dced261b8790c0b data/superbwarfare/recipe/glock_17_blueprint.json @@ -158,6 +170,10 @@ d7fef75ab1114da28461ae0c50f8cee3d1b58316 data/superbwarfare/recipe/secondary_cat 14719ade84f72afa292d94d035642e8573878b83 data/superbwarfare/recipe/sentinel_smithing.json 0512e158416faa91b207f4f7e271dff6e2f12c49 data/superbwarfare/recipe/sks_blueprint.json ba64964139e39f3f6b359ef46792754f1f5eee29 data/superbwarfare/recipe/sks_smithing.json +f2777c054b27e9fb44deeb72ddb6325e0385a270 data/superbwarfare/recipe/steel_action.json +24868042d556c545e0b2c9f7244795e7d3fdce4f data/superbwarfare/recipe/steel_barrel.json +e6f83a418c7ee3b596206deaf86a46a2a4b34fe8 data/superbwarfare/recipe/steel_spring.json +21d12a61558a3bf820796be67bd7b58047d929dc data/superbwarfare/recipe/steel_trigger.json 940339216a1dc73e8e9f090af1b5a638db81581a data/superbwarfare/recipe/svd_blueprint.json a25453be786b0f279d622dd69e4ad85d7a2dae0e data/superbwarfare/recipe/svd_smithing.json 74f766c560a92652471e00af24019caec23cf85c data/superbwarfare/recipe/taser_blueprint.json diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_action.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_action.json new file mode 100644 index 000000000..34cc80433 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_action.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cemented_carbide_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:cemented_carbide_action" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cemented_carbide_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:cemented_carbide_action" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_barrel.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_barrel.json new file mode 100644 index 000000000..8afc16611 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_barrel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cemented_carbide_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:cemented_carbide_barrel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cemented_carbide_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:cemented_carbide_barrel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_spring.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_spring.json new file mode 100644 index 000000000..a664f0875 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_spring.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cemented_carbide_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:cemented_carbide_spring" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cemented_carbide_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:cemented_carbide_spring" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_trigger.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_trigger.json new file mode 100644 index 000000000..cbfa75b3b --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/cemented_carbide_trigger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_cemented_carbide_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:cemented_carbide_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:cemented_carbide_trigger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_cemented_carbide_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:cemented_carbide_trigger" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_action.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_action.json new file mode 100644 index 000000000..143269479 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_action.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:steel_action" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:steel_action" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_barrel.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_barrel.json new file mode 100644 index 000000000..5374429f5 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_barrel.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:steel_barrel" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:steel_barrel" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_spring.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_spring.json new file mode 100644 index 000000000..e6b8ebc90 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_spring.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:steel_spring" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:steel_spring" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_trigger.json b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_trigger.json new file mode 100644 index 000000000..2042e152b --- /dev/null +++ b/src/generated/resources/data/superbwarfare/advancement/recipes/misc/steel_trigger.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_steel_ingot": { + "conditions": { + "items": [ + { + "items": "superbwarfare:steel_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "superbwarfare:steel_trigger" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_steel_ingot" + ] + ], + "rewards": { + "recipes": [ + "superbwarfare:steel_trigger" + ] + } +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_barrel_crafting.json b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_action.json similarity index 52% rename from src/main/resources/data/superbwarfare/recipe/cemented_carbide_barrel_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/cemented_carbide_action.json index bbc82aab8..21cf765cb 100644 --- a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_barrel_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_action.json @@ -1,19 +1,17 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "aba" - ], "key": { - "a": { - "tag": "superbwarfare:ingots/cemented_carbide" - }, - "b": { + "A": { "item": "superbwarfare:cemented_carbide_ingot" } }, + "pattern": [ + "AAA", + " A" + ], "result": { - "id": "superbwarfare:cemented_carbide_barrel", - "count": 1 + "count": 1, + "id": "superbwarfare:cemented_carbide_action" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_action_crafting.json b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_barrel.json similarity index 51% rename from src/main/resources/data/superbwarfare/recipe/cemented_carbide_action_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/cemented_carbide_barrel.json index 177dbd80f..5da9c4ec8 100644 --- a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_action_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_barrel.json @@ -1,20 +1,16 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "aba", - " a" - ], "key": { - "a": { - "tag": "superbwarfare:ingots/cemented_carbide" - }, - "b": { + "A": { "item": "superbwarfare:cemented_carbide_ingot" } }, + "pattern": [ + "AAA" + ], "result": { - "id": "superbwarfare:cemented_carbide_action", - "count": 1 + "count": 1, + "id": "superbwarfare:cemented_carbide_barrel" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_spring_crafting.json b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_spring.json similarity index 50% rename from src/main/resources/data/superbwarfare/recipe/cemented_carbide_spring_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/cemented_carbide_spring.json index 0fe2c92fa..b1e2303c9 100644 --- a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_spring_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_spring.json @@ -1,21 +1,18 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "a", - "b", - "a" - ], "key": { - "a": { - "tag": "superbwarfare:ingots/cemented_carbide" - }, - "b": { + "A": { "item": "superbwarfare:cemented_carbide_ingot" } }, + "pattern": [ + "A", + "A", + "A" + ], "result": { - "id": "superbwarfare:cemented_carbide_spring", - "count": 1 + "count": 1, + "id": "superbwarfare:cemented_carbide_spring" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_trigger_crafting.json b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_trigger.json similarity index 55% rename from src/main/resources/data/superbwarfare/recipe/cemented_carbide_trigger_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/cemented_carbide_trigger.json index fe970f9a0..d24d7c165 100644 --- a/src/main/resources/data/superbwarfare/recipe/cemented_carbide_trigger_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/cemented_carbide_trigger.json @@ -1,23 +1,20 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "ab", - " c" - ], "key": { - "a": { - "item": "minecraft:tripwire_hook" - }, - "b": { - "tag": "superbwarfare:ingots/cemented_carbide" - }, - "c": { + "A": { "item": "superbwarfare:cemented_carbide_ingot" + }, + "B": { + "item": "minecraft:tripwire_hook" } }, + "pattern": [ + "BA", + " A" + ], "result": { - "id": "superbwarfare:cemented_carbide_trigger", - "count": 1 + "count": 1, + "id": "superbwarfare:cemented_carbide_trigger" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/steel_barrel_crafting.json b/src/generated/resources/data/superbwarfare/recipe/steel_action.json similarity index 54% rename from src/main/resources/data/superbwarfare/recipe/steel_barrel_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/steel_action.json index 1b6fd7342..3811582e0 100644 --- a/src/main/resources/data/superbwarfare/recipe/steel_barrel_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/steel_action.json @@ -1,19 +1,17 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "aba" - ], "key": { - "a": { - "tag": "superbwarfare:ingots/steel" - }, - "b": { + "A": { "item": "superbwarfare:steel_ingot" } }, + "pattern": [ + "AAA", + " A" + ], "result": { - "id": "superbwarfare:steel_barrel", - "count": 1 + "count": 1, + "id": "superbwarfare:steel_action" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/steel_action_crafting.json b/src/generated/resources/data/superbwarfare/recipe/steel_barrel.json similarity index 53% rename from src/main/resources/data/superbwarfare/recipe/steel_action_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/steel_barrel.json index 41f3c2044..72885015a 100644 --- a/src/main/resources/data/superbwarfare/recipe/steel_action_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/steel_barrel.json @@ -1,20 +1,16 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "aba", - " a" - ], "key": { - "a": { - "tag": "superbwarfare:ingots/steel" - }, - "b": { + "A": { "item": "superbwarfare:steel_ingot" } }, + "pattern": [ + "AAA" + ], "result": { - "id": "superbwarfare:steel_action", - "count": 1 + "count": 1, + "id": "superbwarfare:steel_barrel" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/steel_spring_crafting.json b/src/generated/resources/data/superbwarfare/recipe/steel_spring.json similarity index 52% rename from src/main/resources/data/superbwarfare/recipe/steel_spring_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/steel_spring.json index 8097cee07..33acc0ada 100644 --- a/src/main/resources/data/superbwarfare/recipe/steel_spring_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/steel_spring.json @@ -1,21 +1,18 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "a", - "b", - "a" - ], "key": { - "a": { - "tag": "superbwarfare:ingots/steel" - }, - "b": { + "A": { "item": "superbwarfare:steel_ingot" } }, + "pattern": [ + "A", + "A", + "A" + ], "result": { - "id": "superbwarfare:steel_spring", - "count": 1 + "count": 1, + "id": "superbwarfare:steel_spring" } } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/steel_trigger_crafting.json b/src/generated/resources/data/superbwarfare/recipe/steel_trigger.json similarity index 57% rename from src/main/resources/data/superbwarfare/recipe/steel_trigger_crafting.json rename to src/generated/resources/data/superbwarfare/recipe/steel_trigger.json index 55339897f..9e67366af 100644 --- a/src/main/resources/data/superbwarfare/recipe/steel_trigger_crafting.json +++ b/src/generated/resources/data/superbwarfare/recipe/steel_trigger.json @@ -1,23 +1,20 @@ { "type": "minecraft:crafting_shaped", "category": "misc", - "pattern": [ - "ab", - " c" - ], "key": { - "a": { - "item": "minecraft:tripwire_hook" - }, - "b": { - "tag": "superbwarfare:ingots/steel" - }, - "c": { + "A": { "item": "superbwarfare:steel_ingot" + }, + "B": { + "item": "minecraft:tripwire_hook" } }, + "pattern": [ + "BA", + " A" + ], "result": { - "id": "superbwarfare:steel_trigger", - "count": 1 + "count": 1, + "id": "superbwarfare:steel_trigger" } } \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java index 066d4802b..2001d2323 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModItemModelProvider.java @@ -135,22 +135,11 @@ public class ModItemModelProvider extends ItemModelProvider { simpleItem(ModItems.LARGE_BATTERY_PACK); simpleItem(ModItems.TUNGSTEN_ROD); - simpleItem(ModItems.IRON_BARREL); - simpleItem(ModItems.IRON_ACTION); - simpleItem(ModItems.IRON_TRIGGER); - simpleItem(ModItems.IRON_SPRING); - simpleItem(ModItems.STEEL_BARREL); - simpleItem(ModItems.STEEL_ACTION); - simpleItem(ModItems.STEEL_TRIGGER); - simpleItem(ModItems.STEEL_SPRING); - simpleItem(ModItems.CEMENTED_CARBIDE_BARREL); - simpleItem(ModItems.CEMENTED_CARBIDE_ACTION); - simpleItem(ModItems.CEMENTED_CARBIDE_TRIGGER); - simpleItem(ModItems.CEMENTED_CARBIDE_SPRING); - simpleItem(ModItems.NETHERITE_BARREL); - simpleItem(ModItems.NETHERITE_ACTION); - simpleItem(ModItems.NETHERITE_TRIGGER); - simpleItem(ModItems.NETHERITE_SPRING); + + simpleMaterials(ModItems.IRON_MATERIALS); + simpleMaterials(ModItems.STEEL_MATERIALS); + simpleMaterials(ModItems.CEMENTED_CARBIDE_MATERIALS); + simpleMaterials(ModItems.NETHERITE_MATERIALS); simpleItem(ModItems.COMMON_MATERIAL_PACK); simpleItem(ModItems.RARE_MATERIAL_PACK); @@ -217,6 +206,13 @@ public class ModItemModelProvider extends ItemModelProvider { evenSimplerBlockItem(ModBlocks.AIRCRAFT_CATAPULT); } + private void simpleMaterials(ModItems.Materials materials) { + simpleItem(materials.action()); + simpleItem(materials.barrel()); + simpleItem(materials.trigger()); + simpleItem(materials.spring()); + } + private ItemModelBuilder simpleItem(DeferredHolder item) { return simpleItem(item, ""); } diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java index 4cd69e6b2..68a48c0ad 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModRecipeProvider.java @@ -37,31 +37,10 @@ public class ModRecipeProvider extends RecipeProvider { SpecialRecipeBuilder.special(AmmoBoxExtractAmmoRecipe::new).save(output, "ammo_box_extract_ammo"); // items - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.IRON_BARREL.get()) - .pattern("AAA") - .define('A', Items.IRON_INGOT) - .unlockedBy(getHasName(Items.IRON_INGOT), has(Items.IRON_INGOT)) - .save(output, Mod.loc(getItemName(ModItems.IRON_BARREL.get()))); - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.IRON_ACTION.get()) - .pattern("AAA") - .pattern(" A") - .define('A', Items.IRON_INGOT) - .unlockedBy(getHasName(Items.IRON_INGOT), has(Items.IRON_INGOT)) - .save(output, Mod.loc(getItemName(ModItems.IRON_ACTION.get()))); - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.IRON_SPRING.get()) - .pattern("A") - .pattern("A") - .pattern("A") - .define('A', Items.IRON_INGOT) - .unlockedBy(getHasName(Items.IRON_INGOT), has(Items.IRON_INGOT)) - .save(output, Mod.loc(getItemName(ModItems.IRON_SPRING.get()))); - ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.IRON_TRIGGER.get()) - .pattern("BA") - .pattern(" A") - .define('A', Items.IRON_INGOT) - .define('B', Items.TRIPWIRE_HOOK) - .unlockedBy(getHasName(Items.IRON_INGOT), has(Items.IRON_INGOT)) - .save(output, Mod.loc(getItemName(ModItems.IRON_TRIGGER.get()))); + 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 下界合金材料 // vehicles containerRecipe(ModEntities.A_10A.get()) @@ -209,4 +188,36 @@ public class ModRecipeProvider extends RecipeProvider { public static String getContainerRecipeName(EntityType entityType) { return getEntityTypeName(entityType) + "_container"; } + + // 生成材料包所有材料的配方 + public static void generateMaterialRecipes(@NotNull RecipeOutput output, ModItems.Materials material, Item ingredient) { + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, material.barrel().get()) + .pattern("AAA") + .define('A', ingredient) + .unlockedBy(getHasName(ingredient), has(ingredient)) + .save(output, Mod.loc(getItemName(material.barrel().get()))); + + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, material.action().get()) + .pattern("AAA") + .pattern(" A") + .define('A', ingredient) + .unlockedBy(getHasName(ingredient), has(ingredient)) + .save(output, Mod.loc(getItemName(material.action().get()))); + + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, material.spring().get()) + .pattern("A") + .pattern("A") + .pattern("A") + .define('A', ingredient) + .unlockedBy(getHasName(ingredient), has(ingredient)) + .save(output, Mod.loc(getItemName(material.spring().get()))); + + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, material.trigger().get()) + .pattern("BA") + .pattern(" A") + .define('A', ingredient) + .define('B', Items.TRIPWIRE_HOOK) + .unlockedBy(getHasName(ingredient), has(ingredient)) + .save(output, Mod.loc(getItemName(material.trigger().get()))); + } } diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java index 3ccf07d30..697374a54 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModItems.java @@ -200,22 +200,11 @@ public class ModItems { public static final DeferredHolder FIRING_PARAMETERS = ITEMS.register("firing_parameters", FiringParameters::new); public static final DeferredHolder TUNGSTEN_ROD = ITEMS.register("tungsten_rod", () -> new Item(new Item.Properties())); - public static final DeferredHolder IRON_BARREL = ITEMS.register("iron_barrel", () -> new Item(new Item.Properties())); - public static final DeferredHolder IRON_ACTION = ITEMS.register("iron_action", () -> new Item(new Item.Properties())); - public static final DeferredHolder IRON_TRIGGER = ITEMS.register("iron_trigger", () -> new Item(new Item.Properties())); - public static final DeferredHolder IRON_SPRING = ITEMS.register("iron_spring", () -> new Item(new Item.Properties())); - public static final DeferredHolder STEEL_BARREL = ITEMS.register("steel_barrel", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); - public static final DeferredHolder STEEL_ACTION = ITEMS.register("steel_action", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); - public static final DeferredHolder STEEL_TRIGGER = ITEMS.register("steel_trigger", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); - public static final DeferredHolder STEEL_SPRING = ITEMS.register("steel_spring", () -> new Item(new Item.Properties().rarity(Rarity.RARE))); - public static final DeferredHolder CEMENTED_CARBIDE_BARREL = ITEMS.register("cemented_carbide_barrel", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); - public static final DeferredHolder CEMENTED_CARBIDE_ACTION = ITEMS.register("cemented_carbide_action", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); - public static final DeferredHolder CEMENTED_CARBIDE_TRIGGER = ITEMS.register("cemented_carbide_trigger", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); - public static final DeferredHolder CEMENTED_CARBIDE_SPRING = ITEMS.register("cemented_carbide_spring", () -> new Item(new Item.Properties().rarity(Rarity.EPIC))); - public static final DeferredHolder NETHERITE_BARREL = ITEMS.register("netherite_barrel", () -> new Item(new Item.Properties().rarity(ModEnumExtensions.getLegendary()))); - public static final DeferredHolder NETHERITE_ACTION = ITEMS.register("netherite_action", () -> new Item(new Item.Properties().rarity(ModEnumExtensions.getLegendary()))); - public static final DeferredHolder NETHERITE_TRIGGER = ITEMS.register("netherite_trigger", () -> new Item(new Item.Properties().rarity(ModEnumExtensions.getLegendary()))); - public static final DeferredHolder NETHERITE_SPRING = ITEMS.register("netherite_spring", () -> new Item(new Item.Properties().rarity(ModEnumExtensions.getLegendary()))); + + public static final Materials IRON_MATERIALS = registerMaterials("iron"); + public static final Materials STEEL_MATERIALS = registerMaterials("steel"); + public static final Materials CEMENTED_CARBIDE_MATERIALS = registerMaterials("cemented_carbide"); + public static final Materials NETHERITE_MATERIALS = registerMaterials("netherite"); public static final DeferredHolder COMMON_MATERIAL_PACK = ITEMS.register("common_material_pack", () -> new MaterialPack(Rarity.COMMON)); public static final DeferredHolder RARE_MATERIAL_PACK = ITEMS.register("rare_material_pack", () -> new MaterialPack(Rarity.RARE)); @@ -297,6 +286,25 @@ public class ModItems { public static final DeferredHolder VEHICLE_DEPLOYER = BLOCKS.register("vehicle_deployer", VehicleDeployerBlockItem::new); public static final DeferredHolder AIRCRAFT_CATAPULT = block(ModBlocks.AIRCRAFT_CATAPULT); + public record Materials( + String name, + DeferredHolder barrel, + DeferredHolder action, + DeferredHolder spring, + DeferredHolder trigger + ) { + } + + public static Materials registerMaterials(String name) { + return new Materials( + name, + ITEMS.register(name + "_barrel", () -> new Item(new Item.Properties())), + ITEMS.register(name + "_action", () -> new Item(new Item.Properties())), + ITEMS.register(name + "_spring", () -> new Item(new Item.Properties())), + ITEMS.register(name + "_trigger", () -> new Item(new Item.Properties())) + ); + } + /** * Perk Items */ diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java b/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java index cebfd823f..5b73af736 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModVillagers.java @@ -78,13 +78,13 @@ public class ModVillagers { // 等级 2 交易 trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 10), - new ItemStack(ModItems.STEEL_ACTION.get()), 12, 5, 0.05f)); + new ItemStack(ModItems.STEEL_MATERIALS.action().get()), 12, 5, 0.05f)); trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 8), - new ItemStack(ModItems.STEEL_BARREL.get()), 12, 5, 0.05f)); + new ItemStack(ModItems.STEEL_MATERIALS.barrel().get()), 12, 5, 0.05f)); trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 6), - new ItemStack(ModItems.STEEL_TRIGGER.get()), 12, 5, 0.05f)); + new ItemStack(ModItems.STEEL_MATERIALS.trigger().get()), 12, 5, 0.05f)); trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 8), - new ItemStack(ModItems.STEEL_SPRING.get()), 12, 5, 0.05f)); + new ItemStack(ModItems.STEEL_MATERIALS.spring().get()), 12, 5, 0.05f)); trades.get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16), new ItemStack(ModItems.MARLIN_BLUEPRINT.get()), 8, 25, 0.05f)); @@ -117,13 +117,13 @@ public class ModVillagers { new ItemStack(Items.EMERALD, 3), 16, 5, 0.05f)); trades.get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16), - new ItemStack(ModItems.CEMENTED_CARBIDE_BARREL.get()), 12, 10, 0.05f)); + new ItemStack(ModItems.CEMENTED_CARBIDE_MATERIALS.barrel().get()), 12, 10, 0.05f)); trades.get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 20), - new ItemStack(ModItems.CEMENTED_CARBIDE_ACTION.get()), 10, 10, 0.05f)); + new ItemStack(ModItems.CEMENTED_CARBIDE_MATERIALS.action().get()), 10, 10, 0.05f)); trades.get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16), - new ItemStack(ModItems.CEMENTED_CARBIDE_SPRING.get()), 10, 10, 0.05f)); + new ItemStack(ModItems.CEMENTED_CARBIDE_MATERIALS.spring().get()), 10, 10, 0.05f)); trades.get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 12), - new ItemStack(ModItems.CEMENTED_CARBIDE_TRIGGER.get()), 10, 10, 0.05f)); + new ItemStack(ModItems.CEMENTED_CARBIDE_MATERIALS.trigger().get()), 10, 10, 0.05f)); trades.get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32), new ItemStack(ModItems.M_4_BLUEPRINT.get()), 10, 25, 0.05f));