Difference between revisions of "Development Tools"

From Minetest Developer Wiki
Jump to navigation Jump to search
(→‎Minetest games and mods: link to Developer Tools tag in ContentDB)
(→‎Mod development: Add Minetest Formspec Editor, add section for webapps)
 
(9 intermediate revisions by 2 users not shown)
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])
 +
 +
=== Web applications ===
 +
* [https://wuzzy.codeberg.page/MiBPoV/ Minetest Biome Point Visualizer]: Edit and visualize biome heat/humidity points in a Voronoi diagram ([https://codeberg.org/Wuzzy/MiBPoV source code])
 +
* [https://luk3yx.gitlab.io/minetest-formspec-editor/ Minetest Formspec Editor]: Visual formspec editor
  
 
=== Minetest games and mods ===
 
=== Minetest games and mods ===
==== Formspecs ====
+
See the [https://content.minetest.net/packages/?tag=developer_tools Developer Tools] tag in ContentDB.
* [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 ====
 
* [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
 
* [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.)
 
 
 
==== Perlin noise ====
 
* [https://forum.minetest.net/viewtopic.php?f=9&t=28027 Perlin Explorer [perlin_explorer&#93;]: Tweak, explore, analyze and visualize 2D and 3D Perlin noises
 
* [https://forum.minetest.net/viewtopic.php?f=9&t=23968 Prysm Viewer Mod [prysm&#93;]: Test 1D Perlin noise on-the-fly
 
 
 
==== 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?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
 
 
 
==== See also ====
 
See also the [https://content.minetest.net/packages/?tag=developer_tools Developer Tools] tag in ContentDB.
 
  
 
== 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 Minetest will generate with different noiseparams. (Emulation of Minetest Perlin noise 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 2D Perlin noise that Minetest will generate with different noiseparams. (Emulation of Minetest 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/Minetest_Translation_Tools Minetest Translation Tools]: Collection of Python scripts to create, update, verify and convert mod translation files (*.tr)
 +
==== Legacy ====
 +
* [https://github.com/FaceDeer/update_translations update_translations]: Older version of the translation updater script included in Minetest 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/minetest_tr_vim_syntax Vim syntax highlighting for *.tr files]
  
 
[[Category:Misc]]
 
[[Category:Misc]]

Latest revision as of 23:31, 24 October 2023

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

Minetest development

Mod development

Standalone software

Web applications

Minetest 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 Minetest will generate with different noiseparams. (Emulation of Minetest Perlin noise can be wrong in extremes/edge-cases due to precision of JavaScript number type)

Translation

Legacy

Syntax highlighting