Skip to content

Commit

Permalink
Do not set a default for description in itemdef table (#10559)
Browse files Browse the repository at this point in the history
* Do not set a default for description in itemdef table

* improve documentation
  • Loading branch information
Desour authored Nov 10, 2020
1 parent fca4db4 commit be3fe16
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
4 changes: 1 addition & 3 deletions builtin/game/register.lua
Original file line number Diff line number Diff line change
Expand Up @@ -118,11 +118,9 @@ function core.register_item(name, itemdef)
end
itemdef.name = name

-- default description to item name
itemdef.description = itemdef.description or name
-- default short_description to first line of description
itemdef.short_description = itemdef.short_description or
itemdef.description:gsub("\n.*","")
(itemdef.description or ""):gsub("\n.*","")

-- Apply defaults and add to registered_* table
if itemdef.type == "node" then
Expand Down
21 changes: 16 additions & 5 deletions doc/lua_api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2023,10 +2023,10 @@ Item metadata only contains a key-value store.

Some of the values in the key-value store are handled specially:

* `description`: Set the item stack's description. Defaults to
`idef.description`.
* `short_description`: Set the item stack's short description. Defaults
to `idef.short_description`.
* `description`: Set the item stack's description.
See also: `get_description` in [`ItemStack`]
* `short_description`: Set the item stack's short description.
See also: `get_short_description` in [`ItemStack`]
* `color`: A `ColorString`, which sets the stack's color.
* `palette_index`: If the item has a palette, this is used to get the
current color from the palette.
Expand Down Expand Up @@ -5983,8 +5983,18 @@ an itemstring, a table or `nil`.
stack).
* `set_metadata(metadata)`: (DEPRECATED) Returns true.
* `get_description()`: returns the description shown in inventory list tooltips.
* The engine uses the same as this function for item descriptions.
* Fields for finding the description, in order:
* `description` in item metadata (See [Item Metadata].)
* `description` in item definition
* item name
* `get_short_description()`: returns the short description.
* Unlike the description, this does not include new lines.
* The engine uses the same as this function for short item descriptions.
* Fields for finding the short description, in order:
* `short_description` in item metadata (See [Item Metadata].)
* `short_description` in item definition
* first line of the description (See `get_description()`.)
* `clear()`: removes all items from the stack, making it empty.
* `replace(item)`: replace the contents of this stack.
* `item` can also be an itemstring or table.
Expand Down Expand Up @@ -7085,11 +7095,12 @@ Used by `minetest.register_node`, `minetest.register_craftitem`, and
{
description = "Steel Axe",
-- Can contain new lines. "\n" has to be used as new line character.
-- Defaults to the item's name.
-- See also: `get_description` in [`ItemStack`]

short_description = "Steel Axe",
-- Must not contain new lines.
-- Defaults to the first line of description.
-- See also: `get_short_description` in [`ItemStack`]

groups = {},
-- key = name, value = rating; rating = 1..3.
Expand Down

0 comments on commit be3fe16

Please sign in to comment.