
MC-Data-Bridge
Seamlessly sync player inventory, health, XP, and effects across your BungeeCord/Velocity network.
305
3
Список изменений
Refactor: Modernize for Java 25 & Fix Velocity Proxy Deadlocks (v2.1.3)
📝 Description
This PR focuses on updating the core infrastructure to align with the bleeding-edge Minecraft 26.1.2 / Java 25 ecosystem. It also contains a critical fix for a cross-server data deadlock issue that occurred when switching servers on our proxy network.
🐛 Bug Fixes
- Velocity Server Switch Deadlocks: Resolved a critical cross-server data lock issue where the proxy failed to gracefully intercept server transfers and release player SQL locks prior to routing.
- Annotation Processor Mitigation: The root cause of the proxy deadlock was traced back to our Java 25 / Maven Annotation Processors suppressing proxy integration endpoints during compilation. By explicitly passing the
@PluginVelocity API annotation directly into the compiler arguments array, we've successfully recovered the generation of thevelocity-plugin.jsoninitialization file. The proxy component now initializes and intercepts transfers cleanly. - Structural Null Safety: Resolved BungeeCord and Velocity
ByteArrayDataOutput.writeUTFstructural inference problems around UUID String boundaries to ensure strict conformance toGuavaexpectations.
🚀 Modernization & Technical Debt
- API Standardization:
- Updated
paper-apito26.1.2.build.7-alpha. - Updated
velocity-apito3.5.0-SNAPSHOT(Build #592). - Updated
item-nbt-apito2.15.7. - Updated testing dependencies (
mockito) to5.23.0.
- Updated
- Legacy Refactors:
- Migrated health sync properties to utilize
Attribute.MAX_HEALTH, fully deprecating the legacyGENERIC_prefix requirements targeting modern APIs. - Restructured
PlayerQuitEventlogic in our flow suites to adopt modernComponentadventure text system, erasing legacy string deprecations natively. - Upgraded internal plugin message events to correctly route their legacy event parameters, accommodating proxy-transfer flags natively.
- Migrated health sync properties to utilize
🛡 Zero-Suppression Defensive Null Safety
- Phased out
@SuppressWarningsfor null validation loops across the entire bridge logic constraint map, replacing them with mechanically enforcedjava.util.Objects.requireNonNullvalidation layers cleanly. - Safely rewired ambiguous core Bukkit states (
getLocation,advancementIterator,getCommand) to aggressively trap and seal implicit analyzer NPE leakages directly inside the event pipeline.
🏗 Build Pipeline Adjustments
- Upgraded compiler compliance matrix to strictly target Java 25 (
<release>25</release>). - Bumped
maven-shade-pluginnatively to3.6.2, and injected cutting-edgeorg.ow2.asm9.9.1dependencies to successfully resolve shade failures against Java 25's new major bytecode signatures.
🧪 Testing & Verification
- Verified compilation integrity on Java 25.
- Live tested on proxy environment (
Velocity 3.5.0handling twoPaperMC 26.1.2instances). - Tested rapid server hopping back-and-forth between instances.
- Verified perfect synchronization across Health, Inventory, and complex NBT data during immediate server switches with zero proxy timeouts or deadlocks.
Файлы
mc-data-bridge-2.1.3.jar(2.89 MiB)
ОсновнойМетаданные
Канал релиза
Release
Номер версии
2.1.3
Загрузчики
BungeeCordPaperSpigotVelocity
Версии игры
1.21–26.1.2
Загрузок
16
Дата публикации
2 нед. назад
