This project enables JavaScript scripting for Minestom Minecraft servers, bridging Minestom's Java API with a JavaScript runtime. Write server-side game logic, custom commands, and event handlers in JavaScript.
- JavaScript Scripting: Develop server logic using JavaScript.
- Minestom API Access: Interact with the Minestom API (players, worlds, events, etc.) from JavaScript.
- Custom In-Game Commands: Define new commands using JavaScript.
- In-Memory File Loading: Dynamically load/update JavaScript files from memory via
InMemoryFileSystem
, overriding physical files for flexible script management.
scripts/
: Contains your JavaScript files (main.js
,customCommands.js
, etc.) and TypeScript definitions (minestom-api.d.ts
).src/main/java/
: Java source code for the JavaScript bridge (GraalVM) and Minestom API exposure.ca/atlasengine/scripting/
: Core scripting engine andInMemoryFileSystem
.ca/atlasengine/scripting/api/
: Java classes exposing Minestom features to JavaScript.
build.gradle.kts
: Gradle build file.
(To be filled in with specific instructions on how to build and run the project)
- Prerequisites:
- Java Development Kit (JDK)
- Gradle
- Build the project:
./gradlew build
- Run the server: (Instructions on how to launch the server with the JavaScript scripts)