• v0.1.1-folia+26.1.2 3487194cdf

    v0.1.1 — fix getCurrentWorldData NPE on Folia
    All checks were successful
    Build / build (push) Successful in 1m59s
    Stable

    admin_ekaii released this 2026-05-03 20:00:21 +00:00 | 59 commits to main since this release

    Production crash fix. Players using Axiom paste/fill on creaekaii (May 2026) were getting kicked with:

    An error occurred while processing operation:
    Cannot read field "capturedTileEntities" because the return value of
    "ServerLevel.getCurrentWorldData()" is null
    

    Root cause: SetBlockBufferOperation runs on the global region tick. Block-entity ops on chunks owned by other regions go through Paper's getCurrentWorldData(), which returns null off the owning region's tick → NPE on .capturedTileEntities. v0.1.0's isFoliaThreadException only caught WrongThreadException/TickThread, so this NPE escaped to OperationQueue.tick()'s catch-all and kicked the player.

    Fix: isFoliaThreadException now also recognises NPEs whose message mentions getCurrentWorldData or capturedTileEntities. The existing direct-chunk.blockEntities fallback path is reused. OperationQueue.tick() catch-all now logs the full stack trace before kicking, for future debugging.

    Validated: build green + smoke harness PASS over 25s + 6 rcon commands on Luminol 26.1.2.

    Drop-in upgrade. Same plugin.yml, same compat surface as v0.1.0.

    Downloads