Posted March 13, 20196 yr I created subclass for ArmorMaterial, but it isn't a class, ArmorMaterial and ItemTier are Enum, so, how I can create new materials? Material (blocks) is final class, so I can't create a subclass for Material.
March 13, 20196 yr EnumHelper.addToolMaterial() and EnumHelper.addArmorMaterial() might be good to look at. You're just doing tool/armor materials right? If you need a block material as well, it uses a different approach. All 3 are different things.
March 14, 20196 yr Author 20 hours ago, Laike_Endaril said: EnumHelper.addToolMaterial() and EnumHelper.addArmorMaterial() might be good to look at. You're just doing tool/armor materials right? If you need a block material as well, it uses a different approach. All 3 are different things. In 1.13 EnumHelper is not exist
March 14, 20196 yr Create an Enum Class that implements IItemTier and copy everything from ItemTier and define your custom material type It can be done like this Spoiler public enum ItemModTier implements IItemTier { ZIP(3, 500, 8.0F, 4.0F, 12,() -> { return Ingredient.fromItems(ModItems.ZIP); }); private int harvestLevel; private int maxUses; private float efficiency; private float attackDamage; private int enchantability; private LazyLoadBase<Ingredient> repairMaterial; ItemModTier(int harvestLevel, int maxUses, float efficiency, float attackDamage, int enchantability, Supplier<Ingredient> ingredient) { this.harvestLevel = harvestLevel; this.maxUses = maxUses; this.efficiency = efficiency; this.attackDamage = attackDamage; this.enchantability = enchantability; this.repairMaterial = new LazyLoadBase<>(ingredient); } @Override public int getMaxUses() { return this.maxUses; } @Override public float getEfficiency() { return this.efficiency; } @Override public float getAttackDamage() { return this.attackDamage; } @Override public int getHarvestLevel() { return this.harvestLevel; } @Override public int getEnchantability() { return this.enchantability; } @Override public Ingredient getRepairMaterial() { return this.repairMaterial.getValue(); } }
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.