Several small changes

This commit is contained in:
Zughy 2020-07-05 23:26:25 +00:00 committed by rubenwardy
parent cd1fea40a1
commit a635cc2c90
3 changed files with 19 additions and 13 deletions

View File

@ -28,7 +28,7 @@ you can also [download it in HTML form](https://gitlab.com/rubenwardy/minetest_m
Noticed a mistake, or want to give feedback? Make sure to tell me about it. Noticed a mistake, or want to give feedback? Make sure to tell me about it.
* Create a [GitHub Issue](https://gitlab.com/rubenwardy/minetest_modding_book/-/issues). * Create a [GitLab Issue](https://gitlab.com/rubenwardy/minetest_modding_book/-/issues).
* Post in the [Forum Topic](https://forum.minetest.net/viewtopic.php?f=14&t=10729). * Post in the [Forum Topic](https://forum.minetest.net/viewtopic.php?f=14&t=10729).
* [Contact me](https://rubenwardy.com/contact/). * [Contact me](https://rubenwardy.com/contact/).
* Fancy contributing? * Fancy contributing?

View File

@ -3,7 +3,7 @@ title: Creating Textures
layout: default layout: default
root: ../.. root: ../..
idx: 2.2 idx: 2.2
description: An introduction to making textures in your editor of choice, an a guide on GIMP. description: An introduction to making textures in your editor of choice, and a guide on GIMP.
redirect_from: /en/chapters/creating_textures.html redirect_from: /en/chapters/creating_textures.html
--- ---

View File

@ -42,7 +42,7 @@ and Nodes only have at most one inventory in them.
## ItemStacks ## ItemStacks
ItemStacks have three components to them. ItemStacks have four components to them: name, count, wear and metadata.
The item name may be the item name of a registered item, an alias, or an unknown The item name may be the item name of a registered item, an alias, or an unknown
item name. item name.
@ -129,21 +129,21 @@ local inv = player:get_inventory()
A detached inventory is one which is independent of players or nodes. A detached inventory is one which is independent of players or nodes.
Detached inventories also don't save over a restart. Detached inventories also don't save over a restart.
Detached inventories need to be created before they can be used -
this will be covered later.
```lua ```lua
local inv = minetest.get_inventory({ local inv = minetest.get_inventory({
type="detached", name="inventory_name" }) type="detached", name="inventory_name" })
``` ```
Unlike the other types of inventory, you must first create a detached inventory: Unlike the other types of inventory, you must first create a detached inventory
before accessing it:
```lua ```lua
minetest.create_detached_inventory("inventory_name") minetest.create_detached_inventory("inventory_name")
``` ```
The create_detached_inventory function accepts 3 arguments, only first is required. The create_detached_inventory function accepts 3 arguments, where only the first - the inventory name -
is required.
The second argument takes a table of callbacks, which can be used to control how The second argument takes a table of callbacks, which can be used to control how
players interact with the inventory: players interact with the inventory:
@ -165,16 +165,15 @@ minetest.create_detached_inventory("inventory_name", {
on_put = function(inv, listname, index, stack, player) on_put = function(inv, listname, index, stack, player)
minetest.chat_send_all(player:get_player_name() .. minetest.chat_send_all(player:get_player_name() ..
" gave " .. stack:to_string() .. " gave " .. stack:to_string() ..
" to the donation chest at " .. minetest.pos_to_str(pos)) " to the donation chest from " .. minetest.pos_to_string(player:get_pos()))
end, end,
}) })
``` ```
Permission callbacks - ie: those starting with `allow_`- return the number Permission callbacks - ie: those starting with `allow_` - return the number
of items to transfer, with -1 being used to prevent transfer completely. of items to transfer, with -1 being used to prevent transfer completely.
Action callbacks - starting with `on_` - don't have a return value and On the contrary, action callbacks - starting with `on_` - don't have a return value.
can't prevent transfers.
## Lists ## Lists
@ -213,13 +212,20 @@ if inv:is_empty("main") then
end end
``` ```
`contains_item` can be used to see if a list contains a specific item. `contains_item` can be used to see if a list contains a specific item:
```lua
if inv:contains_item("main", "default:stone") then
print("I've found some stone!")
end
```
## Modifying Inventories and ItemStacks ## Modifying Inventories and ItemStacks
### Adding to a List ### Adding to a List
To add items to a list named `"main"` while respecting maximum stack sizes: `add_item` adds items to a list (in this case `"main"`). In the example below,
the maximum stack size is also respected:
```lua ```lua
local stack = ItemStack("default:stone 99") local stack = ItemStack("default:stone 99")