Commands were only injected into Brigadier and lacked a corresponding Bukkit plugin.yml entry, causing registration/permission issues on Purpur 1.19.4.
The public command surface needed to be based on /yamipa (with /image compatibility) instead of /images to match documentation and expected usage.
Description
Changed the Brigadier base command to COMMAND_NAME = "yamipa" and removed the "images" alias while keeping "image" as a compatibility alias in ImageCommandBridge.
Added an explicit yamipa command declaration to src/main/resources/plugin.yml so Bukkit/Purpur will register the command and alias at startup.
Added Internals.syncCommands() which invokes the server's syncCommands method via reflection to resynchronize Bukkit commands into Brigadier.
Updated ImageCommandBridge.register to call Internals.syncCommands() (wrapped in a safe try/catch), and to clear the default command permissions after registering the Brigadier nodes.
Testing
Ran git diff --check which produced no index issues.
Attempted ./gradlew compileJava, but the build fails in this environment before project compilation because the Gradle/Kotlin toolchain code cannot parse the installed Java version string 25.0.1, so compilation could not be validated here.
### Motivation
- Commands were only injected into Brigadier and lacked a corresponding Bukkit `plugin.yml` entry, causing registration/permission issues on Purpur 1.19.4.
- The public command surface needed to be based on `/yamipa` (with `/image` compatibility) instead of `/images` to match documentation and expected usage.
### Description
- Changed the Brigadier base command to `COMMAND_NAME = "yamipa"` and removed the `"images"` alias while keeping `"image"` as a compatibility alias in `ImageCommandBridge`.
- Added an explicit `yamipa` command declaration to `src/main/resources/plugin.yml` so Bukkit/Purpur will register the command and alias at startup.
- Added `Internals.syncCommands()` which invokes the server's `syncCommands` method via reflection to resynchronize Bukkit commands into Brigadier.
- Updated `ImageCommandBridge.register` to call `Internals.syncCommands()` (wrapped in a safe `try/catch`), and to clear the default command permissions after registering the Brigadier nodes.
### Testing
- Ran `git diff --check` which produced no index issues.
- Attempted `./gradlew compileJava`, but the build fails in this environment before project compilation because the Gradle/Kotlin toolchain code cannot parse the installed Java version string `25.0.1`, so compilation could not be validated here.
------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_69bae2eeabbc832fbfb1483502b4c419)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Motivation
plugin.ymlentry, causing registration/permission issues on Purpur 1.19.4./yamipa(with/imagecompatibility) instead of/imagesto match documentation and expected usage.Description
COMMAND_NAME = "yamipa"and removed the"images"alias while keeping"image"as a compatibility alias inImageCommandBridge.yamipacommand declaration tosrc/main/resources/plugin.ymlso Bukkit/Purpur will register the command and alias at startup.Internals.syncCommands()which invokes the server'ssyncCommandsmethod via reflection to resynchronize Bukkit commands into Brigadier.ImageCommandBridge.registerto callInternals.syncCommands()(wrapped in a safetry/catch), and to clear the default command permissions after registering the Brigadier nodes.Testing
git diff --checkwhich produced no index issues../gradlew compileJava, but the build fails in this environment before project compilation because the Gradle/Kotlin toolchain code cannot parse the installed Java version string25.0.1, so compilation could not be validated here.Codex Task