64 lines
2.0 KiB
Java
64 lines
2.0 KiB
Java
package tech.nevets.vplus.tools;
|
|
|
|
import java.util.function.Supplier;
|
|
import net.minecraft.item.ItemConvertible;
|
|
import net.minecraft.item.Items;
|
|
import net.minecraft.item.ToolMaterial;
|
|
import net.minecraft.recipe.Ingredient;
|
|
import net.minecraft.util.Lazy;
|
|
import tech.nevets.vplus.items.VPItems;
|
|
|
|
public enum ToolMaterials implements ToolMaterial {
|
|
COPPER (2, 200, 5.0F, 3.0F, 20, () -> {
|
|
return Ingredient.ofItems(new ItemConvertible[]{Items.COPPER_INGOT});
|
|
}),
|
|
EMERALD(3, 750, 7.0F, 4.0F, 30, () -> {
|
|
return Ingredient.ofItems(new ItemConvertible[]{Items.EMERALD});
|
|
}),
|
|
PLATINUM(4, 3000, 10.0F, 6.0F, 40, () -> {
|
|
return Ingredient.ofItems(new ItemConvertible[]{VPItems.PLATINUMINGOT});
|
|
}),
|
|
RUBY(4, 5000, 12.0F, 10.0F, 100, () -> {
|
|
return Ingredient.ofItems(new ItemConvertible[]{VPItems.RUBY});
|
|
});
|
|
|
|
private final int miningLevel;
|
|
private final int itemDurability;
|
|
private final float miningSpeed;
|
|
private final float attackDamage;
|
|
private final int enchantability;
|
|
private final Lazy<Ingredient> repairIngredient;
|
|
private ToolMaterials(int miningLevel, int itemDurability, float miningSpeed, float attackDamage, int enchantability, Supplier<Ingredient> repairIngredient) {
|
|
this.miningLevel = miningLevel;
|
|
this.itemDurability = itemDurability;
|
|
this.miningSpeed = miningSpeed;
|
|
this.attackDamage = attackDamage;
|
|
this.enchantability = enchantability;
|
|
this.repairIngredient = new Lazy(repairIngredient);
|
|
}
|
|
|
|
public int getDurability() {
|
|
return this.itemDurability;
|
|
}
|
|
|
|
public float getMiningSpeedMultiplier() {
|
|
return this.miningSpeed;
|
|
}
|
|
|
|
public float getAttackDamage() {
|
|
return this.attackDamage;
|
|
}
|
|
|
|
public int getMiningLevel() {
|
|
return this.miningLevel;
|
|
}
|
|
|
|
public int getEnchantability() {
|
|
return this.enchantability;
|
|
}
|
|
|
|
public Ingredient getRepairIngredient() {
|
|
return (Ingredient)this.repairIngredient.get();
|
|
}
|
|
}
|