Skye GUIs

用于SkyeNetwork的GUI创建插件。

资源图片
# SkyeGUI ![Version](https://img.shields.io/badge/version-1.0.0-blue.svg) ![Minecraft](https://img.shields.io/badge/minecraft-1.21-green.svg) ![License](https://img.shields.io/badge/license-Custom-red.svg) 一个允许玩家控制生物生成的Spigot插件。 ## 特点 - 🎨 **自定义GUI创建** - 创建完全可定制的基于物品栏的GUI - ⚡ **动态配置** - 通过YAML文件配置GUI,无需重启 - 🎮 **多种GUI类型** - 支持各种GUI界面,包括游戏模式菜单、管理工具等 - 🔧 **轻松管理** - 简单的命令用于管理和打开GUI - 🌈 **MiniMessage 支持** - 使用Adventure API进行丰富的文本格式化 - 🔄 **实时重新加载** - 在不重启服务器的情况下重新加载配置 - 🎯 **权限系统** - 对每个GUI进行粒度的权限控制 ## 安装 1. 从 releases 下载最新的 `SkyeGUI-1.0.0.jar` 2. 将JAR文件放置到服务器的 `plugins` 文件夹中 3. 重启服务器或使用插件管理器加载它 4. 在生成的 `config.yml` 和 `guis.yml` 文件中配置您的GUI ## 命令 | 命令 | 描述 | 权限 | 用法 | |---------|-------------|------------|-------| | `/skyegui` | 主插件管理命令 | `skyegui.admin` | `/skyegui [reload|version|list|open ]` | | `/creative` | 打开游戏模式菜单 | `skyegui.creative` | `/creative` | | `/examplegui` | 打开示例GUI | `skyegui.gui.example` | `/examplegui` | | `/stafftools` | 打开管理工具GUI | `skyegui.gui.staff` | `/stafftools` | | `/gmmenu` | 打开游戏模式菜单GUI | `skyegui.gui.gamemode` | `/gmmenu` | ### 命令示例 ```bash # 重新加载插件配置 /skyegui reload # 列出所有可用的GUI /skyegui list # 打开特定的GUI /skyegui open example # 检查插件版本 /skyegui version ``` ## 权限 | 权限 | 描述 | 默认值 | |------------|-------------|---------| | `skyegui.admin` | 访问GUI管理命令 | `op` | | `skyegui.gui.example` | 访问示例GUI | `true` | | `skyegui.gui.staff` | 访问管理工具GUI | `op` | | `skyegui.gui.gamemode` | 访问游戏模式菜单GUI | `op` | | `skyegui.creative` | 访问创意菜单命令 | `op` | ## 配置 ### 主配置 (`config.yml`) ```yaml # 启用/禁用插件 enabled: true # 插件消息前缀 prefix: "[SkyeGUI] " # 调试模式 debug: false ``` ### GUI 配置 (`guis.yml`) 插件通过YAML支持灵活的GUI配置。 每个GUI都可以使用以下方式进行定制: - **标题** - 使用MiniMessage格式的自定义物品栏标题 - **大小** - 物品栏大小(9, 18, 27, 36, 45, 54) - **物品** - 自定义物品,具有材质、名称、描述和附魔 - **命令** - 自定义命令绑定 示例GUI配置: ```yaml example: title: "示例GUI" size: 27 command: "examplegui" items: 13: material: "DIAMOND" name: "点击我!" lore: - "这是一个示例物品" - "点击关闭" ``` ### 消息配置 (`messages.yml`) 使用MiniMessage格式支持自定义所有插件消息: ```yaml prefix: "[SkyeGUI] " version: "SkyeGUI v1.0.0 by SkyeNetwork Team" reload: "插件已成功重新加载!" gui-not-found: "GUI未找到: {gui}" no-permission: "您没有使用此命令的权限!" ``` ## 开发 ### 从源代码构建 **先决条件:** - Java 8 或更高版本 - Maven 3.6+ **构建步骤:** ```bash git clone https://github.com/SkyeNetMC/SkyeGUIs.git cd SkyeGUIs mvn clean package ``` 编译后的JAR将位于 `target/` 目录中。 ### 项目结构 ``` src/ ├── main/ │ ├── java/ │ │ └── me/pilkeysek/skyegui/ │ │ ├── SkyeGUIPlugin.java # 主插件类 │ │ ├── commands/ # 命令处理器 │ │ ├── menu/ # GUI菜单实现 │ │ └── modules/ # 核心GUI模块 │ └── resources/ │ ├── plugin.yml # 插件元数据 │ ├── config.yml # 主配置 │ ├── guis.yml # GUI定义 │ └── messages.yml # 消息模板 ``` ## API 使用 SkyeGUI 提供了一个简单的API,供其他插件与之交互: ```java // 获取插件实例 SkyeGUIPlugin skyeGUI = (SkyeGUIPlugin) Bukkit.getPluginManager().getPlugin("SkyeGUI"); // 为玩家打开GUI skyeGUI.getGUIModule().openGUI(player, "example"); // 检查GUI是否存在 boolean exists = skyeGUI.getGUIModule().getGUINames().contains("myGui"); ``` ## 兼容性 - **Minecraft 版本**: 1.21+ - **服务器软件**: Paper, Spigot 和兼容的派生版本 - **Java 版本**: 8+ ## 🌐 在线编辑器 我们提供了一个方便的基于Web的编辑器,用于开发: - **编辑器 URL:** [editor.nobleskye.dev](https://editor.nobleskye.dev) - 在线编辑和测试您的配置 - 实时语法高亮和验证 - 与插件的直接集成 ## 📋 分发策略 **⚠️ 重要再分发通知:** - **不要**直接与他人分享插件文件 - **不要**再分发修改或未修改的版本 - **始终**将用户引导到原始源代码库 - 任何分享必须仅通过 **链接到原始源代码** 完成 **✅ 允许:** - 个人使用和修改 - 贡献回原始项目 - 从源代码学习 **❌ 禁止:** - 直接文件共享或再分发 - 商业再分发 - 修改版本的独立分发 ## 贡献 1. Fork 仓库 2. 创建一个功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交您的更改 (`git commit -m '添加一些惊人的功能'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开一个 Pull Request ## 支持 - **网站**: [https://skyenet.co.in](https://store.skyenet.co.in) - **问题**: [GitHub Issues](https://github.com/SkyeNetMC/SkyeGUIs/issues) - **Wiki**: [插件文档](https://github.com/SkyeNetMC/SkyeGUIs/wiki) ## 许可证 本项目使用自定义许可证授权 - 请参阅 [LICENSE](LICENSE) 文件以获取详细信息。 **重要:** 此软件具有具体的再分发限制。 在共享或分发之前,请仔细阅读许可证。 ## 致谢 由 **SkyeNetwork Team** 开发 --- *有关更详细的文档和示例,请访问我们的 [Wiki](https://github.com/SkyeNetMC/SkyeGUIs/wiki).*