Tags
Creators
Details
v1.23.0
Compatibility
Changes
vane now targets Minecraft 26.3 (Paper 26.3) and requires Java 25. This release includes everything from the untagged v1.22.0 and 1.23.0 beta builds.
β οΈ Upgrading from v1.21.x
- Custom items now use the
item_modelcomponent instead of custom model data overrides. Existing items in inventories and containers, including legacy durability data, are converted when they are seen. Clients need the new v1.23.0 resource pack. - vane-regions uses ServiceIO instead of Vault for economy integration.
- The Geyser extension is now called
VaneGeyser. Its command is/vanegeyser menu, so it no longer conflicts with/vane. - Replace all vane jars at once. Plugins now share vane-core's Kotlin runtime instead of bundling their own.
β¨ New
- BUSY Bar integration (
vane-busybar): shows your server on a BUSY Bar and sends the Bar's controls back. Thebarmcbridge ships with this release and runs on Linux, macOS and Windows. It can also be served from the Velocity proxy. - Geyser extension (
vane-geyser-extension): Bedrock players get vane's custom items, the resource pack, translations and a vane command menu. - Update notices now compare versions by semver, run off the main thread, and ignore pre-releases.
- The resource pack UUID is now parsed from the pack URL, which is used as a fallback. The URL is validated, and errors are clearer.
π Fixes
- vane-admin: explosion rebuilds no longer duplicate container contents. World rebuild settings are back under
HazardProtection. - Custom items are no longer re-updated every time an inventory is opened.
- Sorting in the creative tab works again.
- Persistent storage is sturdier on load, on save and during migrations.
- Portals load for worlds that are already loaded when the plugin enables.
- Fixed the region group creation menu.
- Fixed the enchanted Ancient Tome texture on Bedrock.
/timenow replies to non-player senders instead of failing silently.
β‘ Performance
- Smaller jars: dropped three shaded libraries from vane-core and minimized the vane-velocity and Geyser extension jars.
head_library.jsonis about half its previous size.- Regexes are no longer recompiled on every call.
π§ Internals
- The whole codebase has been migrated from Java to Kotlin.
- Dependency updates: Paper 26.3, Velocity API 4.3.0, PacketEvents 2.14.0, BlueMap API 2.8.2, Geyser 2.12.0, Gradle 9.8.2, Kotlin 2.4.21. Patched transitive dependencies are pinned, including log4j-api for CVE-2026-49844.
- API docs are generated with Dokka.
Full changelog: https://github.com/oddlama/vane/compare/v1.21.1...v1.23.0
Optional dependencies
Supplementary resources
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:698NGGtb:AJYDir13"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:698NGGtb:AJYDir13"
}

