Difference between revisions of "Terminology"

From Minetest Developer Wiki
Jump to navigation Jump to search
m (→‎In-game Content: move node info)
(Replaced content with "See https://wiki.minetest.net/Terminology")
Tag: Replaced
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
==Minetest and its components==
+
See https://wiki.minetest.net/Terminology
 
 
*'''Minetest''': a game engine consisting of a collection of libraries connected by C++ code.
 
*[https://github.com/minetest/irrlicht '''IrrlichtMt'''] is the 3D rendering library used by Minetest.
 
*[http://irrlicht.sourceforge.net/ '''Irrlicht'''] is the software from which IrrlichtMt was forked.
 
*'''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 <code>games</code> directory. Not to be confused with modpacks. See also [https://wiki.minetest.net/Games Games] on the Minetest Wiki.
 
*[http://wiki.minetest.net/Games/Minetest%20Game '''Minetest Game''']: Official name of the default game (usually) shipped with Minetest, a base for modding.
 
*[https://github.com/minetest/minetest_game minetest_game]: Repository name of Minetest Game. '''Not''' the official name of the default game!
 
*[http://wiki.minetest.net/Mods '''Mods'''] are the foundation of games which add or modify various features, using the [[:Category:Modding_API|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 <code>mods</code> 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 [https://raw.githubusercontent.com/minetest/minetest/master/minetest.conf.example '''minetest.conf.example'''] or '''defaultsettings.cpp'''.
 
 
 
==In-game Content==
 
 
 
*A '''World''' is a saved game in Minetest, which contains:
 
**'''Map''' - a [http://wiki.minetest.net/Database_backends 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.
 
**'''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.
 
**'''Liquids''': are nodes with ''some'' kind of property related to liquids. In development, this term is problematic when used without any clarification, as node properties related to liquids are decoupled. To avoid confusion, say to which ''precise'' technical property you refer to, for example, the "liquid" drawtype, liquid spreading/flowing, liquid visocity, liquid player movement physics, etc.
 
**'''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''' - A movable thing that is not bound to a fixed position. Following kinds of objects exist:
 
**'''Entity''' - an object that is controlled by Lua. For example: mobs, falling nodes or primed TNT.
 
**'''Player''' - an object that represents a player.
 
*'''Items''' are things that you can put in inventories. Items ''can'' have special uses like digging, dealing damage, crafting, placing, etc., but this is optional. Note the 3 item types are a technical distinction, not a semantic one.
 
**'''Tool''' or '''tool item''' - a type of item that is non-stackable and has a "wear" property so it is capable of wearing out and break.
 
**'''Node item''' - the "item form" of a node which can be placed by default. Every node (except the unknown node) has a node item associated with it. For example, a cobblestone from Minetest Game is a ''node'' when it exists in the world, but it is a ''node item'' when in an inventory.
 
**'''Craftitem''' - a type of item that is neither a tool nor a node item.
 
*'''Item stacks''' are stacks of identical items with an item count.
 
*'''Environment''' - A global object that (amongst other things) provides access to all nodes, (active) objects and players.
 
*'''ABM'''s (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).
 
*'''LBM'''s (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 '''A'''pplication '''P'''rogramming '''I'''nterface.
 
*'''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
 
 
 
[[Category:Misc]]
 

Latest revision as of 13:43, 25 October 2022