Difference between revisions of "Modding Intro"

From Minetest Developer Wiki
Jump to navigation Jump to search
(Re-work a bunch, mention the new Minetest-Docs.)
Line 1: Line 1:
 
{{Languages}}
 
{{Languages}}
  
Minetest has a scripting '''API''' ('''A'''pplication '''P'''rogramming '''I'''nterface), which is used to program '''mods''' (short for "modifications") for the game, extending its features and adding new items. This API is accessed using an easy-to-use programming language called Lua. More specifically, the version of Lua is 5.1.
+
Minetest has a scripting '''API''', which is used to program [[games]] and [[mods]], creating whole new experiences or extending existing ones.
  
The only thing you will need is ''basic'' programming knowledge. See Lua for details.
+
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 ==
 
== Documentation ==
 +
 +
=== Tutorials ===
 +
The [https://rubenwardy.com/minetest_modding_book/ 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 mods in Minetest work & are structured.
  
 
=== Lua API Reference ===
 
=== Lua API Reference ===
The official Lua API documentation is lua_api.txt. It's available in [https://github.com/minetest/minetest/blob/master/doc/lua_api.txt plaintext] or [https://minetest.gitlab.io/minetest/ HTML]. You can find the plaintext version in your Minetest installation, in the <code>doc</code> directory.
+
The official Lua API documentation is <code>lua_api.txt</code>. It's available in [https://github.com/minetest/minetest/blob/master/doc/lua_api.txt plaintext] or [https://minetest.gitlab.io/minetest/ HTML]. You can find the plaintext version in your Minetest installation, in the <code>doc</code> directory.
 
 
Use this file to look up functions, core features of the Lua API, etc. This file is maintained by the core developers of Minetest and every change to it goes through a quality control process.
 
  
This document explains everything you need to know about the Lua API in concise form, but may be daunting for newbies to read. Therefore, it's recommended that you start with a tutorial.
+
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.
  
=== Tutorials ===
+
Any functions not listed here are subject to change & not guaranteed to be compatible across versions, though usually they do.
  
The [https://rubenwardy.com/minetest_modding_book/ Minetest Modding Book] is a friendly introduction to Minetest modding and game creation, introducing you to various aspects of the API.
+
=== The Minetest-Docs Project ===
 +
A work-in-progress project is underway to create new, more detailed, documentation. They can be read from it's [https://github.com/minetest/minetest_docs/ GitHub repo], contributions are greatly appreciated.
  
 
== Other useful links ==
 
== Other useful links ==

Revision as of 15:42, 19 October 2022

Language: [[::Modding Intro|English]]

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 mods in Minetest work & 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 & not guaranteed to be compatible across versions, though usually they do.

The Minetest-Docs Project

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

Other useful links