# Build AllayMC Plugins

AllayMC plugin setup can be hard to align across Gradle, metadata, lifecycle APIs, and server behavior. This skill guides Claude, Codex, and Claude Code through template-based plugin development and troubleshooting.

## Install

```bash
npx skillstore add allaymc/allaymc-plugin-dev
```

## Metadata

- - Slug: allaymc-allaymc-plugin-dev
- - Version: 1.0.0
- - Author: AllayMC
- - GitHub username: AllayMC
- - License: LGPL-2.1
- - Repository: https://github.com/AllayMC/AllaySkill/tree/main/
- - Ref: main
- - Supported tools: Claude, Codex, Claude Code
- - Risk level: low
- - Risk factors: external\_commands, filesystem
- - Quality score: 77
- - Quality tier: bronze
- - Public page: https://skillstore.pages.dev/skills/allaymc-allaymc-plugin-dev
- - Manifest: https://skillstore.pages.dev/api/skills/allaymc-allaymc-plugin-dev/manifest

## Capabilities

- Guides new AllayMC plugin creation from the bundled Java template.
- Aligns Gradle configuration, plugin metadata, package names, and API versions.
- Helps implement plugin lifecycle methods, reload behavior, and runtime wiring.
- Points to bundled tutorials for commands, events, tasks, config, permissions, i18n, forms, data, blocks, and items.
- Provides build and run command guidance for AllayGradle projects.
- Troubleshoots plugin loading, API mismatch, jar location, and class name issues.

## Use Cases

- Start a New Plugin: Create a plugin skeleton that keeps the main class, package name, Gradle group, and plugin metadata consistent.
- Add Server Features: Add commands, events, scheduled tasks, configuration, permissions, forms, or persistent data using the bundled Allay tutorials.
- Update an Existing Plugin: Compare an existing plugin with the template, update API versions, and troubleshoot loading or class resolution failures.

## Prompt Templates

### Create a Plugin Skeleton

```
Use allaymc-plugin-dev to create a new AllayMC Java plugin named <name>. Set the group, package, author, version, and plugin entrance consistently.
```

### Add Commands and Events

```
Use allaymc-plugin-dev to add a command and an event listener to my existing plugin. Follow the bundled Allay tutorials and explain each file change.
```

### Migrate API Version

```
Use allaymc-plugin-dev to migrate this plugin to Allay API version <version>. Check Gradle metadata, plugin entrance, imports, and lifecycle usage.
```

### Diagnose Startup Failure

```
Use allaymc-plugin-dev to diagnose why this plugin fails to load. Review my Gradle file, plugin metadata, main class name, jar output, and server log excerpt.
```

## Limitations

- The marketplace scan covers the skill files, not the full submodule reference content.
- The workflow assumes the Java 21 template unless the user requests another JVM setup.
- API version accuracy depends on the local bundled references or current AllayMC documentation.
- Generated plugin changes still need local builds and server testing.

## Best Practices

- Keep the Gradle group, package name, plugin entrance, and compiled main class aligned.
- Use the bundled template and tutorials before inventing custom project structure.
- Build locally and test on an Allay server after every metadata or lifecycle change.

## Anti Patterns

- Do not change the API version without checking imports, metadata, and lifecycle compatibility.
- Do not copy jars manually without confirming the shaded output path and plugin directory.
- Do not assume nullable behavior unless the Allay Javadoc explicitly permits null values.

## Security Audit

- - Safe to publish: true
- - Audited at: 2026-06-28T09:19:48.005\+00:00
- - Summary: Static analysis reported many high-risk patterns, but manual review found they come from LGPL license prose, Markdown code formatting, and legitimate git or Gradle workflow examples. No prompt injection, credential access, data exfiltration, obfuscated code, or malicious network behavior was found in LICENSE, README.md, or SKILL.md. The skill is low risk because it can guide users or agents to run standard development commands and read local reference paths.

## Stats

- - Views: 273
- - Downloads: 5
- - Favorites: 0
- - Popularity score: 0
