Luanti-related projects • LuantiIDE M - Web IDE for Luanti Mod Development [WIP]
Luanti IDE M
Specialized IDE for Luanti (ex-Minetest) mod development Designed to work on PC, tablet, and phone — no installation, no server required.
I present a new project for Luanti: Luanti IDE M.This is an initial presentation of the tool, still unfinished and currently under active development. The current version is v3 , which already includes support for most of the features and functionality described in this presentation.
The project continues to evolve, and upon completion of version v5 , it will be prepared for public release.
What is Luanti IDE M?
Luanti IDE M is a web-based development environment specialized in creating, editing, and organizing mods for Luanti (formerly known as Minetest).
It runs directly in the browser without requiring installation, compilation, or a local server, allowing development from PCs, tablets, and phones with an interface adapted to each device.
It is focused on the Luanti development ecosystem, including support for Lua as the primary scripting language, along with tools for C++ , JSON , Markdown , GLSL , Python , and shell scripting.
Main Features
File and Folder Explorer
- Create new files with custom names
- Create folders and nested subfolders
- Right click (or long press on mobile) on files and folders to:
- Rename files
- Delete files
- Create files inside folders
- Create subfolders
- Delete entire folders
- Folders can be collapsed and expanded
- Each file displays its language with a colored badge
Code Editor
- Real-time syntax highlighting for 7 languages:
- Lua
- C++
- Python
- JSON
- Markdown
- GLSL
- Shell
- Intelligent autocomplete with 60+ Luanti API functions:
Code:
minetest.* vector.* ItemStack
- Real-time linter detecting common issues:
Code:
print()
usage instead of
Code:
minetest.log()
* Code:
load()
disallowed in mods * Trailing commas in JSON * Code:
using namespace std
in C++ headers
Scroll-synced line numbers
Cursor position highlight (Ln/Col)
Configurable tabs (2, 4, or 8 spaces)
Code:
Ctrl+/
comment/uncomment line
Code:
Ctrl+S
save
Browser Cache Autosave
- Automatic saving to
Code:
localStorage
- Full session restoration
- Last save timestamp visible
- Save on tab close
- Periodic backup every 30 seconds
- Cache clear button
Code Snippets
Ready-to-insert templates based on active language.
Lua (Luanti):
- register_node
- register_craftitem
- register_tool
- register_craft
- register_abm
- register_chatcommand
- on_joinplayer
- globalstep
- formspec
- VoxelManip
Other languages:
- C++: classes, Lua bindings, MapNode operations
- Python: build scripts and utilities
- JSON: configs and schemas
- Markdown: mod README templates
API Reference
Quick reference panel for each language.
Includes:
- 60+ Luanti Lua functions
- Engine C++ API references
- Useful Python libraries
- JSON schema keys
Canvas - Visual Structure
Side panel showing a visual map of the project:
- Language-based organization
- File color categorization
- SVG export support
Integrated Console
Available modes:
- Output
- Lua REPL
- Errors
- Commands
Commands:
Code:
helpreloadlistchecklangsstatcanvasclearsave
New Project Wizard
3-step assistant:
- Basic information
- Template and extensions
- Preview
Templates:
- Basic mod
- Full mod
- Full game
- Library/API
Save and Open Files
- Save file
- Save all
- Open folder
- Export full project
Mobile and Tablet Support
On small screens:
- Sidebar becomes a sliding drawer
- Bottom quick navigation bar
- Compact buttons
- Long press context menus
- Touch-optimized interface
On tablets:
- Reduced sidebar
- Optional hidden labels
Keyboard Shortcuts
- Ctrl+S - Save
- Ctrl+N - New file
- Ctrl+/ - Comment line
- Tab - Indent/autocomplete
- Esc - Close autocomplete
Internal Architecture
Code:
LANGUAGES -> language definitionsHighlighter -> syntax highlighting engineFS -> virtual filesystemCache -> autosave systemFolderTree -> folder statesLinter -> code analysisAutocomplete -> suggestions engineEditor -> main editorConsole -> integrated consoleCanvas -> SVG project mapWizard -> project assistantDialog -> modal dialogsCtxMenu -> context menuUI -> general rendering
Why a Single HTML File
All modules can be packaged into a single HTML file for maximum portability.
Advantages:
- No server required
- No installation required
- Offline support
- Maximum portability
Supported Languages
- Lua - .lua - Mods
- C++ - .cpp .h .hpp - Native extensions
- Python - .py - Scripts
- JSON - .json - Configuration
- Markdown - .md .txt .tr - Documentation
- GLSL - .glsl .vert .frag - Shaders
- Shell - .sh .bash - Automation
Compatibility
- Chrome / Chromium - Full
- Firefox - Full
- Safari - Full
- Android Chromium - Full
- iOS Safari - Functional
- Spck Editor - Compatible
- Edge - Full
Project Status and Collaboration
Luanti IDE M is under active development and currently in an expansion phase focused on new functionality and improvements.
The project will be published and maintained on GitHub, allowing anyone to access the source code, explore its internal structure, and follow its progress across versions.
Anyone interested in contributing can join development by providing ideas, improvements, testing, bug fixes, or new features related to the Luanti ecosystem.
Accepted contributions include:
- Editor and user experience improvements
- New snippets and API references
- Mobile optimization
- Compatibility with new Luanti ecosystem tools
- Bug fixes and testing
The project is open to collaborators interested in participating in its evolution toward the final v5 release and public launch.
License
MIT - free to use, modify, and distribute.
Luanti IDE M Built with HTML, CSS, and vanilla JavaScript. No frameworks. No build step. No server.
Statistics: Posted by crisdan — Sat May 16, 2026 23:24
Discussion in the ATmosphere