iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0

食物

Minecraft中有著多樣化的食物,蛋豆魚肉樣樣都有,每種食物都有自己的飽食度跟飽和度,像是毒馬鈴薯、牛奶與腐肉還有特殊效果,我們也可以透過模組自己做一個食物出來。

我們在item資料夾下建立一個新的class叫ModFoodComponents,在這個class中我們這樣寫

package net.como.item;

import net.minecraft.item.FoodComponent;

public static final FoodComponent MEAT_OF_THE_NINE_HEAD_PHOENIXES = new FoodComponent.Builder().hunger(6).saturationModifier(0.25f)
            .statusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST,100),0.5f).build();

我們宣告一個靜態常數MEAT_OF_THE_NINE_HEAD_PHOENIXES,並建立一個FoodComponent.Builder的實例,hunger代表吃下這個食物會回復多少飽食度,saturationModifier代表食物的飽和度,飽和度決定了飽食度的下降速度,statusEffect代表這個食物有機會給予特殊效果,StatusEffectInstance是一個實例,代表一個效果,這裡是HEALTH_BOOST效果,這個效果維持100tick,並且有50%的機會獲得,最後build()建立了這個實例,並將前面的數值設定綁定到新的實例中。

之後我們依然要在ModItem中加入這個新ITEM

    public static final Item Meat_of_the_nine_head_phoenixes = registerItem("meat_of_the_nine_head_phoenixes",
            new Item(new FabricItemSettings().food(ModFoodComponents.MEAT_OF_THE_NINE_HEAD_PHOENIXES)));

這裡比較不同的地方是new FabricItemSetting後面接了一個.food,然後加入剛剛設定的ModFoodComponents.MEAT_OF_THE_NINE_HEAD_PHOENIXES,這樣他就知道我們的新物品是一個食物,並且相關的數值是多少。

這樣就只剩Lang跟Model還有紋理了,不過這次我們的食物是一塊神話生物 "九鳳"的肉,總不可能跟原版的雞肉長一樣吧,但是我的美術細胞不能說是一無是處,可以說是完全沒有,我自己畫出來的肉像是在廚餘裡放三個月一樣,所以我們只能借助神奇的網路工具,先到網路上找一塊肉的圖片,然後我們放到這個網路工具上。像素化工具
https://ithelp.ithome.com.tw/upload/images/20240904/20161797E8XPojoHpH.png

https://ithelp.ithome.com.tw/upload/images/20240904/20161797ipGbjbx2sc.png

我們就有一個基礎的像素肉了,接下來我們可以透過小畫家來稍微修改這塊肉,讓他看起來美味一點,不過食物的部分就先到這邊

https://ithelp.ithome.com.tw/upload/images/20240904/201617972CIP2INFgs.png
https://ithelp.ithome.com.tw/upload/images/20240904/20161797RlIFkmWv63.png


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

尚未有邦友留言

立即登入留言