{"id":21031323,"url":"https://github.com/eldoriarpg/nashornjs","last_synced_at":"2025-10-07T06:48:38.170Z","repository":{"id":103902447,"uuid":"356441227","full_name":"eldoriarpg/NashornJS","owner":"eldoriarpg","description":"Minecraft Plugin which provides the NashornJS Engine for servers with Java 15 or above via a Bukkit Service.","archived":false,"fork":false,"pushed_at":"2025-09-18T14:27:39.000Z","size":414,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-18T17:09:33.758Z","etag":null,"topics":["cli","javascript","minecraft","minecraft-plugin","spigot-plugin"],"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/eldoriarpg.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,"zenodo":null},"funding":{"github":"RainbowDashLabs","patreon":"eldoriaplugins","open_collective":null,"ko_fi":"eldoriaplugins","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://paypal.me/hadde"]}},"created_at":"2021-04-10T01:51:52.000Z","updated_at":"2025-04-29T15:14:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"dc15be2c-a62e-4bc6-a3f7-9562aa28b104","html_url":"https://github.com/eldoriarpg/NashornJS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/eldoriarpg/NashornJS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldoriarpg%2FNashornJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldoriarpg%2FNashornJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldoriarpg%2FNashornJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldoriarpg%2FNashornJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eldoriarpg","download_url":"https://codeload.github.com/eldoriarpg/NashornJS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldoriarpg%2FNashornJS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278734424,"owners_count":26036404,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cli","javascript","minecraft","minecraft-plugin","spigot-plugin"],"created_at":"2024-11-19T12:27:19.184Z","updated_at":"2025-10-07T06:48:38.156Z","avatar_url":"https://github.com/eldoriarpg.png","language":"Java","funding_links":["https://github.com/sponsors/RainbowDashLabs","https://patreon.com/eldoriaplugins","https://ko-fi.com/eldoriaplugins","https://paypal.me/hadde"],"categories":[],"sub_categories":[],"readme":"![GitHub Workflow Status](https://img.shields.io/github/workflow/status/eldoriarpg/NashornJs/Verify%20state?style=for-the-badge\u0026label=Building)\r\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/eldoriarpg/NashornJs/Publish%20to%20Nexus?style=for-the-badge\u0026label=Publishing)\r\n![Sonatype Nexus (Releases)](https://img.shields.io/nexus/maven-releases/de.eldoria/nashornjs?label=Release\u0026logo=Release\u0026server=https%3A%2F%2Feldonexus.de\u0026style=for-the-badge)\r\n![Sonatype Nexus (Development)](https://img.shields.io/nexus/maven-dev/de.eldoria/nashornjs?label=DEV\u0026logo=Release\u0026server=https%3A%2F%2Feldonexus.de\u0026style=for-the-badge)\r\n![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/de.eldoria/nashornjs?color=orange\u0026label=Snapshot\u0026server=https%3A%2F%2Feldonexus.de\u0026style=for-the-badge)\r\n\r\n# OwO What is dis?\r\n\r\nSome Minecraft Plugins out there used the Nashorn JS Engine in the past to evaluate some stuff.\\\r\nThis Engine was removed in Java 15, which caused some problems for these plugins.\r\n\r\nThe NashornJS Plugin provides a ScriptEngineManager to create new script engines.\r\n\r\n# How does it work?\r\n\r\nNashornJS registers a ScriptEngineManager as a service on load.\\\r\nYou can use this service to retrieve your own nashorn engine instance.\r\n\r\n\r\n``` java\r\nvar reg = Bukkit.getServer().getServicesManager().getRegistration(ScriptEngineManager.class);\r\nvar managerChan = reg.getProvider();\r\nvar nashornChan = managerChan.getEngineByName(\"nashorn\");\r\n```\r\n\r\nThat's all. Now you can use your nashorn instance like you always did.\r\n\r\nYou won't need any external dependency for this way, which was a main point for this implementation.\\\r\nYou may want to add `NashornJs` as a Softdepend in your plugin.yml\r\n\r\nOf course there may be a better way, but the Bukkit Classloader is fucking around with everything, so I will stick with this easy any reliable way.\\\r\nIf you know a better way please contribute to the git repository.\r\n\r\n# What is this cli thingy OwO?\r\nThis plugin has also a small cli to use javascript on your server.\\\r\nIt is disabled by default for obvious reasons.\\\r\nJS in the wrong hands, and the trouble can start.\r\n\r\nYou can use the cli with the `/js` or `/nashorn` command.\\\r\nWrite a `\\` at the end to add another line.\r\n\r\nEvery player can have its own engine instance.\r\n\r\nYou will need the `nashorn.eval` permission to access the cli.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldoriarpg%2Fnashornjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feldoriarpg%2Fnashornjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldoriarpg%2Fnashornjs/lists"}