This commit is contained in:
Vos
2025-11-10 22:20:05 -06:00
parent fe304340f4
commit 88360bfbe2
22 changed files with 266 additions and 2 deletions
@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "acesbs:item/prisma_armor_trim_smithing_template"
}
}
@@ -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"
]
}
}
@@ -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"
}
}
@@ -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
}
@@ -0,0 +1,8 @@
{
"asset_id": "acesbs:prisma",
"decal": false,
"description": {
"translate": "trim_pattern.acesbs.prisma"
},
"template_item": "acesbs:prisma_armor_trim_smithing_template"
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:prisma_steel"
]
}
@@ -0,0 +1,5 @@
{
"values": [
"acesbs:prisma_armor_trim_smithing_template"
]
}
@@ -1,8 +1,12 @@
package com.acethewildfire.acesbs; package com.acethewildfire.acesbs;
import com.acethewildfire.acesbs.datagen.*; 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.DataGeneratorEntrypoint;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
import net.minecraft.registry.RegistryBuilder;
import net.minecraft.registry.RegistryKeys;
public class AcesBSDataGenerator implements DataGeneratorEntrypoint { public class AcesBSDataGenerator implements DataGeneratorEntrypoint {
@Override @Override
@@ -14,5 +18,12 @@ public class AcesBSDataGenerator implements DataGeneratorEntrypoint {
pack.addProvider(ModLootTableProvider::new); pack.addProvider(ModLootTableProvider::new);
pack.addProvider(ModModelProvider::new); pack.addProvider(ModModelProvider::new);
pack.addProvider(ModRecipeProvider::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);
} }
} }
@@ -44,5 +44,10 @@ public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider {
.add(ModItems.PRISMA_STEEL_CHESTPLATE) .add(ModItems.PRISMA_STEEL_CHESTPLATE)
.add(ModItems.PRISMA_STEEL_LEGGINGS) .add(ModItems.PRISMA_STEEL_LEGGINGS)
.add(ModItems.PRISMA_STEEL_BOOTS); .add(ModItems.PRISMA_STEEL_BOOTS);
getOrCreateTagBuilder(ItemTags.TRIM_MATERIALS)
.add(ModItems.PRISMA_STEEL);
getOrCreateTagBuilder(ItemTags.TRIM_TEMPLATES)
.add(ModItems.PRISMA_SMITHING_TEMPLATE);
} }
} }
@@ -55,6 +55,7 @@ public class ModModelProvider extends FabricModelProvider {
itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED); itemModelGenerator.register(ModItems.STABLE_ENTROPY, Models.GENERATED);
itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD); itemModelGenerator.register(ModItems.WAND, Models.HANDHELD_ROD);
itemModelGenerator.register(ModItems.PRISMA_STEEL, Models.GENERATED); 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_SWORD, Models.HANDHELD);
itemModelGenerator.register(ModItems.PRISMA_STEEL_PICKAXE, Models.HANDHELD); itemModelGenerator.register(ModItems.PRISMA_STEEL_PICKAXE, Models.HANDHELD);
@@ -168,6 +168,8 @@ public class ModRecipeProvider extends FabricRecipeProvider {
ShovelRecipeJsonBuilder(recipeExporter, ModItems.PRISMA_STEEL_SHOVEL, ModItems.PRISMA_STEEL, Items.STICK, ModItems.PRISMA_STEEL); 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); 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 // For 2+ recipes with the same RESULT use
// .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item")); // .offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "output_item_from_input_item"));
} }
@@ -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<RegistryWrapper.WrapperLookup> 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 "";
}
}
@@ -25,6 +25,7 @@ public class ModItemGroups {
entries.add(ModItems.GREEN_BRICKS); entries.add(ModItems.GREEN_BRICKS);
entries.add(ModItems.WAND); entries.add(ModItems.WAND);
entries.add(ModItems.PRISMA_STEEL); entries.add(ModItems.PRISMA_STEEL);
entries.add(ModItems.PRISMA_SMITHING_TEMPLATE);
}) })
.build()); .build());
@@ -16,13 +16,14 @@ import net.minecraft.potion.Potion;
import net.minecraft.registry.Registries; import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry; import net.minecraft.registry.Registry;
import net.minecraft.registry.entry.RegistryEntry; 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.text.Text;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import java.util.List; import java.util.List;
public class ModItems { public class ModItems {
private static final RegistryEntry<Potion> BLINDNESS = registerPotion("blindness", new Potion(new StatusEffectInstance(StatusEffects.BLINDNESS, 200))); private static final RegistryEntry<Potion> 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 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))); 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() new ModArmorItem(ModArmorMaterials.PRISMA_STEEL_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Settings()
.maxDamage(ArmorItem.Type.BOOTS.getMaxDamage(15)))); .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){ private static Item registerItem(String name, Item item){
return Registry.register(Registries.ITEM, Identifier.of(AcesBS.MOD_ID, name), item); return Registry.register(Registries.ITEM, Identifier.of(AcesBS.MOD_ID, name), item);
} }
@@ -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<ArmorTrimMaterial> PRISMA_STEEL = RegistryKey.of(RegistryKeys.TRIM_MATERIAL,
Identifier.of(AcesBS.MOD_ID, "prisma_steel"));
public static void bootstrap (Registerable<ArmorTrimMaterial> 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<ArmorTrimMaterial> registerable, RegistryKey<ArmorTrimMaterial> armorTrimKey,
RegistryEntry<Item> 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);
}
}
@@ -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<ArmorTrimPattern> PRISMA = RegistryKey.of(RegistryKeys.TRIM_PATTERN,
Identifier.of(AcesBS.MOD_ID, "prisma"));
public static void bootstrap(Registerable<ArmorTrimPattern> context) {
register(context, ModItems.PRISMA_SMITHING_TEMPLATE, PRISMA);
}
private static void register(Registerable<ArmorTrimPattern> context, Item item, RegistryKey<ArmorTrimPattern> key) {
ArmorTrimPattern trimPattern = new ArmorTrimPattern(key.getValue(), Registries.ITEM.getEntry(item),
Text.translatable(Util.createTranslationKey("trim_pattern", key.getValue())), false);
context.register(key, trimPattern);
}
}
@@ -24,6 +24,7 @@
"item.acesbs.prisma_steel_chestplate": "Prisma Steel Chestplate", "item.acesbs.prisma_steel_chestplate": "Prisma Steel Chestplate",
"item.acesbs.prisma_steel_leggings": "Prisma Steel Leggings", "item.acesbs.prisma_steel_leggings": "Prisma Steel Leggings",
"item.acesbs.prisma_steel_boots": "Prisma Steel Boots", "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.entropy_block": "Block of Entropy",
"block.acesbs.prisma_steel_block": "Block of Prisma Steel", "block.acesbs.prisma_steel_block": "Block of Prisma Steel",
@@ -43,6 +44,8 @@
"block.acesbs.evil_block": "Evil Block", "block.acesbs.evil_block": "Evil Block",
"itemgroup.acesbs.items": "Ace's BS Items", "itemgroup.acesbs.items": "Ace's BS Items",
"itemgroup.acesbs.blocks": "Ace's BS Blocks", "itemgroup.acesbs.blocks": "Ace's BS Blocks",
"itemgroup.acesbs.combat": "Ace's BS Combat", "itemgroup.acesbs.combat": "Ace's BS Combat",
@@ -54,5 +57,8 @@
"tooltip.acesbs.green_bricks": "Hold §eShift§r for item description.", "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.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.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"
} }
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 388 B

@@ -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"
}
}
]
}