-
AxiomPaper 5.0.4-folia.6 (MC 26.1.2)
StableAll checks were successfulBuild / build (push) Successful in 2m0sreleased this
2026-05-03 21:20:33 +00:00 | 54 commits to main since this releaseFolia port of AxiomPaperPlugin for MC 26.1.2.
Fixes since v0.1.1:
- v0.1.2: try/catch getBlockEntity on both SetBlockBuffer and RequestChunks
- v0.1.3: updateBlockEntityTicker reflection guard
- v0.1.4: verbose mode + netty exceptionCaught
- v0.1.5: hop getChunkAtAsync to AsyncScheduler
- v0.1.6: Chunk->LevelChunk conversion inside whenComplete callback
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.1.1 — fix getCurrentWorldData NPE on Folia
StableAll checks were successfulBuild / build (push) Successful in 1m59sreleased this
2026-05-03 20:00:21 +00:00 | 59 commits to main since this releaseProduction 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 nullRoot cause:
SetBlockBufferOperationruns on the global region tick. Block-entity ops on chunks owned by other regions go through Paper'sgetCurrentWorldData(), which returnsnulloff the owning region's tick → NPE on.capturedTileEntities. v0.1.0'sisFoliaThreadExceptiononly caughtWrongThreadException/TickThread, so this NPE escaped toOperationQueue.tick()'s catch-all and kicked the player.Fix:
isFoliaThreadExceptionnow also recognises NPEs whose message mentionsgetCurrentWorldDataorcapturedTileEntities. The existing direct-chunk.blockEntitiesfallback 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
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
v0.1.0 — initial Folia port for MC 26.1.2
StableAll checks were successfulBuild / build (push) Successful in 1m58sreleased this
2026-05-01 18:28:56 +00:00 | 60 commits to main since this releaseInitial Folia port of Moulberry/AxiomPaperPlugin for Minecraft 26.1.2.
What works
- Plugin loads on Folia with
folia-supported: true - Per-tick task uses GlobalRegionScheduler instead of Bukkit.getScheduler
- Block-buffer paste path goes through GlobalRegionScheduler with POI/blockEntity Folia-thread fallbacks
- Per-entity dispatch for gamemode / manipulate / delete (entity scheduler)
- Per-chunk dispatch for entity spawns (region scheduler)
teleportAsyncfor player teleports- AsyncScheduler for blueprint file I/O
- Verified: build green + smoke harness PASS over 25 s post-load with regions ticking at 20 TPS, no
WrongThreadException, noPlugin … is not Folia compatible
Build target
- paper-api
26.1.2.build.53-stable(Folia API merged into paper-api in 26.x) - JDK 25, Gradle 9.4.1
Known limitations
SetBlockPacketListener(single-block click placement) is unchanged from upstream — should work for placements within the player's region; cross-region click placements may throw on Folia. Block-buffer paste (the heavy path) is properly dispatched.- No live Axiom-client packet test in the smoke harness (only plugin-load + tick health). Real-world testing welcome.
Files
AxiomPaper-5.0.4-folia+26.1.2-all.jar— drop-in plugin jar (shadowed, ~6.3 MB)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Plugin loads on Folia with