[Feature] SmithingTemplates for Armor/Tool/Anvil and Elytra upgrades
This commit is contained in:
parent
ff17a9ad3c
commit
4e2b2737aa
35 changed files with 272 additions and 34 deletions
|
@ -46,6 +46,7 @@ public class BetterEnd implements ModInitializer {
|
|||
EndTags.register();
|
||||
EndBlocks.ensureStaticallyLoaded();
|
||||
EndItems.ensureStaticallyLoaded();
|
||||
EndTemplates.ensureStaticallyLoaded();
|
||||
EndEnchantments.register();
|
||||
EndPotions.register();
|
||||
InfusionRecipe.register();
|
||||
|
|
|
@ -17,6 +17,7 @@ import org.betterx.betterend.item.tool.EndHammerItem;
|
|||
import org.betterx.betterend.item.tool.EndPickaxe;
|
||||
import org.betterx.betterend.registry.EndBlocks;
|
||||
import org.betterx.betterend.registry.EndItems;
|
||||
import org.betterx.betterend.registry.EndTemplates;
|
||||
import org.betterx.worlds.together.tag.v3.TagManager;
|
||||
|
||||
import net.minecraft.tags.BlockTags;
|
||||
|
@ -76,13 +77,15 @@ public class MetalMaterial {
|
|||
public final Item boots;
|
||||
|
||||
public final TagKey<Item> alloyingOre;
|
||||
public final SmithingTemplateItem swordHandleTemplate;
|
||||
|
||||
public static MetalMaterial makeNormal(
|
||||
String name,
|
||||
MapColor color,
|
||||
Tier material,
|
||||
ArmorMaterial armor,
|
||||
int anvilAndToolLevel
|
||||
int anvilAndToolLevel,
|
||||
SmithingTemplateItem swordHandleTemplate
|
||||
) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
|
@ -91,7 +94,8 @@ public class MetalMaterial {
|
|||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor,
|
||||
anvilAndToolLevel
|
||||
anvilAndToolLevel,
|
||||
swordHandleTemplate
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -102,7 +106,8 @@ public class MetalMaterial {
|
|||
float resistance,
|
||||
Tier material,
|
||||
ArmorMaterial armor,
|
||||
int anvilAndToolLevel
|
||||
int anvilAndToolLevel,
|
||||
SmithingTemplateItem swordHandleTemplate
|
||||
) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
|
@ -114,7 +119,8 @@ public class MetalMaterial {
|
|||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor,
|
||||
anvilAndToolLevel
|
||||
anvilAndToolLevel,
|
||||
swordHandleTemplate
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -123,7 +129,8 @@ public class MetalMaterial {
|
|||
MapColor color,
|
||||
Tier material,
|
||||
ArmorMaterial armor,
|
||||
int anvilAndToolLevel
|
||||
int anvilAndToolLevel,
|
||||
SmithingTemplateItem swordHandleTemplate
|
||||
) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
|
@ -132,7 +139,8 @@ public class MetalMaterial {
|
|||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor,
|
||||
anvilAndToolLevel
|
||||
anvilAndToolLevel,
|
||||
swordHandleTemplate
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -143,7 +151,8 @@ public class MetalMaterial {
|
|||
float resistance,
|
||||
Tier material,
|
||||
ArmorMaterial armor,
|
||||
int anvilAndToolLevel
|
||||
int anvilAndToolLevel,
|
||||
SmithingTemplateItem swordHandleTemplate
|
||||
) {
|
||||
return new MetalMaterial(
|
||||
name,
|
||||
|
@ -155,7 +164,8 @@ public class MetalMaterial {
|
|||
EndItems.makeEndItemSettings(),
|
||||
material,
|
||||
armor,
|
||||
anvilAndToolLevel
|
||||
anvilAndToolLevel,
|
||||
swordHandleTemplate
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -166,7 +176,8 @@ public class MetalMaterial {
|
|||
Properties itemSettings,
|
||||
Tier material,
|
||||
ArmorMaterial armor,
|
||||
int anvilAndToolLevel
|
||||
int anvilAndToolLevel,
|
||||
SmithingTemplateItem swordHandleTemplate
|
||||
) {
|
||||
BlockBehaviour.Properties lanternProperties = FabricBlockSettings.copyOf(settings)
|
||||
.hardness(1)
|
||||
|
@ -174,7 +185,7 @@ public class MetalMaterial {
|
|||
.lightLevel((bs) -> 15)
|
||||
.sound(SoundType.LANTERN);
|
||||
final int level = material.getLevel();
|
||||
|
||||
this.swordHandleTemplate = swordHandleTemplate;
|
||||
rawOre = hasOre ? EndItems.registerEndItem(name + "_raw", new ModelProviderItem(itemSettings)) : null;
|
||||
ore = hasOre ? EndBlocks.registerBlock(name + "_ore", new BaseOreBlock(() -> rawOre, 1, 3, 1)) : null;
|
||||
alloyingOre = hasOre ? TagManager.ITEMS.makeTag(BetterEnd.MOD_ID, name + "_alloying") : null;
|
||||
|
@ -416,30 +427,37 @@ public class MetalMaterial {
|
|||
|
||||
// Tools from parts
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID(name + "_hammer"), hammer)
|
||||
.setTemplate(EndTemplates.HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(block)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID(name + "_axe"), axe)
|
||||
.setTemplate(EndTemplates.HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(axeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID(name + "_pickaxe"), pickaxe)
|
||||
.setTemplate(EndTemplates.HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(pickaxeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID(name + "_hoe"), hoe)
|
||||
.setTemplate(EndTemplates.HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(hoeHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID(name + "_sword_handle"), swordHandle)
|
||||
.setPrimaryInputAndUnlock(ingot)
|
||||
.setAddition(Items.STICK)
|
||||
.setTemplate(this.swordHandleTemplate)
|
||||
.setPrimaryInputAndUnlock(Items.STICK)
|
||||
.setAddition(ingot)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID(name + "_sword"), sword)
|
||||
.setTemplate(EndTemplates.TOOL_ASSEMBLY)
|
||||
.setPrimaryInputAndUnlock(swordBlade)
|
||||
.setAddition(swordHandle)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID(name + "_shovel"), shovel)
|
||||
.setTemplate(EndTemplates.HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(shovelHead)
|
||||
.setAddition(Items.STICK)
|
||||
.build();
|
||||
|
|
|
@ -4,76 +4,96 @@ import org.betterx.bclib.recipes.BCLRecipeBuilder;
|
|||
import org.betterx.betterend.BetterEnd;
|
||||
import org.betterx.betterend.registry.EndBlocks;
|
||||
import org.betterx.betterend.registry.EndItems;
|
||||
import org.betterx.betterend.registry.EndTemplates;
|
||||
|
||||
import net.minecraft.world.item.Items;
|
||||
|
||||
public class SmithingRecipes {
|
||||
|
||||
public static void register() {
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_sword_handle"), EndItems.AETERNIUM_SWORD_HANDLE)
|
||||
.setPrimaryInputAndUnlock(EndBlocks.TERMINITE.ingot)
|
||||
.setAddition(EndItems.LEATHER_WRAPPED_STICK)
|
||||
.build();
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_sword"), EndItems.AETERNIUM_SWORD)
|
||||
.setPrimaryInputAndUnlock(EndItems.AETERNIUM_SWORD_BLADE)
|
||||
.setAddition(EndItems.AETERNIUM_SWORD_HANDLE)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_pickaxe"), EndItems.AETERNIUM_PICKAXE)
|
||||
.setTemplate(EndTemplates.LEATHER_HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(EndItems.AETERNIUM_PICKAXE_HEAD)
|
||||
.setAddition(EndItems.LEATHER_WRAPPED_STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_axe"), EndItems.AETERNIUM_AXE)
|
||||
.setTemplate(EndTemplates.LEATHER_HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(EndItems.AETERNIUM_AXE_HEAD)
|
||||
.setAddition(EndItems.LEATHER_WRAPPED_STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_shovel"), EndItems.AETERNIUM_SHOVEL)
|
||||
.setTemplate(EndTemplates.LEATHER_HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(EndItems.AETERNIUM_SHOVEL_HEAD)
|
||||
.setAddition(EndItems.LEATHER_WRAPPED_STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_hoe"), EndItems.AETERNIUM_HOE)
|
||||
.setTemplate(EndTemplates.LEATHER_HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(EndItems.AETERNIUM_HOE_HEAD)
|
||||
.setAddition(EndItems.LEATHER_WRAPPED_STICK)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_hammer"), EndItems.AETERNIUM_HAMMER)
|
||||
.setTemplate(EndTemplates.LEATHER_HANDLE_ATTACHMENT)
|
||||
.setPrimaryInputAndUnlock(EndItems.AETERNIUM_HAMMER_HEAD)
|
||||
.setAddition(EndItems.LEATHER_WRAPPED_STICK)
|
||||
.build();
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("netherite_hammer"), EndItems.NETHERITE_HAMMER)
|
||||
.setPrimaryInputAndUnlock(EndItems.DIAMOND_HAMMER)
|
||||
.setAddition(Items.NETHERITE_INGOT)
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_sword"), EndItems.AETERNIUM_SWORD)
|
||||
.setTemplate(EndTemplates.TOOL_ASSEMBLY)
|
||||
.setPrimaryInputAndUnlock(EndItems.AETERNIUM_SWORD_BLADE)
|
||||
.setAddition(EndItems.AETERNIUM_SWORD_HANDLE)
|
||||
.build();
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_helmet"), EndItems.AETERNIUM_HELMET)
|
||||
.setTemplate(EndTemplates.PLATE_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndBlocks.TERMINITE.helmet)
|
||||
.setAddition(EndItems.AETERNIUM_FORGED_PLATE)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_chestplate"), EndItems.AETERNIUM_CHESTPLATE)
|
||||
.setTemplate(EndTemplates.PLATE_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndBlocks.TERMINITE.chestplate)
|
||||
.setAddition(EndItems.AETERNIUM_FORGED_PLATE)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_leggings"), EndItems.AETERNIUM_LEGGINGS)
|
||||
.setTemplate(EndTemplates.PLATE_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndBlocks.TERMINITE.leggings)
|
||||
.setAddition(EndItems.AETERNIUM_FORGED_PLATE)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_boots"), EndItems.AETERNIUM_BOOTS)
|
||||
.setTemplate(EndTemplates.PLATE_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndBlocks.TERMINITE.boots)
|
||||
.setAddition(EndItems.AETERNIUM_FORGED_PLATE)
|
||||
.build();
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("thallasium_anvil_updrade"), EndBlocks.TERMINITE.anvilBlock.asItem())
|
||||
.setPrimaryInputAndUnlock(EndBlocks.THALLASIUM.anvilBlock.asItem())
|
||||
.setAddition(EndBlocks.TERMINITE.block)
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("aeternium_sword_handle"), EndItems.AETERNIUM_SWORD_HANDLE)
|
||||
.setTemplate(EndTemplates.TERMINITE_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndItems.LEATHER_WRAPPED_STICK)
|
||||
.setAddition(EndBlocks.TERMINITE.ingot)
|
||||
.build();
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("terminite_anvil_updrade"), EndBlocks.AETERNIUM_ANVIL.asItem())
|
||||
.setPrimaryInputAndUnlock(EndBlocks.TERMINITE.anvilBlock.asItem())
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("thallasium_anvil_updrade"), EndBlocks.TERMINITE.anvilBlock)
|
||||
.setTemplate(EndTemplates.TERMINITE_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndBlocks.THALLASIUM.anvilBlock)
|
||||
.setAddition(EndBlocks.TERMINITE.ingot)
|
||||
.build();
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("terminite_anvil_updrade"), EndBlocks.AETERNIUM_ANVIL)
|
||||
.setTemplate(EndTemplates.AETERNIUM_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndBlocks.TERMINITE.anvilBlock)
|
||||
.setAddition(EndItems.AETERNIUM_INGOT)
|
||||
.build();
|
||||
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("armored_elytra"), EndItems.ARMORED_ELYTRA)
|
||||
.setTemplate(EndTemplates.AETERNIUM_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(Items.ELYTRA)
|
||||
.setAddition(EndItems.AETERNIUM_INGOT)
|
||||
.build();
|
||||
|
||||
|
||||
BCLRecipeBuilder.smithing(BetterEnd.makeID("netherite_hammer"), EndItems.NETHERITE_HAMMER)
|
||||
.setTemplate(EndTemplates.NETHERITE_UPGRADE)
|
||||
.setPrimaryInputAndUnlock(EndItems.DIAMOND_HAMMER)
|
||||
.setAddition(Items.NETHERITE_INGOT)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -611,7 +611,8 @@ public class EndBlocks {
|
|||
MapColor.COLOR_BLUE,
|
||||
EndToolMaterial.THALLASIUM,
|
||||
EndArmorMaterial.THALLASIUM,
|
||||
EndToolMaterial.THALLASIUM.getLevel()
|
||||
EndToolMaterial.THALLASIUM.getLevel(),
|
||||
EndTemplates.THALLASIUM_UPGRADE
|
||||
);
|
||||
|
||||
public static final MetalMaterial TERMINITE = MetalMaterial.makeOreless(
|
||||
|
@ -621,7 +622,8 @@ public class EndBlocks {
|
|||
9F,
|
||||
EndToolMaterial.TERMINITE,
|
||||
EndArmorMaterial.TERMINITE,
|
||||
EndToolMaterial.TERMINITE.getLevel()
|
||||
EndToolMaterial.TERMINITE.getLevel(),
|
||||
EndTemplates.TERMINITE_UPGRADE
|
||||
);
|
||||
public static final Block AETERNIUM_BLOCK = registerBlock("aeternium_block", new AeterniumBlock());
|
||||
public static final Block CHARCOAL_BLOCK = registerBlock("charcoal_block", new CharcoalBlock());
|
||||
|
|
108
src/main/java/org/betterx/betterend/registry/EndTemplates.java
Normal file
108
src/main/java/org/betterx/betterend/registry/EndTemplates.java
Normal file
|
@ -0,0 +1,108 @@
|
|||
package org.betterx.betterend.registry;
|
||||
|
||||
import org.betterx.bclib.recipes.SmithingTemplates;
|
||||
import org.betterx.betterend.BetterEnd;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.world.item.SmithingTemplateItem;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class EndTemplates {
|
||||
static final ResourceLocation EMPTY_SLOT_STICK = BetterEnd.makeID("item/empty_slot_stick");
|
||||
static final ResourceLocation EMPTY_SLOT_HANDLE = BetterEnd.makeID("item/empty_slot_handle");
|
||||
static final ResourceLocation EMPTY_SLOT_SWORD_HANDLE = BetterEnd.makeID("item/empty_slot_sword_handle");
|
||||
static final ResourceLocation EMPTY_SLOT_SWORD_BLADE = BetterEnd.makeID("item/empty_slot_sword_blade");
|
||||
static final ResourceLocation EMPTY_SLOT_PLATE = BetterEnd.makeID("item/empty_slot_plate");
|
||||
static final ResourceLocation EMPTY_SLOT_HAMMER = BetterEnd.makeID("item/empty_slot_hammer");
|
||||
|
||||
static final ResourceLocation EMPTY_SLOT_HAMMER_HEAD = BetterEnd.makeID("item/empty_slot_hammer_head");
|
||||
static final ResourceLocation EMPTY_SLOT_PICKAXE_HEAD = BetterEnd.makeID("item/empty_slot_pickaxe_head");
|
||||
static final ResourceLocation EMPTY_SLOT_AXE_HEAD = BetterEnd.makeID("item/empty_slot_axe_head");
|
||||
static final ResourceLocation EMPTY_SLOT_HOE_HEAD = BetterEnd.makeID("item/empty_slot_hoe_head");
|
||||
static final ResourceLocation EMPTY_SLOT_SHOVEL_HEAD = BetterEnd.makeID("item/empty_slot_shovel_head");
|
||||
static final ResourceLocation EMPTY_SLOT_ANVIL = BetterEnd.makeID("item/empty_slot_anvil");
|
||||
static final ResourceLocation EMPTY_SLOT_ELYTRA = BetterEnd.makeID("item/empty_slot_elytra");
|
||||
|
||||
|
||||
public static final SmithingTemplateItem HANDLE_ATTACHMENT = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("handle_attachment"),
|
||||
List.of(
|
||||
EMPTY_SLOT_HAMMER_HEAD,
|
||||
EMPTY_SLOT_PICKAXE_HEAD,
|
||||
EMPTY_SLOT_AXE_HEAD,
|
||||
EMPTY_SLOT_HOE_HEAD,
|
||||
EMPTY_SLOT_SHOVEL_HEAD
|
||||
),
|
||||
List.of(EMPTY_SLOT_STICK)
|
||||
);
|
||||
public static final SmithingTemplateItem LEATHER_HANDLE_ATTACHMENT = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("leather_handle_attachment"),
|
||||
List.of(
|
||||
EMPTY_SLOT_HAMMER_HEAD,
|
||||
EMPTY_SLOT_PICKAXE_HEAD,
|
||||
EMPTY_SLOT_AXE_HEAD,
|
||||
EMPTY_SLOT_HOE_HEAD,
|
||||
EMPTY_SLOT_SHOVEL_HEAD
|
||||
),
|
||||
List.of(EMPTY_SLOT_HANDLE)
|
||||
);
|
||||
|
||||
public static final SmithingTemplateItem TOOL_ASSEMBLY = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("tool_assembly"),
|
||||
List.of(
|
||||
EMPTY_SLOT_SWORD_BLADE
|
||||
),
|
||||
List.of(EMPTY_SLOT_SWORD_HANDLE)
|
||||
);
|
||||
|
||||
public static final SmithingTemplateItem PLATE_UPGRADE = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("plate_upgrade"),
|
||||
SmithingTemplates.ARMOR,
|
||||
List.of(EMPTY_SLOT_PLATE)
|
||||
);
|
||||
|
||||
public static final SmithingTemplateItem THALLASIUM_UPGRADE = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("thallasium_upgrade"),
|
||||
List.of(EMPTY_SLOT_STICK),
|
||||
List.of(SmithingTemplates.EMPTY_SLOT_INGOT)
|
||||
);
|
||||
|
||||
public static final SmithingTemplateItem TERMINITE_UPGRADE = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("terminite_upgrade"),
|
||||
List.of(EMPTY_SLOT_ANVIL, EMPTY_SLOT_STICK),
|
||||
List.of(SmithingTemplates.EMPTY_SLOT_INGOT)
|
||||
);
|
||||
|
||||
public static final SmithingTemplateItem AETERNIUM_UPGRADE = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("aeternium_upgrade"),
|
||||
List.of(EMPTY_SLOT_ANVIL, EMPTY_SLOT_ELYTRA),
|
||||
List.of(SmithingTemplates.EMPTY_SLOT_INGOT)
|
||||
);
|
||||
|
||||
|
||||
public static final SmithingTemplateItem NETHERITE_UPGRADE = EndItems
|
||||
.getItemRegistry()
|
||||
.registerSmithingTemplateItem(
|
||||
BetterEnd.makeID("netherite_upgrade"),
|
||||
List.of(EMPTY_SLOT_HAMMER),
|
||||
List.of(SmithingTemplates.EMPTY_SLOT_INGOT)
|
||||
);
|
||||
|
||||
public static void ensureStaticallyLoaded() {
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue