1.0
Compatibility
Changes
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..jvmodules — move Java logic into standalone files inside Skript'sscripts/folder.include "file.jv"— include Java files recursively, with circular include detection.run jv/include jv— execute.jvmodules as Skript effects.- Variable Bridge — use
getVarandsetVarto exchange values between Java and Skript. - Event bindings — access
event,sender, and context values such asplayer,damage,victim, andattackerwhen 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 reloadclears the compiled class cache and rescans.jvmodules. - 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
on damage:
execute java:
if (victim() instanceof Player) {
setVar("last_damage", event.getDamage());
}
Using a .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 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.
Supplementary resources
| File | Type | Size | |
|---|---|---|---|
| SkBeePlusPlus-1.0.jar | Sources jar | 1.07 MiB |
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:Hd2xESEn:ewKdhf7J"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Hd2xESEn:ewKdhf7J"
}

