-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocumentation.txt
70 lines (56 loc) · 3.84 KB
/
documentation.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
To spawn the lootchests, world is populated by spawn chest markers of corresponding type.
During the normal gameplay, they are of "airlike" type and are replaced with LBM which replaces them with corresponding chests and fill them with loot.
If minetest.conf setting "lootchests_debug = true" is active, markers are not replaced and can be taken from the creative inventory.
This can be used for placing them manually for various purposes, mainly for adding lootchest markers to schematics.
Creating a lootchest consists of two parts: defining the lootchest itself with lootchests.register_lootchest(def)
and creating a corresponding loot table in lootchests.loot_table[def.name]. Examples are below.
Example of a lootchest definition:
lootchests.register_lootchest({
--Mandatory
name = "lootchests:default_chest", --ID of the lootchest. A table with corresponding key should be created in tables.loot_table
description = "Loot Chest", --Name as it appears in inventory, also lootchest infobox
--Visuals
drawtype = "nodebox", --Drawtype of the node. Don't define for default node look
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
}, --Nodebox def if drawtype is "nodebox"
tiles = {
"default_chest_top.png",
"default_chest_top.png",
"default_chest_side.png",
"default_chest_side.png",
"default_chest_front.png",
}, --Node tile definition
--Sounds and groups
sounds = default.node_sound_wood_defaults(), --Node sound definition
groups = {choppy = 2, oddly_breakable_by_hand = 2}, --Node groups
--Spawning
spawn_in = {"default:sand", "default:desert_sand"}, --Spawn in which nodes, may be one itemstring or a list of them
spawn_on = {"default:stone", "default:desert_stone"}, --Spawn on which nodes, may be one itemstring or a list of them
spawn_in_rarity = 25, --Spawn in rarity, approximate spacing between each node
spawn_on_rarity = 1000. --Spawn on rarity, spawns one out of defined value (if default is 1000 then on 1 out of 1000)
--Height limit
ymax = 5, --Max Y limit
ymin = -64, --Min Y limit
--Container parameters
slot_spawn_chance = 50, --Chance to spawn something in a container slot. Ranges from 0 to 100
slots = 32, --Total amount of slots in the container. Max is 32
})
To actually add loot to your lootchests, you need to define a loot table in lootchests.loot_table. Table must be accessible by the key which equals to
the lootchest ID.
Example of a loot table definition for "lootchests:default_chest":
lootchests.loot_table["lootchests:default_chest"] = {
{"default:stick", 16}, --Each item definition is a table with 2 elements - their itemstring and maximum amount
{"default:axe_stone"}, --If defined item is a tool, it doesn't need an amount definition, there will always be one anyway
--Tools spawn with random wear instead
{"default:stone", 64},
}
Third-party mods can also access and modify loot tables, you can add custom items to them manually, or by using
lootchests.add_to_loot_table(key, items), where "key" is the lootchest ID and "items" is another table with loot.
Example:
local items = {
{"custom_mod:custom_item_01", 15},
{"custom_mod:custom_item_02", 32},
}
lootchests.add_to_loot_table("lootchests:default_chest", items)