1.1
Compatibility
Changes
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:
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.
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:TfXFN7GM"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:Hd2xESEn:TfXFN7GM"
}

