Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
Avatar for prach1121

Real JavaScript scripting for your Paper server — no compiling, no waiting for addons

Report Birdlibraryapi?

BirdLibraryApi

Real JavaScript scripting for your Paper server — no compiling, no waiting for addons.

BirdLibraryApi turns your server into a live JavaScript scripting platform. Drop a .js file into plugins/BirdApi/, and you've got a working plugin — events, commands, timers, and full access to the Bukkit API — with zero Maven, zero plugin.yml, zero restarts to test changes.

Powered by GraalJS, a real ECMAScript engine — not a custom pseudo-English DSL. If you already know JavaScript, you already know how to write BirdLibraryApi scripts.


✨ Why BirdLibraryApi?

Skript-style scripting is great for quick edits, but it hits a ceiling fast. BirdLibraryApi is built for people who want that same "no compiling needed" convenience, without giving up real programming:

  • Full ECMAScript — functions, closures, classes, Array/Math/JSON, the whole standard library.
  • Unlimited Bukkit/Paper API accessJava.type("...") gives you any class on the classpath instantly. No addon required, ever.
  • Safe, granular reloading — reload one script without touching the others. Every listener, command, and scheduled task a script registers is cleaned up automatically.
  • Readable errors — syntax and runtime errors are reported straight to chat when you reload, with line/column numbers. A broken script never takes down the plugin or your other scripts.
  • Built-in internet accessBird.fetch(...) for REST APIs, plus ready-made Discord webhook/embed support.

🔧 What you get out of the box

  • Events & commands — register with a single function call, no plugin.yml entry needed
  • Scheduler — sync/async tasks, auto-cancelled on reload, plus an async-only sleep() for Skript-style wait sequences
  • Player & world helpers — health, food, potion effects, gamemode, teleport, nearby players, ping, UUIDs, and more
  • Chat, action bar & titles — with &/§ color code support built in
  • Items, sounds & particles — one-liners for custom-named items, sound effects, particle bursts
  • Persistent storage — per-script key/value data store, plus sandboxed file read/write for JSON exports, logs, and small "databases"
  • Cooldown system — for abilities, commands, anything you need to rate-limit per player
  • Cross-script eventsBird.emit/Bird.on let separate scripts talk to each other without depending on each other's internals

📦 Getting started

  1. Drop BirdLibraryApi.jar into plugins/
  2. Start your server once — plugins/BirdApi/ is created automatically
  3. Add a .js script to that folder
  4. Run /birdlib reload — no restart needed
Bird.onCommand("hello", function (sender, label, args) {
    sender.sendMessage("Hi " + args.length + " args");
});

Bird.onEvent("org.bukkit.event.player.PlayerJoinEvent", function (event) {
    Bird.sendTitle(event.getPlayer(), "&6&lWelcome!", "&7Glad you're here");
});

📖 Documentation & Wiki

Full API reference, examples, and guides: https://birdwiki.craftcloudnet.com

✅ Compatibility

  • Server software: Paper (and forks)
  • Requires: Java 17+
  • No other plugin dependencies — GraalJS is shaded directly into the jar

💬 Support

Found a bug or have a feature request? Open an issue or drop by the wiki linked above.

Information

CategoryDeveloper Tools
Published onJuly 24, 2026
LicenseApache 2.0
Downloads0
Stars0
Watchers0
Library

Members