-The main game for the Minetest game engine [minetest_game]
-==========================================================
+Minetest Game [minetest_game]
+=============================
+The main subgame for the Minetest engine
+========================================
-To use this game with Minetest, insert this repository as
- /games/minetest_game
-in the Minetest Engine.
+To use this subgame with the Minetest engine, insert this repository as
+ /games/minetest_game
-The Minetest Engine can be found in:
- https://github.com/minetest/minetest/
+The Minetest engine can be found in:
+ https://github.com/minetest/minetest/
Compatibility
--------------
-The minetest_game github master HEAD is generally compatible with the github
-master HEAD of minetest.
+The Minetest Game github master HEAD is generally compatible with the github
+master HEAD of the Minetest engine.
-Additionally, when the minetest engine is tagged to be a certain version (eg.
-0.4.10), minetest_game is tagged with the version too.
+Additionally, when the Minetest engine is tagged to be a certain version (eg.
+0.4.10), Minetest Game is tagged with the version too.
-When stable releases are made, minetest_game is packaged and made available in
- http://minetest.net/download
+When stable releases are made, Minetest Game is packaged and made available in
+ http://minetest.net/download
and in case the repository has grown too much, it may be reset. In that sense,
this is not a "real" git repository. (Package maintainers please note!)
-minetest_game API
-======================
+Minetest Game API
+=================
GitHub Repo: https://github.com/minetest/minetest_game
Introduction
------------
-The minetest_game gamemode offers multiple new possibilities in addition to Minetest's built-in API, allowing you to
-add new plants to farming mod, buckets for new liquids, new stairs and custom panes.
+The Minetest Game subgame offers multiple new possibilities in addition to the Minetest engine's built-in API,
+allowing you to add new plants to farming mod, buckets for new liquids, new stairs and custom panes.
For information on the Minetest API, visit https://github.com/minetest/minetest/blob/master/doc/lua_api.txt
Please note:
[XYZ] refers to a section the Minetest API
The bucket API allows registering new types of buckets for non-default liquids.
bucket.register_liquid(
- "default:lava_source", -- Source node name
- "default:lava_flowing", -- Flowing node name
- "bucket:bucket_lava", -- Name to be used for bucket
- "bucket_lava.png", -- Bucket texture (for wielditem and inventory_image)
- "Lava Bucket" -- Bucket description
+ "default:lava_source", -- name of the source node
+ "default:lava_flowing", -- name of the flowing node
+ "bucket:bucket_lava", -- name of the new bucket item (or nil if liquid is not takeable)
+ "bucket_lava.png", -- texture of the new bucket item (ignored if itemname == nil)
+ "Lava Bucket", -- text description of the bucket item
+ {lava_bucket = 1} -- groups of the bucket item, OPTIONAL
)
Beds API
--------
beds.register_bed(
- "beds:bed", -- Bed name
- def: See [#Bed definition] -- Bed definition
+ "beds:bed", -- Bed name
+ def: See [#Bed definition] -- Bed definition
)
- beds.read_spawns() -- returns a table containing players respawn positions
- beds.kick_players() -- forces all players to leave bed
- beds.skip_night() -- sets world time to morning and saves respawn position of all players currently sleeping
+ beds.read_spawns() -- returns a table containing players respawn positions
+ beds.kick_players() -- forces all players to leave bed
+ beds.skip_night() -- sets world time to morning and saves respawn position of all players currently sleeping
#Bed definition
---------------
}
},
nodebox = {
- bottom = regular nodebox, see [Node boxes], -- bottm part of bed
- top = regular nodebox, see [Node boxes], -- top part of bed
+ bottom = regular nodebox, see [Node boxes], -- bottm part of bed
+ top = regular nodebox, see [Node boxes], -- top part of bed
},
- selectionbox = regular nodebox, see [Node boxes], -- for both nodeboxes
- recipe = { -- Craft recipe
+ selectionbox = regular nodebox, see [Node boxes], -- for both nodeboxes
+ recipe = { -- Craft recipe
{"group:wool", "group:wool", "group:wool"},
{"group:wood", "group:wood", "group:wood"}
}
sound_open = sound to play when opening the trapdoor, OPTIONAL,
sound_close = sound to play when closing the trapdoor, OPTIONAL,
-> You can add any other node definition properties for minetest.register_node,
- such as wield_image, inventory_image, sounds, groups, description, ...
- Only node_box, selection_box, tiles, drop, drawtype, paramtype, paramtype2, on_rightclick
- will be overwritten by the trapdoor registration function
+ such as wield_image, inventory_image, sounds, groups, description, ...
+ Only node_box, selection_box, tiles, drop, drawtype, paramtype, paramtype2, on_rightclick
+ will be overwritten by the trapdoor registration function
}
Farming API
#Hoe Definition
---------------
{
- description = "", -- Description for tooltip
- inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image
- max_uses = 30, -- Uses until destroyed
- material = "", -- Material for recipes
- recipe = { -- Craft recipe, if material isn't used
+ description = "", -- Description for tooltip
+ inventory_image = "unknown_item.png", -- Image to be used as wield- and inventory image
+ max_uses = 30, -- Uses until destroyed
+ material = "", -- Material for recipes
+ recipe = { -- Craft recipe, if material isn't used
{"air", "air", "air"},
{"", "group:stick"},
{"", "group:stick"},
#Plant definition
-----------------
{
- description = "", -- Description of seed item
- 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
+ description = "", -- Description of seed item
+ 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)
- minlight = 13, -- Minimum light to grow
- maxlight = default.LIGHT_MAX -- Maximum light to grow
+ minlight = 13, -- Minimum light to grow
+ maxlight = default.LIGHT_MAX -- Maximum light to grow
}
Screwdriver API
^ mode: screwdriver.ROTATE_FACE or screwdriver.ROTATE_AXIS
^ new_param2: the new value of param2 that would have been set if on_rotate wasn't there
^ return value: false to disallow rotation, nil to keep default behaviour, true to allow
- it but to indicate that changed have already been made (so the screwdriver will wear out)
+ it but to indicate that changed have already been made (so the screwdriver will wear out)
^ use on_rotate = screwdriver.disallow to always disallow rotation
^ use on_rotate = screwdriver.rotate_simple to allow only face rotation
raillike nodes within this group and the same group value.
Use `minetest.raillike_group(<Name>)` to get the group value.
-| Node type | Raillike group name
-+-----------------------+----------------------------------
-| default:rail | "rail"
-| tnt:gunpowder | "gunpowder"
+| Node type | Raillike group name
++-----------------------+--------------------
+| default:rail | "rail"
+| tnt:gunpowder | "gunpowder"
| tnt:gunpowder_burning | "gunpowder"
Example:
Model Definition
----------------
{
- animation_speed = 30, -- Default animation speed, in FPS.
- textures = {"character.png", }, -- Default array of textures.
- visual_size = {x=1, y=1,}, -- Used to scale the model.
+ animation_speed = 30, -- Default animation speed, in FPS.
+ textures = {"character.png", }, -- Default array of textures.
+ visual_size = {x = 1, y = 1}, -- Used to scale the model.
animations = {
- -- <anim_name> = { x=<start_frame>, y=<end_frame>, },
- foo = { x= 0, y=19, },
- bar = { x=20, y=39, },
+ -- <anim_name> = {x = <start_frame>, y = <end_frame>},
+ foo = {x = 0, y = 19},
+ bar = {x = 20, y = 39},
-- ...
},
}
Trees
-----
default.grow_tree(pos, is_apple_tree)
-^ Grows a tree or apple tree at pos
+^ Grows a mgv6 tree or apple tree at pos
default.grow_jungle_tree(pos)
-^ Grows a jungletree at pos
+^ Grows a mgv6 jungletree at pos
default.grow_pine_tree(pos)
-^ Grows a pinetree at pos
+^ Grows a mgv6 pinetree at pos
+
+default.grow_new_apple_tree(pos)
+^ Grows a new design apple tree at pos
+
+default.grow_new_jungle_tree(pos)
+^ Grows a new design jungle tree at pos
+
+default.grow_new_pine_tree(pos)
+^ Grows a new design pine tree at pos
+
+default.grow_new_acacia_tree(pos)
+^ Grows a new design acacia tree at pos