Difference between revisions of "Development Tools"

From Minetest Developer Wiki
Jump to navigation Jump to search
(→‎Mod development: add findtext.lua and updatetext.lua)
(→‎Mod development: Add Minetest Formspec Editor, add section for webapps)
 
(36 intermediate revisions by 5 users not shown)
Line 3: Line 3:
  
 
== Minetest development ==
 
== Minetest 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=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/MiBPoV/ Minetest Biome Point Visualizer]: Edit and visualize biome heat/humidity points in a Voronoi diagram ([https://codeberg.org/Wuzzy/MiBPoV 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 ===
+
=== Minetest games and mods ===
==== Coding ====
+
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
 
  
==== 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 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://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/Minetest_Translation_Tools Minetest Translation Tools]: Collection of Python scripts to create, update, verify and convert 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 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/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/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