@@ -0,0 +1,67 @@
|
||||
package dev.bigduckie.simplehammers.material;
|
||||
|
||||
import dev.bigduckie.simplehammers.data.HammerData;
|
||||
import net.minecraft.item.ToolMaterial;
|
||||
import net.minecraft.recipe.Ingredient;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
public class CustomToolMaterial implements ToolMaterial {
|
||||
|
||||
private final int enchantability;
|
||||
private final float miningSpeedMultiplier;
|
||||
private final int durability;
|
||||
private final float attackDamage;
|
||||
private final int miningLevel;
|
||||
private final Ingredient ingredient;
|
||||
|
||||
public CustomToolMaterial(int enchantability, float miningSpeedMultiplier, int durability, float attackDamage, int miningLevel, Ingredient ingredient) {
|
||||
this.enchantability = enchantability;
|
||||
this.miningSpeedMultiplier = miningSpeedMultiplier;
|
||||
this.durability = durability;
|
||||
this.attackDamage = attackDamage;
|
||||
this.miningLevel = miningLevel;
|
||||
this.ingredient = ingredient;
|
||||
}
|
||||
|
||||
public static CustomToolMaterial from(HammerData data) {
|
||||
return new CustomToolMaterial(
|
||||
data.getEnchantability() == 0 ? 15 : data.getEnchantability(),
|
||||
data.getBlockBreakSpeed() == 0 ? 1 : data.getBlockBreakSpeed(),
|
||||
(data.getDurability() == 0 ? 500 : data.getDurability()) * dev.bigduckie.simplehammers.SimpleHammers.CONFIG.durabilityModifier,
|
||||
data.getAttackDamage() == 0 ? 4 : data.getAttackDamage(),
|
||||
data.getMiningLevel(),
|
||||
Ingredient.ofItems(Registries.ITEM.get(data.getRepairIngredient() == null ? new Identifier("iron_ingot") : data.getRepairIngredient()))
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getDurability() {
|
||||
return durability;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getMiningSpeedMultiplier() {
|
||||
return miningSpeedMultiplier;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float getAttackDamage() {
|
||||
return attackDamage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMiningLevel() {
|
||||
return miningLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnchantability() {
|
||||
return enchantability;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Ingredient getRepairIngredient() {
|
||||
return ingredient;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user