BetterFood 行為
BetterFood 使用考慮飢餓度的食物選擇,而不是簡單地優先吃掉最有營養的物品。
觸發時機
BetterFood 以最高的事件優先級回應原版的 FoodLevelChangeEvent,且僅在玩家飢餓值下降時生效。玩家必須擁有 betterfood.user 權限,且不能透過 /betterfood toggleEating 關閉自動進食。
選擇規則
當外掛程式決定要吃什麼時,會分兩階段處理:
- 理想候選物 – 先尋找最適合缺失飢餓值的單一最佳食物:
- 優先選擇飢餓值最高、但仍可納入缺失飢餓值範圍的食物(飽和度作為平局決勝條件)。
- 如果沒有完全合適的,則退而選擇溢出最小的食物(飽和度作為平局決勝條件)。
- 物品欄比對 – 接著掃描玩家的物品欄儲存格,尋找該理想食物。如果玩家實際上沒有攜帶,外掛程式會遍歷整個物品欄,對玩家擁有的每種支援食物套用相同的契合度/溢出比較,然後挑選最佳可用選項。
其目的是避免在小幅飢餓缺口時浪費強效食物,而當較弱的選項就能應付時優先選擇後者。
進食後,恢復的飢餓值會被限制在 20 以內,飽和度則會被限制為當前飢餓值,符合原版限制。
受保護的物品
當前程式碼保護的遠不只是重新命名或帶有描述的食物。BetterFood 會避免自動消耗具有以下自訂物品特徵的食物:
- 自訂名稱或物品名稱
- 描述(lore)
- 自訂模型資料
- 附魔
- 屬性修飾符
- 不可破壞狀態
- 持久資料容器標籤
這旨在降低誤食外掛程式物品或裝飾物品的可能性。
支援的食物
BetterFood 會自動消耗以下食物:
| 食物 | 恢復飢餓值 | 恢復飽和度 |
|---|---|---|
| 蘋果 | 4 | 2.4 |
| 烤馬鈴薯 | 5 | 6.0 |
| 甜菜根 | 1 | 1.2 |
| 甜菜根湯 | 6 | 7.2 |
| 麵包 | 5 | 6.0 |
| 胡蘿蔔 | 3 | 3.6 |
| 牛排 | 8 | 12.8 |
| 熟雞肉 | 6 | 7.2 |
| 熟鱈魚 | 5 | 6.0 |
| 熟羊肉 | 6 | 9.6 |
| 熟豬排 | 8 | 12.8 |
| 熟兔肉 | 5 | 6.0 |
| 熟鮭魚 | 6 | 9.6 |
| 餅乾 | 2 | 0.4 |
| 乾海帶 | 1 | 0.6 |
| 發光莓果 | 2 | 0.4 |
| 金胡蘿蔔 | 6 | 14.4 |
| 西瓜片 | 2 | 1.2 |
| 蘑菇煲 | 6 | 7.2 |
| 馬鈴薯 | 1 | 0.6 |
| 南瓜派 | 8 | 4.8 |
| 兔肉煲 | 10 | 12.0 |
| 甜莓果 | 2 | 0.4 |
排除的食物
以下可食用物品被刻意排除在自動進食之外。這些是生肉、特殊物品或具有負面或不可預測效果的食物:
- 生牛肉
- 蛋糕
- 生雞肉
- 紫頌果
- 生鱈魚
- 附魔金蘋果
- 金蘋果
- 蜂蜜瓶
- 生羊肉
- 毒馬鈴薯
- 生豬排
- 河豚
- 生兔肉
- 腐肉
- 生鮭魚
- 蜘蛛眼
- 迷之燉菜
- 熱帶魚
任何較新 Minecraft 版本新增、但尚未分類的可食用材料也會被跳過。如果外掛程式在啟動時偵測到未分類的可食用材料,會記錄警告。
容器殘留物
如果消耗的食物會留下殘留物品,BetterFood 會保留它。
範例包括碗或其他可返回容器的食物。殘留物會返還到物品欄中,若物品欄空間不足則會掉落在玩家身旁。