generate-velocity-plugin-skeletonlisted
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Generate Velocity Plugin Skeleton / 產生 Velocity 插件骨架
## 技能名稱 / Skill Name
generate-velocity-plugin-skeleton
## 目的 / Purpose
依使用者提供的基本參數,產生一個可直接 `./gradlew build` 編譯的 Velocity proxy plugin 骨架。
## 觸發條件 / Triggers
- 「建立 Velocity 插件」
- 「Velocity plugin skeleton」
- 「proxy plugin 骨架」
- 「generate velocity plugin」
- 「新建代理插件」
## 輸入參數 / Inputs
| 參數 | 範例 | 說明 |
|------|------|------|
| `plugin_id` | `myhubplugin` | Plugin ID(小寫,英數 + 連字號,用於 `@Plugin(id=...)` 和 JAR 檔名) |
| `plugin_name` | `MyHubPlugin` | Plugin 顯示名稱(大駝峰) |
| `group_id` | `com.mynetwork` | Java 套件 group |
| `description` | `A hub plugin for my network` | Plugin 說明(英文) |
| `authors` | `["YourName"]` | 作者列表 |
## 輸出產物 / Outputs
- `build.gradle`
- `settings.gradle`
- `src/main/java/{package_path}/{PluginName}.java` — 主類(含 `@Plugin`、Guice 注入、lifecycle handlers)
- `src/main/java/{package_path}/listeners/ConnectionListener.java` — 連線事件監聽範例
- `src/main/java/{package_path}/commands/HubCommand.java` — `SimpleCommand` 範例
> `velocity-plugin.json` 由 annotation processor 自動生成,**不需手動建立**。
## 代碼範本 / Code Template
### `build.gradle`
```groovy
plugins {
id 'java'
id 'com.github.johnrengelman.shadow' version '8.1.1'
}
group = '{group_id}'
version = '1.0.0-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
compileJava.options.encoding = 'UTF-8'
repositories {
maven { url = 'https://repo.papermc.io/repository/maven-public/' }
mavenCentral()
}
dependencies {
compil