← ClaudeAtlas

nms-boss-eventlisted

透過 NMS ServerBossEvent 操作 Boss Bar 進度條、顏色、風格、可見性,實現每人獨立 Boss Bar(Paper NMS + Mojang-mapped)/ Operate Boss Bar progress, color, style, and per-player visibility via NMS ServerBossEvent
MrPippi/MJP-Claude-Skills · ★ 1 · Data & Documents · score 70
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; /**