ModItemTier.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package me.km.items;
  2. import java.util.function.Supplier;
  3. import net.minecraft.item.Items;
  4. import net.minecraft.item.IItemTier;
  5. import net.minecraft.item.crafting.Ingredient;
  6. import net.minecraft.util.LazyValue;
  7. public enum ModItemTier implements IItemTier
  8. {
  9. COPPER(1, 161, 6.0f, 1.0f, 18, () -> Ingredient.fromItems(ModItems.copperIngot)),
  10. BRONZE(2, 208, 7.0f, 1.5f, 15, () -> Ingredient.fromItems(ModItems.bronzeIngot)),
  11. REDSTONE(0, 59, 1.0f, 0.0f, 22, () -> Ingredient.fromItems(Items.REDSTONE)),
  12. SILVER(2, 250, 5.0f, 2.0f, 20, () -> Ingredient.fromItems(ModItems.silverIngot)),
  13. EMERALD(0, 1248, 7.0f, 2.5f, 10, () -> Ingredient.fromItems(Items.EMERALD)),
  14. LAPIS(0, 131, 4.0f, 1.0f, 15, () -> Ingredient.fromItems(Items.LAPIS_LAZULI));
  15. private final int harvestLevel;
  16. private final int maxUses;
  17. private final float efficiency;
  18. private final float attackDamage;
  19. private final int enchantability;
  20. private final LazyValue<Ingredient> repairMaterial;
  21. private ModItemTier(int harvestLevelIn, int maxUsesIn, float efficiencyIn, float attackDamageIn, int enchantabilityIn, Supplier<Ingredient> repairMaterialIn)
  22. {
  23. this.harvestLevel = harvestLevelIn;
  24. this.maxUses = maxUsesIn;
  25. this.efficiency = efficiencyIn;
  26. this.attackDamage = attackDamageIn;
  27. this.enchantability = enchantabilityIn;
  28. this.repairMaterial = new LazyValue<>(repairMaterialIn);
  29. }
  30. @Override
  31. public int getMaxUses()
  32. {
  33. return this.maxUses;
  34. }
  35. @Override
  36. public float getEfficiency()
  37. {
  38. return this.efficiency;
  39. }
  40. @Override
  41. public float getAttackDamage()
  42. {
  43. return this.attackDamage;
  44. }
  45. @Override
  46. public int getHarvestLevel()
  47. {
  48. return this.harvestLevel;
  49. }
  50. @Override
  51. public int getEnchantability()
  52. {
  53. return this.enchantability;
  54. }
  55. @Override
  56. public Ingredient getRepairMaterial()
  57. {
  58. return this.repairMaterial.getValue();
  59. }
  60. }