From 52448bbd58491e5eba3c8e87355732135373b469 Mon Sep 17 00:00:00 2001 From: ayutac Date: Tue, 6 Jun 2023 14:48:00 +0200 Subject: [PATCH] Added smithing template generation. --- .../crafting/CraftingRecipesProvider.groovy | 10 +++++ .../AssemblingMachineRecipesProvider.groovy | 41 ++++++++++++++++++ .../grinder/GrinderRecipesProvider.groovy | 11 ++--- .../IndustrialGrinderRecipesProvider.groovy | 23 +++++++++- src/main/java/techreborn/init/TRContent.java | 1 + .../java/techreborn/init/TRItemGroup.java | 1 + .../assets/techreborn/lang/en_us.json | 1 + .../models/item/template_template.json | 6 +++ .../textures/item/part/template_template.png | Bin 0 -> 430 bytes 9 files changed, 87 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/techreborn/models/item/template_template.json create mode 100644 src/main/resources/assets/techreborn/textures/item/part/template_template.png diff --git a/src/datagen/groovy/techreborn/datagen/recipes/crafting/CraftingRecipesProvider.groovy b/src/datagen/groovy/techreborn/datagen/recipes/crafting/CraftingRecipesProvider.groovy index 412c3d74e..18b6fb31b 100644 --- a/src/datagen/groovy/techreborn/datagen/recipes/crafting/CraftingRecipesProvider.groovy +++ b/src/datagen/groovy/techreborn/datagen/recipes/crafting/CraftingRecipesProvider.groovy @@ -86,6 +86,7 @@ class CraftingRecipesProvider extends TechRebornRecipesProvider { generateToolRecipes() generateArmorRecipes() generateUuMatterRecipes() + generateMisc() } def generateToolRecipes() { @@ -239,6 +240,15 @@ class CraftingRecipesProvider extends TechRebornRecipesProvider { .offerTo(this.exporter, new Identifier(TechReborn.MOD_ID, recipeNameString(dir, null, TRContent.RawMetals.TUNGSTEN))) } + void generateMisc() { + createDuoShapeRecipe(Items.DIAMOND, TRContent.Nuggets.NETHERITE, TRContent.Parts.TEMPLATE_TEMPLATE, + 'D' as char, 'N' as char) + .pattern("NDN") + .pattern("DDD") + .pattern("NDN") + .offerTo(this.exporter, new Identifier(TechReborn.MOD_ID, "crafting_table/parts/"+TRContent.Parts.TEMPLATE_TEMPLATE.name)) + } + def static recipeNameString(String prefix, def input, def output, String source = null, String result = null) { StringBuilder s = new StringBuilder() s.append(prefix) diff --git a/src/datagen/groovy/techreborn/datagen/recipes/machine/assembling_machine/AssemblingMachineRecipesProvider.groovy b/src/datagen/groovy/techreborn/datagen/recipes/machine/assembling_machine/AssemblingMachineRecipesProvider.groovy index ca9578ce4..8bfc45945 100644 --- a/src/datagen/groovy/techreborn/datagen/recipes/machine/assembling_machine/AssemblingMachineRecipesProvider.groovy +++ b/src/datagen/groovy/techreborn/datagen/recipes/machine/assembling_machine/AssemblingMachineRecipesProvider.groovy @@ -43,6 +43,7 @@ class AssemblingMachineRecipesProvider extends TechRebornRecipesProvider { @Override void generateRecipes() { generateBed() + generateSmithingTemplates() generateMiscTR() generateMiscVanilla() } @@ -77,6 +78,46 @@ class AssemblingMachineRecipesProvider extends TechRebornRecipesProvider { } } + void generateSmithingTemplates() { + [ + (Items.COBBLESTONE) : Items.COAST_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.SANDSTONE) : Items.DUNE_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.END_STONE_BRICKS) : Items.EYE_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.NETHERRACK) : Items.NETHERITE_UPGRADE_SMITHING_TEMPLATE, + (Items.NETHER_BRICKS) : Items.RIB_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.SMOOTH_STONE) : Items.SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.SCULK_SHRIEKER) : Items.SILENCE_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.GILDED_BLACKSTONE) : Items.SNOUT_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.PURPUR_BLOCK) : Items.SPIRE_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.PRISMARINE_BRICKS) : Items.TIDE_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.STONE) : Items.VEX_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.DEEPSLATE) : Items.WARD_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.MOSSY_COBBLESTONE) : Items.WILD_ARMOR_TRIM_SMITHING_TEMPLATE + ].each {material, template -> + offerAssemblingMachineRecipe { + ingredients stack(material, 2), TRContent.Parts.TEMPLATE_TEMPLATE + outputs template + power 40 + time 1500 + criterion getCriterionName(material), getCriterionConditions(material) + } + } + [ + (Items.TERRACOTTA) : Items.HOST_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.BROWN_TERRACOTTA) : Items.RAISER_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.GRAY_TERRACOTTA) : Items.SHAPER_ARMOR_TRIM_SMITHING_TEMPLATE, + (Items.LIGHT_GRAY_TERRACOTTA) : Items.WAYFINDER_ARMOR_TRIM_SMITHING_TEMPLATE + ].each {material, template -> + offerAssemblingMachineRecipe { + ingredients stack(material, 2), TRContent.Parts.TEMPLATE_TEMPLATE + outputs template + power 40 + time 1500 + criterion getCriterionName(material), getCriterionConditions(material) + } + } + } + void generateMiscTR() { offerAssemblingMachineRecipe { ingredients TRContent.Plates.PLATINUM.asTag(), TRContent.Parts.ADVANCED_CIRCUIT diff --git a/src/datagen/groovy/techreborn/datagen/recipes/machine/grinder/GrinderRecipesProvider.groovy b/src/datagen/groovy/techreborn/datagen/recipes/machine/grinder/GrinderRecipesProvider.groovy index 67c893c04..1675b3710 100644 --- a/src/datagen/groovy/techreborn/datagen/recipes/machine/grinder/GrinderRecipesProvider.groovy +++ b/src/datagen/groovy/techreborn/datagen/recipes/machine/grinder/GrinderRecipesProvider.groovy @@ -25,14 +25,9 @@ package techreborn.datagen.recipes.machine.grinder import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput -import net.minecraft.item.ItemStack import net.minecraft.item.Items -import net.minecraft.registry.Registry -import net.minecraft.registry.RegistryKeys import net.minecraft.registry.RegistryWrapper import net.minecraft.registry.tag.ItemTags -import net.minecraft.registry.tag.TagKey -import net.minecraft.util.Identifier import techreborn.datagen.TRConventionalTags import techreborn.datagen.recipes.TechRebornRecipesProvider import techreborn.init.TRContent @@ -227,6 +222,12 @@ class GrinderRecipesProvider extends TechRebornRecipesProvider { ingredients tag("minecraft:trim_templates") outputs stack(TRContent.SmallDusts.DIAMOND, 5) } + offerGrinderRecipe { + power 5 + time 200 + ingredients TRContent.Parts.TEMPLATE_TEMPLATE + outputs stack(TRContent.SmallDusts.DIAMOND, 5) + } } void generateSand() { diff --git a/src/datagen/groovy/techreborn/datagen/recipes/machine/industrial_grinder/IndustrialGrinderRecipesProvider.groovy b/src/datagen/groovy/techreborn/datagen/recipes/machine/industrial_grinder/IndustrialGrinderRecipesProvider.groovy index 2112ab6e2..565812278 100644 --- a/src/datagen/groovy/techreborn/datagen/recipes/machine/industrial_grinder/IndustrialGrinderRecipesProvider.groovy +++ b/src/datagen/groovy/techreborn/datagen/recipes/machine/industrial_grinder/IndustrialGrinderRecipesProvider.groovy @@ -26,7 +26,6 @@ package techreborn.datagen.recipes.machine.industrial_grinder import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput import net.minecraft.fluid.Fluids -import net.minecraft.item.ItemStack import net.minecraft.item.Items import net.minecraft.registry.RegistryWrapper import techreborn.datagen.recipes.TechRebornRecipesProvider @@ -366,7 +365,7 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider { time 140 fluidAmount 1000L fluid Fluids.WATER - source "trim_template_with_water" + source "smithing_template_with_water" criterion getCriterionName(trim), getCriterionConditions(trim) } offerIndustrialGrinderRecipe { @@ -376,6 +375,26 @@ class IndustrialGrinderRecipesProvider extends TechRebornRecipesProvider { time 140 fluidAmount 1000L fluid ModFluids.MERCURY.getFluid() + source "smithing_template_with_mercury" + criterion getCriterionName(trim), getCriterionConditions(trim) + } + offerIndustrialGrinderRecipe { + ingredients TRContent.Parts.TEMPLATE_TEMPLATE + outputs stack(TRContent.Dusts.DIAMOND, 2), stack(TRContent.SmallDusts.DIAMOND, 3) + power 128 + time 140 + fluidAmount 1000L + fluid Fluids.WATER + source "trim_template_with_water" + criterion getCriterionName(trim), getCriterionConditions(trim) + } + offerIndustrialGrinderRecipe { + ingredients TRContent.Parts.TEMPLATE_TEMPLATE + outputs stack(TRContent.Dusts.DIAMOND, 3), stack(TRContent.SmallDusts.DIAMOND, 2) + power 128 + time 140 + fluidAmount 1000L + fluid ModFluids.MERCURY.getFluid() source "trim_template_with_mercury" criterion getCriterionName(trim), getCriterionConditions(trim) } diff --git a/src/main/java/techreborn/init/TRContent.java b/src/main/java/techreborn/init/TRContent.java index 68cddf6e2..dc7eece9a 100644 --- a/src/main/java/techreborn/init/TRContent.java +++ b/src/main/java/techreborn/init/TRContent.java @@ -1355,6 +1355,7 @@ public class TRContent { PLANTBALL, COMPRESSED_PLANTBALL, SPONGE_PIECE, + TEMPLATE_TEMPLATE, SYNTHETIC_REDSTONE_CRYSTAL; diff --git a/src/main/java/techreborn/init/TRItemGroup.java b/src/main/java/techreborn/init/TRItemGroup.java index 790986b56..f480428a3 100644 --- a/src/main/java/techreborn/init/TRItemGroup.java +++ b/src/main/java/techreborn/init/TRItemGroup.java @@ -708,6 +708,7 @@ public class TRItemGroup { TRContent.Parts.RUBBER, TRContent.Parts.SCRAP); entries.addBefore(Items.PRISMARINE_SHARD, TRContent.Parts.SPONGE_PIECE); + entries.addBefore(Items.SENTRY_ARMOR_TRIM_SMITHING_TEMPLATE, TRContent.Parts.TEMPLATE_TEMPLATE); entries.addBefore(Items.BRICK, TRContent.Parts.CARBON_FIBER, TRContent.Parts.CARBON_MESH); diff --git a/src/main/resources/assets/techreborn/lang/en_us.json b/src/main/resources/assets/techreborn/lang/en_us.json index 17a8e1da4..f275863f6 100644 --- a/src/main/resources/assets/techreborn/lang/en_us.json +++ b/src/main/resources/assets/techreborn/lang/en_us.json @@ -655,6 +655,7 @@ "item.techreborn.plantball": "Plantball", "item.techreborn.compressed_plantball": "Compressed Plantball", "item.techreborn.sponge_piece": "Piece of Sponge", + "item.techreborn.template_template": "Template Template", "item.techreborn.synthetic_redstone_crystal": "Synthetic Redstone Crystal", "item.techreborn.crude_unit_upgrader": "Crude Unit Upgrader", "item.techreborn.basic_unit_upgrader": "Basic Unit Upgrader", diff --git a/src/main/resources/assets/techreborn/models/item/template_template.json b/src/main/resources/assets/techreborn/models/item/template_template.json new file mode 100644 index 000000000..c2f94d10c --- /dev/null +++ b/src/main/resources/assets/techreborn/models/item/template_template.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "techreborn:item/part/template_template" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/techreborn/textures/item/part/template_template.png b/src/main/resources/assets/techreborn/textures/item/part/template_template.png new file mode 100644 index 0000000000000000000000000000000000000000..4130b20c2315de6c697b25505570104cf4944a78 GIT binary patch literal 430 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc4bGk}jv*HQ$tedI_uRYphkw!fyE_hlIB-jP zxz!pWgR>87{_tqq*Rpg!G~!s!c-LuDfE@GTnfCJ!ur>1hEPkeWc=8{U9d&}VI5=Rui*59Z4C@36x0m3xgD+W1BFJ%om*M6)wX^P1-c}iY<2fEJZnWop zwliXZMAO(&E(F{xllT*~rF)jaJKWR@w z^8`knd-m&WyOOLq4(w&{n)YA`X9=&z!}ZH2yl7F4j$u&NKfs_d(`jZwL!LD=5HJ+D WE-6Y}BlQ><#tfdWelF{r5}E)n?Vzs! literal 0 HcmV?d00001