▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Yeow

Yeow

Write Minecraft Paper plugins in TypeScript / JavaScript. Each plugin runs in its own isolated QuickJS thread — no main-thread blocking, hot reload in seconds, platform-agnostic plugin packages.

Оцените первым
23
1

Write Minecraft Paper plugins in TypeScript / JavaScript.

Yeow is a plugin runtime for Paper servers that lets you build plugins with modern frontend tooling (TypeScript, npm, esbuild) instead of Java. Each plugin runs in its own isolated QuickJS thread — it never blocks the server main thread, and a crashing plugin doesn't affect other plugins.

Features

  • TypeScript-first — full type inference for command args, event payloads and API results
  • Isolated threads — one QuickJS context per plugin; plugin code never blocks the game thread
  • Three-level priority scheduler (HIGH / NORMAL / LOW) with time-slice budgets, automatic demotion and dynamic budget scaling
  • Hot reload in seconds — edit src/, see it live on the server, no restart
  • Declarative permissions — sensitive nodes (fs:*, http:*, service:registerNative, assets:extract) are denied by default until declared
  • Platform-agnostic plugin packages — a .yeow.zip is a plain ZIP, runnable on any conforming runtime, not just JVM/Bukkit
  • Native Service — embed Go / Rust / C++ binaries in your plugin; the runtime extracts and spawns them per platform
  • Runtime health diagnostics — heartbeat pings, event / tab-completion timeouts, queue backlog and scheduler saturation warnings

Quick start — plugin developer

npm create yeow@latest -- -y --ts   # scaffold a TypeScript plugin
cd my-plugin
npm install
npm run dev                          # starts Paper + hot reload
npm run build                        # dist/<name>-<version>.jar + .yeow.zip
import { onLoad, registerCommand, Player, pdcGet, pdcSet, log } from 'yeow-api';

onLoad(() => {
  registerCommand('back', {
    description: 'Teleport to your death location',
    executor: async (p) => {
      const player = await Player.get(p.sender.uuid);
      if (player) await player.teleport(new Location(0, 64, 0, 0, 0, 'world'));
    },
  });
  log.info('MyPlugin loaded');
});

Quick start — server admin

  1. Install this plugin into plugins/ and restart the server
  2. Drop any Yeow plugin package (.yeow.zip) into plugins/Yeow/ — auto-loaded on startup
  3. Or install on the fly:
    • /yeow install <url> — download + install a .yeow.zip
    • /yeow update <url> — replace an older version (old copy goes to plugins/Yeow/.backup/)
    • /yeow unload <plugin> / /yeow reload <plugin> — manage running plugins
  4. /yeow profile / /yeow track <plugin> <seconds> — performance diagnostics

Requirements

  • Paper 1.21.4
  • Java 21+

Documentation

  • 中文文档: https://yeow.yeside.top/
  • Getting started, API reference (24 modules), platform specifications and runtime-warning guide are all included.

License

MIT (runtime, API, tooling). The QuickJS engine (MIT) is bundled through the quickjs-wrapper (Apache-2.0).

Партнёрский материал

Сервер для плагина Yeow - как у профи

Плагин Yeow создан для серверов: на своём сервере вы настраиваете его под себя и решаете, кому играть. Создать сервер с плагином Yeow для друзей можно за пару минут - BungeeHost всё уже подготовил.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

26.2.x26.1.x1.21.x1.20.x1.19.x1.18.x

Платформы

Поддерживаемые окружения

Сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:3 месяца назад
Обновлён:3 месяца назад
Главная