{"id":26142446,"url":"https://github.com/jaffe2718/command-debug-devkit","last_synced_at":"2025-04-14T02:06:41.968Z","repository":{"id":187883931,"uuid":"677747254","full_name":"Jaffe2718/Command-Debug-DevKit","owner":"Jaffe2718","description":"This project is written for debugging Minecraft command.","archived":false,"fork":false,"pushed_at":"2025-03-23T10:50:35.000Z","size":14682,"stargazers_count":13,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"4.x","last_synced_at":"2025-04-14T02:06:27.142Z","etag":null,"topics":["idea-plugin","minecraft","minecraft-mod"],"latest_commit_sha":null,"homepage":"https://modrinth.com/mod/command-debug-service/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jaffe2718.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-12T14:00:49.000Z","updated_at":"2025-03-23T10:50:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"2659c279-ab29-4880-8c7c-123551a7bd35","html_url":"https://github.com/Jaffe2718/Command-Debug-DevKit","commit_stats":null,"previous_names":["jaffe2718/socket-injection-debugger","jaffe2718/command-debug-devkit"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaffe2718%2FCommand-Debug-DevKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaffe2718%2FCommand-Debug-DevKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaffe2718%2FCommand-Debug-DevKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jaffe2718%2FCommand-Debug-DevKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jaffe2718","download_url":"https://codeload.github.com/Jaffe2718/Command-Debug-DevKit/tar.gz/refs/heads/4.x","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248809043,"owners_count":21164896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["idea-plugin","minecraft","minecraft-mod"],"created_at":"2025-03-11T03:55:32.517Z","updated_at":"2025-04-14T02:06:41.949Z","avatar_url":"https://github.com/Jaffe2718.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Command Debug DevKit\n\n![icon](idea-plugin/src/main/resources/META-INF/pluginIcon.svg)\n![Stars](https://img.shields.io/github/stars/Jaffe2718/Command-Debug-DevKit?style=flat-square)\n![Forks](https://img.shields.io/github/forks/Jaffe2718/Command-Debug-DevKit?style=flat-square)\n![Issues](https://img.shields.io/github/issues/Jaffe2718/Command-Debug-DevKit?style=flat-square)\n![Licence](https://img.shields.io/github/license/Jaffe2718/Command-Debug-DevKit?style=flat-square)\n\nby Jaffe2718\n\n## Introduction 📖\nThis project is written for debugging Minecraft commands. In this project, there are serveral subprojects:\n- `fabric`: The mod for Fabric and Quilt, used to be a connection kit for IDE. It can create two socket server to provide code completion and code execution service.\n- `ide-debug-tool`: This is a command line tool which can connect to the socket server opened by the mod. It can send code to the server and get the result. It can be a debug tool for IDE or a command line tool to execute *.mcfunction file directly.\n- `idea-plugin`: This is a plugin for IntelliJ IDEA. It can connect to the socket server opened by the mod. It provides code completion and code execution service for IDE. The plugin contains a compiled `ide-debug-tool` so you don't need to install it manually.\n\n## Setup 🛠️\n\n### Mods\n![follows](https://img.shields.io/modrinth/followers/command-debug-service)\n![latestVersion](https://img.shields.io/modrinth/v/command-debug-service)\n![mcVersion](https://img.shields.io/modrinth/game-versions/command-debug-service)\n![modDownloads](https://img.shields.io/modrinth/dt/command-debug-service)\n\u003cbr\u003e\n[![Modrinth](https://cdn.jsdelivr.net/npm/@intergrav/devins-badges@3.1.2/assets/cozy/available/modrinth_vector.svg)](https://modrinth.com/mod/command-debug-service)\n\n#### Fabric/Quilt Mod\n1. Install Minecraft with`Fabric/Quilt Loader` and \n[![Fabric-API](https://img.shields.io/badge/Fabric%20API-000000?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcm9sZT0iaW1nIj4gPGc%2BICA8cmVjdCB4PSIxMSIgeT0iMiIgd2lkdGg9IjEiIGhlaWdodD0iOCIgZmlsbD0icmdiKDcsMCwwKSIvPiAgPHJlY3QgeD0iNCIgeT0iNSIgd2lkdGg9IjIiIGhlaWdodD0iMiIgZmlsbD0icmdiKDkzLDg1LDcwKSIvPiAgPHJlY3QgeD0iMTIiIHk9IjciIHdpZHRoPSIyIiBoZWlnaHQ9IjMiIGZpbGw9InJnYig0MiwzNiwyNCkiLz4gIDxyZWN0IHg9IjYiIHk9IjMiIHdpZHRoPSI3IiBoZWlnaHQ9IjQiIGZpbGw9InJnYigyMzQsMjE5LDE4OSkiLz4gIDxyZWN0IHg9IjgiIHk9IjAiIHdpZHRoPSIyIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigyNCwxOCw4KSIvPiAgPHJlY3QgeD0iNyIgeT0iMSIgd2lkdGg9IjIiIGhlaWdodD0iMyIgZmlsbD0icmdiKDE0MiwxMzEsMTEyKSIvPiAgPHJlY3QgeD0iNyIgeT0iMSIgd2lkdGg9IjEiIGhlaWdodD0iMiIgZmlsbD0icmdiKDI0LDE4LDgpIi8%2BICA8cmVjdCB4PSI5IiB5PSIxIiB3aWR0aD0iMiIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoMjA2LDE5MiwxNjcpIi8%2BICA8cmVjdCB4PSIxMCIgeT0iMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDksNSwwKSIvPiAgPHJlY3QgeD0iNiIgeT0iMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDI3LDI0LDE2KSIvPiAgPHJlY3QgeD0iMTIiIHk9IjMiIHdpZHRoPSIyIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigyNCwxOCw4KSIvPiAgPHJlY3QgeD0iNSIgeT0iNCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDI0LDE4LDgpIi8%2BICA8cmVjdCB4PSI2IiB5PSI0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoMTI0LDExNCw5OCkiLz4gIDxyZWN0IHg9IjkiIHk9IjQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigxNDIsMTMxLDExMikiLz4gIDxyZWN0IHg9IjE0IiB5PSI0IiB3aWR0aD0iMSIgaGVpZ2h0PSI1IiBmaWxsPSJyZ2IoMjAsMjAsMTApIi8%2BICA8cmVjdCB4PSI0IiB5PSI1IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoNiwwLDApIi8%2BICA8cmVjdCB4PSIxMCIgeT0iNSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDc5LDcyLDU5KSIvPiAgPHJlY3QgeD0iMTMiIHk9IjQiIHdpZHRoPSIxIiBoZWlnaHQ9IjQiIGZpbGw9InJnYigxMDQsOTUsODApIi8%2BICA8cmVjdCB4PSIzIiB5PSI2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoNiwwLDApIi8%2BICA8cmVjdCB4PSI0IiB5PSI2IiB3aWR0aD0iOCIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoMjQwLDIyNCwxOTMpIi8%2BICA8cmVjdCB4PSIxMSIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDU2LDUwLDM3KSIvPiAgPHJlY3QgeD0iMTUiIHk9IjUiIHdpZHRoPSIxIiBoZWlnaHQ9IjMiIGZpbGw9InJnYig1MSw0NSwzMykiLz4gIDxyZWN0IHg9IjIiIHk9IjciIHdpZHRoPSIyIiBoZWlnaHQ9IjciIGZpbGw9InJnYig2LDAsMCkiLz4gIDxyZWN0IHg9IjMiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InJnYig5LDUsMCkiLz4gIDxyZWN0IHg9IjE0IiB5PSI1IiB3aWR0aD0iMSIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoNzksNzIsNTkpIi8%2BICA8cmVjdCB4PSIxIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSI1IiBmaWxsPSJyZ2IoNiwwLDApIi8%2BICA8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoOTMsODUsNzApIi8%2BICA8cmVjdCB4PSIyIiB5PSI4IiB3aWR0aD0iOSIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoMjQwLDIyNCwxOTMpIi8%2BICA8cmVjdCB4PSIwIiB5PSI5IiB3aWR0aD0iMSIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoNTEsNDUsMzMpIi8%2BICA8cmVjdCB4PSIxMCIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InJnYig5Myw4NSw3MCkiLz4gIDxyZWN0IHg9IjIiIHk9IjExIiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBmaWxsPSJyZ2IoODEsNzQsNTkpIi8%2BICA8cmVjdCB4PSIzIiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDIwNiwxOTIsMTY3KSIvPiAgPHJlY3QgeD0iNSIgeT0iMTMiIHdpZHRoPSIyIiBoZWlnaHQ9IjMiIGZpbGw9InJnYigyMTYsMjA1LDE3MikiLz4gIDxyZWN0IHg9IjQiIHk9IjExIiB3aWR0aD0iNSIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoMjI2LDIxMSwxODIpIi8%2BICA8cmVjdCB4PSI5IiB5PSIxMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDEyNCwxMTQsOTgpIi8%2BICA8cmVjdCB4PSIxMCIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigyNCwxOCw4KSIvPiAgPHJlY3QgeD0iOCIgeT0iMTIiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigxMDQsOTYsODApIi8%2BICA8cmVjdCB4PSI5IiB5PSIxMiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDI3LDI0LDE2KSIvPiAgPHJlY3QgeD0iOCIgeT0iMTMiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigyNCwxOCw4KSIvPiAgPHJlY3QgeD0iNCIgeT0iMTQiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigzMiwyNSwxMikiLz4gIDxyZWN0IHg9IjciIHk9IjE0IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoNDQsNDAsMjgpIi8%2BICA8cmVjdCB4PSI4IiB5PSIxMyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDI3LDI0LDE2KSIvPiAgPHJlY3QgeD0iNSIgeT0iMTUiIHdpZHRoPSIzIiBoZWlnaHQ9IjEiIGZpbGw9InJnYig0MiwzNiwyNCkiLz4gPC9nPjwvc3ZnPg%3D%3D)](https://modrinth.com/mod/fabric-api)\nor [![Quilted Fabric API](https://img.shields.io/badge/Quilted%20Fabric%20API-000000?logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcm9sZT0iaW1nIj4gPGc+ICA8dGl0bGU+TGF5ZXIgMTwvdGl0bGU+ICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoMTUxLCAzNCwgMjU1KSIvPiAgPHJlY3QgeD0iNiIgeT0iMyIgd2lkdGg9IjMiIGhlaWdodD0iMyIgZmlsbD0icmdiKDIyMCwgNDEsIDIyMSkiLz4gIDxyZWN0IHg9IjkiIHk9IjMiIHdpZHRoPSIxIiBoZWlnaHQ9IjMiIGZpbGw9InJnYigxMDEsIDQ5LCAxNDEpIi8+ICA8cmVjdCB4PSIxMCIgeT0iMyIgd2lkdGg9IjMiIGhlaWdodD0iMyIgZmlsbD0icmdiKDM5LCAxNjIsIDI1MykiLz4gIDxyZWN0IHg9IjMiIHk9IjYiIHdpZHRoPSIzIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigxNjgsIDM1LCAxNzMpIi8+ICA8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoMzMsIDg5LCAxNDcpIi8+ICA8cmVjdCB4PSI3IiB5PSI2IiB3aWR0aD0iMiIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoMzYsIDEyNCwgMTk3KSIvPiAgPHJlY3QgeD0iOSIgeT0iNiIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDMzLCA2MywgMTIyKSIvPiAgPHJlY3QgeD0iMTAiIHk9IjYiIHdpZHRoPSIzIiBoZWlnaHQ9IjEiIGZpbGw9InJnYig0NCwgNTUsIDE5OCkiLz4gIDxyZWN0IHg9IjMiIHk9IjciIHdpZHRoPSIzIiBoZWlnaHQ9IjIiIGZpbGw9InJnYigyMjAsIDQxLCAyMjEpIi8+ICA8cmVjdCB4PSI3IiB5PSI3IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIiBmaWxsPSJyZ2IoMzksIDE2MiwgMjUzKSIvPiAgPHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDM1LCA3OSwgMTUzKSIvPiAgPHJlY3QgeD0iMTAiIHk9IjciIHdpZHRoPSIzIiBoZWlnaHQ9IjIiIGZpbGw9InJnYig1MSwgNjgsIDI1NSkiLz4gIDxyZWN0IHg9IjYiIHk9IjciIHdpZHRoPSIxIiBoZWlnaHQ9IjIiIGZpbGw9InJnYigzNSwgMTE3LCAxODkpIi8+ICA8cmVjdCB4PSI5IiB5PSI4IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoMzUsIDc5LCAxNTMpIi8+ICA8cmVjdCB4PSIzIiB5PSI5IiB3aWR0aD0iMyIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoMTEzLCAyOCwgMTQyKSIvPiAgPHJlY3QgeD0iNiIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDMzLCA1NywgMTE4KSIvPiAgPHJlY3QgeD0iNyIgeT0iOSIgd2lkdGg9IjIiIGhlaWdodD0iMSIgZmlsbD0icmdiKDM2LCA3NCwgMTUzKSIvPiAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmdiKDMxLCA0NSwgMTAwKSIvPiAgPHJlY3QgeD0iMTAiIHk9IjkiIHdpZHRoPSIzIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigzNiwgMzcsIDEyOCkiLz4gIDxyZWN0IHg9IjMiIHk9IjEwIiB3aWR0aD0iMyIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoMTUxLCAzNCwgMjU1KSIvPiAgPHJlY3QgeD0iNiIgeT0iMTAiIHdpZHRoPSIxIiBoZWlnaHQ9IjMiIGZpbGw9InJnYig0MywgNTIsIDE5MCkiLz4gIDxyZWN0IHg9IjciIHk9IjEwIiB3aWR0aD0iMiIgaGVpZ2h0PSIzIiBmaWxsPSJyZ2IoNTEsIDY4LCAyNTUpIi8+ICA8cmVjdCB4PSI5IiB5PSIxMCIgd2lkdGg9IjEiIGhlaWdodD0iMyIgZmlsbD0icmdiKDM3LCA0MCwgMTM2KSIvPiAgPHJlY3QgeD0iMTEiIHk9IjEwIiB3aWR0aD0iMiIgaGVpZ2h0PSIxIiBmaWxsPSJyZ2IoMTAzLCAyOCwgMTc0KSIvPiAgPHJlY3QgeD0iMTAiIHk9IjExIiB3aWR0aD0iMSIgaGVpZ2h0PSIyIiBmaWxsPSJyZ2IoOTgsIDI3LCAxNjUpIi8+ICA8cmVjdCB4PSIxMSIgeT0iMTEiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIGZpbGw9InJnYigxNTEsIDM0LCAyNTUpIi8+ICA8cmVjdCB4PSIxMyIgeT0iMTEiIHdpZHRoPSIxIiBoZWlnaHQ9IjIiIGZpbGw9InJnYigxMTIsIDI4LCAxODgpIi8+ICA8cmVjdCB4PSIxMSIgeT0iMTMiIHdpZHRoPSIyIiBoZWlnaHQ9IjEiIGZpbGw9InJnYigxMDgsIDI4LCAxODApIi8+IDwvZz48L3N2Zz4=)](https://modrinth.com/mod/qsl)for your Minecraft version.\n2. Install dependencies for the mod, please check `fabric.mod.json` for the dependencies.\n3. Download the mod from [![release-page](https://img.shields.io/badge/GitHub%20Releases-000000.svg?logo=github)](https://github.com/Jaffe2718/Command-Debug-DevKit/releases) or [![Modrinth](https://img.shields.io/badge/Modrinth-000000.svg?logo=modrinth)](https://modrinth.com/mod/command-debug-service).\n4. Put the mod into your `mods` folder.\n\n### IDE Debug Tool\n[![release-page](.doc/s1.svg)](https://github.com/Jaffe2718/Command-Debug-DevKit/releases)\n[![doc](.doc/s2.svg)](ide-debug-tool/README.md)\n* The tool is a `jar` file, you can just download it from [![release-page](https://img.shields.io/badge/GitHub%20Releases-000000.svg?logo=github)](https://github.com/Jaffe2718/Command-Debug-DevKit/releases) and you can use it without any installation steps.\n* For more information, please see [![IDE Debug Tool](https://img.shields.io/badge/IDE%20Debug%20Tool%20%7c%20README%2Emd-000000.svg?logo=markdown\u0026logoColor=50AAFF)](ide-debug-tool/README.md).\n\n### Idea Plugin\n![Version](https://img.shields.io/jetbrains/plugin/v/me.jaffe2718.devkit)\n![Downloads](https://img.shields.io/jetbrains/plugin/d/me.jaffe2718.devkit)\n![Plugin](https://img.shields.io/jetbrains/plugin/r/rating/me.jaffe2718.devkit)\n\u003cbr\u003e\n[![Marketplace](.doc/s0.svg)](https://plugins.jetbrains.com/plugin/22587-minecraft-command-devkit)\n\n1. Download the tool from [![release-page](https://img.shields.io/badge/GitHub%20Releases-000000.svg?logo=github)](https://github.com/Jaffe2718/Command-Debug-DevKit/releases) or [![JetBrains Marketplace](https://img.shields.io/badge/JetBrains_Marketplace-000000?logo=jetbrains\u0026logoColor=black\u0026labelColor=FFFFFF)](https://plugins.jetbrains.com/plugin/22587-minecraft-command-devkit), choose the version suitable for the mod.\n2. Install the plugin in your IDEA: click `File` -\u003e `Settings` -\u003e `Plugins` -\u003e `⚙️` -\u003e `Install Plugin from Disk...` -\u003e choose the downloaded file, or install it directly from JetBrains Marketplace inside IDE.\n\n\n## Usage 📖\n\n\u003e **Note**: The Author's most recommended way to use this mod is to use the plugin.\n\n### Mod\n\n* The mod creates 3 socket servers to provide code completion, code execution service and datapack management service.\n* The mod should work with other tools like [IDE Debug Tool](#ide-debug-tool) or [IDEA Plugin](#idea-plugin) or [other tools](DEV.md) you write by yourself.\n\n#### Security Configuration of Mod\n\n##### Ports\n\n- **Command Execution Socket Port**: The port for the command execution service socket binding. The default value is `0`, which means the service will be disabled. If you modify this value, it will be applied when the program restarts.\n\n##### Show Socket Info\n\nBoolean value, if true, the server socket info will be shown in the message field for the trusted clients.\n\n##### Trust Mode\n\nThe client socket trust mode for the Command Debug Service.\n- **ALL_ALLOWED**: All clients are allowed to connect.\n- **WHITE_LIST**: Only clients recorded in the `Trusted IPv4 Addresses` are allowed to connect.\n\n##### Trusted IPv4 Addresses\nThe white list for the Command Debug Service. Only clients recorded in this list are allowed to connect in `WHITE_LIST` mode, otherwise, all clients are trusted.\n\n### IDEA Plugin\n\n#### Create a New Datapack Project\n\n1. Setup a new datapack project in IDEA.\n   1. At the welcome page of IDEA, click `New Project`;\n   2. Choose `Minecraft Datapack`;\n   3. Fill in the metadata of the datapack project;\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i1000.png\" alt=\"create new project\"/\u003e\n         \u003ccenter\u003efill in metadata\u003c/center\u003e\n      \u003c/details\u003e\n   \n   4. Click `Create`, and the project will be automatically created with the default structure, and it will create `data/\u003cnamespace\u003e/functions/demo.mcfunction` as example.\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i1001.png\" alt=\"fill in metadata\"/\u003e\n         \u003ccenter\u003eThe new datapack project\u003c/center\u003e\n      \u003c/details\u003e\n\n2. Import an existing datapack as a project.\n   1. At the welcome page of IDEA, click `New Project`;\n   2. Choose `Import Minecraft Datapack`;\n   3. Choose the datapack you want to import and fill the project name and extract path;\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i1002.png\" alt=\"import existing project\"/\u003e\n         \u003ccenter\u003eChoose the datapack you want to import\u003c/center\u003e\n      \u003c/details\u003e\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i1003.png\" alt=\"import existing project\"/\u003e\n         \u003ccenter\u003eFilling the project name and extract path\u003c/center\u003e\n      \u003c/details\u003e\n   \n   \u003e **Note**: The plugin will automatically check if the datapack is valid by these rules:\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;1. The datapack must be a zip file;\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;2. The zip file must contain a `pack.mcmeta` file;\u003cbr\u003e\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;3. The zip file must contain a `data` folder.\u003cbr\u003eIf the datapack is invalid, the plugin will prevent you from importing it.\n         \u003cdetails\u003e\n            \u003csummary\u003e\u003c/summary\u003e\n            \u003cimg src=\".doc/plugin/i1004.png\" alt=\"import existing project\"/\u003e\n            \u003ccenter\u003eThe plugin will prevent you from importing an invalid datapack\u003c/center\u003e\n         \u003c/details\u003e\n   \n   4. Click `Create`, and the datapack will be automatically imported as a project.\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i1005.png\" alt=\"import existing project\"/\u003e\n         \u003ccenter\u003eThe new project based on the imported datapack\u003c/center\u003e\n      \u003c/details\u003e\n\n#### Edit \u0026 Debug Minecraft Function\n\n1. Open or create a project;\n2. Open or create a Minecraft function file;\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i1006.png\" alt=\"open or create a function file\"/\u003e\n      \u003ccenter\u003ecreate a Minecraft function file\u003c/center\u003e\n   \u003c/details\u003e\n\n3. Start the Minecraft game with the [mod](#mods) installed, and open the world you want to debug;\n4. Start edit the `*.mcfunction` file, connect to the socket servers and start debug;\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i1007.png\" alt=\"start debug\"/\u003e\n      \u003ccenter\u003eClick the function buttons at the toolbar of the editor to get debug services\u003c/center\u003e\n   \u003c/details\u003e\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i1008.png\" alt=\"start debug\"/\u003e\n      \u003ccenter\u003eConnect to the code execution service\u003c/center\u003e\n   \u003c/details\u003e\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i1009.png\" alt=\"start debug\"/\u003e\n      \u003ccenter\u003eConnect to the completion service\u003c/center\u003e\n   \u003c/details\u003e\n\n5. Now you can start edit the `*.mcfunction` file and get code completion and code execution service.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i1010.png\" alt=\"import existing project\"/\u003e\n      \u003ccenter\u003eCode completion\u003c/center\u003e\n   \u003c/details\u003e\n\n6. You can click `Execute Without Log` to execute the command without logging the result to the console.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i1011.png\" alt=\"execute without log\"/\u003e\n      \u003ccenter\u003eExecute the command without logging\u003c/center\u003e\n   \u003c/details\u003e\n\n7. You can click `Execute` to execute the command and log the result to the console.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i1012.png\" alt=\"execute\"/\u003e\n      \u003ccenter\u003eExecute the command and log the result to the console\u003c/center\u003e\n   \u003c/details\u003e\n   \n   \u003e **Note**: Remember to configure the project JDK. Click `File` -\u003e `Project Structure` to choose the JDK you want to use.\n         \u003cdetails\u003e\n            \u003csummary\u003e\u003c/summary\u003e\n            \u003cimg src=\".doc/plugin/i1013.png\" alt=\"configure project JDK\"/\u003e\n            \u003ccenter\u003eCongigure the project JDK\u003c/center\u003e\n         \u003c/details\u003e\n   \n\n#### Custom Syntax Highlighting\n\n* Click `File` -\u003e `Settings` -\u003e `Editor` -\u003e `Color Scheme` -\u003e `Minecraft Function` to customize the syntax highlighting.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i2000.png\" alt=\"custom syntax highlighting\"/\u003e\n      \u003ccenter\u003eClick \u003ccode\u003eFile\u003c/code\u003e -\u003e \u003ccode\u003eSettings\u003c/code\u003e -\u003e \u003ccode\u003eEditor\u003c/code\u003e -\u003e \u003ccode\u003eColor Scheme\u003c/code\u003e -\u003e \u003ccode\u003eMinecraft Function\u003c/code\u003e to customize the syntax highlighting\u003c/center\u003e\n   \u003c/details\u003e\n\n#### Minecraft Command Console\n\n1. Launch the Minecraft game with the [mod](#mods) installed, and open the world you want to debug;\n\n2. Click `Tools` -\u003e `Minecraft Command DecKit` -\u003e `Minecraft Command Console` and fill the host and port of the command execution socket server.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i3000.png\" alt=\"open console\"/\u003e\n      \u003ccenter\u003eClick \u003ccode\u003eTools\u003c/code\u003e -\u003e \u003ccode\u003eMinecraft Command DecKit\u003c/code\u003e -\u003e \u003ccode\u003eMinecraft Command Console\u003c/code\u003e to open the console\u003c/center\u003e\n   \u003c/details\u003e\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i3001.png\" alt=\"open console\"/\u003e\n      \u003ccenter\u003eFill the host and port of the command execution socket server\u003c/center\u003e\n   \u003c/details\u003e\n\n3. You can write your commands line by line press `Enter` to execute the command.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i3002.png\" alt=\"open console\"/\u003e\n      \u003ccenter\u003eWrite your commands line by line press \u003ccode\u003eEnter\u003c/code\u003e to execute the command\u003c/center\u003e\n   \u003c/details\u003e\n\n#### Generate Minecraft Datapack\n\n1. There are two ways to start the task to generate a datapack:\n   - Right click the project view and click `Minecraft Command DevKit` -\u003e `Generate Minecraft Datapack` in the context menu.\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i4000.png\" alt=\"generate datapack\"/\u003e\n         \u003ccenter\u003eRight click the project view and click \u003ccode\u003eGenerate Minecraft Datapack\u003c/code\u003e in the context menu\u003c/center\u003e\n      \u003c/details\u003e\n   \n   - Click `Tools` -\u003e `Minecraft Command DecKit` -\u003e `Generate Minecraft Datapack` from the main menu bar:\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i4001.png\" alt=\"generate datapack\"/\u003e\n         \u003ccenter\u003eClick \u003ccode\u003eGenerate Minecraft Datapack\u003c/code\u003e from the main menu bar\u003c/center\u003e\n      \u003c/details\u003e\n\n2. Click `Generate` to start the task, and the datapack will be generated in the `build` folder of the project named `\u003cproject_name\u003e.zip`.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i4002.png\" alt=\"generate datapack\"/\u003e\n      \u003ccenter\u003eClick \u003ccode\u003eGenerate\u003c/code\u003e to start the task\u003c/center\u003e\n   \u003c/details\u003e\n    \n   \u003e Tips: `Generate and Import/Link Datapact to Minecraft` are similar to `Generate Minecraft Datapack`, \n   \u003e but they require the user to fill in the host and port of the `Datapack Management Service` socket server.\n   \u003e For `Import`, the generated datapack will be copied to the current world's datapack folder,\n   \u003e and for `Link`, the generated datapack will be linked to the current world's datapack folder and expired when the world is closed.\n\n#### Datapack Management\n\n1. There are two ways to start the task to manage the datapack:\n    - Click `Tools` -\u003e `Minecraft Command DecKit` -\u003e `Datapack Management` from the main menu bar:\n       \u003cdetails\u003e\n          \u003csummary\u003e\u003c/summary\u003e\n          \u003cimg src=\".doc/plugin/i5000.png\" alt=\"manage datapack\"/\u003e\n          \u003ccenter\u003eClick \u003ccode\u003eManage Datapack\u003c/code\u003e from the main menu bar\u003c/center\u003e\n       \u003c/details\u003e\n      \n   - Right click the project view and click `Minecraft Command DevKit` -\u003e `Datapack Managment` in the context menu.\n      \u003cdetails\u003e\n         \u003csummary\u003e\u003c/summary\u003e\n         \u003cimg src=\".doc/plugin/i5001.png\" alt=\"manage datapack\"/\u003e\n         \u003ccenter\u003eRight click the project view and click \u003ccode\u003eManage Datapack\u003c/code\u003e in the context menu\u003c/center\u003e\n      \u003c/details\u003e\n    \n2. Input the host and port of `Datapack Management Service` socket server shown in the Minecraft game.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i5002.png\" alt=\"manage datapack\"/\u003e\n      \u003ccenter\u003eInput the host and port of \u003ccode\u003eDatapack Management Service\u003c/code\u003e socket server\u003c/center\u003e\n   \u003c/details\u003e\n\n3. Do your operations.\n   1. Right-click the item in `Datapacks` -\u003e `Status` -\u003e `Enabled` and click `Disable` to disable the datapack.\n   2. Right-click the item in `Datapacks` -\u003e `Status` -\u003e `Available` and click `Enable` to enable the datapack.\n   3. Right-click `Datapacks` -\u003e `Type` -\u003e `Common` and click `Import...` to import a datapack.\n   4. Right-click `Datapacks` -\u003e `Type` -\u003e `Common` and click `Link...` to link a datapack.\n   \n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/plugin/i5003.png\" alt=\"manage datapack\"/\u003e\n      \u003ccenter\u003eDatapack Management View\u003c/center\u003e\n   \u003c/details\u003e\n\n   \u003e Tips: \u003cbr\u003e\n   \u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;This feature is with the requirement `3.x` version of the mod.\u003cbr\u003e\n   \u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;Only the world is opened, the `Datapack Management Service` socket server will be valid.\u003cbr\u003e\n   \u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;The linked datapack will be expired when the world is closed, and the imported datapack will be copied to the world's datapack folder. \u003cbr\u003e\n   \u003e * For more info, please visit [DEV.md](DEV.md#concepts).\n\n### Command Line Tool\n\n* You can also use the [IDE Debug Tool](#ide-debug-tool) to connect to the socket server and execute the code.\n   \u003cdetails\u003e\n      \u003csummary\u003e\u003c/summary\u003e\n      \u003cimg src=\".doc/cmd/c0001.png\" alt=\"command line tool\"/\u003e\n      \u003ccenter\u003eCommand Line Tool\u003c/center\u003e\n   \u003c/details\u003e\n\n\n## Warning ⚠️\n\nWhen you use this mod, you should be careful.\nBecause it can execute any command.\nDo not send the host and port to any untrusted program to avoid being attacked.\nDo not install this mod on your multiplayer server to avoid being attacked by DDOS or other attacks.\n\n## Development 🔧\n\n### Overview\nThis is the document for developers. \nWe will introduce how to develop external tools to work with this mod.\nPrograming language is not limited, you can use any language you like,\nthe only thing you need to do is make your tool has the ability to connect to the socket server and interact with it.\n\n### Concepts\n- For `4.x` version, the mod will create 3 socket servers, for code completion, code execution and datapack management.\n\n    |       Server        |     Type      |                  Description                  |                                              Accepted Message                                               |   Returned Message   |\n    |:-------------------:|:-------------:|:---------------------------------------------:|:-----------------------------------------------------------------------------------------------------------:|:--------------------:|\n    |   Code Completion   | Socket Server |        The server for code completion         |                                  single line command or unfinished command                                  | multiple line result |\n    |   Code Execution    | Socket Server | The server for command execution in Minecraft |                                             single line command                                             | execution feedbacks  |\n    | Datapack Management | Socket Server |  The server for receive datapack from client  | json string without `\\n` like `{ \"name\": \"[name].zip\", \"data\": \"[base64 encoded data]\", \"flag\": \"import\" }` |         None         |\n- Tips: the message sent is a single line of text, you should add `\\n` at the end of the message or auto flush the buffer to send the message to the server.\n\n### More Information\nFor more information, please visit [![https://img.shields.io/badge/DEV%20%7c%20README%2Emd-000000.svg?logo=markdown\u0026logoColor=50AAFF](https://img.shields.io/badge/Developer%20Documentation%20%7c%20DEV%2Emd-000000.svg?logo=markdown\u0026logoColor=50AAFF)](DEV.md).\n  \n\n## License 📜\n[![Licence](https://img.shields.io/github/license/Jaffe2718/Command-Debug-DevKit?style=for-the-badge)](LICENSE)\u003cbr\u003e\nThis project is licensed under the MIT License.\nYou can use this project for any purpose for free.\nSee the [![Licence](https://img.shields.io/badge/License-MIT-000000.svg?style=flat\u0026color=B0FF00\u0026logoColor=B0FF00)](LICENSE) file for details.\n\n## Update and Cooperation 🤝\nCurrently, this project is still in development. \nIf you have any idea or suggestion,\nplease open an issue or pull request.\nAnd the plugin is only for `IntelliJ Platform IDEs`, \nif you want to use other IDEs such as `Eclipse` and `VS Code`,\nyou can create a plugin for it and pull request to this project.\nWhat's more, the mod is only for `Fabric` and `Quilt` currently,\nyou can rewrite it for `Forge` or other mod loaders and pull request to this project.\nI will be very grateful if you can help me to improve this project.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaffe2718%2Fcommand-debug-devkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaffe2718%2Fcommand-debug-devkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaffe2718%2Fcommand-debug-devkit/lists"}