diff --git a/gradle.properties b/gradle.properties index b84aaae..5d34c3b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -29,7 +29,7 @@ mod_name=Processed obsidian # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=All Rights Reserved # The mod version. See https://semver.org/ -mod_version=1.0.0 +mod_version=2.1.0 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/src/generated/resources/.cache/be5720aac139ee197c55b68040cc95f687ab0aa2 b/src/generated/resources/.cache/be5720aac139ee197c55b68040cc95f687ab0aa2 index bc3606b..5e555b2 100644 --- a/src/generated/resources/.cache/be5720aac139ee197c55b68040cc95f687ab0aa2 +++ b/src/generated/resources/.cache/be5720aac139ee197c55b68040cc95f687ab0aa2 @@ -1,2 +1,8 @@ -// 1.21.1 2026-04-27T21:59:02.410668709 Item Models: processed_obsidian +// 1.21.1 2026-05-01T11:36:16.667550553 Item Models: processed_obsidian +dfd6d5e102d95ae2258ca88062d06edf16e8fab1 assets/processed_obsidian/models/item/obsidian_alloy.json +6ea8b1deedf52e165d8cc060cc318097f7b58cbb assets/processed_obsidian/models/item/obsidian_boots.json +f9e772c69f1ec06dfbd7711b2112c575368b06e3 assets/processed_obsidian/models/item/obsidian_chestplate.json e4b0a25a058313fe86e228b769ea1106b6f5bb56 assets/processed_obsidian/models/item/obsidian_dust.json +eb06b02520ce67b07b617e1f79ae3f4f887b53f6 assets/processed_obsidian/models/item/obsidian_helmet.json +073a780f29b98409d8b869c0b34a628e61c261ba assets/processed_obsidian/models/item/obsidian_leggings.json +d422c6c102931fbed51a0d87698413a63d5760f2 assets/processed_obsidian/models/item/obsidian_upgrade_smithing_template.json diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/Processed_obsidian.java b/src/main/java/ovh/glitchlabs/processed_obsidian/Processed_obsidian.java index dbb0b4c..7b6f71a 100644 --- a/src/main/java/ovh/glitchlabs/processed_obsidian/Processed_obsidian.java +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/Processed_obsidian.java @@ -71,6 +71,14 @@ public class Processed_obsidian { } if (event.getTabKey() == CreativeModeTabs.INGREDIENTS) { event.accept(ModItems.OBSIDIAN_DUST.get()); + event.accept(ModItems.OBSIDIAN_ALLOY.get()); + event.accept(ModItems.OBSIDIAN_UPGRADE_SMITHING_TEMPLATE.get()); + } + if (event.getTabKey() == CreativeModeTabs.COMBAT) { + event.accept(ModItems.OBSIDIAN_HELMET.get()); + event.accept(ModItems.OBSIDIAN_CHESTPLATE.get()); + event.accept(ModItems.OBSIDIAN_LEGGINGS.get()); + event.accept(ModItems.OBSIDIAN_BOOTS.get()); } } diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/blocks/ModBlocks.java b/src/main/java/ovh/glitchlabs/processed_obsidian/blocks/ModBlocks.java index ad3d0ba..df6362a 100644 --- a/src/main/java/ovh/glitchlabs/processed_obsidian/blocks/ModBlocks.java +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/blocks/ModBlocks.java @@ -1,14 +1,10 @@ package ovh.glitchlabs.processed_obsidian.blocks; -import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.DropExperienceBlock; -import net.minecraft.world.level.block.SoundType; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockBehaviour; -import net.minecraft.world.level.block.state.properties.NoteBlockInstrument; -import net.minecraft.world.level.material.MapColor; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredBlock; import net.neoforged.neoforge.registries.DeferredRegister; @@ -17,53 +13,28 @@ import ovh.glitchlabs.processed_obsidian.items.ModItems; import java.util.function.Supplier; -public class ModBlocks { +public class ModBlocks { public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Processed_obsidian.MODID); public static final DeferredBlock OBSIDIAN_BRICKS = registerBlock("obsidian_bricks", - () -> new Block(BlockBehaviour.Properties.of() - .strength(50.0F) - .requiresCorrectToolForDrops() - .explosionResistance(1200.0F) - .instrument(NoteBlockInstrument.BASEDRUM) - .mapColor(MapColor.COLOR_BLACK) + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN) )); public static final DeferredBlock CRACKED_OBSIDIAN_BRICKS = registerBlock("cracked_obsidian_bricks", - () -> new Block(BlockBehaviour.Properties.of() - .strength(50.0F) - .requiresCorrectToolForDrops() - .explosionResistance(1200.0F) - .instrument(NoteBlockInstrument.BASEDRUM) - .mapColor(MapColor.COLOR_BLACK) + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN) )); public static final DeferredBlock OBSIDIAN_TILES = registerBlock("obsidian_tiles", - () -> new Block(BlockBehaviour.Properties.of() - .strength(50.0F) - .requiresCorrectToolForDrops() - .explosionResistance(1200.0F) - .instrument(NoteBlockInstrument.BASEDRUM) - .mapColor(MapColor.COLOR_BLACK) + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN) )); public static final DeferredBlock CRACKED_OBSIDIAN_TILES = registerBlock("cracked_obsidian_tiles", - () -> new Block(BlockBehaviour.Properties.of() - .strength(50.0F) - .requiresCorrectToolForDrops() - .explosionResistance(1200.0F) - .instrument(NoteBlockInstrument.BASEDRUM) - .mapColor(MapColor.COLOR_BLACK) + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN) )); public static final DeferredBlock POLISHED_OBSIDIAN = registerBlock("polished_obsidian", - () -> new Block(BlockBehaviour.Properties.of() - .strength(50.0F) - .requiresCorrectToolForDrops() - .explosionResistance(1200.0F) - .instrument(NoteBlockInstrument.BASEDRUM) - .mapColor(MapColor.COLOR_BLACK) + () -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN) )); private static DeferredBlock registerBlock(String name, Supplier block) { diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/DataGenerators.java b/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/DataGenerators.java index 02b2de7..f7f3af7 100644 --- a/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/DataGenerators.java +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/DataGenerators.java @@ -33,6 +33,8 @@ public class DataGenerators { BlockTagsProvider blockTagsProvider = new ModBlockTagProvider(packOutput, lookupProvider, existingFileHelper); generator.addProvider(event.includeServer(), blockTagsProvider); + generator.addProvider(event.includeServer(), new ModItemTagProvider(packOutput, lookupProvider, blockTagsProvider.contentsGetter(), existingFileHelper)); + generator.addProvider(event.includeClient(), new ModItemModelProvider(packOutput, existingFileHelper)); generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper)); } diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/ModItemModelProvider.java b/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/ModItemModelProvider.java index 00ea7bf..65e69ae 100644 --- a/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/ModItemModelProvider.java +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/ModItemModelProvider.java @@ -14,5 +14,12 @@ public class ModItemModelProvider extends ItemModelProvider { @Override protected void registerModels() { basicItem(ModItems.OBSIDIAN_DUST.get()); + basicItem(ModItems.OBSIDIAN_UPGRADE_SMITHING_TEMPLATE.get()); + basicItem(ModItems.OBSIDIAN_ALLOY.get()); + + basicItem(ModItems.OBSIDIAN_HELMET.get()); + basicItem(ModItems.OBSIDIAN_CHESTPLATE.get()); + basicItem(ModItems.OBSIDIAN_LEGGINGS.get()); + basicItem(ModItems.OBSIDIAN_BOOTS.get()); } } \ No newline at end of file diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/ModItemTagProvider.java b/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/ModItemTagProvider.java new file mode 100644 index 0000000..cd84528 --- /dev/null +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/datagen/ModItemTagProvider.java @@ -0,0 +1,85 @@ +package ovh.glitchlabs.processed_obsidian.datagen; + +import net.minecraft.core.HolderLookup; +import net.minecraft.data.PackOutput; +import net.minecraft.data.tags.ItemTagsProvider; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Block; +import net.neoforged.neoforge.common.data.ExistingFileHelper; +import org.jetbrains.annotations.Nullable; +import ovh.glitchlabs.processed_obsidian.Processed_obsidian; +import ovh.glitchlabs.processed_obsidian.items.ModItems; + +import java.util.concurrent.CompletableFuture; + +public class ModItemTagProvider extends ItemTagsProvider { + public ModItemTagProvider(PackOutput output, CompletableFuture lookupProvider, + CompletableFuture> blockTags, @Nullable ExistingFileHelper existingFileHelper) { + super(output, lookupProvider, blockTags, Processed_obsidian.MODID, existingFileHelper); + } + + @Override + protected void addTags(HolderLookup.Provider provider) { + + this.tag(ItemTags.TRIMMABLE_ARMOR) + .add(ModItems.OBSIDIAN_HELMET.get()) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()) + .add(ModItems.OBSIDIAN_LEGGINGS.get()) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.ARMOR_ENCHANTABLE) + .add(ModItems.OBSIDIAN_HELMET.get()) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()) + .add(ModItems.OBSIDIAN_LEGGINGS.get()) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.VANISHING_ENCHANTABLE) + .add(ModItems.OBSIDIAN_HELMET.get()) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()) + .add(ModItems.OBSIDIAN_LEGGINGS.get()) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.DURABILITY_ENCHANTABLE) + .add(ModItems.OBSIDIAN_HELMET.get()) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()) + .add(ModItems.OBSIDIAN_LEGGINGS.get()) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.EQUIPPABLE_ENCHANTABLE) + .add(ModItems.OBSIDIAN_HELMET.get()) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()) + .add(ModItems.OBSIDIAN_LEGGINGS.get()) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.ARMOR_ENCHANTABLE) + .add(ModItems.OBSIDIAN_HELMET.get()) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()) + .add(ModItems.OBSIDIAN_LEGGINGS.get()) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.CHEST_ARMOR_ENCHANTABLE) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()); + + this.tag(ItemTags.FOOT_ARMOR_ENCHANTABLE) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.LEG_ARMOR_ENCHANTABLE) + .add(ModItems.OBSIDIAN_LEGGINGS.get()); + + this.tag(ItemTags.HEAD_ARMOR_ENCHANTABLE) + .add(ModItems.OBSIDIAN_HELMET.get()); + + this.tag(ItemTags.CHEST_ARMOR) + .add(ModItems.OBSIDIAN_CHESTPLATE.get()); + + this.tag(ItemTags.FOOT_ARMOR) + .add(ModItems.OBSIDIAN_BOOTS.get()); + + this.tag(ItemTags.LEG_ARMOR) + .add(ModItems.OBSIDIAN_LEGGINGS.get()); + + this.tag(ItemTags.HEAD_ARMOR) + .add(ModItems.OBSIDIAN_HELMET.get()); + } +} diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/items/ModArmorMaterials.java b/src/main/java/ovh/glitchlabs/processed_obsidian/items/ModArmorMaterials.java new file mode 100644 index 0000000..80ddbb9 --- /dev/null +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/items/ModArmorMaterials.java @@ -0,0 +1,47 @@ +package ovh.glitchlabs.processed_obsidian.items; + +import net.minecraft.Util; +import net.minecraft.core.Holder; +import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.sounds.SoundEvent; +import net.minecraft.sounds.SoundEvents; +import net.minecraft.world.item.ArmorItem; +import net.minecraft.world.item.ArmorMaterial; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.crafting.Ingredient; +import ovh.glitchlabs.processed_obsidian.Processed_obsidian; + +import java.util.EnumMap; +import java.util.List; +import java.util.function.Supplier; + +public class ModArmorMaterials { + public static final Holder OBSIDIAN_ARMOR_MATERIAL = register("obsidian", + Util.make(new EnumMap<>(ArmorItem.Type.class), attribute -> { + attribute.put(ArmorItem.Type.BOOTS, 5); + attribute.put(ArmorItem.Type.LEGGINGS, 7); + attribute.put(ArmorItem.Type.CHESTPLATE, 9); + attribute.put(ArmorItem.Type.HELMET, 5); + attribute.put(ArmorItem.Type.BODY, 12); + }), 16, 2f, 0.1f, () -> ModItems.OBSIDIAN_ALLOY.get()); + + + private static Holder register(String name, EnumMap typeProtection, + int enchantability, float toughness, float knockbackResistance, + Supplier ingredientItem) { + ResourceLocation location = ResourceLocation.fromNamespaceAndPath(Processed_obsidian.MODID, name); + Holder equipSound = SoundEvents.ARMOR_EQUIP_NETHERITE; + Supplier ingredient = () -> Ingredient.of(ingredientItem.get()); + List layers = List.of(new ArmorMaterial.Layer(location)); + + EnumMap typeMap = new EnumMap<>(ArmorItem.Type.class); + for (ArmorItem.Type type : ArmorItem.Type.values()) { + typeMap.put(type, typeProtection.get(type)); + } + + return Registry.registerForHolder(BuiltInRegistries.ARMOR_MATERIAL, location, + new ArmorMaterial(typeProtection, enchantability, equipSound, ingredient, layers, toughness, knockbackResistance)); + } +} \ No newline at end of file diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/items/ModItems.java b/src/main/java/ovh/glitchlabs/processed_obsidian/items/ModItems.java index 7268664..4a31d56 100644 --- a/src/main/java/ovh/glitchlabs/processed_obsidian/items/ModItems.java +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/items/ModItems.java @@ -1,5 +1,6 @@ package ovh.glitchlabs.processed_obsidian.items; +import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.Rarity; import net.neoforged.bus.api.IEventBus; @@ -16,6 +17,32 @@ public class ModItems { .rarity(Rarity.RARE) )); + public static final DeferredItem OBSIDIAN_UPGRADE_SMITHING_TEMPLATE = ITEMS.register("obsidian_upgrade_smithing_template", + () -> new ObsidianUpgradeSmithingTemplateItem(new Item.Properties() + .rarity(Rarity.EPIC) + )); + + public static final DeferredItem OBSIDIAN_ALLOY = ITEMS.register("obsidian_alloy", + () -> new ObsidianUpgradeSmithingTemplateItem(new Item.Properties() + .rarity(Rarity.RARE) + .fireResistant() + )); + + + + public static final DeferredItem OBSIDIAN_HELMET = ITEMS.register("obsidian_helmet", + () -> new ArmorItem(ModArmorMaterials.OBSIDIAN_ARMOR_MATERIAL, ArmorItem.Type.HELMET, + new Item.Properties().durability(ArmorItem.Type.HELMET.getDurability(19)))); + public static final DeferredItem OBSIDIAN_CHESTPLATE = ITEMS.register("obsidian_chestplate", + () -> new ArmorItem(ModArmorMaterials.OBSIDIAN_ARMOR_MATERIAL, ArmorItem.Type.CHESTPLATE, + new Item.Properties().durability(ArmorItem.Type.CHESTPLATE.getDurability(19)))); + public static final DeferredItem OBSIDIAN_LEGGINGS = ITEMS.register("obsidian_leggings", + () -> new ArmorItem(ModArmorMaterials.OBSIDIAN_ARMOR_MATERIAL, ArmorItem.Type.LEGGINGS, + new Item.Properties().durability(ArmorItem.Type.LEGGINGS.getDurability(19)))); + public static final DeferredItem OBSIDIAN_BOOTS = ITEMS.register("obsidian_boots", + () -> new ArmorItem(ModArmorMaterials.OBSIDIAN_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, + new Item.Properties().durability(ArmorItem.Type.BOOTS.getDurability(19)))); + public static void register(IEventBus eventBus) { ITEMS.register(eventBus); } diff --git a/src/main/java/ovh/glitchlabs/processed_obsidian/items/ObsidianUpgradeSmithingTemplateItem.java b/src/main/java/ovh/glitchlabs/processed_obsidian/items/ObsidianUpgradeSmithingTemplateItem.java new file mode 100644 index 0000000..98147c2 --- /dev/null +++ b/src/main/java/ovh/glitchlabs/processed_obsidian/items/ObsidianUpgradeSmithingTemplateItem.java @@ -0,0 +1,27 @@ +package ovh.glitchlabs.processed_obsidian.items; + +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; + +import java.util.List; + +public class ObsidianUpgradeSmithingTemplateItem extends Item { + public ObsidianUpgradeSmithingTemplateItem(Properties properties) { + super(properties); + } + + @Override + public void appendHoverText(ItemStack stack, TooltipContext context, List tooltipComponents, TooltipFlag tooltipFlag) { + super.appendHoverText(stack, context, tooltipComponents, tooltipFlag); + + tooltipComponents.add(Component.translatable("upgrade.processed_obsidian.obsidian_upgrade").withStyle(ChatFormatting.GRAY)); + tooltipComponents.add(Component.empty()); + tooltipComponents.add(Component.translatable("item.minecraft.smithing_template.applies_to").withStyle(ChatFormatting.GRAY)); + tooltipComponents.add(Component.translatable("item.processed_obsidian.smithing_template.Obsidian_upgrade.applies_to").withStyle(ChatFormatting.BLUE)); + tooltipComponents.add(Component.translatable("item.minecraft.smithing_template.ingredients").withStyle(ChatFormatting.GRAY)); + tooltipComponents.add(Component.translatable("item.processed_obsidian.smithing_template.obsidian_upgrade.ingredients").withStyle(ChatFormatting.BLUE)); + } +} diff --git a/src/main/resources/assets/processed_obsidian/lang/en_us.json b/src/main/resources/assets/processed_obsidian/lang/en_us.json index 218197d..2f24a83 100644 --- a/src/main/resources/assets/processed_obsidian/lang/en_us.json +++ b/src/main/resources/assets/processed_obsidian/lang/en_us.json @@ -4,6 +4,17 @@ "block.processed_obsidian.polished_obsidian": "Polished Obsidian Tiles", "block.processed_obsidian.obsidian_bricks": "Obsidian Bricks", "block.processed_obsidian.cracked_obsidian_bricks": "Cracked Obsidian Bricks", + + "upgrade.processed_obsidian.obsidian_upgrade" : "Obsidian Upgrade", + + "item.processed_obsidian.obsidian_alloy" : "Obsidian Alloy", + "item.processed_obsidian.smithing_template.Obsidian_upgrade.applies_to" : "Obsidian Equipment", + "item.processed_obsidian.smithing_template.obsidian_upgrade.ingredients" : "Obsidian Alloy", + "item.processed_obsidian.obsidian_upgrade_smithing_template" : "Smithing Template", + "item.processed_obsidian.obsidian_helmet" : "Obsidian Helmet", + "item.processed_obsidian.obsidian_chestplate" : "Obsidian Chestplate", + "item.processed_obsidian.obsidian_leggings" : "Obsidian Leggings", + "item.processed_obsidian.obsidian_boots" : "Obsidian Boots", "item.processed_obsidian.obsidian_dust": "Obsidian Dust" } diff --git a/src/main/resources/assets/processed_obsidian/textures/item/obsidian_boots.png b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_boots.png new file mode 100644 index 0000000..6ee967f Binary files /dev/null and b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_boots.png differ diff --git a/src/main/resources/assets/processed_obsidian/textures/item/obsidian_chestplate.png b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_chestplate.png new file mode 100644 index 0000000..98042b0 Binary files /dev/null and b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_chestplate.png differ diff --git a/src/main/resources/assets/processed_obsidian/textures/item/obsidian_helmet.png b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_helmet.png new file mode 100644 index 0000000..fabf9c0 Binary files /dev/null and b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_helmet.png differ diff --git a/src/main/resources/assets/processed_obsidian/textures/item/obsidian_leggings.png b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_leggings.png new file mode 100644 index 0000000..32cbcd2 Binary files /dev/null and b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_leggings.png differ diff --git a/src/main/resources/assets/processed_obsidian/textures/item/obsidian_upgrade_smithing_template.png b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_upgrade_smithing_template.png new file mode 100644 index 0000000..ccf6a14 Binary files /dev/null and b/src/main/resources/assets/processed_obsidian/textures/item/obsidian_upgrade_smithing_template.png differ diff --git a/src/main/resources/assets/processed_obsidian/textures/models/armor/obsidian_layer_1.png b/src/main/resources/assets/processed_obsidian/textures/models/armor/obsidian_layer_1.png new file mode 100644 index 0000000..ac3e42a Binary files /dev/null and b/src/main/resources/assets/processed_obsidian/textures/models/armor/obsidian_layer_1.png differ diff --git a/src/main/resources/assets/processed_obsidian/textures/models/armor/obsidian_layer_2.png b/src/main/resources/assets/processed_obsidian/textures/models/armor/obsidian_layer_2.png new file mode 100644 index 0000000..72bbfea Binary files /dev/null and b/src/main/resources/assets/processed_obsidian/textures/models/armor/obsidian_layer_2.png differ diff --git a/src/main/resources/data/processed_obsidian/recipe/obsidian_alloy.json b/src/main/resources/data/processed_obsidian/recipe/obsidian_alloy.json new file mode 100644 index 0000000..e5fb0ec --- /dev/null +++ b/src/main/resources/data/processed_obsidian/recipe/obsidian_alloy.json @@ -0,0 +1,22 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "processed_obsidian", + "category": "building", + "pattern": [ + "OOO", + "ONO", + "OOO" + ], + "key": { + "O": { + "item": "processed_obsidian:obsidian_dust" + }, + "N": { + "item": "minecraft:netherite_ingot" + } + }, + "result": { + "id": "processed_obsidian:obsidian_alloy", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/processed_obsidian/recipe/obsidian_boots.json b/src/main/resources/data/processed_obsidian/recipe/obsidian_boots.json new file mode 100644 index 0000000..f9ef2c5 --- /dev/null +++ b/src/main/resources/data/processed_obsidian/recipe/obsidian_boots.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:smithing_transform", + "group": "processed_obsidian", + "addition": { + "item": "processed_obsidian:obsidian_alloy" + }, + "base": { + "item": "minecraft:netherite_boots" + }, + "result": { + "count": 1, + "id": "processed_obsidian:obsidian_boots" + }, + "template": { + "item": "processed_obsidian:obsidian_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/resources/data/processed_obsidian/recipe/obsidian_chestplate.json b/src/main/resources/data/processed_obsidian/recipe/obsidian_chestplate.json new file mode 100644 index 0000000..2ada020 --- /dev/null +++ b/src/main/resources/data/processed_obsidian/recipe/obsidian_chestplate.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:smithing_transform", + "group": "processed_obsidian", + "addition": { + "item": "processed_obsidian:obsidian_alloy" + }, + "base": { + "item": "minecraft:netherite_chestplate" + }, + "result": { + "count": 1, + "id": "processed_obsidian:obsidian_chestplate" + }, + "template": { + "item": "processed_obsidian:obsidian_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/resources/data/processed_obsidian/recipe/obsidian_helmet.json b/src/main/resources/data/processed_obsidian/recipe/obsidian_helmet.json new file mode 100644 index 0000000..e53e534 --- /dev/null +++ b/src/main/resources/data/processed_obsidian/recipe/obsidian_helmet.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:smithing_transform", + "group": "processed_obsidian", + "addition": { + "item": "processed_obsidian:obsidian_alloy" + }, + "base": { + "item": "minecraft:netherite_helmet" + }, + "result": { + "count": 1, + "id": "processed_obsidian:obsidian_helmet" + }, + "template": { + "item": "processed_obsidian:obsidian_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/resources/data/processed_obsidian/recipe/obsidian_leggings.json b/src/main/resources/data/processed_obsidian/recipe/obsidian_leggings.json new file mode 100644 index 0000000..f5d0735 --- /dev/null +++ b/src/main/resources/data/processed_obsidian/recipe/obsidian_leggings.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:smithing_transform", + "group": "processed_obsidian", + "addition": { + "item": "processed_obsidian:obsidian_alloy" + }, + "base": { + "item": "minecraft:netherite_leggings" + }, + "result": { + "count": 1, + "id": "processed_obsidian:obsidian_leggings" + }, + "template": { + "item": "processed_obsidian:obsidian_upgrade_smithing_template" + } +} \ No newline at end of file diff --git a/src/main/resources/data/processed_obsidian/recipe/obsidian_upgrade_smithing_template.json b/src/main/resources/data/processed_obsidian/recipe/obsidian_upgrade_smithing_template.json new file mode 100644 index 0000000..340996b --- /dev/null +++ b/src/main/resources/data/processed_obsidian/recipe/obsidian_upgrade_smithing_template.json @@ -0,0 +1,25 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "group": "boat", + "key": { + "#": { + "item": "processed_obsidian:obsidian_dust" + }, + "A": { + "item": "processed_obsidian:obsidian_alloy" + }, + "U": { + "item": "minecraft:netherite_upgrade_smithing_template" + } + }, + "pattern": [ + "#A#", + "AUA", + "#A#" + ], + "result": { + "count": 1, + "id": "processed_obsidian:obsidian_upgrade_smithing_template" + } +} \ No newline at end of file