Difference between revisions of "Development Tools"

From Minetest Developer Wiki
Jump to navigation Jump to search
m (→‎Standalone software: rename MTSEdit)
(→‎Syntax highlighting: update link for vim syntax)
 
(33 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
This article lists various free software tools which help in development of Minetest and mods for Minetest.
+
This article lists various free software tools which help in development of Luanti and mods for Luanti.
  
== Minetest development ==
+
== Luanti development ==
 +
* [https://wiki.minetest.net/Games/Development_Test Development Test]: A testing game for testing various engine features
 
* [https://github.com/minetest/minetest/tree/master/util /minetest/util]: Various maintenance utilities
 
* [https://github.com/minetest/minetest/tree/master/util /minetest/util]: Various maintenance utilities
  
Line 8: Line 9:
 
=== Standalone software ===
 
=== Standalone software ===
 
* [https://forum.minetest.net/viewtopic.php?f=14&t=2840 NodeBoxEditor]: Build [[Node boxes|node boxes]] by dragging their edges.
 
* [https://forum.minetest.net/viewtopic.php?f=14&t=2840 NodeBoxEditor]: Build [[Node boxes|node boxes]] by dragging their edges.
* [https://forum.minetest.net/viewtopic.php?f=14&t=23724 MTS Editor]: A program to create, view and edit Minetest schematics, but it supports other file formats (e.g. Minecraft schematics) as well
+
* [https://forum.minetest.net/viewtopic.php?f=14&t=23724 MTS Editor]: A program to create, view and edit Luanti schematics, but it supports other file formats (e.g. Minecraft schematics) as well
 
* [https://forum.minetest.net/viewtopic.php?f=14&t=18992 Schematic Creator]: A Java program to create schematics
 
* [https://forum.minetest.net/viewtopic.php?f=14&t=18992 Schematic Creator]: A Java program to create schematics
 
* [https://forum.minetest.net/viewtopic.php?f=14&t=18780& Model Creator]: A Java program to create meshes
 
* [https://forum.minetest.net/viewtopic.php?f=14&t=18780& Model Creator]: A Java program to create meshes
 +
* [https://forum.minetest.net/viewtopic.php?t=23891 RocketLib Toolkit]: Lua-based SQLite3 map reader
 +
* [https://github.com/mpeterv/luacheck/ luacheck]: Lua linter and static code analyser (see also [https://rubenwardy.com/minetest_modding_book/en/quality/luacheck.html the chapter rubenwardy's modding book])
 +
* [https://olivinelabs.com/busted/ busted]: Lua unit testing framework (see also [https://rubenwardy.com/minetest_modding_book/en/quality/unit_testing.html the chapter rubenwardy's modding book])
  
=== Scripts ===
+
=== Web applications ===
==== Translation ====
+
* [https://wuzzy.codeberg.page/LiBPoV/ Luanti Biome Point Visualizer]: Edit and visualize biome heat/humidity points in a Voronoi diagram ([https://codeberg.org/Wuzzy/LiBPoV source code])
* [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://luk3yx.gitlab.io/minetest-formspec-editor/ Minetest Formspec Editor]: Visual formspec editor
* [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])
 
  
=== Mods and modpacks ===
+
=== Luanti games and mods ===
==== Coding and testing ====
+
See the [https://content.minetest.net/packages/?tag=developer_tools Developer Tools] tag in ContentDB.
* [https://forum.minetest.net/viewtopic.php?t=9671 LuaCmd [luacmd&#93;]: <code>luacmd</code> server command which allows you to run a single Lua statement
 
* [https://forum.minetest.net/viewtopic.php?t=15759 QA-Block [qa_block&#93;]: 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
 
* [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
 
  
==== Buildings and schematics ====
+
== Scripts ==
* [https://forum.minetest.net/viewtopic.php?t=9458 L-System Tree Utility [ltool&#93;]: Helps you creating [[Introduction to L-system trees|L-system trees]] which you can spawn with [[minetest.spawn_tree]]
+
=== Formspecs ===
* [https://forum.minetest.net/viewtopic.php?f=9&t=18515 Schematic Editor [schemedit&#93;]: Advanced tool for creating and placing schematics
+
* [https://luk3yx.gitlab.io/minetest-formspec-editor/ Minetest Formspec Editor]: A great online tool with drag and drop that allows you to import and export formspecs in different versions
* [https://forum.minetest.net/viewtopic.php?f=9&t=12011 Convert table schematic to .mts [saveschems&#93;]: Tool for converting schematics from Lua table format to MTS files
+
* [https://codepen.io/treer/pen/gOPZyov?editors=0010 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)
* [https://forum.minetest.net/viewtopic.php?t=572 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 (<code>//mtschemcreate</code>, etc.)
 
  
==== Informational ====
+
=== Translation ===
* [https://forum.minetest.net/viewtopic.php?t=18049 List Items [listitems&#93;]: Server commands for listing and searching the IDs of registered items and entities
+
* [https://codeberg.org/Wuzzy/Luanti_Translation_Tools Luanti Translation Tools]: Collection of Python scripts to manage mod translation files (*.tr)
* [https://forum.minetest.net/viewtopic.php?f=9&t=23138 Find Biome [findbiome&#93;]: Server command for finding a biome and teleporting to it
+
==== Legacy ====
* [https://forum.minetest.net/viewtopic.php?t=11237 Inventory Check [inventorycheck&#93;]: Investigate the inventory of any player
+
* [https://github.com/FaceDeer/update_translations update_translations]: Older version of the translation updater script included in Luanti Translation Tools
* [https://github.com/minetest-mods/inspector Inspector [inspector&#93;]: Reveal the item/entity definition, metadata and param1/param2 of whatever you punch
+
* [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])
  
==== Benchmarking ====
+
== Syntax highlighting ==
* [https://forum.minetest.net/viewtopic.php?f=9&t=20699 Stopwatch [stopwatch&#93;]: Benchmarking utility to quickly benchmark portions of Lua code
+
* [https://codeberg.org/Wuzzy/luanti_tr_vim_syntax Vim syntax highlighting for *.tr files]
  
 
[[Category:Misc]]
 
[[Category:Misc]]

Latest revision as of 10:18, 25 October 2024

This article lists various free software tools which help in development of Luanti and mods for Luanti.

Luanti development

Mod development

Standalone software

Web applications

Luanti games and mods

See the Developer Tools tag in ContentDB.

Scripts

Formspecs

  • Minetest Formspec Editor: A great online tool with drag and drop that allows you to import and export formspecs in different versions
  • 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)

Translation

Legacy

Syntax highlighting