← ClaudeAtlas

generate-permission-systemlisted

依使用者提供的權限節點清單,產生完整的 Bukkit PermissionManager 工具類別、plugin.yml permissions 區段宣告,含繼承樹設計、預設值設定、OP 判斷。當使用者說「幫我建立權限系統」、「PermissionManager」、「permission node」、「權限節點」時自動應用。
MrPippi/MJP-Claude-Skills · ★ 1 · Data & Documents · score 70
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Generate Permission System Skill ## 目標 依使用者提供的插件名稱與權限節點清單,自動產生: - `PermissionManager.java` 工具類別(靜態方法封裝) - `plugin.yml` 的 `permissions:` 區段(含描述、default、children 繼承) --- ## 使用流程 1. **詢問基本資訊**:插件名稱、權限節點清單、預設是否僅 OP 可用 2. **推導節點樹**:自動生成根萬用節點 `pluginid.*`,將所有節點列為 children 3. **產生 plugin.yml permissions 區段**(YAML) 4. **產生 PermissionManager.java**(靜態工具類,含每個節點的常數與便捷方法) 5. **說明如何在主類與指令中調用** --- ## 輸入參數說明 | 參數 | 說明 | 範例 | |------|------|------| | `plugin_name` | 插件名稱(CamelCase) | `MyPlugin` | | `permission_nodes` | 權限節點清單(可含子節點) | `myplugin.admin`, `myplugin.use` | | `default_op_only` | 預設是否僅 OP 可用(true/false) | `true` | --- ## 代碼範本 ### 1. plugin.yml permissions 區段 ```yaml permissions: myplugin.*: description: MyPlugin 所有權��� default: op children: myplugin.admin: true myplugin.use: true myplugin.admin: description: MyPlugin 管理員權限 default: op myplugin.use: description: MyPlugin 一般使用權限 default: true ``` **規則:** - 根節點(`pluginid.*`)使用 `children` 聚合所有子節點 - `default` 值:`op`(僅 OP)、`true`(所有人)、`false`(無人)、`not op`(非 OP) - 依 `default_op_only` 決定葉節點預設值 --- ### 2. PermissionManager.java ```java package com.example.myplugin.manager; import org.bukkit.entity.Player; import org.bukkit.permissions.Permission; import org.bukkit.permissions.PermissionDefault; import org.bukkit.plugin.PluginManager; /** * MyPlugin 權限管理工具類別 * 所有節點已在 plugin.yml 宣告,此類提供便捷的檢查方法。 */ public final class PermissionManager { // 權限節點常數 public static fi