CustomGenerator

CustomGenerator 允许 BentoBox 岛屿所有者购买和激活自定义资源生成器。

资源图片
# 🛠️ CustomGenerator 一个完全集成的、与BentoBox兼容的生成器插件,旨在为岛屿所有者提供购买、管理和激活自定义的碎石、石块、玄武岩或深slate生成器的能力。 所有配置均通过易于编辑的YAML文件处理,从而使服务器管理员可以轻松地进行自定义和灵活配置。 --- ## ✨ 特性 * 每岛 **购买 & 激活** 工作流程,内置经济系统和岛屿等级验证 * 直观的 **GUI 菜单**,用于浏览类别和单个生成器类型 * **自定义生成器逻辑**,由 `custom-generator-categories.yml` 驱动 * 通过 **YAML 文件** 完全自定义消息,GUI 布局和生成器设置 * **缓存优先** 设计,实现快速响应时间和最小服务器负载 * 方便的 **重新加载** 命令,无需服务器重启即可立即应用配置更改 * 支持多个生成器类别,包括经典碎石和高级玄武岩和深slate 类型 * 模块化代码架构,职责分离清晰,便于未来扩展 * 通过 Vault 集成经济系统,实现无缝交易管理 * BentoBox 岛屿等级检查,以保持平衡的游戏进程 --- ## 🔄 v1.1.0 新增内容 ### 🧪 新特性 - **自定义生成器类别** 通过 `custom-generator-categories.yml`: 使用流体流动条件、周围方块、生物群系、Y 坐标限制等定义自己的生成器逻辑。 - **改进的生成器菜单 UI**: 视觉增强,更好的布局和更直观的类别按钮。 - **GUI 中的分页支持**: 菜单现在支持无限个生成器类型,可以通过 **下一页** / **上一页** 按钮导航。 --- ## 📦 硬件依赖 | 插件 | 测试版本 | 目的 | |--------------|------------------|-------------------------------------| | **BentoBox** | 3.0.0+ | 管理岛屿数据和世界隔离 | | **Vault** | 1.7+ | 提供经济 API 以进行交易 | > 插件需要安装并启用所有依赖项;否则将无法加载。 --- ## 🚀 快速开始 1. **下载** `CustomGenerator.jar` 文件,并将其放置在服务器的 `plugins/` 目录中。 2. 启动服务器一次以生成默认配置文件: * `messages.yml` — 可自定义的消息字符串 * `generator-types.yml` — 所有生成器类型的定义 * `custom-generator-categories.yml` — 定义生成器行为 3. 根据服务器的需求和偏好修改 YAML 文件。 4. 使用命令 `/generator reload` 或重启服务器以加载自定义设置。 5. 鼓励玩家使用 `/generator help` 查看可用命令和用法。 --- ### 命令 | 命令 | 描述 | |---------|-------------| | `/generator` | 打开主菜单,向玩家显示可用的生成器。 | | `/generator buy ` | 购买指定的生成器。 玩家必须有足够的钱。 | | `/generator activate ` | 激活先前购买的生成器。 | | `/generator list` | 列出服务器上定义的所有生成器。 | | `/generator reload` | 重新加载所有配置文件。 需要管理员权限。 | ## ⚙️ 配置基础 ### 定义生成器类型 生成器类型定义在 `generator-types.yml` 文件中。您可以添加新的类型或修改现有的类型。 每个条目都指定了生成器的行为和在 GUI 中显示的方式。 这是一个例子: ```yaml generator-types: diamond: display-name: "&b钻石生成器" material: DIAMOND_ORE lore: - "&b包含稀有而有价值的资源。" - "&7产生 30% 的钻石和 70% 的石块。" generator-type: COBBLESTONE price: 5000 required-island-level: 30 blocks: STONE: 70 DIAMOND_ORE: 30 ``` ### 重要提示: * generator-type 必须是内置类别之一(COBBLESTONE, STONE, BASALT, DEEPSLATE)或 custom-generator-categories.yml 中定义的自定义类别。 * blocks 下的值:用作相对权重。 该插件在内部规范化这些值,因此无论您使用 70/30、0.7/0.3 还是 7/3,行为都是一致的。 * 价格支持如果您的经济插件允许,可以使用小数。 * material 必须是 [Bukkit Material](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) 的有效值,用于 GUI 图标。 * lore 支持多行和颜色代码来描述生成器。 ### 创建自定义生成器 自定义生成器在 custom-generator-categories.yml 中定义。 例如: ```yaml dirt_generator: category: DIRTGEN display-name: "&2泥土" fluid: LAVA to: AIR conditions: sides: [ DIRT ] up: [ STONE ] down: [ COARSE_DIRT ] y-level: min: 10 max: 64 biomes: - minecraft:plains - minecraft:the_void ``` ### 说明: * **category**: 唯一的类别 ID。 必须与 generator-types.yml 中的一条生成器类型记录匹配。 * **fluid**: 触发流体块(例如,LAVA、WATER)。 * **to**: 流体流向的块(AIR、WATER、POWDER_SNOW 等)。 * **conditions**: 可选的块要求(sides、up、down)。 * **y-level**: 生成器生效的 Y 轴范围(可选)。 * **biomes**: 生成器生效的生物群系白名单(可选)。 **通过此系统,您可以实现:** * 限制在地下城的玄武岩生成器。 * Y>100 的金生成器。 * 具有特定周围块的泥土生成器。 * 仅在蘑菇岛上才能使用的生物群系专用生成器。