iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0

工具

今天我們來做一組以隕鐵為原料的工具,首先我們需要先將Siderite作為工具原料
在item資料夾底下建立ModToolMaterial,然後我們這樣寫

public enum ModToolMaterial implements ToolMaterial {
    SIDERITE(4,2000,4.5f,3.5f,26,()-> Ingredient.ofItems(Moditems.Siderite));
    private final int miningLevel;
    private final int itemDurability;
    private final float miningSpeed;
    private final float attackDamage;
    private final int enchantability;
    private final Supplier<Ingredient> repairIngredient;

    ModToolMaterial(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 = repairIngredient;
    }
    @Override
    public int getDurability() {
        return this.itemDurability;
    }

    @Override
    public float getMiningSpeedMultiplier() {
        return this.miningSpeed;
    }

    @Override
    public float getAttackDamage() {
        return this.attackDamage;
    }

    @Override
    public int getMiningLevel() {
        return this.miningLevel;
    }

    @Override
    public int getEnchantability() {
        return this.enchantability;
    }

    @Override
    public Ingredient getRepairIngredient() {
        return this.repairIngredient.get();
    }
}

首先 ModToolMaterial 是一個枚舉類型,實現了ToolMaterial介面,目的是設置自定義的材料的數值,像是挖掘速度等等。
SIDERITE(4,2000,4.5f,3.5f,26,()-> Ingredient.ofItems(Moditems.Siderite));
這一行分別定義了他的挖掘等級、物品耐久、挖掘速度、攻擊傷害、附魔性以及修理工具時所需要的原料。
這裡挖掘等級為4,作為比較,鑽石的挖掘等級為3,所以這個工具比鑽石高一階。
2000代表物品的耐久度,這是蠻高的耐久。
4.5F代表挖掘速度,3.5F代表傷害、26代表物品獲得強力附魔的機率、最後是Siderite作為修復用的材料

最後我們一一返回這些設定


上一篇
Minecraft Fabric Mod 模組製作 DAY20
下一篇
Minecraft Fabric Mod 模組製作 DAY22
系列文
Minecraft JAVA Fabric 模組製作 : 成為真正的創世神28
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言