Static methods for the Item API.
Methods
-
staticItem.addCraftRecipe(
id, quantity, damage, ingredients) -
Add a new crafting recipe.
Name Type Description idint the id of the item to make
quantityint the quantity of items to produce
damageint the damage value of the new item
ingredientsArray.<int> the items required to complete the recipe (max 9) as an array: [id1, qty1, dmg1, id2, qty2, dmg2, ...]
Example
// make a diamond sword from 1 coal [263, 1, 0] and 3 torches [50, 3, 0] var ingredients = [ 263, 1, 0, 50, 3, 0 ]; Item.addCraftRecipe(276, 1, 0, ingredients); -
staticItem.addFurnaceRecipe(
id, damage, source) -
Add a new smelting recipe.
Name Type Description idint the id of the item to make
damageint the damage value of the new item
sourceint the source ingredient
Example
// make a diamond sword from a stick Item.addFurnaceRecipe(276, 0, 280); -
staticItem.addShapedRecipe(
id, quantity, damage, keys, ingredients) -
Add a new smelting recipe.
Name Type Description idint the id of the item to make
quantityint the quantity of items to produce
damageint the damage value of the new item
keysArray.<string> the layout of the ingredient keys
ingredientsArray.<(string|int)> the ingredients
Example
Credit: Zhuowei Zhang
// make an enchantment table var ENCHANTMENT_TABLE_ID = 240; var currentWorkbenchX; var currentWorkbenchY; var currentWorkbenchZ; // define the table block with the textures in the following order: // bottom, top, south, north, west, east // in this case, the side textures are the same, and the top/bottom // textures are different. Block.defineBlock(ENCHANTMENT_TABLE_ID, "Enchantment Table", [ ["enchanting_table_bottom" , 0], ["enchanting_table_top" , 0], ["enchanting_table_side" , 0], ["enchanting_table_side" , 0], ["enchanting_table_side" , 0], ["enchanting_table_side" , 0] ]); Block.setShape(ENCHANTMENT_TABLE_ID, 0, 0, 0, 1, 3/4, 1); Block.setDestroyTime(ENCHANTMENT_TABLE_ID, 1); // add the shaped recipe to build the table Item.addShapedRecipe( // the item we're making ENCHANTMENT_TABLE_ID, 1, 0, // the keys in the shape of the recipe [ " b ", "dod", "ooo" ], // specify what each character represents. // b = book, d = diamond, o = obsidian [ "b", 340, 0, "d", 264, 0, "o", 49, 0 ] ); -
staticItem.defineArmor(
id, iconName, iconIndex, name, texture, damageReduce, maxDamage, type) -
Define custom armor.
Name Type Description idint the new, unique item id (see: Item IDs)
iconNamestring the name of the icon to use for this item
iconIndexint the index of the icon to use for this item
namestring the name of the new armor item
texturestring the texture to use for this item
damageReduceint how much damage is taken when hit
maxDamageint the maximum amount of damage the item can sustain
typeint the type of armor this item is
Example
Credit: Zhuowei Zhang
// WOOT! Zombie armor! Item.defineArmor(410 , "empty_armor_slot_helmet" , 0 , "Zombie mask" , "mob/zombie.png" , 1 , 10 , ArmorType.helmet); Item.defineArmor(411 , "empty_armor_slot_chestplate" , 0 , "Zombie shirt" , "mob/zombie.png" , 1 , 10 , ArmorType.chestplate); Item.defineArmor(412 , "empty_armor_slot_leggings" , 0 , "Zombie pants" , "mob/zombie.png" , 1 , 10 , ArmorType.leggings); Item.defineArmor(413 , "empty_armor_slot_boots" , 0 , "Zombie shoes" , "mob/zombie.png" , 1 , 10 , ArmorType.boots); function procCmd(cmd) { if (cmd == "zombiegear") { addItemInventory(411, 1); addItemInventory(412, 1); addItemInventory(413, 1); addItemInventory(414, 1); } } -
staticItem.getName(
id, data, raw){string} -
Return the name of an item.
Name Type Default Description idint the item id
dataint null optional additional data to describe item such as damage or sub-item
rawboolean false optional if the returned data should be in the raw form
Returns:
Type Description string - the item name
Example
// get data in raw form clientMessage(Item.getName(263, 0, true)); // prints "item.coal.name" // get data in normal form clientMessage(Item.getName(263, 0, false)); // prints "Coal" clientMessage(Item.getName(263, 1)); // prints "Charcoal" (item 263:1) -
staticItem.isValidItem(
id){boolean} -
Determine if an item is valid.
Name Type Description idint the item id
Returns:
Type Description boolean - true if the item is valid, false otherwise
Example
// see if coal is a valid item if (Item.isValidItem(263)) { clientMessage("Yay, let's make torches!"); } -
staticItem.setCategory(
id, category) -
Set the category for an item which will determine where it appears in the crafting table interface, as well as how it can be used (e.g., food can be eaten).
Name Type Description idint the id of the item to change
categoryint the new category the item will be assigned to
Example
// coal can be food, right? Item.setCategory(263, ItemCategory.FOOD); -
staticItem.setHandEquipped(
id, isHandEquipped) -
Set an item to render as a tool.
Name Type Description idint the item id
isHandEquippedboolean whether or not the item should be set as hand equipped
Example
// make custom item hand equipable var MY_CUSTOM_ITEM_ID = 220; Item.setHandEquipped(MY_CUSTOM_ITEM_ID, true); -
staticItem.setMaxDamage(
id, damage) -
Set the amount of damage an item can sustain when used (i.e., the number of times it can be used before it breaks).
Name Type Description idint the item id
damageint the maximum damage
Example
// who says wooden pick axes are useless? Item.setMaxDamage(270, 10000); -
staticItem.setProperties(
id, properties) -
Set custom propertires for an item using the same format as found in the items.json file.
Name Type Description idint the item ID
propertiesObject an object literal describing the new properties
Example
Credit: Zhuowei Zhang
// make zombie shoes edible Item.defineArmor(4014, "empty_armor_slot_boots", 0, "Zombie shoes", "mob/zombie.png", 1, 10, ArmorType.boots); Item.setCategory(4014, ItemCategory.FOOD); Player.addItemCreativeInv(4014, 1, 0); var shoesNutrition = 4; // anything that can be specified in items.json can be specified here Item.setProperties(4014, { "use_animation": "eat", "use_duration": 32, "food": { "nutrition": shoesNutrition, "saturation_modifier": "low", "is_meat": false } });