page. Mods can use it to add additional formspec elements onto the default
creative inventory formspec to be drawn after each update.
+Group overrides can be used for any registered item, node or tool. Use one of
+the groups stated below to pick which category it will appear in.
+
+ node = 1 -- Appears in the Nodes category
+ tool = 1 -- Appears in the Tools category
+ craftitem = 1 -- Appears in the Items category
+
Chests API
----------
* A table indexed by player name to keep track of who opened what chest.
* Key: The name of the player.
* Value: A table containing information about the chest the player is looking at.
- e.g `{ pos = {1, 1, 1}, sound = null, swap = "chest" }`
+ e.g `{ pos = {1, 1, 1}, sound = null, swap = "default:chest" }`
`default.chest.register_chest(name, def)`
* Registers new chest
- * `name` Name for chest
+ * `name` Name for chest e.g. "default:chest"
* `def` See [#Chest Definition]
### Chest Definition
{
description = "", -- Description of seed item
+ harvest_description = "", -- Description of harvest item
+ -- (optional, derived automatically if not provided)
inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image
steps = 8, -- How many steps the plant has to grow, until it can be harvested
-- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber)
Players API
-----------
-The player API can register player models and update the player's appearence
+The player API can register player models and update the player's appearance.
* `player_api.register_model(name, def)`
* Register a new model to be used by players
* Any of the fields of the returned table may be nil.
* player: PlayerRef
+* `player_api.player_attached`
+ * A table that maps a player name to a boolean.
+ * If the value for a given player is set to true, the default player
+ animations (walking, digging, ...) will no longer be updated.
+ Knockback from damage is also prevented for that player.
+
### Model Definition
{
-- <anim_name> = {x = <start_frame>, y = <end_frame>},
foo = {x = 0, y = 19},
bar = {x = 20, y = 39},
- -- ...
+ -- ...
},
collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, -- In nodes from feet position
stepheight = 0.6, -- In nodes
* `sounds`: See [#Default sounds]
* `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition]
-`stairs.register_stair_inner(subname, recipeitem, groups, images, description, sounds, worldaligntex)`
+`stairs.register_stair_inner(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description)`
* Registers an inner corner stair
* `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_inner_subname"
* `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil`
* `groups`: See [Known damage and digging time defining groups]
* `images`: See [Tile definition]
- * `description`: Used for the description field in the stair's definition
+ * `description`: Used for the description field in the stair's definition with "Inner" prepended
* `sounds`: See [#Default sounds]
* `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition]
+ * `full_description`: Overrides the description, bypassing string concatenation. This is useful for translation. (optional)
-`stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex)`
+`stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description)`
* Registers an outer corner stair
* `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_outer_subname"
* `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil`
* `groups`: See [Known damage and digging time defining groups]
* `images`: See [Tile definition]
- * `description`: Used for the description field in the stair's definition
+ * `description`: Used for the description field in the stair's definition with "Outer" prepended
* `sounds`: See [#Default sounds]
* `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition]
+ * `full_description`: Overrides the description, bypassing string concatenation. This is useful for translation. (optional)
`stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds, worldaligntex)`
### Pane definition
{
- textures = {"texture for sides", (unused), "texture for top and bottom"}, -- More tiles aren't supported
+ textures = {
+ "texture for front and back",
+ (unused),
+ "texture for the 4 edges"
+ }, -- More tiles aren't supported
groups = {group = rating}, -- Uses the known node groups, see [Known damage and digging time defining groups]
sounds = SoundSpec, -- See [#Default sounds]
recipe = {{"","","","","","","","",""}}, -- Recipe field only
if `nil` is returned, it is assumed that the wielder did not have
permissions to create a key for this node, and no key is created.
+
+`default.register_craft_metadata_copy(ingredient, result)`
+----------------------------------------------------------
+
+This function registers a shapeless recipe that takes `ingredient`
+and `result` as input and outputs `result`.
+
+The metadata of the input `result` is copied to the output `result`.