Difference between revisions of "Development Tools"
Jump to navigation
Jump to search
(→Mods and modpacks: Add Formspec Editor) |
|||
Line 17: | Line 17: | ||
* [https://codepen.io/treer/pen/gOPZyov?editors=0010 Perlin noise tuner] Visualizes the perlin noise Minetest will generate with different noiseparams. (Emulation of Minetest perlin can be wrong in extremes/edge-cases due to precision of javascript number type) | * [https://codepen.io/treer/pen/gOPZyov?editors=0010 Perlin noise tuner] Visualizes the perlin noise Minetest will generate with different noiseparams. (Emulation of Minetest perlin can be wrong in extremes/edge-cases due to precision of javascript number type) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==== Formspecs ==== | ==== Formspecs ==== | ||
+ | * [https://luk3yx.gitlab.io/minetest-formspec-editor/ Formspec Editor]: A great online tool with drag and drop that allows you to import and export formspecs in different versions | ||
* [https://content.minetest.net/packages/Just_Visiting/formspec_editor/ Formspec Editor]: A very simple tool (in the form of a "game") which lets you edit a formspec file in a text editor and it will be shown in Minetest in real time | * [https://content.minetest.net/packages/Just_Visiting/formspec_editor/ Formspec Editor]: A very simple tool (in the form of a "game") which lets you edit a formspec file in a text editor and it will be shown in Minetest in real time | ||
− | |||
==== Coding and testing ==== | ==== Coding and testing ==== | ||
* [https://forum.minetest.net/viewtopic.php?t=9671 LuaCmd [luacmd]]: <code>luacmd</code> server command which allows you to run a single Lua statement | * [https://forum.minetest.net/viewtopic.php?t=9671 LuaCmd [luacmd]]: <code>luacmd</code> server command which allows you to run a single Lua statement | ||
Line 33: | Line 26: | ||
* [https://forum.minetest.net/viewtopic.php?f=9&t=23802 DevToys]: Modpacks with lots of example nodes (for testing engine features) and a few tools to manipulate nodes | * [https://forum.minetest.net/viewtopic.php?f=9&t=23802 DevToys]: Modpacks with lots of example nodes (for testing engine features) and a few tools to manipulate nodes | ||
* [https://forum.minetest.net/viewtopic.php?f=9&t=10274 Nodebox Creator [nodebox_creator]]: Ingame nodebox editor | * [https://forum.minetest.net/viewtopic.php?f=9&t=10274 Nodebox Creator [nodebox_creator]]: Ingame nodebox editor | ||
+ | |||
+ | === Scripts === | ||
+ | ==== Translation ==== | ||
+ | * [https://github.com/FaceDeer/update_translations update_translations]: Python script to create and update mod translation files | ||
+ | * [https://notabug.org/pgimeno/minetest/src/translation-toolchain/util/findtext.lua findtext.lua]: Create mod translation template (buggy!) ([https://forum.minetest.net/viewtopic.php?f=47&t=23330 see also]) | ||
+ | * [https://notabug.org/pgimeno/minetest/src/translation-toolchain/util/updatetext.lua updatetext.lua]: Update mod translation template (buggy!) ([https://forum.minetest.net/viewtopic.php?f=47&t=23330 see also]) | ||
==== Buildings and schematics ==== | ==== Buildings and schematics ==== |
Revision as of 21:30, 31 March 2022
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)
- Perlin noise tuner Visualizes the perlin noise Minetest will generate with different noiseparams. (Emulation of Minetest perlin can be wrong in extremes/edge-cases due to precision of javascript number type)
Formspecs
- Formspec Editor: A great online tool with drag and drop that allows you to import and export formspecs in different versions
- Formspec Editor: A very simple tool (in the form of a "game") which lets you edit a formspec file in a text editor and it will be shown in Minetest in real time
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 [nodebox_creator]: Ingame nodebox editor
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)
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