{"id":19989765,"url":"https://github.com/inspiaaa/jsmod","last_synced_at":"2026-06-11T05:31:44.522Z","repository":{"id":108960215,"uuid":"323120499","full_name":"Inspiaaa/JSMod","owner":"Inspiaaa","description":"Brings the JS Superpowers to Minecraft modding","archived":false,"fork":false,"pushed_at":"2021-06-26T09:06:56.000Z","size":173,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-12T12:20:10.524Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Inspiaaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-12-20T16:54:33.000Z","updated_at":"2021-06-26T09:06:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e00b2bc-af4d-4125-97f1-ea1f1b9a6e73","html_url":"https://github.com/Inspiaaa/JSMod","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inspiaaa%2FJSMod","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inspiaaa%2FJSMod/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inspiaaa%2FJSMod/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Inspiaaa%2FJSMod/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Inspiaaa","download_url":"https://codeload.github.com/Inspiaaa/JSMod/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241430318,"owners_count":19961635,"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":[],"created_at":"2024-11-13T04:50:03.964Z","updated_at":"2026-06-11T05:31:44.516Z","avatar_url":"https://github.com/Inspiaaa.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JSMod\n\nJSMod further democratises the **Minecraft modding** world by bringing the superpowers of **JavaScript** to Minecraft. With JSMod lightweight mods can be written and created in **modern ES6 JS** and updated during play (hot reload). \n\nThe JS code is then executed using the state of the art JavaScript runtime **V8**. It's also worth noting that **JSMod** itself is a **Forge mod**, which means that it can be used alongside other mods.\n\n\n\n### Architecture\n\nJSMod only provides the link between Minecraft's Java codebase and your JavaScript code, but also includes optional JavaScript files which make coding modules and interacting with the Java side a lot easier.\n\n![](https://raw.githubusercontent.com/LavaAfterburner/JSMod/master/diagrams/architecture.png)\n\nJSMod calls the event methods (such as onTick) and creates the basic namespaces required for communicating between Java and JS. The optional JS files aren't strictly necessary, but add more namespaces (e.g. `Engine` for modules) and constants (e.g. `KEY_A` for key codes, `Chat.RED` for chat colours and effects)\n\n\n\n### Getting started\n\n1. Make sure you have the correct Minecraft version and the corresponding forge version installed\n\n2. **Download** the mod jar file (e.g `jsmod-1.11.2-0.0.1.jar`) and the js files (e.g. `js-0.0.1.zip`) from the [Releases](https://github.com/LavaAfterburner/JSMod/releases) page\n\n3. Install the mod by **moving** the downloaded **jar** file to the forge **mods folder** (On Windows`C:\\Users\\...\\AppData\\Roaming\\.minecraft\\mods`)\n\n4. Set up your coding environment\n   \n   1. **Find** (or create) **a folder** that you want to use to start coding your JS mods (e.g. `C:\\Users\\...\\Documents\\js`) \n   \n   2. **Unzip** the JavaScript files zip and copy the contained files into the folder\n   \n   3. Now you can start coding in the `src` subdirectory\n\n5. **Launch** Minecraft\n\n6. In the main menu, click on `Mods`, scroll down until you find `JSMod`, click on it and select `Config`. Change the `Root file path` field to the file path of your coding environment for the JS mods (e.g. `C:\\Users...\\Documents\\js`)\n\n\n\n**And you're ready to go!**\n\n\n\nUpdating the code at runtime: JSMod supports a hot reload system which let's you make changes to your code and reload without having to restart Minecraft. This system even preserves the state of your modules between reloads.\n\nTo trigger a reload call the `/hotreload` command in Minecraft.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspiaaa%2Fjsmod","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finspiaaa%2Fjsmod","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finspiaaa%2Fjsmod/lists"}