Modding Intro

From Minetest Developer Wiki
Revision as of 19:38, 25 January 2023 by ROllerozxa (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Minetest has a scripting API, which is used to program games and mods, creating whole new experiences or extending existing ones.

The API is accessed using Lua, an easy-to-use programming language. Version 5.1 of Lua is used, but many people run LuaJIT for greater performance.

The only thing you will need is basic programming knowledge.

Documentation

Tutorials

The Minetest Modding Book is a friendly introduction to Minetest modding and game creation, introducing you to various aspects of the API.

It is recommended you start here, even if you are already apt at programming, to get a good understanding of how Minetest mods work and are structured.

Lua API Reference

The official Lua API documentation is lua_api.txt. It's available in plaintext or HTML. You can find the plaintext version in your Minetest installation, in the doc directory.

This is a concise description of the entire API, explaining functions, data structures, registration templates & more. The core developers of minetest maintain it, changes going through a quality control process.

Any functions not listed here are subject to change and not guaranteed to be compatible across versions, though usually they are.

The Minetest-Docs Project

A work-in-progress project is underway to create new, more detailed, documentation. They can be read from its GitHub repo, contributions are greatly appreciated.


Useful tools

Here are some useful tools that most modders use when making Minetest mods:

Other useful links