VanillaPlus/src/main/java/tech/nevets/vplus/tools/ToolMaterials.java
Steven Tracey 081b744755 Updates!
Updated to 1.18.1, added copper items, new recipes
2022-01-17 23:25:39 -05:00

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();
}
}