本章重點放在Item,主要是跟物品有關。
- Item.addCraftRecipe(物品ID, 合成出來的數量, 物品副ID, [合成的素材陣列])
用法:為物品添加合成表。
合成表陣列,每一個素材的格式為「"物品ID","所需數量","物品副ID"」,如此最多可以添加9個。
- Item.addFurnaceRecipe(物品ID, 燒出來的產物ID, 燒出來的產物副ID)
用法:為物品添加燒煉方法。
- Item.addShapedRecipe(物品ID, 合成出來的數量, 物品副ID, ,[變數陣列] ,[合成的素材陣列])
用法:為物品添加合成表,這個會比前面的好用些。
變數陣列只能為「"AAA","AAA","BBB"」其中的每個字員代表一個代號,代號可以自己換掉,若空一格則代表該格不需要放東西。這是在模擬合成台的九宮格。
合成的素材陣列則為「"A","物品ID","物品副ID"」即是用代號來對應物品,如此重複,最多可以用9個。
- Item.defineArmor(物品ID, "在物品欄裡的材質", 源碼, "裝備名稱", "裝備後的材質路徑", 防禦力, 耐久度, 裝甲代碼)
用法:添加新的裝備。
源碼填0即可。
裝甲代碼請參考modpescript_dump.txt裡ArmorType.XXX那邊,目前只有頭盔、胸甲、護腿、靴子。
- Item.getMaxDamage(物品ID)
用法:獲取該物品最大耐久度。
- Item.getMaxStackSize(物品ID)
用法:獲取該物品最大堆疊量。例如雪球是16、泥土是64。
- Item.getName(物品ID, 物品副ID, 布林值)
用法:獲取物品的名稱。
拿羊毛舉例,布林值若為true則回傳的結果為「tile.cloth.name」可以給ModPE.langEdit()用。
若為false則傳回目前語言下,該物品的名稱,即「羊毛」。
- Item.getTextureCoords(物品ID, 物品副ID)
用法:獲取該物品的材質圖片裡的座標(回傳的陣列內容分別為Y軸起點、X軸起點、Y軸終點、X軸終點、Y軸高度、X軸寬度)。
- Item.getUseAnimation(物品ID)
用法:獲取物品攻擊時使用的動畫。
- Item.internalNameToId("物品名稱")
用法:未知。
- Item.isValidItem(物品ID)
用法:檢測該物品是否有效(存在),傳回的是布林值。
- Item.setCategory(物品ID, 分類代碼)
用法:設置物品在合成台、背包裡顯示的分類。
分類代碼請參見modpescript_dump.txt裡ItemCategory.XXX的那邊。
- Item.setEnchantType(物品ID, 附魔代碼, 布林值)
用法:設置/刪除物品可以附的附魔。
布林值填true則為其添加這個附魔;false則刪除這個附魔。
- Item.setHandEquipped(物品ID, 布林值)
用法:設置物品拿在手上的姿勢是否像握劍一樣(直立)。
- Item.setMaxDamage(物品ID, 耐久度)
用法:設置物品的最大耐久度。
- Item.setProperties(物品ID, {JSON內容})
用法:給物品設置JSON形式的屬性,可以達到局部修改的效果。
Json內容的格式如下,這些屬性有沒有都沒關係:
{"icon": "遊戲內物品名稱",
"category": "分類代碼",
"use_animation": "使用的動畫",
"use_duration": 10,
"foil": true,
"hover_text_color": "顏色代碼",
"food": {
"nutrition": 5,
"saturation_modifier": "飢餓值上升幅度",
"is_meat": false
}use_duration為作用時間,foil為阻止原本效果,nutuition為回復量,is_meat為設置是否為肉類。
- Item.setStackedByData(物品ID, 布林值)
用法:給物品設置為是否照附ID堆疊,例如橡木和樺木的共用同一個ID,但是卻不會堆疊在一起。
true為照附ID;false為不照附ID。
- Item.setUseAnimation(物品ID, 動畫代碼)
用法:給物品設置攻擊時使用的動畫。
動畫代碼請參見modpescript_dump.txt裡UseAnimation.XXX那邊。
- Item.translatedNameToId("物品名稱")
用法:未知。
返回主函數列表
沒有留言:
張貼留言