Development Tools #
This page contains a list of tools that are useful for developing games and mods for Luanti, or working with parts of the engine.
In addition to this list, you can also see the Development Tools tag on ContentDB for mods useful for development and the modtools repository for officially maintained modding tools.
Engine development #
- Development Test: A testing game for testing various engine features
- /minetest/util: Various maintenance utilities
General Lua Tools #
- luacheck: Lua linter and static code analyser (see also the chapter in rubenwardy’s modding book)
- busted: Lua unit testing framework (see also the chapter in rubenwardy’s modding book)
- Lua pattern viewer: A site like Regexr but for visualising and working with Lua patterns.
- Warr1024’s Lua Code Tools: Lua formatter & locals generator
Debugging/profiling #
- debug: Luanti mod library that offers more debugging capabilities.
- LuaJIT Profiler: Luanti mod that allows you to profile mods using LuaJIT’s built-in profiler and Flamegraph.
- Warr1024’s Minetest Server Docker Image: Comes with useful debugging and performance profiling tools
Syntax highlighting/autocompletion #
- Minetest Tools (VSCode marketplace, OpenVSX): Extension for VSCode and other Code - OSS based code editors that provides Lua API autocompletion and more
Schematics #
- Schematic Editor: Luanti mod that allows you to import, edit and export schematics straight within Luanti.
- MTS Editor: Standalone program to view and edit Luanti schematics, but it supports other file formats (e.g. Minecraft schematics) as well.
- Lua2Mts: Luanti mod to convert .lua schematics to .mts schematics.
- ASCII Art Schematics: Library to manage Luanti schematics as ASCII art
Biomes #
- Luanti Biome Point Visualizer: Edit and visualize biome heat/humidity points in a Voronoi diagram (source code)
Perlin Noise #
- Perlin Explorer: Luanti mod that allows you to experiment with all sorts of perlin noise.
- Perlin noise tuner: Visualizes 2D Perlin noise that Luanti will generate with different noiseparams.(Emulation of Luanti Perlin noise can be wrong in extremes/edge-cases due to precision of JavaScript number type)
3D models #
- Blender: Essential for making animated models in Luanti, see Using Blender.
- Blockbench: Useful for making static voxel models for Luanti, see Using Blockbench.
Formspecs #
- formspec_editor: Luanti game that allows you to write formspecs and preview them instantly within Luanti
- Luanti Formspec Editor: WYSIWYG online formspec editor
Translation #
- Gettext utils: For maintaining content translations for the new .po/Gettext format
- mod_translation_updater: Python script to create and update legacy .tr mod translation files
ContentDB #
- cdbrelease: Release automation tool for ContentDB packages
Misc. #
- Definition Ripper: Extract node and item definitions, generating decorative and inert facades from them