← ClaudeAtlas

allaymc-plugin-devlisted

Build, update, and troubleshoot AllayMC plugins in Java or other JVM languages. Use when creating a new AllayMC plugin, migrating an existing plugin to a new Allay API version, wiring commands/events/tasks/config, or setting up Gradle and plugin metadata (plugin.json or AllayGradle plugin block).
aiskillstore/marketplace · ★ 329 · Data & Documents · score 82
Install: claude install-skill aiskillstore/marketplace
# AllayMC Plugin Development ## Overview Create AllayMC plugins using the official Java template and the Allay API. Keep the workflow aligned with the latest Allay API and docs from the bundled references, and default to the template's Java 21 toolchain unless the user requests otherwise. ## Null-safety policy AllayMC currently does not use annotations such as JSpecify's @Nullable/@NonNull. Unless a method's Javadoc explicitly states that a parameter or return value may be null, treat it as non-null. ## Workflow ### 1) Pick the starting point - Prefer the official template at `references/JavaPluginTemplate` for new plugins. - If updating an existing plugin, diff its `build.gradle.kts` and plugin main class against the template. ### 2) Align Gradle and plugin metadata - Update `group`, `description`, and `version` in `build.gradle.kts`. - Keep `group` aligned with the package of the plugin main class. - Keep the Java toolchain consistent with the template unless the user needs a different version. - In the `allay {}` block: - Set `api` to the target Allay API version. - Set `plugin.entrance` to the fully qualified main class (or short suffix as used in the template). - Update `authors` and `website`. - If the project does not use the AllayGradle plugin, create or update `plugin.json` per the docs in `references/Allay/docs/tutorials/create-your-first-plugin.md`. ### 3) Implement the plugin entry class - Extend `org.allaymc.api.plugin.Plugin`. - Override lifecyc