generate-waterfall-plugin-skeletonlisted
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Generate Waterfall Plugin Skeleton / 產生 Waterfall 插件骨架
## 技能名稱 / Skill Name
generate-waterfall-plugin-skeleton
## 目的 / Purpose
依使用者提供的基本參數,產生一個可直接 `./gradlew build` 編譯的 Waterfall/BungeeCord proxy plugin 骨架。
## 觸發條件 / Triggers
- 「建立 Waterfall 插件」
- 「BungeeCord plugin skeleton」
- 「bungeecord proxy plugin」
- 「generate waterfall plugin」
- 「新建 BungeeCord 插件」
## 輸入參數 / Inputs
| 參數 | 範例 | 說明 |
|------|------|------|
| `plugin_name` | `MyHubPlugin` | Plugin 名稱(大駝峰,用於主類和 plugin.yml) |
| `group_id` | `com.mynetwork` | Java 套件 group |
| `description` | `A hub plugin for Waterfall` | Plugin 說明(英文) |
| `author` | `YourName` | 作者名稱 |
## 輸出產物 / Outputs
- `build.gradle`
- `settings.gradle`
- `src/main/resources/plugin.yml`
- `src/main/java/{package_path}/{PluginName}.java` — 主類(繼承 `Plugin`)
- `src/main/java/{package_path}/listeners/ConnectionListener.java` — 連線事件監聽範例
- `src/main/java/{package_path}/commands/HubCommand.java` — `Command` 範例
## 代碼範本 / 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://oss.sonatype.org/content/repositories/snapshots' }
mavenCentral()
}
dependencies {
compileOnly("io.github.waterfallmc:waterfall-api:1.21-R0.1-SNAPSHOT")
}
shadowJar {
archiveClassifier