v2.1.0
@@ -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.
|
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||||
mod_license=All Rights Reserved
|
mod_license=All Rights Reserved
|
||||||
# The mod version. See https://semver.org/
|
# 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.
|
# 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.
|
# This should match the base package used for the mod sources.
|
||||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||||
|
|||||||
@@ -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
|
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
|
||||||
|
|||||||
@@ -71,6 +71,14 @@ public class Processed_obsidian {
|
|||||||
}
|
}
|
||||||
if (event.getTabKey() == CreativeModeTabs.INGREDIENTS) {
|
if (event.getTabKey() == CreativeModeTabs.INGREDIENTS) {
|
||||||
event.accept(ModItems.OBSIDIAN_DUST.get());
|
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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,10 @@
|
|||||||
package ovh.glitchlabs.processed_obsidian.blocks;
|
package ovh.glitchlabs.processed_obsidian.blocks;
|
||||||
|
|
||||||
import net.minecraft.util.valueproviders.UniformInt;
|
|
||||||
import net.minecraft.world.item.BlockItem;
|
import net.minecraft.world.item.BlockItem;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.DropExperienceBlock;
|
import net.minecraft.world.level.block.Blocks;
|
||||||
import net.minecraft.world.level.block.SoundType;
|
|
||||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
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.bus.api.IEventBus;
|
||||||
import net.neoforged.neoforge.registries.DeferredBlock;
|
import net.neoforged.neoforge.registries.DeferredBlock;
|
||||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||||
@@ -22,48 +18,23 @@ public class ModBlocks {
|
|||||||
DeferredRegister.createBlocks(Processed_obsidian.MODID);
|
DeferredRegister.createBlocks(Processed_obsidian.MODID);
|
||||||
|
|
||||||
public static final DeferredBlock<Block> OBSIDIAN_BRICKS = registerBlock("obsidian_bricks",
|
public static final DeferredBlock<Block> OBSIDIAN_BRICKS = registerBlock("obsidian_bricks",
|
||||||
() -> new Block(BlockBehaviour.Properties.of()
|
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN)
|
||||||
.strength(50.0F)
|
|
||||||
.requiresCorrectToolForDrops()
|
|
||||||
.explosionResistance(1200.0F)
|
|
||||||
.instrument(NoteBlockInstrument.BASEDRUM)
|
|
||||||
.mapColor(MapColor.COLOR_BLACK)
|
|
||||||
));
|
));
|
||||||
|
|
||||||
public static final DeferredBlock<Block> CRACKED_OBSIDIAN_BRICKS = registerBlock("cracked_obsidian_bricks",
|
public static final DeferredBlock<Block> CRACKED_OBSIDIAN_BRICKS = registerBlock("cracked_obsidian_bricks",
|
||||||
() -> new Block(BlockBehaviour.Properties.of()
|
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN)
|
||||||
.strength(50.0F)
|
|
||||||
.requiresCorrectToolForDrops()
|
|
||||||
.explosionResistance(1200.0F)
|
|
||||||
.instrument(NoteBlockInstrument.BASEDRUM)
|
|
||||||
.mapColor(MapColor.COLOR_BLACK)
|
|
||||||
));
|
));
|
||||||
|
|
||||||
public static final DeferredBlock<Block> OBSIDIAN_TILES = registerBlock("obsidian_tiles",
|
public static final DeferredBlock<Block> OBSIDIAN_TILES = registerBlock("obsidian_tiles",
|
||||||
() -> new Block(BlockBehaviour.Properties.of()
|
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN)
|
||||||
.strength(50.0F)
|
|
||||||
.requiresCorrectToolForDrops()
|
|
||||||
.explosionResistance(1200.0F)
|
|
||||||
.instrument(NoteBlockInstrument.BASEDRUM)
|
|
||||||
.mapColor(MapColor.COLOR_BLACK)
|
|
||||||
));
|
));
|
||||||
|
|
||||||
public static final DeferredBlock<Block> CRACKED_OBSIDIAN_TILES = registerBlock("cracked_obsidian_tiles",
|
public static final DeferredBlock<Block> CRACKED_OBSIDIAN_TILES = registerBlock("cracked_obsidian_tiles",
|
||||||
() -> new Block(BlockBehaviour.Properties.of()
|
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN)
|
||||||
.strength(50.0F)
|
|
||||||
.requiresCorrectToolForDrops()
|
|
||||||
.explosionResistance(1200.0F)
|
|
||||||
.instrument(NoteBlockInstrument.BASEDRUM)
|
|
||||||
.mapColor(MapColor.COLOR_BLACK)
|
|
||||||
));
|
));
|
||||||
|
|
||||||
public static final DeferredBlock<Block> POLISHED_OBSIDIAN = registerBlock("polished_obsidian",
|
public static final DeferredBlock<Block> POLISHED_OBSIDIAN = registerBlock("polished_obsidian",
|
||||||
() -> new Block(BlockBehaviour.Properties.of()
|
() -> new Block(BlockBehaviour.Properties.ofFullCopy(Blocks.OBSIDIAN)
|
||||||
.strength(50.0F)
|
|
||||||
.requiresCorrectToolForDrops()
|
|
||||||
.explosionResistance(1200.0F)
|
|
||||||
.instrument(NoteBlockInstrument.BASEDRUM)
|
|
||||||
.mapColor(MapColor.COLOR_BLACK)
|
|
||||||
));
|
));
|
||||||
|
|
||||||
private static <T extends Block> DeferredBlock<T> registerBlock(String name, Supplier<T> block) {
|
private static <T extends Block> DeferredBlock<T> registerBlock(String name, Supplier<T> block) {
|
||||||
|
|||||||
@@ -33,6 +33,8 @@ public class DataGenerators {
|
|||||||
BlockTagsProvider blockTagsProvider = new ModBlockTagProvider(packOutput, lookupProvider, existingFileHelper);
|
BlockTagsProvider blockTagsProvider = new ModBlockTagProvider(packOutput, lookupProvider, existingFileHelper);
|
||||||
generator.addProvider(event.includeServer(), blockTagsProvider);
|
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 ModItemModelProvider(packOutput, existingFileHelper));
|
||||||
generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper));
|
generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,5 +14,12 @@ public class ModItemModelProvider extends ItemModelProvider {
|
|||||||
@Override
|
@Override
|
||||||
protected void registerModels() {
|
protected void registerModels() {
|
||||||
basicItem(ModItems.OBSIDIAN_DUST.get());
|
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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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<HolderLookup.Provider> lookupProvider,
|
||||||
|
CompletableFuture<TagLookup<Block>> 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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<ArmorMaterial> 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<ArmorMaterial> register(String name, EnumMap<ArmorItem.Type, Integer> typeProtection,
|
||||||
|
int enchantability, float toughness, float knockbackResistance,
|
||||||
|
Supplier<Item> ingredientItem) {
|
||||||
|
ResourceLocation location = ResourceLocation.fromNamespaceAndPath(Processed_obsidian.MODID, name);
|
||||||
|
Holder<SoundEvent> equipSound = SoundEvents.ARMOR_EQUIP_NETHERITE;
|
||||||
|
Supplier<Ingredient> ingredient = () -> Ingredient.of(ingredientItem.get());
|
||||||
|
List<ArmorMaterial.Layer> layers = List.of(new ArmorMaterial.Layer(location));
|
||||||
|
|
||||||
|
EnumMap<ArmorItem.Type, Integer> 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));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package ovh.glitchlabs.processed_obsidian.items;
|
package ovh.glitchlabs.processed_obsidian.items;
|
||||||
|
|
||||||
|
import net.minecraft.world.item.ArmorItem;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.Rarity;
|
import net.minecraft.world.item.Rarity;
|
||||||
import net.neoforged.bus.api.IEventBus;
|
import net.neoforged.bus.api.IEventBus;
|
||||||
@@ -16,6 +17,32 @@ public class ModItems {
|
|||||||
.rarity(Rarity.RARE)
|
.rarity(Rarity.RARE)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
public static final DeferredItem<ObsidianUpgradeSmithingTemplateItem> OBSIDIAN_UPGRADE_SMITHING_TEMPLATE = ITEMS.register("obsidian_upgrade_smithing_template",
|
||||||
|
() -> new ObsidianUpgradeSmithingTemplateItem(new Item.Properties()
|
||||||
|
.rarity(Rarity.EPIC)
|
||||||
|
));
|
||||||
|
|
||||||
|
public static final DeferredItem<ObsidianUpgradeSmithingTemplateItem> OBSIDIAN_ALLOY = ITEMS.register("obsidian_alloy",
|
||||||
|
() -> new ObsidianUpgradeSmithingTemplateItem(new Item.Properties()
|
||||||
|
.rarity(Rarity.RARE)
|
||||||
|
.fireResistant()
|
||||||
|
));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static final DeferredItem<ArmorItem> 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<ArmorItem> 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<ArmorItem> 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<ArmorItem> 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) {
|
public static void register(IEventBus eventBus) {
|
||||||
ITEMS.register(eventBus);
|
ITEMS.register(eventBus);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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<Component> 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));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,17 @@
|
|||||||
"block.processed_obsidian.polished_obsidian": "Polished Obsidian Tiles",
|
"block.processed_obsidian.polished_obsidian": "Polished Obsidian Tiles",
|
||||||
"block.processed_obsidian.obsidian_bricks": "Obsidian Bricks",
|
"block.processed_obsidian.obsidian_bricks": "Obsidian Bricks",
|
||||||
"block.processed_obsidian.cracked_obsidian_bricks": "Cracked 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"
|
"item.processed_obsidian.obsidian_dust": "Obsidian Dust"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
|
After Width: | Height: | Size: 467 B |
|
After Width: | Height: | Size: 490 B |
|
After Width: | Height: | Size: 466 B |
|
After Width: | Height: | Size: 472 B |
|
After Width: | Height: | Size: 361 B |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 370 B |
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||