Difference between revisions of "Modding Intro"

From Minetest Developer Wiki
Jump to navigation Jump to search
(link to Modding Overview)
m (add link to lua page and correct a link to mod releases)
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.
+
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]].
  
 
The only thing you will need is ''basic'' programming knowledge. If you don't have any programming experience, you can use [https://www.codecademy.com/tracks/javascript Codecademy] to learn. It will teach you the basics of programming (it is JavaScript, not Lua, but still helps). More specifically, the version of Lua is 5.1 ([https://www.lua.org/manual/5.1/ Reference manual], [https://www.lua.org/pil/ book]).
 
The only thing you will need is ''basic'' programming knowledge. If you don't have any programming experience, you can use [https://www.codecademy.com/tracks/javascript Codecademy] to learn. It will teach you the basics of programming (it is JavaScript, not Lua, but still helps). More specifically, the version of Lua is 5.1 ([https://www.lua.org/manual/5.1/ Reference manual], [https://www.lua.org/pil/ book]).
Line 18: Line 18:
  
 
== Other useful links ==
 
== Other useful links ==
* Check out the [http://minetest.net/forum/viewforum.php?f=11 Mod Releases forum] to see mods that have been published by the community.
+
* Check out the [https://forum.minetest.net/viewforum.php?f=11 Mod Releases forum] to see mods that have been published by the community.
 
* Get mod help from the [https://forum.minetest.net/viewtopic.php?f=9&t=4668 modding questions thread].
 
* Get mod help from the [https://forum.minetest.net/viewtopic.php?f=9&t=4668 modding questions thread].
 
* Suggest a mod idea in the [https://forum.minetest.net/viewtopic.php?f=9&t=2434 mod request thread].
 
* Suggest a mod idea in the [https://forum.minetest.net/viewtopic.php?f=9&t=2434 mod request thread].

Revision as of 21:22, 31 July 2019

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

Minetest has a scripting API (Application Programming Interface), 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.

The only thing you will need is basic programming knowledge. If you don't have any programming experience, you can use Codecademy to learn. It will teach you the basics of programming (it is JavaScript, not Lua, but still helps). More specifically, the version of Lua is 5.1 (Reference manual, book).

Documentation

The only official Lua API documentation is lua_api.txt. You can find this file in your Minetest installation, in the doc 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.

For complete beginners, there's also an unofficial guide/tutorial into Lua scripting: The Minetest Modding Online Tutorial Book. It also includes a HTML version of lua_api.txt which is more readable.

A very basic overview is written in Modding Overview.

WARNING: A huge amount of pages on this wiki regarding Lua methods and objects are extremely outdated. Ignore them for now, use lua_api.txt instead. It has been proposed to remove those pages as redundant.

Path of user data

See Installing_Mods.

Other useful links