Difference between revisions of "Development Tools"

From Minetest Developer Wiki
Jump to navigation Jump to search
(Sort out categories)
(→‎Syntax highlighting: update link for vim syntax)
 
(16 intermediate revisions by 2 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://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 9: 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
Line 15: Line 15:
 
* [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://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])
 
* [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])
* [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)
 
  
=== Minetest games and mods ===
+
=== Web applications ===
==== Formspecs ====
+
* [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://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://luk3yx.gitlab.io/minetest-formspec-editor/ Minetest Formspec Editor]: Visual formspec editor
  
==== Coding and testing ====
+
=== Luanti games and mods ===
* [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
+
See the [https://content.minetest.net/packages/?tag=developer_tools Developer Tools] tag in ContentDB.
* [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
 
* [https://forum.minetest.net/viewtopic.php?f=9&t=10274 Nodebox Creator [nodebox_creator&#93;]: Ingame nodebox editor
 
 
 
==== Buildings and schematics ====
 
* [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]]
 
* [https://forum.minetest.net/viewtopic.php?f=9&t=18515 Schematic Editor [schemedit&#93;]: Advanced tool for creating and placing schematics
 
* [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://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.)
 
 
 
==== Map generation ====
 
* [https://forum.minetest.net/viewtopic.php?f=9&t=28027 Perlin Explorer [perlin_explorer&#93;]: Generate, experiment around with, explore and analyze Perlin noises
 
 
 
==== Informational ====
 
* [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://forum.minetest.net/viewtopic.php?f=9&t=23138 Find Biome [findbiome&#93;]: Server command for finding a biome and teleporting to it
 
* [https://forum.minetest.net/viewtopic.php?t=11237 Inventory Check [inventorycheck&#93;]: Investigate the inventory of any player
 
* [https://github.com/minetest-mods/inspector Inspector [inspector&#93;]: Reveal the item/entity definition, metadata and param1/param2 of whatever you punch
 
* [https://forum.minetest.net/viewtopic.php?f=9&t=23968 Prysm [prysm&#93;]: Test Perlin noise on-the-fly
 
* [https://forum.minetest.net/viewtopic.php?t=24287 Advanced Rangefinder [finder&#93;]: Adds search capabilities for both nodes and entities and related server commands
 
 
 
==== Benchmarking ====
 
* [https://forum.minetest.net/viewtopic.php?f=9&t=20699 Stopwatch [stopwatch&#93;]: Benchmarking utility to quickly benchmark portions of Lua code
 
  
 
== Scripts ==
 
== Scripts ==
==== Formspecs ====
+
=== Formspecs ===
 
* [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://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://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)
  
==== Translation ====
+
=== Translation ===
* [https://github.com/FaceDeer/update_translations update_translations]: Python script to create and update mod translation files
+
* [https://codeberg.org/Wuzzy/Luanti_Translation_Tools Luanti Translation Tools]: Collection of Python scripts to manage mod translation files (*.tr)
 +
==== Legacy ====
 +
* [https://github.com/FaceDeer/update_translations update_translations]: Older version of the translation updater script included in Luanti Translation Tools
 
* [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/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])
 
* [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])
  
 +
== Syntax highlighting ==
 +
* [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