nms-boss-eventlisted
Install: claude install-skill MrPippi/MJP-Claude-Skills
# NMS Boss Event / NMS Boss Bar 操作
## 技能名稱 / Skill Name
`nms-boss-event`
## 目的 / Purpose
透過 NMS `ServerBossEvent` 精確控制 Boss Bar 的進度、顏色、風格(分段線)、可見性,並實現每位玩家獨立的 Boss Bar 內容(Bukkit BossBar API 每個 Bar 對所有玩家相同)。
## NMS 版本需求 / NMS Version Requirements
- Paper 1.21 – 1.21.3
- Paperweight userdev 1.7.2+
- Mojang mappings(已由 Paper 1.20.5+ 原生支援)
## 觸發條件 / Triggers
- 「boss bar」「BossEvent」「boss 進度條」「NMS boss bar」「伺服器 boss bar」
- 「ServerBossEvent」「per-player boss bar」「每人 boss bar」「boss overlay」
- 「boss 顏色」「boss 風格」「boss 分段」
## 輸入參數 / Inputs
| 參數 | 範例 | ���明 |
|------|------|------|
| `package_name` | `com.example.display` | 產出類別所在 package |
| `class_name` | `BossBarManager` | 管理器類名稱 |
| `per_player` | `true` | 是否每人獨立 Boss Bar |
## 輸出產物 / Outputs
- `BossBarManager.java` — Boss Bar 建立與管理
- `NmsBossBar.java` — 單一 ServerBossEvent 封裝
## Paperweight 建置設定 / Build Setup
參見 `Skills/paper-nms/PLATFORM.md`。關鍵依賴:
```groovy
dependencies {
paperweight.paperDevBundle('1.21.1-R0.1-SNAPSHOT')
}
```
## 代碼範本 / Code Template
### `NmsBossBar.java`(單一 Boss Bar 封裝)
```java
package com.example.display;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerBossEvent;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.BossEvent;
import org.bukkit.craftbukkit.v1_21_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
@SuppressWarnings("UnstableApiUsage")
public class NmsBossBar {
private final ServerBossEvent bossEvent;
/**