generate-bungeecord-channellisted
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Generate BungeeCord Channel Handler / 產生 BungeeCord 頻道處理器
## 技能名稱 / Skill Name
generate-bungeecord-channel
## 目的 / Purpose
為 Waterfall proxy plugin 產生完整的 plugin messaging 處理類別,含頻道註冊、入站訊息解析、proxy 向後端回應以及 BungeeCord 內建 sub-channel 攔截範例。
## 觸發條件 / Triggers
- 「BungeeCord channel」
- 「PluginMessageEvent on Waterfall」
- 「plugin messaging BungeeCord」
- 「自訂頻道 Waterfall」
- 「proxy backend communication Waterfall」
- 「ByteStreams BungeeCord」
## 輸入參數 / Inputs
| 參數 | 範例 | 說明 |
|------|------|------|
| `plugin_package` | `com.mynetwork.myplugin` | 插件套件名稱 |
| `channel_name` | `myplugin:network` | 自訂頻道名稱(`namespace:channel` 格式) |
| `actions` | `["BROADCAST", "MOVE_PLAYER", "GET_PLAYER_COUNT"]` | 要處理的 action 列表 |
| `intercept_bungee` | `false` | 是否需要攔截 BungeeCord 內建 sub-channel |
## 輸出產物 / Outputs
- `messaging/WaterfallMessagingHandler.java` — 完整處理器類別(實作 `Listener`)
## 代碼範本 / Code Template
```java
package {plugin_package}.messaging;
import com.google.common.io.ByteArrayDataInput;
import com.google.common.io.ByteArrayDataOutput;
import com.google.common.io.ByteStreams;
import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.chat.TextComponent;
import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.connection.Server;
import net.md_5.bungee.api.event.PluginMessageEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.event.EventHandler;
import