- Add BlockUpdateUtil for sending block update packets to clients
- sendBlockUpdate() - update single block for visible players
- sendRegionUpdate() - batch update for cuboid regions
- sendLocationsUpdate() - efficient update for specific positions
- refreshChunks() - full chunk resync if needed
- findSafeTeleportLocation() - prevents player suffocation
- Update BukkitBlockSetter to send block updates after placement
- Prevents ghost blocks when setting many blocks quickly
- Uses main thread for packet sending after async block placement
- Update MineResetHandler.teleportPlayers() to use safe teleport
- Finds safe location near configured teleport destination
- Prevents players from spawning inside blocks
Ghost blocks occur when server sets blocks without notifying clients,
causing invisible blocks or desync. Fixed by explicit packet updates.
- Change base package from com.loki to dev.loki across all Java files
- Update plugin.yml main class path
- Fix ConfigParseException imports in test files
- Update build.gradle.kts relocate patterns
- Add missing imports in ConfigLoaderTest.java
- Update TODO.md with current status
BREAKING CHANGE: Package namespace changed from com.loki to dev.loki