{"id":20881249,"url":"https://github.com/customrealms/bukkit-runtime","last_synced_at":"2025-05-12T16:32:36.540Z","repository":{"id":44772491,"uuid":"426507143","full_name":"customrealms/bukkit-runtime","owner":"customrealms","description":"A JavaScript runtime for Minecraft server plugins","archived":false,"fork":false,"pushed_at":"2024-06-27T17:51:13.000Z","size":115,"stargazers_count":23,"open_issues_count":1,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-01T08:44:39.930Z","etag":null,"topics":["bukkit","gaming","javascript","minecraft","server"],"latest_commit_sha":null,"homepage":"https://customrealms.io","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/customrealms.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":"2021-11-10T06:19:11.000Z","updated_at":"2024-10-02T02:20:39.000Z","dependencies_parsed_at":"2024-06-24T18:43:21.017Z","dependency_job_id":null,"html_url":"https://github.com/customrealms/bukkit-runtime","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/customrealms%2Fbukkit-runtime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/customrealms%2Fbukkit-runtime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/customrealms%2Fbukkit-runtime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/customrealms%2Fbukkit-runtime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/customrealms","download_url":"https://codeload.github.com/customrealms/bukkit-runtime/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253777051,"owners_count":21962621,"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":["bukkit","gaming","javascript","minecraft","server"],"created_at":"2024-11-18T07:24:13.576Z","updated_at":"2025-05-12T16:32:36.227Z","avatar_url":"https://github.com/customrealms.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bukkit-runtime\n\n\u003cimg src=\"https://github.com/customrealms/brand/blob/master/icon-solid/icon-solid.png\" width=\"200\" alt=\"CustomRealms Logo\" /\u003e\n\nThis is a Bukkit plugin, written in Java, that can execute CustomRealms plugins that are written in JavaScript.\n\nThis project implements a JavaScript runtime for running CustomRealms plugins on a Minecraft server. If you're just trying to build a Minecraft plugin using JavaScript, check out [github.com/customrealms/core](https://github.com/customrealms/core).\n\n## How it works\n\nWhen this plugin is run on a Bukkit-compatible Minecraft server, the plugin launches a V8 JavaScript runtime. Then, it fills that runtime with several globals that allow the JavaScript code to interact with the Minecraft game. Then, finally, it executes the JavaScript code for the CustomRealms plugin.\n\n## JavaScript runtime globals\n\nThe JavaScript runtime is populated with several globals. The most basic are `console.log`, `setTimeout`, and a few other related ones. However, the most interesting are related to Minecraft itself.\n\nA few notable globals that are specific to CustomRealms are `Java.resolve`, `BukkitEvents`, and `BukkitCommands`.\n\nThe full declaration file for JavaScript globals in CustomRealms is [found here](https://github.com/customrealms/core/blob/master/src/globals.ts).\n\n## How does this project relate to [customrealms/core](https://github.com/customrealms/core)?\n\nThis is a Java project that allows you to run JavaScript plugins on a Minecraft server. It implements some bare-bones JavaScript functions, but that's all.\n\nOn the other hand, **customrealms/core** is a JavaScript library that picks up where this project leaves off, to make it much easier to build Minecraft plugins. It basically just provides some developer-friendly utilities.\n\nYou can create CustomRealms plugins without **customrealms/core**, but you'll find it's much more tedious.\n\n## Contributing\n\nWe need your help to solve bugs, implement new features, and optimize the entire system. If you want to help, please join our [Discord](https://discord.com/invite/bbS2ACdTCM) and/or check out the [Issues tab](https://github.com/customrealms/bukkit-runtime/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcustomrealms%2Fbukkit-runtime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcustomrealms%2Fbukkit-runtime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcustomrealms%2Fbukkit-runtime/lists"}