COWMODSКаталог модов

SkBee++

SkBee++ is an addon that allows you to compile and execute Java code directly inside your .sk files in real time.

Автор: HELOUNN3641обновлён 21 авг. 2026 г.
Утилиты

Описание

SkBee++

SkBee++ is a Skript addon that lets you write and execute real Java code directly inside your Skript scripts.

Use Java where Skript alone is not enough, while keeping your logic integrated with your existing scripts.

Why SkBee++?

  • Java inside Skript: Write Java code directly in your .sk scripts using execute java:.
  • .jv Modules: Move larger pieces of Java logic into standalone .jv files inside your Skript scripts/ folder.
  • Variable Bridge: Exchange values between Java code and Skript using getVar and setVar.
  • Event Context: Access values such as event, sender, player, victim, attacker, and damage when available.
  • Paper/Bukkit API: Use the Bukkit and Paper API directly from your Java code.
  • Hot Reload: Reload Skript scripts with /sk reload to clear the compiled class cache and rescan .jv modules.
  • Line-Mapped Errors: Compilation and runtime errors are mapped back to your original script lines.
  • Debugging: Use /jvdebug to inspect bindings and Variable Bridge data.
  • Localization: Built-in English and Russian language support.

What does it look like?

Java directly inside Skript:

on damage:
    execute java:
        if (victim() instanceof Player) {
            setVar("last_damage", event.getDamage());
        }

Standalone .jv module:

on join:
    run jv "modules/welcome.jv"

modules/welcome.jv:

Player player = (Player) sender;
player.sendMessage("Welcome back, " + player.getName());

Requirements

  • Paper 26.x+
  • Skript 2.15+
  • Java 25

Security

execute java is not sandboxed. Java code executed through SkBee++ has full access to the server and its APIs.

Only allow trusted users to modify scripts that use SkBee++. Some dangerous calls, such as System.exit and Runtime.halt, are blocked, but SkBee++ is not designed to execute untrusted Java code.

Галерея

Main Image

Последние версии

Все версии →
release

SkBee++ 1.1

1.1
21 авг. 2026 г.308Minecraft: 26.1, 26.1.1, 26.1.2paper
Скачать
Что нового
# SkBee++ 1.1 This update focuses on **stability, diagnostics, and fixing issues discovered during a full stress test**. The plugin was tested on a live Paper 26.1.2 / Skript 2.16.1 server with everything from simple Java blocks to circular includes, nested `switch` statements, security violations, hot reloads, multiple module compilation, and more complex stateful Java code. ## Fixed ### Dynamic `.jv` paths no longer crash Skript Using a dynamic module path, for example inside a loop with a loop variable, could previously trigger an uncaught exception and a full Skript "Severe Error" report. SkBee++ now catches this case and reports a clean, localized error instead: ```text run jv / include jv requires a literal module path ``` ### Correct line numbers for `.jv` compilation errors Compilation errors inside `.jv` modules previously pointed to lines inside SkBee++'s generated Java wrapper. They are now translated back to the correct line in the original `.jv` file. ### Fixed `sender` inside Skript commands Java code executed from a Skript command could incorrectly receive the console as `sender`, even when the command was executed by a player. SkBee++ now correctly handles Skript's command event and resolves the actual command sender. ### Runtime errors now point to the correct script line Runtime exceptions from compiled Java code previously appeared without usable source information. Janino debugging information is now enabled, allowing SkBee++ to map runtime errors back to the original Java block line. ### More complete localization Several internal messages from the module system and Java compiler were still hardcoded in English. These messages now use SkBee++'s localization system and support both English and Russian. ## Known limitations This update also documents several behaviors discovered during testing. ### Variable Bridge scope `setVar` and `getVar` currently operate within Skript's local variable scope. Values written through the Variable Bridge do not currently behave like normal persistent Skript variables and do not survive between separate trigger executions. `/jvdebug vars` displays values tracked by SkBee++ itself rather than directly verifying Skript's variable storage. This is documented as a known limitation and will require a deliberate design decision rather than a simple bugfix. ### Janino language support SkBee++ uses Janino 3.1.12, which does not support every modern Java language feature. Currently tested unsupported features include: * Lambda expressions * Method references * Switch expressions * `var` These limitations are now documented. ### `switch` / `case` indentation Because `execute java` uses Skript's section parser, Java `case` and `default` labels require special indentation handling inside an `execute java` block. This behavior is now documented.
beta

SkBee++ 1.0

1.0
3 июл. 2026 г.56Minecraft: 26.1, 26.1.1, 26.1.2paper
Скачать
Что нового
# SkBee++ **SkBee++** is a Skript addon that lets you write and execute **real Java code directly inside your Skript scripts**. Java blocks are compiled with Janino at script parse time and executed as part of the Skript trigger — no separate plugin project, external build step, or server restart required. ## Features * **`execute java:`** — write Java code directly inside your Skript scripts. * **`.jv` modules** — move Java logic into standalone files inside Skript's `scripts/` folder. * **`include "file.jv"`** — include Java files recursively, with circular include detection. * **`run jv` / `include jv`** — execute `.jv` modules as Skript effects. * **Variable Bridge** — use `getVar` and `setVar` to exchange values between Java and Skript. * **Event bindings** — access `event`, `sender`, and context values such as `player`, `damage`, `victim`, and `attacker` when available. * **Paper/Bukkit API access** — use the API directly from your Java code. * **Compilation caching** — identical Java blocks share the same compiled class. * **Hot reload** — `/sk reload` clears the compiled class cache and rescans `.jv` modules. * **Line-mapped errors** — compilation and runtime errors are mapped back to your original script lines. * **`/jvdebug`** — inspect current bindings and Variable Bridge data. * **Localization** — English and Russian language support. ## Example ### Java inside Skript ```skript on damage: execute java: if (victim() instanceof Player) { setVar("last_damage", event.getDamage()); } ``` ### Using a `.jv` module ```skript on join: run jv "modules/welcome.jv" ``` `modules/welcome.jv`: ```java Player player = (Player) sender; player.sendMessage("Welcome back, " + player.getName()); ``` ## Requirements * **Paper 26.x+** * **Skript 2.15+** * **Java 25** ## Security `execute java` runs with full server permissions by design. It is **not a sandbox**. Only allow trusted users to edit scripts that use SkBee++. Some dangerous calls such as `System.exit`, `Runtime.halt`, and `Runtime.exit` are blocked, but SkBee++ is not intended to safely execute untrusted Java code.