Files
canalhandia/.pr-review.json
T

22 lines
1.3 KiB
JSON

{
"languages": [
"java",
"yaml",
"markdown"
],
"focus": [
"thread-safety",
"paper-chunk-ticketing",
"item-loss-prevention",
"resource-cleanup",
"performance-and-chunk-loading",
"null-safety-and-unit-tests"
],
"exclude_paths": [
"target/**",
"*.bak*",
"docs/**"
],
"instructions": "Canalhandia is a Minecraft Paper 1.21.x server plugin written in modern Java 25. Enforce these core invariants:\n1. Thread Safety: Bukkit API, World, Entity, and Inventory mutations MUST run on the main server thread. Async threads only do pure calculation or async file I/O.\n2. Item & Inventory Safety: Never discard player items. Always handle full-inventory overflow by dropping excess items at the player's location. On multi-step container placement (e.g. chests), roll back blocks if not all items fit.\n3. Lifecycle & Cleanup: All registered chunk tickets, recipes, schedulers, and I/O executors must be cleanly flushed and unloaded in onDisable() and module toggles.\n4. Chunk Loading: Never trigger synchronous chunk generation or loading inside event handlers. Always check world.isChunkLoaded() before querying blocks.\n5. Test Coverage: All domain logic, coordinates math, parsers, and pure helpers must have corresponding JUnit tests in src/test/java."
}