Adventure API — Removed shaded adventure-platform-bukkit (not needed on Paper/Folia 26.1.2) and switched adventure-text-minimessage, adventure-text-serializer-ansi, and adventure-text-logger-slf4j from shaded to provided scope, using Adventure 5.1.0 bundled in the server. This is the correct long-term fix for the NoSuchMethodError crash introduced in v2.1.5.
KyoriUtil — Replaced BukkitAudiences.sender().sendMessage/sendActionBar() with direct Audience cast (Paper 26.1.2's CommandSender natively implements Audience).
Removed net.kyori relocation from the shade plugin since Adventure is no longer shaded.
Folia 26.1.2 startup crash — NoSuchMethodError: Services.service(ServiceLoader, Class) caused by Adventure API version mismatch. Reverted adventure-text-minimessage, adventure-text-serializer-ansi, and adventure-text-logger-slf4j from 5.1.0 back to 4.26.1 to maintain compatibility with adventure-platform-bukkit:4.4.1.
Fixed plugin failing to load with IllegalArgumentException: API version string should be of format "major.minor.patch" or "major.minor" — changed api-version in plugin.yml from '26' to '26.1'.
⚠️ BETA RELEASE — Targets Paper 26.1.x (Minecraft 26.1 alpha builds). Back up your worlds before using.
✨ Added
Beta support for Paper 26.1.x (new Minecraft versioning: 26.1.2.build.5-alpha).
Plugin description now indicates BETA and target Paper version at runtime.
Changed
Updated target Paper API from 1.21.10-R0.1-SNAPSHOT to 26.1.2.build.5-alpha (new PaperMC release versioning).
Updated Java source/target from 17 to 25 (required by Minecraft 26.1.x class files).
Updated api-version in plugin.yml from '1.21' to '26'.
Updated Adventure libraries to 4.26.1 (matching the Paper 26.x bundled Adventure BOM).
Updated adventure-platform-bukkit to 4.4.1.
Updated maven-shade-plugin to 3.6.2 (adds Java 25 class file support).
Updated MockBukkit to 4.108.0 (latest mockbukkit-v1.21 while awaiting mockbukkit-v26).
Testing
Disabled MockBukkit-based tests (PluginLifecycleTest, AutoOptimizeModesTest, ClearGlowCommandTest) with @Disabled annotations — MockBukkit does not yet support Paper 26.x registry changes. Tests will be re-enabled once mockbukkit-v26 is published.
Known Limitations (Beta)
Paper 26.1.x is currently in alpha — use on production servers at your own risk.
MockBukkit automated tests are pending mockbukkit-v26 support.
✨ Added - Added `
/villageroptimizer clearglow` admin subcommand to remove glow from optimized villagers in loaded chunks.
- Added `
/villageroptimizer glow <on|off>` admin subcommand to enable/disable optimized villager glow at runtime.
- Added two new config-driven auto-optimization modes:
- Auto-optimize when a chunk exceeds a villager population threshold.
- Auto-optimize when a trade hall (radius) reaches a villager population threshold.
Changed - When enabled, optimized villager glow is now applied for already-optimized villagers in loaded chunks and newly loaded chunks (not only at the moment of optimization).
Fixed - Fixed “optimized villagers stay glowing after restart” when the outline feature is disabled by clearing glow on startup/chunk-load.
Fixed - Fixed `
ClassCastException` on some Paper builds when reading `g
ameplay.restock-optimized-trades.restock-times` (e.g. `
Integer` vs `
Long`) which could error when right-clicking optimized villagers.