{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreiatf3xkvpxdwugbaetzgfskxzngxxjjcgrwlqom3hx2siov63usc4",
    "uri": "at://did:plc:pvz7ox4x2ehjiezsahttqyyz/app.bsky.feed.post/3mlyyoj5ef662"
  },
  "path": "/viewtopic.php?p=451088#p451088",
  "publishedAt": "2026-05-16T23:24:30.000Z",
  "site": "https://forum.luanti.org",
  "tags": [
    "crisdan"
  ],
  "textContent": "**Luanti IDE M**\n\n _Specialized IDE for Luanti (ex-Minetest) mod development_\n _Designed to work on PC, tablet, and phone — no installation, no server required._\n\n\n\nI 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.\n\nThe project continues to evolve, and upon completion of version **v5** , it will be prepared for public release.\n\n\n\n**What is Luanti IDE M?**\n\nLuanti IDE M is a web-based development environment specialized in creating, editing, and organizing mods for **Luanti** (formerly known as Minetest).\n\nIt 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.\n\nIt 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.\n\n\n\n**Main Features**\n\n**File and Folder Explorer**\n\n\n  * Create new files with custom names\n  * Create folders and nested subfolders\n  * Right click (or long press on mobile) on files and folders to:\n    * Rename files\n    * Delete files\n    * Create files inside folders\n    * Create subfolders\n    * Delete entire folders\n  * Folders can be collapsed and expanded\n  * Each file displays its language with a colored badge\n\n**Code Editor**\n\n\n  * Real-time syntax highlighting for 7 languages:\n    * Lua\n    * C++\n    * Python\n    * JSON\n    * Markdown\n    * GLSL\n    * Shell\n  * Intelligent autocomplete with 60+ Luanti API functions:\n\nCode:\n\n        minetest.* vector.* ItemStack\n\n  * Real-time linter detecting common issues:\n    * Code:\n\n          print()\n\nusage instead of\n\nCode:\n\n          minetest.log()\n\n    * Code:\n\n          load()\n\ndisallowed in mods\n    * Trailing commas in JSON\n    * Code:\n\n          using namespace std\n\nin C++ headers\n  * Scroll-synced line numbers\n  * Cursor position highlight (Ln/Col)\n  * Configurable tabs (2, 4, or 8 spaces)\n  * Code:\n\n        Ctrl+/\n\ncomment/uncomment line\n  * Code:\n\n        Ctrl+S\n\nsave\n\n**Browser Cache Autosave**\n\n\n  * Automatic saving to\n\nCode:\n\n        localStorage\n\n  * Full session restoration\n  * Last save timestamp visible\n  * Save on tab close\n  * Periodic backup every 30 seconds\n  * Cache clear button\n\n**Code Snippets**\n\nReady-to-insert templates based on active language.\n\n**Lua (Luanti):**\n\n\n  * register_node\n  * register_craftitem\n  * register_tool\n  * register_craft\n  * register_abm\n  * register_chatcommand\n  * on_joinplayer\n  * globalstep\n  * formspec\n  * VoxelManip\n\n**Other languages:**\n\n\n  * C++: classes, Lua bindings, MapNode operations\n  * Python: build scripts and utilities\n  * JSON: configs and schemas\n  * Markdown: mod README templates\n\n**API Reference**\n\nQuick reference panel for each language.\n\nIncludes:\n\n\n  * 60+ Luanti Lua functions\n  * Engine C++ API references\n  * Useful Python libraries\n  * JSON schema keys\n\n**Canvas - Visual Structure**\n\nSide panel showing a visual map of the project:\n\n\n  * Language-based organization\n  * File color categorization\n  * SVG export support\n\n**Integrated Console**\n\nAvailable modes:\n\n\n  * Output\n  * Lua REPL\n  * Errors\n  * Commands\n\nCommands:\n\n\nCode:\n\n\n    helpreloadlistchecklangsstatcanvasclearsave\n\n**New Project Wizard**\n\n3-step assistant:\n\n\n  1. Basic information\n  2. Template and extensions\n  3. Preview\n\nTemplates:\n\n\n  * Basic mod\n  * Full mod\n  * Full game\n  * Library/API\n\n**Save and Open Files**\n\n\n  * Save file\n  * Save all\n  * Open folder\n  * Export full project\n\n\n\n**Mobile and Tablet Support**\n\nOn small screens:\n\n\n  * Sidebar becomes a sliding drawer\n  * Bottom quick navigation bar\n  * Compact buttons\n  * Long press context menus\n  * Touch-optimized interface\n\nOn tablets:\n\n\n  * Reduced sidebar\n  * Optional hidden labels\n\n\n\n**Keyboard Shortcuts**\n\n\n  * **Ctrl+S** - Save\n  * **Ctrl+N** - New file\n  * **Ctrl+/** - Comment line\n  * **Tab** - Indent/autocomplete\n  * **Esc** - Close autocomplete\n\n\n\n**Internal Architecture**\n\n\nCode:\n\n\n    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\n\n\n**Why a Single HTML File**\n\nAll modules can be packaged into a single HTML file for maximum portability.\n\nAdvantages:\n\n\n  * No server required\n  * No installation required\n  * Offline support\n  * Maximum portability\n\n\n\n**Supported Languages**\n\n\n  * **Lua** - .lua - Mods\n  * **C++** - .cpp .h .hpp - Native extensions\n  * **Python** - .py - Scripts\n  * **JSON** - .json - Configuration\n  * **Markdown** - .md .txt .tr - Documentation\n  * **GLSL** - .glsl .vert .frag - Shaders\n  * **Shell** - .sh .bash - Automation\n\n\n\n**Compatibility**\n\n\n  * **Chrome / Chromium** - Full\n  * **Firefox** - Full\n  * **Safari** - Full\n  * **Android Chromium** - Full\n  * **iOS Safari** - Functional\n  * **Spck Editor** - Compatible\n  * **Edge** - Full\n\n\n\n**Project Status and Collaboration**\n\nLuanti IDE M is under active development and currently in an expansion phase focused on new functionality and improvements.\n\nThe 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.\n\nAnyone interested in contributing can join development by providing ideas, improvements, testing, bug fixes, or new features related to the Luanti ecosystem.\n\nAccepted contributions include:\n\n\n  * Editor and user experience improvements\n  * New snippets and API references\n  * Mobile optimization\n  * Compatibility with new Luanti ecosystem tools\n  * Bug fixes and testing\n\nThe project is open to collaborators interested in participating in its evolution toward the final **v5** release and public launch.\n\n\n\n**License**\n\nMIT - free to use, modify, and distribute.\n\n\n\n_Luanti IDE M_\n _Built with HTML, CSS, and vanilla JavaScript._\n_No frameworks. No build step. No server._\n\nStatistics: Posted by crisdan — Sat May 16, 2026 23:24\n\n* * *",
  "title": "Luanti-related projects • LuantiIDE M - Web IDE for Luanti Mod Development [WIP]",
  "updatedAt": "2026-05-16T23:24:30.000Z"
}