From 88360bfbe22a9b12751343bec9c741024086cd17 Mon Sep 17 00:00:00 2001 From: Vos Date: Mon, 10 Nov 2025 22:20:05 -0600 Subject: [PATCH] Trims --- .../prisma_armor_trim_smithing_template.json | 6 ++ .../advancement/recipes/misc/prisma.json | 32 +++++++++ .../generated/data/acesbs/recipe/prisma.json | 12 ++++ .../acesbs/trim_material/prisma_steel.json | 9 +++ .../data/acesbs/trim_pattern/prisma.json | 8 +++ .../minecraft/tags/item/trim_materials.json | 5 ++ .../minecraft/tags/item/trim_templates.json | 5 ++ .../acesbs/AcesBSDataGenerator.java | 11 +++ .../acesbs/datagen/ModItemTagProvider.java | 5 ++ .../acesbs/datagen/ModModelProvider.java | 1 + .../acesbs/datagen/ModRecipeProvider.java | 2 + .../datagen/ModRegistryDataGenerator.java | 25 +++++++ .../acesbs/item/ModItemGroups.java | 1 + .../acethewildfire/acesbs/item/ModItems.java | 6 +- .../acesbs/trim/ModTrimMaterials.java | 39 +++++++++++ .../acesbs/trim/ModTrimPatterns.java | 30 +++++++++ .../resources/assets/acesbs/lang/en_us.json | 8 ++- .../prisma_armor_trim_smithing_template.png | Bin 0 -> 4552 bytes .../trims/color_palettes/prisma_steel.png | Bin 0 -> 4559 bytes .../textures/trims/models/armor/prisma.png | Bin 0 -> 640 bytes .../trims/models/armor/prisma_leggings.png | Bin 0 -> 388 bytes .../assets/minecraft/atlases/armor_trims.json | 63 ++++++++++++++++++ 22 files changed, 266 insertions(+), 2 deletions(-) create mode 100644 src/main/generated/assets/acesbs/models/item/prisma_armor_trim_smithing_template.json create mode 100644 src/main/generated/data/acesbs/advancement/recipes/misc/prisma.json create mode 100644 src/main/generated/data/acesbs/recipe/prisma.json create mode 100644 src/main/generated/data/acesbs/trim_material/prisma_steel.json create mode 100644 src/main/generated/data/acesbs/trim_pattern/prisma.json create mode 100644 src/main/generated/data/minecraft/tags/item/trim_materials.json create mode 100644 src/main/generated/data/minecraft/tags/item/trim_templates.json create mode 100644 src/main/java/com/acethewildfire/acesbs/datagen/ModRegistryDataGenerator.java create mode 100644 src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java create mode 100644 src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java create mode 100644 src/main/resources/assets/acesbs/textures/item/prisma_armor_trim_smithing_template.png create mode 100644 src/main/resources/assets/acesbs/textures/trims/color_palettes/prisma_steel.png create mode 100644 src/main/resources/assets/acesbs/textures/trims/models/armor/prisma.png create mode 100644 src/main/resources/assets/acesbs/textures/trims/models/armor/prisma_leggings.png create mode 100644 src/main/resources/assets/minecraft/atlases/armor_trims.json diff --git a/src/main/generated/assets/acesbs/models/item/prisma_armor_trim_smithing_template.json b/src/main/generated/assets/acesbs/models/item/prisma_armor_trim_smithing_template.json new file mode 100644 index 0000000..f18ffa2 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/prisma_armor_trim_smithing_template.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "acesbs:item/prisma_armor_trim_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/misc/prisma.json b/src/main/generated/data/acesbs/advancement/recipes/misc/prisma.json new file mode 100644 index 0000000..a008935 --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/misc/prisma.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_smithing_trim_template": { + "conditions": { + "items": [ + { + "items": "acesbs:prisma_armor_trim_smithing_template" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:prisma" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_smithing_trim_template" + ] + ], + "rewards": { + "recipes": [ + "acesbs:prisma" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/prisma.json b/src/main/generated/data/acesbs/recipe/prisma.json new file mode 100644 index 0000000..c98ffa7 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/prisma.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:smithing_trim", + "addition": { + "tag": "minecraft:trim_materials" + }, + "base": { + "tag": "minecraft:trimmable_armor" + }, + "template": { + "item": "acesbs:prisma_armor_trim_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/trim_material/prisma_steel.json b/src/main/generated/data/acesbs/trim_material/prisma_steel.json new file mode 100644 index 0000000..cef7650 --- /dev/null +++ b/src/main/generated/data/acesbs/trim_material/prisma_steel.json @@ -0,0 +1,9 @@ +{ + "asset_name": "prisma_steel", + "description": { + "color": "#B16491", + "translate": "trim_material.acesbs.prisma_steel" + }, + "ingredient": "acesbs:prisma_steel", + "item_model_index": 1.0 +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/trim_pattern/prisma.json b/src/main/generated/data/acesbs/trim_pattern/prisma.json new file mode 100644 index 0000000..d2389bb --- /dev/null +++ b/src/main/generated/data/acesbs/trim_pattern/prisma.json @@ -0,0 +1,8 @@ +{ + "asset_id": "acesbs:prisma", + "decal": false, + "description": { + "translate": "trim_pattern.acesbs.prisma" + }, + "template_item": "acesbs:prisma_armor_trim_smithing_template" +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/item/trim_materials.json b/src/main/generated/data/minecraft/tags/item/trim_materials.json new file mode 100644 index 0000000..c40f18d --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/trim_materials.json @@ -0,0 +1,5 @@ +{ + "values": [ + "acesbs:prisma_steel" + ] +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/item/trim_templates.json b/src/main/generated/data/minecraft/tags/item/trim_templates.json new file mode 100644 index 0000000..b9cac6b --- /dev/null +++ b/src/main/generated/data/minecraft/tags/item/trim_templates.json @@ -0,0 +1,5 @@ +{ + "values": [ + "acesbs:prisma_armor_trim_smithing_template" + ] +} \ No newline at end of file diff --git a/src/main/java/com/acethewildfire/acesbs/AcesBSDataGenerator.java b/src/main/java/com/acethewildfire/acesbs/AcesBSDataGenerator.java index f8f15e5..98bb3d7 100644 --- a/src/main/java/com/acethewildfire/acesbs/AcesBSDataGenerator.java +++ b/src/main/java/com/acethewildfire/acesbs/AcesBSDataGenerator.java @@ -1,8 +1,12 @@ package com.acethewildfire.acesbs; import com.acethewildfire.acesbs.datagen.*; +import com.acethewildfire.acesbs.trim.ModTrimMaterials; +import com.acethewildfire.acesbs.trim.ModTrimPatterns; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.minecraft.registry.RegistryBuilder; +import net.minecraft.registry.RegistryKeys; public class AcesBSDataGenerator implements DataGeneratorEntrypoint { @Override @@ -14,5 +18,12 @@ public class AcesBSDataGenerator implements DataGeneratorEntrypoint { pack.addProvider(ModLootTableProvider::new); pack.addProvider(ModModelProvider::new); pack.addProvider(ModRecipeProvider::new); + pack.addProvider(ModRegistryDataGenerator::new); + } + + @Override + public void buildRegistry(RegistryBuilder registryBuilder) { + registryBuilder.addRegistry(RegistryKeys.TRIM_MATERIAL, ModTrimMaterials::bootstrap); + registryBuilder.addRegistry(RegistryKeys.TRIM_PATTERN, ModTrimPatterns::bootstrap); } } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java index 90f8ae8..8660d56 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModItemTagProvider.java @@ -44,5 +44,10 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { .add(ModItems.PRISMA_STEEL_CHESTPLATE) .add(ModItems.PRISMA_STEEL_LEGGINGS) .add(ModItems.PRISMA_STEEL_BOOTS); + getOrCreateTagBuilder(ItemTags.TRIM_MATERIALS) + .add(ModItems.PRISMA_STEEL); + getOrCreateTagBuilder(ItemTags.TRIM_TEMPLATES) + .add(ModItems.PRISMA_SMITHING_TEMPLATE); + } } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index 3867a5d..1e16024 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -55,6 +55,7 @@ public class ModModelProvider extends FabricModelProvider { itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED); itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD); itemModelGenerator.register(ModItems.PRISMA_STEEL, Models.GENERATED); + itemModelGenerator.register(ModItems.PRISMA_SMITHING_TEMPLATE, Models.GENERATED); itemModelGenerator.register(ModItems.PRISMA_STEEL_SWORD, Models.HANDHELD); itemModelGenerator.register(ModItems.PRISMA_STEEL_PICKAXE, Models.HANDHELD); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java index 3a34ceb..7ec55ff 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java @@ -168,6 +168,8 @@ public class ModRecipeProvider extends FabricRecipeProvider { ShovelRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SHOVEL, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL); HoeRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_HOE, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL); + offerSmithingTrimRecipe(recipeExporter, ModItems.PRISMA_SMITHING_TEMPLATE, Identifier.of(AcesBS.MOD_ID, "prisma")); + // For 2+ recipes with the same RESULT use // .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item")); } diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRegistryDataGenerator.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRegistryDataGenerator.java new file mode 100644 index 0000000..848ad15 --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRegistryDataGenerator.java @@ -0,0 +1,25 @@ +package com.acethewildfire.acesbs.datagen; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricDynamicRegistryProvider; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.RegistryWrapper; + +import java.util.concurrent.CompletableFuture; + +public class ModRegistryDataGenerator extends FabricDynamicRegistryProvider { + public ModRegistryDataGenerator(FabricDataOutput output, CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup registries, Entries entries) { + entries.addAll(registries.getWrapperOrThrow(RegistryKeys.TRIM_MATERIAL)); + entries.addAll(registries.getWrapperOrThrow(RegistryKeys.TRIM_PATTERN)); + } + + @Override + public String getName() { + return ""; + } +} diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java index c90bc85..ac42003 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java @@ -25,6 +25,7 @@ public class ModItemGroups { entries.add(ModItems.GREEN_BRICKS); entries.add(ModItems.WAND); entries.add(ModItems.PRISMA_STEEL); + entries.add(ModItems.PRISMA_SMITHING_TEMPLATE); }) .build()); diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java index 867a9fe..538c947 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItems.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItems.java @@ -16,13 +16,14 @@ import net.minecraft.potion.Potion; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.resource.featuretoggle.FeatureFlag; +import net.minecraft.resource.featuretoggle.FeatureFlags; import net.minecraft.text.Text; import net.minecraft.util.Identifier; import java.util.List; public class ModItems { - private static final RegistryEntry BLINDNESS = registerPotion("blindness", new Potion(new StatusEffectInstance(StatusEffects.BLINDNESS, 200))); public static final Item ORACLE_LEMON = registerItem("oracle_lemon", new OracleLemon(new Item.Settings().component(DataComponentTypes.POTION_CONTENTS, new PotionContentsComponent(BLINDNESS)))); public static final Item WAND = registerItem("wand", new Wand(new Item.Settings().maxDamage(32))); @@ -87,6 +88,9 @@ public class ModItems { new ModArmorItem(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Settings() .maxDamage(ArmorItem.Type.BOOTS.getMaxDamage(15)))); + public static final Item PRISMA_SMITHING_TEMPLATE = registerItem("prisma_armor_trim_smithing_template", + SmithingTemplateItem.of(Identifier.of(AcesBS.MOD_ID, "prisma"), FeatureFlags.VANILLA)); + private static Item registerItem(String name, Item item){ return Registry.register(Registries.ITEM, Identifier.of(AcesBS.MOD_ID, name), item); } diff --git a/src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java new file mode 100644 index 0000000..0ef2693 --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimMaterials.java @@ -0,0 +1,39 @@ +package com.acethewildfire.acesbs.trim; + +import com.acethewildfire.acesbs.AcesBS; +import com.acethewildfire.acesbs.item.ModItems; +import net.minecraft.item.Item; +import net.minecraft.item.trim.ArmorTrimMaterial; +import net.minecraft.registry.Registerable; +import net.minecraft.registry.Registries; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.text.Style; +import net.minecraft.text.Text; +import net.minecraft.text.TextColor; +import net.minecraft.util.Identifier; +import net.minecraft.util.Util; + +import java.util.Map; + +public class ModTrimMaterials { + + public static final RegistryKey PRISMA_STEEL = RegistryKey.of(RegistryKeys.TRIM_MATERIAL, + Identifier.of(AcesBS.MOD_ID, "prisma_steel")); + + public static void bootstrap (Registerable registerable){ + register(registerable, PRISMA_STEEL, Registries.ITEM.getEntry(ModItems.PRISMA_STEEL), + Style.EMPTY.withColor(TextColor.parse("#B16491").getOrThrow()), 1.0f); + } + + + private static void register(Registerable registerable, RegistryKey armorTrimKey, + RegistryEntry item, Style style, float itemModelIndex) { + ArmorTrimMaterial trimMaterial = new ArmorTrimMaterial(armorTrimKey.getValue().getPath(), item, itemModelIndex, Map.of(), + Text.translatable(Util.createTranslationKey("trim_material", armorTrimKey.getValue())).fillStyle(style)); + + registerable.register(armorTrimKey, trimMaterial); + } + +} diff --git a/src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java new file mode 100644 index 0000000..8b9785e --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/trim/ModTrimPatterns.java @@ -0,0 +1,30 @@ +package com.acethewildfire.acesbs.trim; + +import com.acethewildfire.acesbs.AcesBS; +import com.acethewildfire.acesbs.item.ModItems; +import net.minecraft.item.Item; +import net.minecraft.item.trim.ArmorTrimPattern; +import net.minecraft.registry.Registerable; +import net.minecraft.registry.Registries; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import net.minecraft.util.Util; + +public class ModTrimPatterns { + public static final RegistryKey PRISMA = RegistryKey.of(RegistryKeys.TRIM_PATTERN, + Identifier.of(AcesBS.MOD_ID, "prisma")); + + public static void bootstrap(Registerable context) { + register(context, ModItems.PRISMA_SMITHING_TEMPLATE, PRISMA); + } + + private static void register(Registerable context, Item item, RegistryKey key) { + ArmorTrimPattern trimPattern = new ArmorTrimPattern(key.getValue(), Registries.ITEM.getEntry(item), + Text.translatable(Util.createTranslationKey("trim_pattern", key.getValue())), false); + + context.register(key, trimPattern); + } + +} diff --git a/src/main/resources/assets/acesbs/lang/en_us.json b/src/main/resources/assets/acesbs/lang/en_us.json index 8e3cebd..8b89bcb 100644 --- a/src/main/resources/assets/acesbs/lang/en_us.json +++ b/src/main/resources/assets/acesbs/lang/en_us.json @@ -24,6 +24,7 @@ "item.acesbs.prisma_steel_chestplate": "Prisma Steel Chestplate", "item.acesbs.prisma_steel_leggings": "Prisma Steel Leggings", "item.acesbs.prisma_steel_boots": "Prisma Steel Boots", + "item.acesbs.prisma_armor_trim_smithing_template": "Prisma Smithing Template", "block.acesbs.entropy_block": "Block of Entropy", "block.acesbs.prisma_steel_block": "Block of Prisma Steel", @@ -43,6 +44,8 @@ "block.acesbs.evil_block": "Evil Block", + + "itemgroup.acesbs.items": "Ace's BS Items", "itemgroup.acesbs.blocks": "Ace's BS Blocks", "itemgroup.acesbs.combat": "Ace's BS Combat", @@ -54,5 +57,8 @@ "tooltip.acesbs.green_bricks": "Hold §eShift§r for item description.", "tooltip.acesbs.entropy_block.tooltip2": "Has a 1/20 chance of turning an apple into a lemon.", "tooltip.acesbs.wand.shift_down": "Changes blocks using Entropy", - "tooltip.acesbs.wand": "Hold §eShift§r for item description." + "tooltip.acesbs.wand": "Hold §eShift§r for item description.", + + "trim_material.acesbs.prisma_steel": "Prisma Steel Material", + "trim_pattern.acesbs.prisma": "Prisma Armor Pattern" } \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/textures/item/prisma_armor_trim_smithing_template.png b/src/main/resources/assets/acesbs/textures/item/prisma_armor_trim_smithing_template.png new file mode 100644 index 0000000000000000000000000000000000000000..17fd7acdb8477f70c56d228dbf6cd8a1ce9314e3 GIT binary patch literal 4552 zcmeHKdr%X19uIE{2Lq>^B6!9{jo!K0-MmO5;UNUbXpmx1)V8|W{RQ?Q50ec^=$+uR zzV4ht!RmO{THE39QLk0h<1AoH0nf8T6~q@ZaDa#&YB|wE+xu-m9&??!apw9T$!vD_ z`}=-Bzwh_+eN28k($i9c0%ip8c)TD@YElNghj5p_FZ`YL-47(Z)fVWo*bLIaw^+>v zCJ*pgmj&>FlQHmk&Kt(`HNjr9{h#+tRe54zdph%t-$o2Ptt&OQRF=p+6O+CF-S@2M zCa+}EC;D^UyMvFfKId8|Zwj7wb#qj$IP2cS(AFg#XD(f}4t!w0P`6`$O0S+C45`d4 zpYi<@@YQ$4MAP;`yn>t);}fu1R=xGy>T?^&zOxs)Hzxe1uQkr~=)r@=JE7geId>Nx zw(-IR8zs{k!apvE(mZQDO6h3{1^J{ml4?}mhuZFB1CUbmp~r+?0} zTh_NU*Jg%z$Hm|B5vZpvcvPtQP`%r){)N-gzkV<{o4>KPO8Eau^c7N#a#+@)#4v}$A#{j^W@|P^C=?0|7hxh13N=uh%fymS)MSg|AcirLfQ_;; z7M3xa_#7swH``eig1~kDOaF`(t#%aNWE)`t@_{)?3q}ZW%xJ{MTi952J_H$Y=tnJV zI@qIF2C$j!Rtl)|fr*V84?$C-_7=M}&m9g;VIU6}p{fn;N=(=?MWan0wcseoW{eiM z6(oCtCd(Mc$eQ3Ax8e?Gyd%(j6nBF5%h=t@P)n;-CYdQa=bk1>g>d^TX*0#p%Hcq&;^vyJ5aQ!cBu6_71!%0tNY;b>Ae)G8 zGaFb3X$1+{kVnWBEKoOB{P`oPS};-Hkps9qK*~^pK*v#rU?ag|+{AbpZ4CBbe8jjF z#*G+gH!Opr3r<38bQF&8#SNXG@H3K!pKu2VJ-Nv%@jFS^Bweq>z$+O0koY>tq??Z<1Uoo#C` zDEWQZj!)wg5{{fYDZUZX5!m`vkR0^k1;3(}jMeiiJHOq>o4ez)jI)<++fMjgZ@j#1 zw(~EIm->e;D;nuJ71#Ps^N_{WcfQH!|4i4qI^r@??7eU5_34|5mDgHUA3LqfY%T-W z+x*Kbe$|>;T6erYv_X-ws?38m`XP(2NVfai#DlK0&%AR{#54Y2&p%vguTM34-_5UT zy1%D#W$mrbhjp=SL-@tx`F!Nk9aoJ@9C5=hXTNVzQx4nw_ao=8^zxCI+s^_d2iCr2 z8F=nhF{7sQP({Wyd)cxzd*i<79Qyp)>{9~|RBz{EQA2bWRYmw_f^KI~MaOx+_J3j@ zoJv`gp4oQn*ylrCMt?6hO<4RS$M5Uu-D!SJT}PYkzHxlO81*RJr+l1Du5 zt?xOa+MRyQ-hDn>9+@05SonQgPW2OUn7YYR-ZLG0Qq8+^sBwR=*K@D=_b;BDYadz) Plfu)e(~?dsUbpE#`$UwG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/acesbs/textures/trims/color_palettes/prisma_steel.png b/src/main/resources/assets/acesbs/textures/trims/color_palettes/prisma_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..70a1c5fe5d7dc484094af4b2770b893138180bba GIT binary patch literal 4559 zcmeHKeQ*YL4*W+lmPcehQb zTC3ITR7D0o9FOT?MerOLxH(QZ5A4)(+;PrTsaA{1mvYD*;!s6Ly@7JRo3v@G_|ftF zugUCg_IaQ8_ddVh^E~fnTg#W0W@XIEz%VR}FY{EOYdSj8(yu}1us=QnT@E$)Dzyp_ z!(~MZieZRr>tu+-xERE+_K~f3wEFP8X8u6e#)CWEmCb)&UEyubT)B6#`Hs-mtl*nn*#{0EZE(ywG~?r6e>u1R)cJcScJKV{ zBfoFISTFo#)(ThW@dq!L{wKS&_3h>zhT`YDZtOYxC*#{s99dRr+rPCtn=9Dx@$55K zcD=jr&x__S3`}T#EbVs_+Mmho>Ap)?xOdSa+b-jCrUk9!8FAUI2lLO$RRzDuY3oDW z9v0p1a^CG8;)7VU-M7(I_Sf6;{#Lzed!sM!7T=))cio=!n@?BnsGK-?`>viH&982+ z?%7tr*VfKhJ$XvwEqC6qx~;BGzJ6lYbyH(q{2L{UFIQKDrv0m{w&>)EdyaQZczJ!s z^2c@?+h2Ho%Oi&$3P)Fb(z!LiBOOdH*f?_~(ed;H=fB$D((;Gcv@IVtUO2+w|IWHL zKJm1%S9>zv9Ix+v%h8{0sN#RqdZcx(wjcj=_R*VKPC0TSUtH{N-@?C^ZD@ViZ&-3e z_u~Bv3*C87UBBsKM^y`aeO240#q0N8c(pqBA3NuZyL}e}k zRAg=o6`ehu|HlDd;m_RMyirJ7VVoK%`YQkOg+Al$%bffJxjh5^s(hj8{+v)BdH&Kn zdp6H)>Yw>i#jz`QPk8#$oQ{)y2TNah-zL|d=-cLcUoqr1zUf)>;!XKp=~?XMXWp=X z*!1kGcImZqyY_DAHQ??wY zsK6?{w{wCNF@b>Oho*Q$MwN$Qg+*~02y3B+`(ce3brJmsItg41xQJg_y|h<$!;o0k zpupt~OMODaTEQ70iWX!P#yJEKff~T$k#JPy;w~bA%c0-8nIiCni?-H9RC>#Cx1>Pa zVzQWMvLr6nv&4c7yif@QxeCvsK?ro`B0`!ba}*Ve#Y{1?Nm6Pk#_4oYG)u88i9ASk zT~q^cGOEtjA(9v#s0xZGYoZjzbxh!w>NFQYpmBUCzKHDgrr@LMpbAJ2Dh_0dG0{{c zLXDiEY9;juWH6ws&QN`*PpJy1N_C0=OX^`%n>`XDAf)EYbxJrvCm>KT3?s-@MXNHS zmMrDH<*6CE1T|trPRv4LkMfj5k|wDkNlv+s3NSUCAT}~2O$-jJJZg?U@-26??$uWq z5-ov^yu4n{BMEgnFW%!Kki`@b103UbLN);HBqLa?q{Cr>B(MTVnw<;_X*(34%{~Hx zkE$Ao3UCNQL=ZM;Gg}}nV{bnn4LI4;$?H>WLOc7BTgYZv^CLnM@ zNr?cIe=!1TASFj@5^Lxg;)=_87r~n7VM}=!X!-=yG-5O$#nj;;pBRD5HK6Or*ln!c z%+gMlw%KenJM45PR8&;FIx0h(%$CGRDv6w13QLMt3P2ZOP7LX};t*4$HqfgcVJGZJ zcFwIppg|8h5FE`~NZLuVjE`kF#=@ED`83PX$y;d%%uFfVH50MI}R z&dM~CtowGPNh9zm+NH`Rv7+m*5-g@KWg~_TZ6ID%8)+J2IZe9*+lXuD6u$X9L z98WYP2ZSVHAwe^ch!mkE2gR$@&yOy_6pAVZwHQ!faShVfMHK7%C0;(%aX4!=F)VHz z%=Em`5yV1JPvdv$PW=dKDyWCwASQ%Bv<9M0d2ko_KEk#jpdEHwfV2h$hP2oKOFCHK zBmp{EZH(XHq?0}OU4%=~u9GN(A0%ld83xr?sv3wvdWDp}4G$%iWOQ zl`;H=3Zv*BPz=3)PI)xXgx+1R^)D&)U|aR?w5CEgvP_c8s#FY{oUI>e*ygreWHe~J zx5RL6@}wL(({b{S)yOo5_Z0imkEYGU&i*fL+r<~oeg5AsuT1~+a^}E=wCv-b%{cbS cjURk|{FhVr8K)8W~wjqyPW_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/acesbs/textures/trims/models/armor/prisma.png b/src/main/resources/assets/acesbs/textures/trims/models/armor/prisma.png new file mode 100644 index 0000000000000000000000000000000000000000..1b4745fab27f3657398abdb17ca4d99cd510a3b1 GIT binary patch literal 640 zcmV-`0)PF9P)JGNuu>-Fk`gXi<<_N~Ex zb6kzsb)DG(p;KQKGC$xIR?-M-#jiQQd#7CCigH zP2;{V2`DKqm3^e!kAPIXAU_Z=DR83F?dx*{F3uvPj{xJe%-(E3)|j zEd;DVE&x^`1xFi5Vw+_x924VEqu#SyaToyrgof}GTxNkhTUv7=FY6dxcfVqFsrjF9Heya`Rft<6>47h00030|7d22zW@LL21!Ig aR09D1XUOm)-FO860000YB7>zm zkHYg7#wT+O8o-ivzY^y?H}MT#HCbT$vHS%F2@-5k)0VFGy|L}A%>G6{w%5Cs70Nud zd|SMtBd4qHu!3mzEN7Pbn@2Ik?PN4V{C=VO))^OUZZc%YFaF}6^nMkC z*tM7M^4=E8Za$Ma^|8nVtp>rZ720XC({-7cxfFG_C2w@)Ilg$-`Ls7}B9&iv$$ptW z|DE8ikiE}5^}ZLD+RSngc^)vAT`(rn@>sFwJ4pksM?tlX;&h=*S5sCb%yarhwk=_m&X71X9< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/minecraft/atlases/armor_trims.json b/src/main/resources/assets/minecraft/atlases/armor_trims.json new file mode 100644 index 0000000..b763c22 --- /dev/null +++ b/src/main/resources/assets/minecraft/atlases/armor_trims.json @@ -0,0 +1,63 @@ +{ + "replace": false, + "sources": [ + { + "type": "paletted_permutations", + "textures": [ + "trims/models/armor/coast", + "trims/models/armor/coast_leggings", + "trims/models/armor/sentry", + "trims/models/armor/sentry_leggings", + "trims/models/armor/dune", + "trims/models/armor/dune_leggings", + "trims/models/armor/wild", + "trims/models/armor/wild_leggings", + "trims/models/armor/ward", + "trims/models/armor/ward_leggings", + "trims/models/armor/eye", + "trims/models/armor/eye_leggings", + "trims/models/armor/vex", + "trims/models/armor/vex_leggings", + "trims/models/armor/tide", + "trims/models/armor/tide_leggings", + "trims/models/armor/snout", + "trims/models/armor/snout_leggings", + "trims/models/armor/rib", + "trims/models/armor/rib_leggings", + "trims/models/armor/spire", + "trims/models/armor/spire_leggings", + "trims/models/armor/wayfinder", + "trims/models/armor/wayfinder_leggings", + "trims/models/armor/shaper", + "trims/models/armor/shaper_leggings", + "trims/models/armor/silence", + "trims/models/armor/silence_leggings", + "trims/models/armor/raiser", + "trims/models/armor/raiser_leggings", + "trims/models/armor/host", + "trims/models/armor/host_leggings", + "acesbs:trims/models/armor/prisma", + "acesbs:trims/models/armor/prisma_leggings" + + ], + "palette_key": "trims/color_palettes/trim_palette", + "permutations": { + "quartz": "trims/color_palettes/quartz", + "iron": "trims/color_palettes/iron", + "gold": "trims/color_palettes/gold", + "diamond": "trims/color_palettes/diamond", + "netherite": "trims/color_palettes/netherite", + "redstone": "trims/color_palettes/redstone", + "copper": "trims/color_palettes/copper", + "emerald": "trims/color_palettes/emerald", + "lapis": "trims/color_palettes/lapis", + "amethyst": "trims/color_palettes/amethyst", + "iron_darker": "trims/color_palettes/iron_darker", + "gold_darker": "trims/color_palettes/gold_darker", + "diamond_darker": "trims/color_palettes/diamond_darker", + "netherite_darker": "trims/color_palettes/netherite_darker", + "prisma_steel": "acesbs:trims/color_palettes/prisma_steel" + } + } + ] +} \ No newline at end of file