mirror of
https://github.com/minetest/minetest.git
synced 2024-08-18 20:44:16 +02:00
Lua_api.txt: Split long lines part 6
This commit is contained in:
parent
e800684ead
commit
fdc02a59ba
423
doc/lua_api.txt
423
doc/lua_api.txt
@ -4794,51 +4794,58 @@ Definition tables
|
||||
-- ^ For players only. Defaults to `minetest.PLAYER_MAX_BREATH_DEFAULT`
|
||||
zoom_fov = 0.0,
|
||||
-- ^ For players only. Zoom FOV in degrees.
|
||||
-- Note that zoom loads and/or generates world beyond the server's maximum
|
||||
-- send and generate distances, so acts like a telescope.
|
||||
-- Note that zoom loads and/or generates world beyond the server's
|
||||
-- maximum send and generate distances, so acts like a telescope.
|
||||
-- Smaller zoomFOV values increase the distance loaded and/or generated.
|
||||
-- Defaults to 15 in creative mode, 0 in survival mode.
|
||||
-- zoom_fov = 0 disables zooming for the player.
|
||||
eye_height = 1.625,
|
||||
-- ^ For players only. Camera height above feet position in nodes. Defaults to 1.625
|
||||
-- ^ For players only. Camera height above feet position in nodes.
|
||||
-- Defaults to 1.625.
|
||||
physical = true,
|
||||
collide_with_objects = true, -- collide with other objects if physical = true
|
||||
collide_with_objects = true,
|
||||
-- ^ Collide with other objects if physical = true.
|
||||
weight = 5,
|
||||
collisionbox = {-0.5, 0.0, -0.5, 0.5, 1.0, 0.5},
|
||||
selectionbox = {-0.5, 0.0, -0.5, 0.5, 1.0, 0.5},
|
||||
-- ^ Default, uses collision box dimensions when not set.
|
||||
-- ^ For both boxes: {xmin, ymin, zmin, xmax, ymax, zmax} in nodes from
|
||||
-- object position.
|
||||
pointable = true, -- overrides selection box when false
|
||||
pointable = true,
|
||||
-- ^ Overrides selection box when false.
|
||||
visual = "cube" / "sprite" / "upright_sprite" / "mesh" / "wielditem",
|
||||
-- ^ "cube" is a node-sized cube.
|
||||
-- ^ "sprite" is a flat texture always facing the player.
|
||||
-- ^ "upright_sprite" is a vertical flat texture.
|
||||
-- ^ "mesh" uses the defined mesh model.
|
||||
-- ^ "wielditem" is used for dropped items (see builtin/game/item_entity.lua).
|
||||
-- ^ "wielditem" is used for dropped items
|
||||
-- (see builtin/game/item_entity.lua).
|
||||
-- For this use 'textures = {itemname}'.
|
||||
-- If the item has a 'wield_image' the object will be an extrusion of that,
|
||||
-- otherwise:
|
||||
-- If 'itemname' is a cubic node or nodebox the object will appear identical
|
||||
-- to 'itemname'.
|
||||
-- If 'itemname' is a plantlike node the object will be an extrusion of its
|
||||
-- texture.
|
||||
-- If the item has a 'wield_image' the object will be an extrusion of
|
||||
-- that, otherwise:
|
||||
-- If 'itemname' is a cubic node or nodebox the object will appear
|
||||
-- identical to 'itemname'.
|
||||
-- If 'itemname' is a plantlike node the object will be an extrusion of
|
||||
-- its texture.
|
||||
-- Otherwise for non-node items, the object will be an extrusion of
|
||||
-- 'inventory_image'.
|
||||
visual_size = {x = 1, y = 1},
|
||||
-- ^ `x` multiplies horizontal (X and Z) visual size.
|
||||
-- ^ `y` multiplies vertical (Y) visual size.
|
||||
mesh = "model",
|
||||
textures = {}, -- number of required textures depends on visual
|
||||
textures = {},
|
||||
-- ^ Number of required textures depends on visual.
|
||||
-- ^ "cube" uses 6 textures in the way a node does.
|
||||
-- ^ "sprite" uses 1 texture.
|
||||
-- ^ "upright_sprite" uses 2 textures: {front, back}.
|
||||
-- ^ "wielditem" expects 'textures = {itemname}' (see 'visual' above).
|
||||
colors = {}, -- number of required colors depends on visual
|
||||
colors = {},
|
||||
-- ^ Number of required colors depends on visual.
|
||||
spritediv = {x = 1, y = 1},
|
||||
-- ^ Used with spritesheet textures for animation and/or frame selection according
|
||||
-- to position relative to player.
|
||||
-- ^ Defines the number of columns and rows in the spritesheet: {columns, rows}.
|
||||
-- ^ Used with spritesheet textures for animation and/or frame selection
|
||||
-- according to position relative to player.
|
||||
-- ^ Defines the number of columns and rows in the spritesheet:
|
||||
-- {columns, rows}.
|
||||
initial_sprite_basepos = {x = 0, y = 0},
|
||||
-- ^ Used with spritesheet textures.
|
||||
-- ^ Defines the {column, row} position of the initially used frame in the
|
||||
@ -4855,17 +4862,22 @@ Definition tables
|
||||
automatic_face_movement_max_rotation_per_sec = -1,
|
||||
-- ^ Limit automatic rotation to this value in degrees per second,
|
||||
-- value < 0 no limit.
|
||||
backface_culling = true, -- false to disable backface_culling for model
|
||||
backface_culling = true,
|
||||
-- ^ Set to false to disable backface_culling for model.
|
||||
glow = 0,
|
||||
-- ^ Add this much extra lighting when calculating texture color.
|
||||
-- Value < 0 disables light's effect on texture color.
|
||||
-- For faking self-lighting, UI style entities, or programmatic coloring in mods.
|
||||
nametag = "", -- by default empty, for players their name is shown if empty
|
||||
nametag_color = <color>, -- sets color of nametag as ColorSpec
|
||||
infotext = "", -- by default empty, text to be shown when pointed at object
|
||||
-- For faking self-lighting, UI style entities, or programmatic coloring
|
||||
-- in mods.
|
||||
nametag = "",
|
||||
-- ^ By default empty, for players their name is shown if empty.
|
||||
nametag_color = <color>,
|
||||
-- ^ Sets color of nametag as ColorSpec.
|
||||
infotext = "",
|
||||
-- ^ By default empty, text to be shown when pointed at object.
|
||||
static_save = true,
|
||||
-- ^ If false, never save this object statically. It will simply be deleted when the
|
||||
-- block gets unloaded.
|
||||
-- ^ If false, never save this object statically. It will simply be
|
||||
-- deleted when the block gets unloaded.
|
||||
-- The get_staticdata() callback is never called then.
|
||||
-- Defaults to 'true'
|
||||
}
|
||||
@ -4885,9 +4897,9 @@ Definition tables
|
||||
-- ^ Called sometimes; the string returned is passed to on_activate when
|
||||
-- the entity is re-activated from static state
|
||||
|
||||
-- Also you can define arbitrary member variables here (see item definition for
|
||||
-- more info)
|
||||
_custom_field = whatever,
|
||||
-- ^ You can define arbitrary member variables here (see item definition
|
||||
-- for more info) by using a '_' prefix.
|
||||
}
|
||||
|
||||
### ABM (ActiveBlockModifier) definition (`register_abm`)
|
||||
@ -4907,17 +4919,21 @@ Definition tables
|
||||
interval = 1.0,
|
||||
^ Operation interval in seconds.
|
||||
chance = 1,
|
||||
^ Chance of triggering `action` per-node per-interval is 1.0 / this value.
|
||||
^ Chance of triggering `action` per-node per-interval is 1.0 / this
|
||||
value.
|
||||
catch_up = true,
|
||||
^ If true, catch-up behaviour is enabled: The `chance` value is temporarily
|
||||
reduced when returning to an area to simulate time lost by the area being
|
||||
unattended. Note that the `chance` value can often be reduced to 1.
|
||||
^ If true, catch-up behaviour is enabled: The `chance` value is
|
||||
temporarily reduced when returning to an area to simulate time lost
|
||||
by the area being unattended. Note that the `chance` value can often
|
||||
be reduced to 1.
|
||||
action = function(pos, node, active_object_count, active_object_count_wider),
|
||||
^ Function triggered for each qualifying node.
|
||||
^ `active_object_count` is number of active objects in the node's mapblock.
|
||||
^ `active_object_count` is number of active objects in the node's
|
||||
mapblock.
|
||||
^ `active_object_count_wider` is number of active objects in the node's
|
||||
mapblock plus all 26 neighboring mapblocks. If any neighboring mapblocks
|
||||
are unloaded an estmate is calculated for them based on loaded mapblocks.
|
||||
mapblock plus all 26 neighboring mapblocks. If any neighboring
|
||||
mapblocks are unloaded an estmate is calculated for them based on
|
||||
loaded mapblocks.
|
||||
}
|
||||
|
||||
### LBM (LoadingBlockModifier) definition (`register_lbm`)
|
||||
@ -4949,7 +4965,8 @@ Definition tables
|
||||
{bendy = 2, snappy = 1},
|
||||
{hard = 1, metal = 1, spikes = 1}
|
||||
inventory_image = "default_tool_steelaxe.png",
|
||||
inventory_overlay = "overlay.png", -- an overlay which does not get colorized
|
||||
inventory_overlay = "overlay.png",
|
||||
^ An overlay which does not get colorized.
|
||||
wield_image = "",
|
||||
wield_overlay = "",
|
||||
palette = "",
|
||||
@ -4962,9 +4979,7 @@ Definition tables
|
||||
^ "colorfacedir" and "colorwallmounted" nodes.
|
||||
]]
|
||||
color = "0xFFFFFFFF",
|
||||
--[[
|
||||
^ The color of the item. The palette overrides this.
|
||||
]]
|
||||
wield_scale = {x = 1, y = 1, z = 1},
|
||||
stack_max = 99,
|
||||
range = 4.0,
|
||||
@ -4974,7 +4989,8 @@ Definition tables
|
||||
max_drop_level = 0,
|
||||
groupcaps = {
|
||||
-- For example:
|
||||
choppy = {times = {[1] = 2.50, [2] = 1.40, [3] = 1.00}, uses = 20, maxlevel = 2},
|
||||
choppy = {times = {[1] = 2.50, [2] = 1.40, [3] = 1.00},
|
||||
uses = 20, maxlevel = 2},
|
||||
},
|
||||
damage_groups = {groupname = damage},
|
||||
},
|
||||
@ -5105,7 +5121,8 @@ Definition tables
|
||||
^ node, for the other drawtypes the image will be centered on the node.
|
||||
^ Note that positioning for "torchlike" may still change. ]]
|
||||
tiles = {tile definition 1, def2, def3, def4, def5, def6}, --[[
|
||||
^ Textures of node; +Y, -Y, +X, -X, +Z, -Z (old field name: tile_images)
|
||||
^ Textures of node; +Y, -Y, +X, -X, +Z, -Z
|
||||
^ Old field name was 'tile_images'.
|
||||
^ List can be shortened to needed length ]]
|
||||
overlay_tiles = {tile definition 1, def2, def3, def4, def5, def6}, --[[
|
||||
^ Same as `tiles`, but these textures are drawn on top of the
|
||||
@ -5114,27 +5131,34 @@ Definition tables
|
||||
^ overlay is not drawn. Since such tiles are drawn twice, it
|
||||
^ is not recommended to use overlays on very common nodes. ]]
|
||||
special_tiles = {tile definition 1, Tile definition 2}, --[[
|
||||
^ Special textures of node; used rarely (old field name: special_materials)
|
||||
^ Special textures of node; used rarely
|
||||
^ Old field name was 'special_materials'.
|
||||
^ List can be shortened to needed length ]]
|
||||
color = ColorSpec, --[[
|
||||
^ The node's original color will be multiplied with this color.
|
||||
^ If the node has a palette, then this setting only has an effect
|
||||
^ in the inventory and on the wield item. ]]
|
||||
use_texture_alpha = false, -- Use texture's alpha channel
|
||||
use_texture_alpha = false,
|
||||
^ Use texture's alpha channel.
|
||||
palette = "palette.png", --[[
|
||||
^ The node's `param2` is used to select a pixel from the image
|
||||
^ (pixels are arranged from left to right and from top to bottom).
|
||||
^ The node's color will be multiplied with the selected pixel's
|
||||
^ color. Tiles can override this behavior.
|
||||
^ Only when `paramtype2` supports palettes. ]]
|
||||
post_effect_color = "green#0F", -- If player is inside node, see "ColorSpec"
|
||||
paramtype = "none", -- See "Nodes" --[[
|
||||
^ paramtype = "light" allows light to propagate from or through the node with light value
|
||||
^ falling by 1 per node. This line is essential for a light source node to spread its light. ]]
|
||||
post_effect_color = "green#0F",
|
||||
^ Screen tint if player is inside node, see "ColorSpec".
|
||||
paramtype = "none", --[[
|
||||
^ See "Nodes".
|
||||
^ paramtype = "light" allows light to propagate from or through the
|
||||
^ node with light value falling by 1 per node. This line is essential
|
||||
^ for a light source node to spread its light. ]]
|
||||
paramtype2 = "none", -- See "Nodes"
|
||||
place_param2 = nil, -- Force value for param2 when player places node
|
||||
is_ground_content = true, -- If false, the cave generator will not carve through this
|
||||
sunlight_propagates = false, -- If true, sunlight will go infinitely through this
|
||||
is_ground_content = true,
|
||||
^ If false, the cave generator will not carve through this node.
|
||||
sunlight_propagates = false,
|
||||
^ If true, sunlight will go infinitely through this.
|
||||
walkable = true, -- If true, objects collide with node
|
||||
pointable = true, -- If true, can be pointed at
|
||||
diggable = true, -- If false, can never be dug
|
||||
@ -5142,43 +5166,55 @@ Definition tables
|
||||
buildable_to = false, -- If true, placed nodes can replace this node
|
||||
floodable = false, --[[
|
||||
^ If true, liquids flow into and replace this node.
|
||||
^ Warning: making a liquid node 'floodable' does not work and may cause problems. ]]
|
||||
^ Warning: making a liquid node 'floodable' will cause problems. ]]
|
||||
liquidtype = "none", -- "none"/"source"/"flowing"
|
||||
liquid_alternative_flowing = "", -- Flowing version of source liquid
|
||||
liquid_alternative_source = "", -- Source version of flowing liquid
|
||||
liquid_viscosity = 0, -- Higher viscosity = slower flow (max. 7)
|
||||
liquid_renewable = true, --[[
|
||||
^ If true, a new liquid source can be created by placing two or more sources nearby ]]
|
||||
^ If true, a new liquid source can be created by placing two or more
|
||||
sources nearby. ]]
|
||||
leveled = 16, --[[
|
||||
^ Only valid for "nodebox" drawtype with 'type = "leveled"'.
|
||||
^ Allows defining the nodebox height without using param2.
|
||||
^ The nodebox height is 'leveled' / 64 nodes.
|
||||
^ The maximum value of 'leveled' is 127. ]]
|
||||
liquid_range = 8, -- number of flowing nodes around source (max. 8)
|
||||
drowning = 0, -- Player will take this amount of damage if no bubbles are left
|
||||
drowning = 0,
|
||||
^ Player will take this amount of damage if no bubbles are left.
|
||||
light_source = 0, --[[
|
||||
^ Amount of light emitted by node.
|
||||
^ To set the maximum (currently 14), use the value 'minetest.LIGHT_MAX'.
|
||||
^ A value outside the range 0 to minetest.LIGHT_MAX causes undefined behavior.]]
|
||||
damage_per_second = 0, -- If player is inside node, this damage is caused
|
||||
^ To set the maximum (currently 14), use the value
|
||||
^ 'minetest.LIGHT_MAX'.
|
||||
^ A value outside the range 0 to minetest.LIGHT_MAX causes undefined
|
||||
^ behavior.]]
|
||||
damage_per_second = 0,
|
||||
^ If player is inside node, this damage is caused.
|
||||
node_box = {type="regular"}, -- See "Node boxes"
|
||||
connects_to = nodenames, --[[
|
||||
* Used for nodebox nodes with the type == "connected"
|
||||
* Specifies to what neighboring nodes connections will be drawn
|
||||
* e.g. `{"group:fence", "default:wood"}` or `"default:stone"` ]]
|
||||
connect_sides = { "top", "bottom", "front", "left", "back", "right" }, --[[
|
||||
^ Tells connected nodebox nodes to connect only to these sides of this node. ]]
|
||||
^ Used for nodebox nodes with the type == "connected"
|
||||
^ Specifies to what neighboring nodes connections will be drawn
|
||||
^ e.g. `{"group:fence", "default:wood"}` or `"default:stone"` ]]
|
||||
connect_sides = { "top", "bottom", "front", "left", "back", "right" },
|
||||
-- [[
|
||||
^ Tells connected nodebox nodes to connect only to these sides of this
|
||||
^ node. ]]
|
||||
mesh = "model",
|
||||
selection_box = {type="regular"}, -- See "Node boxes" --[[
|
||||
^ If drawtype "nodebox" is used and selection_box is nil, then node_box is used. ]]
|
||||
legacy_facedir_simple = false, -- Support maps made in and before January 2012
|
||||
legacy_wallmounted = false, -- Support maps made in and before January 2012
|
||||
waving = 0, --[[ valid for mesh, nodebox, plantlike, allfaces_optional nodes
|
||||
selection_box = {type="regular"}, --[[
|
||||
^ See "Node boxes".
|
||||
^ If drawtype "nodebox" is used and selection_box is nil, then node_box
|
||||
^ is used. ]]
|
||||
legacy_facedir_simple = false,
|
||||
^ Support maps made in and before January 2012.
|
||||
legacy_wallmounted = false,
|
||||
^ Support maps made in and before January 2012.
|
||||
waving = 0, --[[
|
||||
^ Valid for mesh, nodebox, plantlike, allfaces_optional nodes.
|
||||
^ 1 - wave node like plants (top of node moves, bottom is fixed)
|
||||
^ 2 - wave node like leaves (whole node moves side-to-side synchronously)
|
||||
^ caveats: not all models will properly wave
|
||||
^ plantlike drawtype nodes can only wave like plants
|
||||
^ allfaces_optional drawtype nodes can only wave like leaves --]]
|
||||
^ 2 - wave node like leaves (whole node moves side-to-side)
|
||||
^ caveats: not all models will properly wave.
|
||||
^ plantlike drawtype nodes can only wave like plants.
|
||||
^ allfaces_optional drawtype nodes can only wave like leaves. --]]
|
||||
sounds = {
|
||||
footstep = <SimpleSoundSpec>,
|
||||
dig = <SimpleSoundSpec>, -- "__group" = group-based sound (default)
|
||||
@ -5186,15 +5222,17 @@ Definition tables
|
||||
place = <SimpleSoundSpec>,
|
||||
place_failed = <SimpleSoundSpec>,
|
||||
},
|
||||
drop = "", -- Name of dropped node when dug. Default is the node itself.
|
||||
-- Alternatively:
|
||||
drop = "",
|
||||
^ Name of dropped node when dug. Default is the node itself.
|
||||
^ Alternatively:
|
||||
drop = {
|
||||
max_items = 1, -- Maximum number of items to drop.
|
||||
items = { -- Choose max_items randomly from this list.
|
||||
items = { -- Choose max_items randomly from this list.
|
||||
{
|
||||
items = {"foo:bar", "baz:frob"}, -- Items to drop.
|
||||
rarity = 1, -- Probability of dropping is 1 / rarity.
|
||||
inherit_color = true, -- To inherit palette color from the node
|
||||
inherit_color = true, -- To inherit palette color from the
|
||||
node.
|
||||
},
|
||||
},
|
||||
},
|
||||
@ -5204,14 +5242,17 @@ Definition tables
|
||||
^ Can set up metadata and stuff like that
|
||||
^ Not called for bulk node placement (i.e. schematics and VoxelManip)
|
||||
^ default: nil ]]
|
||||
|
||||
on_destruct = func(pos), --[[
|
||||
^ Node destructor; called before removing node
|
||||
^ Not called for bulk node placement (i.e. schematics and VoxelManip)
|
||||
^ default: nil ]]
|
||||
|
||||
after_destruct = func(pos, oldnode), --[[
|
||||
^ Node destructor; called after removing node
|
||||
^ Not called for bulk node placement (i.e. schematics and VoxelManip)
|
||||
^ default: nil ]]
|
||||
|
||||
on_flood = func(pos, oldnode, newnode), --[[
|
||||
^ Called when a liquid (newnode) is about to flood oldnode, if
|
||||
^ it has `floodable = true` in the nodedef. Not called for bulk
|
||||
@ -5219,26 +5260,31 @@ Definition tables
|
||||
^ return true the node is not flooded, but on_flood callback will
|
||||
^ most likely be called over and over again every liquid update
|
||||
^ interval. Default: nil.
|
||||
^ Warning: making a liquid node 'floodable' does not work and may cause problems. ]]
|
||||
^ Warning: making a liquid node 'floodable' will cause problems. ]]
|
||||
|
||||
preserve_metadata = func(pos, oldnode, oldmeta, drops) --[[
|
||||
^ Called when oldnode is about be converted to an item, but before the
|
||||
^ node is deleted from the world or the drops are added. This is
|
||||
^ generally the result of either the node being dug or an attached node
|
||||
^ becoming detached.
|
||||
^ drops is a table of ItemStacks, so any metadata to be preserved can
|
||||
^ be added directly to one or more of the dropped items. See
|
||||
^ "ItemStackMetaRef".
|
||||
^ default: nil ]]
|
||||
|
||||
preserve_metadata = func(pos, oldnode, oldmeta, drops) --[[
|
||||
^ Called when oldnode is about be converted to an item, but before the
|
||||
node is deleted from the world or the drops are added. This is generally
|
||||
the result of either the node being dug or an attached node becoming detached.
|
||||
^ drops is a table of ItemStacks, so any metadata to be preserved can be
|
||||
added directly to one or more of the dropped items. See "ItemStackMetaRef".
|
||||
^ default: nil ]]
|
||||
after_place_node = func(pos, placer, itemstack, pointed_thing) --[[
|
||||
^ Called after constructing node when node was placed using
|
||||
minetest.item_place_node / minetest.place_node
|
||||
^ minetest.item_place_node / minetest.place_node
|
||||
^ If return true no item is taken from itemstack
|
||||
^ `placer` may be any valid ObjectRef or nil
|
||||
^ default: nil ]]
|
||||
|
||||
after_dig_node = func(pos, oldnode, oldmetadata, digger), --[[
|
||||
^ oldmetadata is in table format
|
||||
^ Called after destructing node when node was dug using
|
||||
minetest.node_dig / minetest.dig_node
|
||||
^ minetest.node_dig / minetest.dig_node
|
||||
^ default: nil ]]
|
||||
|
||||
can_dig = function(pos, [player]) --[[
|
||||
^ returns true if node can be dug, or false if not
|
||||
^ default: nil ]]
|
||||
@ -5246,13 +5292,15 @@ Definition tables
|
||||
on_punch = func(pos, node, puncher, pointed_thing), --[[
|
||||
^ default: minetest.node_punch
|
||||
^ By default: Calls minetest.register_on_punchnode callbacks ]]
|
||||
on_rightclick = func(pos, node, clicker, itemstack, pointed_thing), --[[
|
||||
|
||||
on_rightclick = func(pos, node, clicker, itemstack, pointed_thing),
|
||||
--[[
|
||||
^ default: nil
|
||||
^ itemstack will hold clicker's wielded item
|
||||
^ Shall return the leftover itemstack
|
||||
^ Note: pointed_thing can be nil, if a mod calls this function
|
||||
This function does not get triggered by clients <=0.4.16 if the
|
||||
"formspec" node metadata field is set ]]
|
||||
^ This function does not get triggered by clients <=0.4.16 if the
|
||||
^ "formspec" node metadata field is set ]]
|
||||
|
||||
on_dig = func(pos, node, digger), --[[
|
||||
^ default: minetest.node_dig
|
||||
@ -5262,33 +5310,37 @@ Definition tables
|
||||
^ default: nil
|
||||
^ called by NodeTimers, see minetest.get_node_timer and NodeTimerRef
|
||||
^ elapsed is the total time passed since the timer was started
|
||||
^ return true to run the timer for another cycle with the same timeout value ]]
|
||||
^ return true to run the timer for another cycle with the same timeout
|
||||
^ value. ]]
|
||||
|
||||
on_receive_fields = func(pos, formname, fields, sender), --[[
|
||||
^ fields = {name1 = value1, name2 = value2, ...}
|
||||
^ Called when an UI form (e.g. sign text input) returns data
|
||||
^ default: nil ]]
|
||||
|
||||
allow_metadata_inventory_move = func(pos, from_list, from_index,
|
||||
to_list, to_index, count, player), --[[
|
||||
allow_metadata_inventory_move = func(pos, from_list, from_index, to_list, to_index, count, player),
|
||||
--[[
|
||||
^ Called when a player wants to move items inside the inventory
|
||||
^ Return value: number of items allowed to move ]]
|
||||
|
||||
allow_metadata_inventory_put = func(pos, listname, index, stack, player), --[[
|
||||
allow_metadata_inventory_put = func(pos, listname, index, stack, player),
|
||||
--[[
|
||||
^ Called when a player wants to put something into the inventory
|
||||
^ Return value: number of items allowed to put
|
||||
^ Return value: -1: Allow and don't modify item count in inventory ]]
|
||||
|
||||
allow_metadata_inventory_take = func(pos, listname, index, stack, player), --[[
|
||||
allow_metadata_inventory_take = func(pos, listname, index, stack, player),
|
||||
--[[
|
||||
^ Called when a player wants to take something out of the inventory
|
||||
^ Return value: number of items allowed to take
|
||||
^ Return value: -1: Allow and don't modify item count in inventory ]]
|
||||
|
||||
on_metadata_inventory_move = func(pos, from_list, from_index,
|
||||
to_list, to_index, count, player),
|
||||
on_metadata_inventory_move = func(pos, from_list, from_index, to_list, to_index, count, player),
|
||||
on_metadata_inventory_put = func(pos, listname, index, stack, player),
|
||||
on_metadata_inventory_take = func(pos, listname, index, stack, player), --[[
|
||||
^ Called after the actual action has happened, according to what was allowed.
|
||||
on_metadata_inventory_take = func(pos, listname, index, stack, player),
|
||||
--[[
|
||||
^ Called after the actual action has happened, according to what was
|
||||
^ allowed.
|
||||
^ No return value ]]
|
||||
|
||||
on_blast = func(pos, intensity), --[[
|
||||
@ -5361,18 +5413,20 @@ Definition tables
|
||||
-- ^ a list of nodenames is supported too
|
||||
clust_scarcity = 8 * 8 * 8,
|
||||
-- ^ Ore has a 1 out of clust_scarcity chance of spawning in a node
|
||||
-- ^ If the desired average distance between ores is 'd', set this to d * d * d.
|
||||
-- ^ If the desired average distance between ores is 'd', set this to
|
||||
-- ^ d * d * d.
|
||||
clust_num_ores = 8,
|
||||
-- ^ Number of ores in a cluster
|
||||
clust_size = 3,
|
||||
-- ^ Size of the bounding box of the cluster
|
||||
-- ^ In this example, there is a 3 * 3 * 3 cluster where 8 out of the 27 nodes
|
||||
-- ^ are coal ore.
|
||||
-- ^ In this example, there is a 3 * 3 * 3 cluster where 8 out of the 27
|
||||
-- ^ nodes are coal ore.
|
||||
y_min = -31000,
|
||||
y_max = 64,
|
||||
-- ^ Lower and upper limits for ore.
|
||||
flags = "",
|
||||
-- ^ Attributes for this ore generation, see 'Ore attributes' section above.
|
||||
-- ^ Attributes for this ore generation, see 'Ore attributes' section
|
||||
-- ^ above.
|
||||
noise_threshold = 0.5,
|
||||
-- ^ If noise is above this threshold, ore is placed. Not needed for a
|
||||
-- ^ uniform distribution.
|
||||
@ -5384,15 +5438,16 @@ Definition tables
|
||||
octaves = 3,
|
||||
persist = 0.7
|
||||
},
|
||||
-- ^ NoiseParams structure describing one of the perlin noises used for ore
|
||||
-- ^ distribution.
|
||||
-- ^ NoiseParams structure describing one of the perlin noises used for
|
||||
-- ^ ore distribution.
|
||||
-- ^ Needed by "sheet", "puff", "blob" and "vein" ores.
|
||||
-- ^ Omit from "scatter" ore for a uniform ore distribution.
|
||||
-- ^ Omit from "stratum ore for a simple horizontal strata from y_min to y_max.
|
||||
-- ^ Omit from "stratum ore for a simple horizontal strata from y_min to
|
||||
-- ^ y_max.
|
||||
biomes = {"desert", "rainforest"}
|
||||
-- ^ List of biomes in which this decoration occurs.
|
||||
-- ^ Occurs in all biomes if this is omitted, and ignored if the Mapgen being
|
||||
-- ^ used does not support biomes.
|
||||
-- ^ Occurs in all biomes if this is omitted, and ignored if the Mapgen
|
||||
-- ^ being used does not support biomes.
|
||||
-- ^ Can be a list of (or a single) biome names, IDs, or definitions.
|
||||
column_height_min = 1,
|
||||
column_height_max = 16,
|
||||
@ -5451,9 +5506,11 @@ Definition tables
|
||||
depth_water_top = 10,
|
||||
-- ^ Node forming a surface layer in seawater with the defined thickness.
|
||||
node_water = "",
|
||||
-- ^ Node that replaces all seawater nodes not in the defined surface layer.
|
||||
-- ^ Node that replaces all seawater nodes not in the defined surface
|
||||
-- ^ layer.
|
||||
node_river_water = "default:ice",
|
||||
-- ^ Node that replaces river water in mapgens that use default:river_water.
|
||||
-- ^ Node that replaces river water in mapgens that use
|
||||
-- ^ default:river_water.
|
||||
node_riverbed = "default:gravel",
|
||||
depth_riverbed = 2,
|
||||
-- ^ Node placed under river water and thickness of this layer.
|
||||
@ -5488,17 +5545,31 @@ Definition tables
|
||||
place_on = "default:dirt_with_grass",
|
||||
-- ^ Node (or list of nodes) that the decoration can be placed on
|
||||
sidelen = 8,
|
||||
-- ^ Size of divisions made in the chunk being generated.
|
||||
-- ^ If the chunk size is not evenly divisible by sidelen, sidelen is made equal to the chunk size.
|
||||
-- ^ Size of the square divisions of the mapchunk being generated.
|
||||
-- ^ Determines the resolution of noise variation if used.
|
||||
-- ^ If the chunk size is not evenly divisible by sidelen, sidelen is made
|
||||
-- ^ equal to the chunk size.
|
||||
fill_ratio = 0.02,
|
||||
-- ^ Ratio of the area to be uniformly filled by the decoration.
|
||||
-- ^ The value determines 'decorations per surface node'.
|
||||
-- ^ Used only if noise_params is not specified.
|
||||
noise_params = {offset=0, scale=.45, spread={x=100, y=100, z=100}, seed=354, octaves=3, persist=0.7},
|
||||
-- ^ NoiseParams structure describing the perlin noise used for decoration distribution.
|
||||
-- ^ The result of this is multiplied by the 2d area of the division being decorated.
|
||||
noise_params = {
|
||||
offset = 0,
|
||||
scale = 0.45,
|
||||
spread = {x = 100, y = 100, z = 100},
|
||||
seed = 354,
|
||||
octaves = 3,
|
||||
persist = 0.7,
|
||||
lacunarity = 2.0,
|
||||
flags = "absvalue"
|
||||
},
|
||||
-- ^ NoiseParams structure describing the perlin noise used for decoration
|
||||
-- ^ distribution.
|
||||
-- ^ A noise value is calculated for each square division and determines
|
||||
-- ^ 'decorations per surface node' within each division.
|
||||
biomes = {"Oceanside", "Hills", "Plains"},
|
||||
-- ^ List of biomes in which this decoration occurs. Occurs in all biomes if this is omitted,
|
||||
-- ^ and ignored if the Mapgen being used does not support biomes.
|
||||
-- ^ List of biomes in which this decoration occurs. Occurs in all biomes
|
||||
-- ^ if this is omitted, and ignored if the Mapgen being used does not
|
||||
-- ^ support biomes.
|
||||
-- ^ Can be a list of (or a single) biome names, IDs, or definitions.
|
||||
y_min = -31000
|
||||
y_max = 31000
|
||||
@ -5506,10 +5577,12 @@ Definition tables
|
||||
-- ^ These parameters refer to the Y co-ordinate of the 'place_on' node.
|
||||
spawn_by = "default:water",
|
||||
-- ^ Node (or list of nodes) that the decoration only spawns next to.
|
||||
-- ^ Checks two horizontal planes of neighbouring nodes (including diagonal neighbours),
|
||||
-- ^ one plane level with the 'place_on' node and a plane one node above that.
|
||||
-- ^ Checks two horizontal planes of 8 neighbouring nodes (including
|
||||
-- ^ diagonal neighbours), one plane level with the 'place_on' node and a
|
||||
-- ^ plane one node above that.
|
||||
num_spawn_by = 1,
|
||||
-- ^ Number of spawn_by nodes that must be surrounding the decoration position to occur.
|
||||
-- ^ Number of spawn_by nodes that must be surrounding the decoration
|
||||
-- ^ position to occur.
|
||||
-- ^ If absent or -1, decorations occur next to any nodes.
|
||||
flags = "liquid_surface, force_placement, all_floors, all_ceilings",
|
||||
-- ^ Flags for all decoration types.
|
||||
@ -5531,16 +5604,19 @@ Definition tables
|
||||
----- Simple-type parameters
|
||||
decoration = "default:grass",
|
||||
-- ^ The node name used as the decoration.
|
||||
-- ^ If instead a list of strings, a randomly selected node from the list is placed as the decoration.
|
||||
-- ^ If instead a list of strings, a randomly selected node from the list
|
||||
-- ^ is placed as the decoration.
|
||||
height = 1,
|
||||
-- ^ Decoration height in nodes.
|
||||
-- ^ If height_max is not 0, this is the lower limit of a randomly selected height.
|
||||
-- ^ If height_max is not 0, this is the lower limit of a randomly
|
||||
-- ^ selected height.
|
||||
height_max = 0,
|
||||
-- ^ Upper limit of the randomly selected height.
|
||||
-- ^ If absent, the parameter 'height' is used as a constant.
|
||||
param2 = 0,
|
||||
-- ^ Param2 value of decoration nodes.
|
||||
-- ^ If param2_max is not 0, this is the lower limit of a randomly selected param2.
|
||||
-- ^ If param2_max is not 0, this is the lower limit of a randomly
|
||||
-- ^ selected param2.
|
||||
param2_max = 0,
|
||||
-- ^ Upper limit of the randomly selected param2.
|
||||
-- ^ If absent, the parameter 'param2' is used as a constant.
|
||||
@ -5554,23 +5630,22 @@ Definition tables
|
||||
|
||||
----- Schematic-type parameters
|
||||
schematic = "foobar.mts",
|
||||
-- ^ If schematic is a string, it is the filepath relative to the current working directory of the
|
||||
-- ^ specified Minetest schematic file.
|
||||
-- ^ If schematic is a string, it is the filepath relative to the current
|
||||
-- ^ working directory of the specified Minetest schematic file.
|
||||
-- ^ - OR -, could be the ID of a previously registered schematic
|
||||
-- ^ - OR -, could instead be a table containing two mandatory fields, size and data,
|
||||
-- ^ and an optional table yslice_prob:
|
||||
-- ^ - OR -, could instead be a table containing two mandatory fields,
|
||||
-- ^ size and data, and an optional table yslice_prob:
|
||||
schematic = {
|
||||
size = {x=4, y=6, z=4},
|
||||
size = {x = 4, y = 6, z = 4},
|
||||
data = {
|
||||
{name="default:cobble", param1=255, param2=0},
|
||||
{name="default:dirt_with_grass", param1=255, param2=0},
|
||||
{name="ignore", param1=255, param2=0},
|
||||
{name="air", param1=255, param2=0},
|
||||
{name = "default:cobble", param1 = 255, param2 = 0},
|
||||
{name = "default:dirt_with_grass", param1 = 255, param2 = 0},
|
||||
{name = "air", param1 = 255, param2 = 0},
|
||||
...
|
||||
},
|
||||
yslice_prob = {
|
||||
{ypos=2, prob=128},
|
||||
{ypos=5, prob=64},
|
||||
{ypos = 2, prob = 128},
|
||||
{ypos = 5, prob = 64},
|
||||
...
|
||||
},
|
||||
},
|
||||
@ -5578,7 +5653,7 @@ Definition tables
|
||||
replacements = {["oldname"] = "convert_to", ...},
|
||||
flags = "place_center_x, place_center_y, place_center_z",
|
||||
-- ^ Flags for schematic decorations. See 'Schematic attributes'.
|
||||
rotation = "90" -- rotate schematic 90 degrees on placement
|
||||
rotation = "90",
|
||||
-- ^ Rotation can be "0", "90", "180", "270", or "random".
|
||||
place_offset_y = 0,
|
||||
-- ^ If the flag 'place_center_y' is set this parameter is ignored.
|
||||
@ -5597,19 +5672,21 @@ Definition tables
|
||||
description = "Remove privilege from player", -- Full description
|
||||
privs = {privs=true}, -- Require the "privs" privilege to run
|
||||
func = function(name, param), -- Called when command is run.
|
||||
-- Returns boolean success and text output.
|
||||
-- Returns boolean success and text
|
||||
-- output.
|
||||
}
|
||||
|
||||
Note that in params, use of symbols is as follows:
|
||||
|
||||
* `<>` signifies a placeholder to be replaced when the command is used. For example,
|
||||
when a player name is needed: `<name>`
|
||||
* `[]` signifies param is optional and not required when the command is used. For
|
||||
example, if you require param1 but param2 is optional: `<param1> [<param2>]`
|
||||
* `<>` signifies a placeholder to be replaced when the command is used. For
|
||||
example, when a player name is needed: `<name>`
|
||||
* `[]` signifies param is optional and not required when the command is used.
|
||||
For example, if you require param1 but param2 is optional:
|
||||
`<param1> [<param2>]`
|
||||
* `|` signifies exclusive or. The command requires one param from the options
|
||||
provided. For example: `<param1> | <param2>`
|
||||
* `()` signifies grouping. For example, when param1 and param2 are both required,
|
||||
or only param3 is required: `(<param1> <param2>) | <param3>`
|
||||
* `()` signifies grouping. For example, when param1 and param2 are both
|
||||
required, or only param3 is required: `(<param1> <param2>) | <param3>`
|
||||
|
||||
### Detached inventory callbacks
|
||||
|
||||
@ -5631,7 +5708,8 @@ Note that in params, use of symbols is as follows:
|
||||
on_move = func(inv, from_list, from_index, to_list, to_index, count, player),
|
||||
on_put = func(inv, listname, index, stack, player),
|
||||
on_take = func(inv, listname, index, stack, player),
|
||||
-- ^ Called after the actual action has happened, according to what was allowed.
|
||||
-- ^ Called after the actual action has happened, according to what was
|
||||
-- ^ allowed.
|
||||
-- ^ No return value
|
||||
}
|
||||
|
||||
@ -5639,11 +5717,12 @@ Note that in params, use of symbols is as follows:
|
||||
|
||||
{
|
||||
hud_elem_type = "image", -- see HUD element types
|
||||
-- ^ type of HUD element, can be either of "image", "text", "statbar", or "inventory"
|
||||
-- ^ type of HUD element, can be either of "image", "text", "statbar",
|
||||
"inventory".
|
||||
position = {x=0.5, y=0.5},
|
||||
-- ^ Left corner position of element
|
||||
name = "<name>",
|
||||
scale = {x=2, y=2},
|
||||
scale = {x = 2, y = 2},
|
||||
text = "<text>",
|
||||
number = 2,
|
||||
item = 3,
|
||||
@ -5691,7 +5770,8 @@ Note that in params, use of symbols is as follows:
|
||||
{
|
||||
amount = 1,
|
||||
time = 1,
|
||||
-- ^ If time is 0 has infinite lifespan and spawns the amount on a per-second base
|
||||
-- ^ If time is 0 has infinite lifespan and spawns the amount on a
|
||||
-- ^ per-second basis.
|
||||
minpos = {x=0, y=0, z=0},
|
||||
maxpos = {x=0, y=0, z=0},
|
||||
minvel = {x=0, y=0, z=0},
|
||||
@ -5703,22 +5783,24 @@ Note that in params, use of symbols is as follows:
|
||||
minsize = 1,
|
||||
maxsize = 1,
|
||||
-- ^ The particle's properties are random values in between the bounds:
|
||||
-- ^ minpos/maxpos, minvel/maxvel (velocity), minacc/maxacc (acceleration),
|
||||
-- ^ minsize/maxsize, minexptime/maxexptime (expirationtime)
|
||||
-- ^ minpos/maxpos, minvel/maxvel (velocity),
|
||||
-- ^ minacc/maxacc (acceleration), minsize/maxsize,
|
||||
-- ^ minexptime/maxexptime (expirationtime).
|
||||
collisiondetection = false,
|
||||
-- ^ collisiondetection: if true uses collision detection
|
||||
collision_removal = false,
|
||||
-- ^ collision_removal: if true then particle is removed when it collides,
|
||||
-- ^ requires collisiondetection = true to have any effect
|
||||
attached = ObjectRef,
|
||||
-- ^ attached: if defined, particle positions, velocities and accelerations
|
||||
-- ^ are relative to this object's position and yaw.
|
||||
-- ^ attached: if defined, particle positions, velocities and
|
||||
-- ^ accelerations are relative to this object's position and yaw.
|
||||
vertical = false,
|
||||
-- ^ vertical: if true faces player using y axis only
|
||||
texture = "image.png",
|
||||
-- ^ Uses texture (string)
|
||||
playername = "singleplayer"
|
||||
-- ^ Playername is optional, if specified spawns particle only on the player's client
|
||||
-- ^ Playername is optional, if specified spawns particle only on the
|
||||
-- ^ player's client.
|
||||
animation = {Tile Animation definition},
|
||||
-- ^ optional, specifies how to animate the particle texture
|
||||
glow = 0
|
||||
@ -5730,32 +5812,36 @@ Note that in params, use of symbols is as follows:
|
||||
{
|
||||
url = "http://example.org",
|
||||
timeout = 10,
|
||||
-- ^ Timeout for connection in seconds. Default is 3 seconds.
|
||||
post_data = "Raw POST request data string" OR { field1 = "data1", field2 = "data2" },
|
||||
-- ^ Optional, if specified a POST request with post_data is performed.
|
||||
-- ^ Accepts both a string and a table. If a table is specified, encodes table
|
||||
-- ^ as x-www-form-urlencoded key-value pairs.
|
||||
-- ^ If post_data ist not specified, a GET request is performed instead.
|
||||
-- ^ Timeout for connection in seconds. Default is 3 seconds.
|
||||
post_data = "Raw POST request data string" OR {field1 = "data1", field2 = "data2"},
|
||||
-- ^ Optional, if specified a POST request with post_data is performed.
|
||||
-- ^ Accepts both a string and a table. If a table is specified, encodes
|
||||
-- ^ table as x-www-form-urlencoded key-value pairs.
|
||||
-- ^ If post_data ist not specified, a GET request is performed instead.
|
||||
user_agent = "ExampleUserAgent",
|
||||
-- ^ Optional, if specified replaces the default minetest user agent with given string
|
||||
-- ^ Optional, if specified replaces the default minetest user agent with
|
||||
-- ^ given string.
|
||||
extra_headers = { "Accept-Language: en-us", "Accept-Charset: utf-8" },
|
||||
-- ^ Optional, if specified adds additional headers to the HTTP request. You must make sure
|
||||
-- ^ that the header strings follow HTTP specification ("Key: Value").
|
||||
-- ^ Optional, if specified adds additional headers to the HTTP request.
|
||||
-- ^ You must make sure that the header strings follow HTTP specification
|
||||
-- ^ ("Key: Value").
|
||||
multipart = boolean
|
||||
-- ^ Optional, if true performs a multipart HTTP request. Default is false.
|
||||
-- ^ Optional, if true performs a multipart HTTP request.
|
||||
-- ^ Default is false.
|
||||
}
|
||||
|
||||
### `HTTPRequestResult` definition (`HTTPApiTable.fetch` callback, `HTTPApiTable.fetch_async_get`)
|
||||
|
||||
{
|
||||
completed = true,
|
||||
-- ^ If true, the request has finished (either succeeded, failed or timed out)
|
||||
-- ^ If true, the request has finished (either succeeded, failed or timed
|
||||
out).
|
||||
succeeded = true,
|
||||
-- ^ If true, the request was successful
|
||||
-- ^ If true, the request was successful
|
||||
timeout = false,
|
||||
-- ^ If true, the request timed out
|
||||
-- ^ If true, the request timed out
|
||||
code = 200,
|
||||
-- ^ HTTP status code
|
||||
-- ^ HTTP status code
|
||||
data = "response"
|
||||
}
|
||||
|
||||
@ -5763,25 +5849,30 @@ Note that in params, use of symbols is as follows:
|
||||
|
||||
{
|
||||
get_auth = func(name),
|
||||
-- ^ Get authentication data for existing player `name` (`nil` if player doesn't exist)
|
||||
-- ^ returns following structure `{password=<string>, privileges=<table>, last_login=<number or nil>}`
|
||||
-- ^ Get authentication data for existing player `name` (`nil` if player
|
||||
doesn't exist).
|
||||
-- ^ returns following structure:
|
||||
-- ^ `{password=<string>, privileges=<table>, last_login=<number or nil>}`
|
||||
create_auth = func(name, password),
|
||||
-- ^ Create new auth data for player `name`
|
||||
-- ^ Note that `password` is not plain-text but an arbitrary representation decided by the engine
|
||||
-- ^ Note that `password` is not plain-text but an arbitrary
|
||||
-- ^ representation decided by the engine
|
||||
delete_auth = func(name),
|
||||
-- ^ Delete auth data of player `name`, returns boolean indicating success (false if player nonexistant)
|
||||
-- ^ Delete auth data of player `name`, returns boolean indicating success
|
||||
-- ^ (false if player nonexistant).
|
||||
set_password = func(name, password),
|
||||
-- ^ Set password of player `name` to `password`
|
||||
Auth data should be created if not present
|
||||
set_privileges = func(name, privileges),
|
||||
-- ^ Set privileges of player `name`
|
||||
-- ^ `privileges` is in table form, auth data should be created if not present
|
||||
-- ^ `privileges` is in table form, auth data should be created if not
|
||||
-- ^ present.
|
||||
reload = func(),
|
||||
-- ^ Reload authentication data from the storage location
|
||||
-- ^ Returns boolean indicating success
|
||||
record_login = func(name),
|
||||
-- ^ Called when player joins, used for keeping track of last_login
|
||||
iterate = func(),
|
||||
-- ^ Returns an iterator (use with `for` loops) for all player names currently in the auth database
|
||||
-- ^ Returns an iterator (use with `for` loops) for all player names
|
||||
-- ^ currently in the auth database.
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user