← ClaudeAtlas

spigot-paper-api-callerlisted

為 Minecraft Bukkit/Spigot/Paper 插件產生正確的 Java API 調用代碼,包含事件系統、指令、玩家操作、世界操作、物品堆疊、NBT、調度器等。當使用者詢問「如何用 API 做 X」、「幫我寫調用 XXEvent 的代碼」、「Paper API 怎麼用」時自動應用。
MrPippi/MJP-Claude-Skills · ★ 1 · API & Backend · score 70
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Spigot / Paper API Caller Skill ## 目標 依使用者描述的功能需求,產生正確、現代化的 Spigot/Paper Java API 調用代碼片段,並附上必要的 import 與說明。 --- ## 使用流程 1. **確認 MC 版本**:Paper 1.20+ 與舊版 API 有差異,優先使用新版寫法 2. **確認功能需求**:事件監聽 / 指令 / 玩家操作 / 排程 / 資料儲存 3. **產生代碼**:含完整 import、正確類別與方法名稱 4. **補充注意事項**:執行緒安全、主執行緒限制、棄用 API 替代方案 --- ## 常用 API 類別速查 | 需求 | 主要類別 | |------|----------| | 玩家操作 | `Player`, `HumanEntity` | | 世界操作 | `World`, `Location`, `Chunk` | | 物品 | `ItemStack`, `ItemMeta`, `Material` | | 事件 | `Listener`, `@EventHandler`, `EventPriority` | | 指令 | `CommandExecutor`, `TabCompleter` | | 排程 | `BukkitRunnable`, `BukkitScheduler` | | NBT (Paper) | `PersistentDataContainer`, `PersistentDataType` | | 聊天訊息 | `Component` (Adventure API, Paper 1.16+) | | 資料庫 | `HikariCP` (連線池推薦) | --- ## 代碼範本 ### 事件監聽器 ```java import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; public class PlayerListener implements Listener { @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPlayerJoin(PlayerJoinEvent event) { // event.getPlayer() 取得玩家 } } ``` 注意:Listener 必須在主類 `onEnable()` 中 `getServer().getPluginManager().registerEvents(new PlayerListener(), this);` ### 非同步排程(延遲/重複執行) ```java // 延遲 20 ticks(1 秒)後在主執行緒執行 new BukkitRunnable() { @Override public void run() { // 主執行緒安全操作 } }.runTaskLater(plugin, 20L); // 非同步重複任務(不可操作 Bukkit 物件) new BukkitRunna