Jump to content

Tsurayamiku

Members
  • Posts

    8
  • Joined

  • Last visited

Everything posted by Tsurayamiku

  1. I changed to Supplier, but got 2 errors: "The return type is incompatible with IArmorMaterial.getRepairMaterial()" and "The method fromItems(IItemProvider...) in the type Ingredient is not applicable for the arguments (Supplier<Item>)" package com.tsurayamiku.hwga.lists; import org.apache.logging.log4j.util.Supplier; import com.tsurayamiku.hwga.Main; import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.item.IArmorMaterial; import net.minecraft.item.Item; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; public enum ArmourMaterialList implements IArmorMaterial{ shukuryo("shukuryo", 400, new int[] {8, 10, 9, 7}, 25, ItemList.SHUKURYO_INGOT.get(), "item.armor.equip_netherite", 10, 10); private static final int[] max_damage_array = new int[] {13, 15, 16, 11}; private String name, equipSound; private int durability, enchantability, knockbackResistance; private Supplier<Item> repairItem; private int[] damageReductionAmounts; private float toughness; private ArmourMaterialList(String name, int durability, int[] damageReductionAmounts, int enchantability, Item repairItem, String equipSound, float toughness, int knockbackResistance) { this.name = name; this.durability = durability; this.damageReductionAmounts = damageReductionAmounts; this.enchantability = enchantability; this.equipSound = equipSound; this.toughness = toughness; this.repairItem = (Supplier<Item>) repairItem; this.knockbackResistance = knockbackResistance; } @Override public int getDurability(EquipmentSlotType slot) { return max_damage_array[slot.getIndex()] * this.durability; } @Override public int getDamageReductionAmount(EquipmentSlotType slot) { return this.damageReductionAmounts[slot.getIndex()]; } @Override public int getEnchantability() { return this.enchantability; } @Override public SoundEvent getSoundEvent() { return new SoundEvent(new ResourceLocation(equipSound)); } @Override public Supplier<Ingredient> getRepairMaterial() { return (Supplier<Ingredient>) Ingredient.fromItems(this.repairItem); } @Override public String getName() { return Main.MOD_ID + ":" + this.name; } @Override public float getToughness() { return this.toughness; } @Override public float getKnockbackResistance() { return this.knockbackResistance; } }
  2. package com.tsurayamiku.hwga.lists; import com.tsurayamiku.hwga.Main; import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.item.IArmorMaterial; import net.minecraft.item.Item; import net.minecraft.item.crafting.Ingredient; import net.minecraft.util.ResourceLocation; import net.minecraft.util.SoundEvent; public enum ArmourMaterialList implements IArmorMaterial{ shukuryo("shukuryo", 400, new int[] {8, 10, 9, 7}, 25, ItemList.SHUKURYO.get(), "item.armor.equip_netherite", 10, 10); private static final int[] max_damage_array = new int[] {13, 15, 16, 11}; private String name, equipSound; private int durability, enchantability, knockbackResistance; private Item repairItem; private int[] damageReductionAmounts; private float toughness; private ArmourMaterialList(String name, int durability, int[] damageReductionAmounts, int enchantability, Item repairItem, String equipSound, float toughness, int knockbackResistance) { this.name = name; this.durability = durability; this.damageReductionAmounts = damageReductionAmounts; this.enchantability = enchantability; this.equipSound = equipSound; this.toughness = toughness; this.repairItem = repairItem; this.knockbackResistance = knockbackResistance; } @Override public int getDurability(EquipmentSlotType slot) { return max_damage_array[slot.getIndex()] * this.durability; } @Override public int getDamageReductionAmount(EquipmentSlotType slot) { return this.damageReductionAmounts[slot.getIndex()]; } @Override public int getEnchantability() { return this.enchantability; } @Override public SoundEvent getSoundEvent() { return new SoundEvent(new ResourceLocation(equipSound)); } @Override public Ingredient getRepairMaterial() { return Ingredient.fromItems(this.repairItem); } @Override public String getName() { return Main.MOD_ID + ":" + this.name; } @Override public float getToughness() { return this.toughness; } @Override public float getKnockbackResistance() { return this.knockbackResistance; } }
  3. I'm already using get (). In the part where I must pass the item to be used as repairMaterial I am putting "ItemList.SHUKURYO.get ()", but it is still not working.
  4. I'm calling on the ArmorMaterialList enum class, at the top, with the other properties. shukuryo("shukuryo", 400, new int[] {8, 10, 9, 7}, 25, ItemList.SHUKURYO.get(), "item.armor.equip_netherite", 10, 10);
  5. I start develop my mod withou DeferredRegister, following the tutorials, but now I'm updating to DeferredRegister and I get stuck in my armor. I created a enum for Armor Material extending IArmorMaterial and all works correctly, except for the repair material. After I change all the items to DeferredRegister and run the game I got the error "Registry Object not present". I didn't got this error before update to DeferredRegisters. The Eclipse DOESN'T shows any error when I changed the ItemList.shukuryo to ItemList.SHUKURYO.get(). But the game doesn't load completely and gives the error. I can't change the type of repairMaterial because it requires ingridient. What changes when I create an item with "public static Item" to "public RegistryObject<Item>"? How do I the correctly DeferredRegister item to the repairMaterial?
  6. I found a way to create, damage and return item with durability decrease. Thank you a lot for help me!!
  7. I'm new at minecraft modding and I can't find any tutorial to create an item with durability for craft. My idea is create a saw that gives more wood planks when you put with a log. The way I'm creating the items: public static final RegistryObject<Item> EXAMPLE_ITEM = ITEMS.register("example_item", () -> new Item(new Item.Properties().group(ItemGroup.MISC))); I also have a class to special items. I saw that have a method called "canContinueUsing". I guess that's what I need, but I can make it work. But how I create a container item and how I damage it when used to craft and make stay in grid after craft result?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.