Terminology

From Minetest Developer Wiki
Revision as of 16:23, 26 March 2018 by Krock (talk | contribs) (Add LBM, minor grammar corrections)
Jump to navigation Jump to search

Minetest and its components

  • Minetest: a game engine consisting of a collection of libraries connected by C++ code.
  • Irrlicht is the 3D rendering library used by Minetest.
  • Game: A collection of pre-packaged mods with some additional metadata. Supposed to be a (hopefully) complete interactive playable experience which stands on its own. Can be run from the main menu. Must be put into the games directory. Not to be confused with modpacks. See also Games on the Minetest Wiki.
  • Minetest Game: Official name of the default game (usually) shipped with Minetest, a base for modding.
  • minetest_game: Repository name of Minetest Game. Not the official name of the default game!
  • Mods are the foundation of games which add or modify various features, using the Lua modding API. Here you find the actual source code of games. Players can also add additional own mods to extend a particular game
  • Modpack: A collection of mods which are bundled together in a directory. These mods are usually closely related and are bundled for convenience. Must be put into the mods directory
  • Server: the program that manages and distributes mod, texture and sound data to the players. It also does all of the mod initiation.
  • Client: the program that the player uses to connect to singleplayer or multiplayer games. Handles the rendering of the world.
  • minetest.conf is a file in the root directory which contains settings for the game. A list of default settings can be found in minetest.conf.example or defaultsettings.cpp.

In-game Content

  • A World is a saved game in Minetest, which contains:
    • Map - a database of the map's content, everything from blocks to chest contents.
    • Player passwords, their health, and their inventory.
    • Other needed files, such as ban lists, seed numbers and protected areas.
  • There are several different terms relating to nodes and their organization:
    • Nodes are 1×1×1 meter individual cubes in the game, and are grouped and loaded by their blocks.
    • Blocks or Mapblocks are 16×16×16 groups of nodes.
    • Sectors are stacks of single blocks, extending from the bottom of the worlds to the top.
    • Mapchunks are 80x80x80 nodes (5x5x5 blocks) groups, they are an abstraction used only for mapgen (the mapgen works on one mapchunk at a time, because blocks are too small to efficiently generate).
  • Object - something in the world that is not attached to any particular node or position, can move and act on its own. Examples include mobs, dropped items, falling sand or gravel, primed TNT. Players are also objects.
  • Entity - an object (see above) that is written in Lua.
  • Items
    • Tool or tool item - a type of item that is non-stackable, wears out and improves mining speed or deals more damage. Examples: Pickaxes, axes, shovels, swords.
    • Node item - a type of item that can be placed as a node (see above). These include dirt, stone, cobble, etc., but also things like torches and signs.
    • Craftitem - a type of item that can (depending on the item) be eaten, be used in crafting recipes or cooked in a furnace, be placed as objects or be used on things in the world.
    • Node metadata - extra data that is attached to a node. Chests and furnaces use this to store their inventories, and signs use this to store what is written on them.
    • Environment - A global object that (amongst other things) provides access to all nodes, (active) objects and players.
    • ABMs (Active Block Modifiers) are functions that run on nodes of a certain type, changing them or giving them interactive properties (eg. grass and moss growth).
    • LBMs (Loading Block Modifiers) are similar to ABMs but are only run once when the mapblock is loaded.

Lua and Modding-related

  • Lua is a simple programming language that is used in mods
  • Modding API or Lua API is a selection of functions and values, used by mod files to modify, extend or add features and blocks. API stands for Application Programming Interface.
  • lua_api.txt is a file in the doc/ directory and contains a reference for the Lua API.

Outdated or incorrect terms

  • Subgame: Outdated term for “game”
  • Minetest Engine: Incorrect name for “Minetest”
  • minetest_game: Old unofficial name of “Minetest Game”. Now this term only refers to the repository of Minetest Game