Development Tools
This article lists various free software tools which help in development of Minetest and mods for Minetest.
Minetest development
- Development Test: A testing game for testing various engine features
- /minetest/util: Various maintenance utilities
Mod development
Standalone software
- NodeBoxEditor: Build node boxes by dragging their edges.
- MTS Editor: A program to create, view and edit Minetest schematics, but it supports other file formats (e.g. Minecraft schematics) as well
- Schematic Creator: A Java program to create schematics
- Model Creator: A Java program to create meshes
- RocketLib Toolkit: Lua-based SQLite3 map reader
- luacheck: Lua linter and static code analyser (see also the chapter rubenwardy's modding book)
- busted: Lua unit testing framework (see also the chapter rubenwardy's modding book)
Scripts
Translation
- update_translations: Python script to create and update mod translation files
- findtext.lua: Create mod translation template (buggy!) (see also)
- updatetext.lua: Update mod translation template (buggy!) (see also)
Mods and modpacks
Coding and testing
- LuaCmd [luacmd]:
luacmd
server command which allows you to run a single Lua statement - QA-Block [qa_block]: Adds a Quality Assurance block which you use to run various checker scripts like listing items with missing description (including your own) and browse the global Lua namespace
- DevToys: Modpacks with lots of example nodes (for testing engine features) and a few tools to manipulate nodes
- Nodebox Creator: Ingame nodebox editor
Buildings and schematics
- L-System Tree Utility [ltool]: Helps you creating L-system trees which you can spawn with minetest.spawn_tree
- Schematic Editor [schemedit]: Advanced tool for creating and placing schematics
- Convert table schematic to .mts [saveschems]: Tool for converting schematics from Lua table format to MTS files
- WorldEdit: Primarily a tool for editing large parts of the world, what's interesting for developers is that it includes a few basic schematic commands (
//mtschemcreate
, etc.)
Informational
- List Items [listitems]: Server commands for listing and searching the IDs of registered items and entities
- Find Biome [findbiome]: Server command for finding a biome and teleporting to it
- Inventory Check [inventorycheck]: Investigate the inventory of any player
- Inspector [inspector]: Reveal the item/entity definition, metadata and param1/param2 of whatever you punch
- Prysm [prysm]: Test Perlin noise on-the-fly
- Advanced Rangefinder [finder]: Adds search capabilities for both nodes and entities and related server commands
Benchmarking
- Stopwatch [stopwatch]: Benchmarking utility to quickly benchmark portions of Lua code