2016年5月8日 星期日

MCPE插件教學Part 3.7 - Item

(最後更新時間:2016/5/8)


本章重點放在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("物品名稱")

用法:未知。


    返回主函數列表

沒有留言:

張貼留言