ProjectKorraCollisions
Gives server owners control over what happens when two ProjectKorra abilities collide by element pair, by specific move pair, or via custom Java scripts.
Requires: ProjectKorra 1.12.0 (older version untested) | Server: Paper 1.20+, Java 17+
CONFIGURATION
Two sections in config.yml: element-collisions and move-collisions. Keys are case-insensitive and order doesn't matter (FIRE+WATER = WATER+FIRE). Move collisions take priority over element collisions.
Each rule supports:
remove-first (boolean) -- remove the first ability
remove-second (boolean) -- remove the second ability
cancel-event (boolean) -- cancel ProjectKorra's default handling
particles (list) -- location (first/second/midpoint), type, count
sounds (list) -- location, type, volume, pitch
scripts (list) -- script filenames to run (without .java)
SCRIPTS
Scripts live in plugins/ProjectKorraCollisions/scripts/ as .java files. They are compiled at runtime (via the JDK). Use /pkcreload to recompile without restarting.
Each script must implement CollisionScript and have a no arg constructor. CollisionContext provides getFirstAbility(), getSecondAbility(), getLocFirst(), getLocSecond(), and getPlugin(). An example script is generated on first startup.
COMMANDS
/pkcreload
Reloads config and recompiles all scripts.
Permission: projectkorracollisions.reload (default: op)
Gives server owners control over what happens when two ProjectKorra abilities collide by element pair, by specific move pair, or via custom Java scripts.
Requires: ProjectKorra 1.12.0 (older version untested) | Server: Paper 1.20+, Java 17+
CONFIGURATION
Two sections in config.yml: element-collisions and move-collisions. Keys are case-insensitive and order doesn't matter (FIRE+WATER = WATER+FIRE). Move collisions take priority over element collisions.
Each rule supports:
remove-first (boolean) -- remove the first ability
remove-second (boolean) -- remove the second ability
cancel-event (boolean) -- cancel ProjectKorra's default handling
particles (list) -- location (first/second/midpoint), type, count
sounds (list) -- location, type, volume, pitch
scripts (list) -- script filenames to run (without .java)
SCRIPTS
Scripts live in plugins/ProjectKorraCollisions/scripts/ as .java files. They are compiled at runtime (via the JDK). Use /pkcreload to recompile without restarting.
Each script must implement CollisionScript and have a no arg constructor. CollisionContext provides getFirstAbility(), getSecondAbility(), getLocFirst(), getLocSecond(), and getPlugin(). An example script is generated on first startup.
COMMANDS
/pkcreload
Reloads config and recompiles all scripts.
Permission: projectkorracollisions.reload (default: op)