Terminology

From Minetest Developer Wiki
Revision as of 17:19, 11 October 2015 by Wuzzy (talk | contribs) (Add minetest_game repo link)
Jump to navigation Jump to search

Minetest and its components

  • Irrlicht is the 3D rendering library used by the Minetest engine.
  • Minetest Engine: a game engine consisting of a collection of libraries connected by C++ code.
  • Subgames or games: a collection of foundation mods which provide the the bulk of the game's content.
  • Minetest Game: the main subgame (usually) shipped with Minetest, a base for modding. Found in the minetest_game repository.
  • Mods are plugins that use the to modify, extend or add features and blocks.
  • 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 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.
    • CraftItems - 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 processes that run on blocks of a certain type, changing them or giving them interactive properties (eg. furnaces, grass growth).

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/ folder wich contains a reference for the Lua API.