Tags
Creators
Details
All versions
0.1.0
Beta
Yeow 0.1.03 months ago 31
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
1.19.x
1.18.x
Platforms
Bukkit
Paper
Purpur
Changes
0.1.0
First public release of the Yeow runtime — run Minecraft Paper plugins written in TypeScript / JavaScript.
Features
- TypeScript / JavaScript plugins — modern frontend tooling (npm, esbuild) with full type inference; no Java needed to write a plugin
- One isolated JS thread per plugin (QuickJS engine) — plugin code never blocks the server main thread; a crashing plugin doesn't affect others
- Three-level priority scheduler (HIGH / NORMAL / LOW) with time-slice budgets, auto-demotion and idle-spin fast-path
- Hot reload in seconds —
npm run devstarts Paper + WebSocket hot reload; source-map error mapping and async call-chain tracing in development - Declarative permissions —
fs:*,http:*,service:registerNative,assets:extractare denied by default until declared in the plugin manifest - Platform-agnostic
.yeow.zippackages — a plain ZIP runnable on any conforming runtime, not just JVM/Bukkit - Plugin management commands —
/yeow load | install | update | unload | uninstall | reload, one-click install from a URL - Services — plugin-to-plugin services (global-unique, degrade-to-caller) and Native Service (embed Go / Rust / C++ binaries, spawned and managed over a TCP JSON-line protocol)
- Broad API surface — 38 bridged Bukkit events, 100+ game task types, GUI / BossBar / Scoreboard / PDC / Advancement / Recipe / HTTP server & client / fetch
- Runtime health diagnostics — heartbeat ping, event / tab-completion slow & timeout warnings, queue backlog / scheduler saturation detection with dynamic budget scaling
- QuickJS engine 2026-06-04 — resizable ArrayBuffer,
Uint8Array.toBase64()/Uint8Array.fromBase64()(ES2026), set methods, faster on bench-v8
Bug Fixes
plugin.hungnever fired for plugins that were unresponsive since load — the silent baseline now starts at the first unresponsive window (30s detection works for fresh dead-locks)- Duplicate Bukkit event listeners accumulated across hot reloads, multiplying the event wait timeout by N — each event type now registers exactly one listener
Requirements
- Paper 1.18+
Documentation
Chinese docs: https://yeow.yeside.top/
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:utYvMto0:wpFE7pyB"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:utYvMto0:wpFE7pyB"
}

