Skip to content

Add non-breaking Folia support for navigation#696

Open
Score2 wants to merge 1 commit into
TabooLib:dev/6.3.0from
Score2:feature/folia-navigation-compat
Open

Add non-breaking Folia support for navigation#696
Score2 wants to merge 1 commit into
TabooLib:dev/6.3.0from
Score2:feature/folia-navigation-compat

Conversation

@Score2
Copy link
Copy Markdown
Contributor

@Score2 Score2 commented May 21, 2026

This is a non-breaking API update. It keeps the existing navigation API surface intact while making the Bukkit navigation module safer to use on Folia-style servers.

The change adds region-aware callback helpers for Bukkit objects and uses them around navigation code paths that read block, fluid, collision, and entity-ground state. On non-Folia servers the existing behavior is preserved, including normal block reads in random position generation.

What changed:

  • add callRegion helpers for Location, Entity, Block, Chunk, and World
  • route navigation world/block reads through those helpers when needed
  • avoid synchronous chunk loading only on Folia paths
  • keep existing public method signatures unchanged

Checked locally:

  • ./gradlew :platform:platform-bukkit-impl:compileKotlin :module:bukkit:bukkit-navigation:compileKotlin --no-daemon
  • ./gradlew -p test-plugin clean build --no-daemon

Route navigation block and entity reads through region-aware callbacks while preserving existing public APIs. Add reusable Bukkit context callback extensions for Location, Entity, Block, Chunk, and World.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant