ExpBottle

使用经验瓶来提取和存储经验值。

资源图片
# ExpBottle 🍾💧 [![Java CI with Maven](https://github.com/wilddip/ExpBottle/actions/workflows/release.yml/badge.svg)](https://github.com/wilddip/ExpBottle/actions/workflows/release.yml) 厌倦了失去你宝贵的经验值吗? 😤 ExpBottle 来拯救你! 🚀 这个 Spigot 插件允许玩家将经验值瓶装起来,稍后使用或发送给朋友。一切都带有风格、自定义消息和流畅的 MiniMessage 格式! ✨ ## 🔥 核心功能 * **经验瓶装与取回**: `/exp get [amount|amountL|all]` - 将经验值变成可交易的瓶子。 * **直接经验值转移**: `/exp send ` - 直接将经验值发送给他人! * **批量瓶装**: `/exp split ` - 创建多个固定大小的瓶子。 * **管理员赠送**: `/exp give [count]` - 赠送瓶子给玩家(控制台也能使用!)。 * **通用瓶子使用**: 存储经验值的标准经验值瓶子按预期工作。 * **无缝交互**: 在拿着自定义经验值瓶子时,正常使用箱子、熔炉等。 * **深度自定义**: * 🌍 **完整的本地化**: 编辑 `lang/.yml` 文件(例如 `en_US.yml`、`ru_RU.yml`)。支持 **MiniMessage** 用于精彩的文本格式化! * 🗣️ **智能本地化**: 自动检测玩家的语言并从 `lang/` 文件中使用正确的翻译。 * 🔊 **声音通知**: 在从其他玩家那里收到经验值时,自定义声音警报。 * 📦 **物品栏管理**: 配置满物品栏时的行为 (`drop` 或 `error`)。 * ✂️ **拆分控制**: 为 `/exp split` 设置最小/最大等级/经验值和步长。 * **基于权限**: 对谁可以做什么进行细粒度控制。 * **即时重新加载**: `/exp reload` - 在不重启服务器的情况下应用配置更改。 ## 🎮 命令和权限 所有命令都以 `/exp` 开头(或你的配置别名)。 | 命令 | 描述 | 权限 | 别名 | | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------- | :------------ | :------- | | `/exp` | 显示你的当前经验值信息。 | `expbottle.use` | _(无)_ | | `/exp get [amount[L] \| all]` | 将经验值提取到瓶子中。`amount` = 经验点数, `amountL` = 等级。默认为 `all`。 | `expbottle.get` | `g` | | `/exp send [amount[L] \| all]` | 直接将经验值发送给另一位玩家。格式如上。 | `expbottle.send` | _(无)_ | | `/exp split ` | 创建多个固定 `amount` 或 `amountL` 的瓶子。 | `expbottle.split` | `s` | | `/exp give [count]` | 给予玩家 `count` 个带有 `amount` 或 `amountL` 经验值的瓶子。控制台也能使用! | `expbottle.give` | _(无)_ | | `/exp help` | 显示此帮助菜单。 | `expbottle.help` | `h` | | `/exp reload` | 重新加载插件配置。 | `expbottle.reload` | _(无)_ | **理解数量:** * `100` = 100 经验点。 * `10L` = 10 经验等级。 * `all` = 你所有的当前经验值(不适用于 `/split` 或 `/give` 每瓶数量)。 ## ⚙️ 配置 ExpBottle 具有高度可配置性! * **`config.yml`**: * `default_language`: 例如,`en_US`、`ru_RU`。 * `command.name` 和 `command.aliases`: 自定义你的命令。 * `bottle_lore`: 定义你的经验值瓶子的外观。使用 MiniMessage! * 占位符:``、``、``、``。 * `sound_settings.*`: 配置不同操作的声音(详情请参见下文)。 * `command.get.inventory_full_action`: 物品栏已满时的操作 (`drop` 或 `error`)。 * `command.split.*`: `split` 命令的参数 (最小等级、步长等)。 * _(...以及其他一般设置,如果存在)_ * **`Sound Settings` (`sound_settings`) 详细信息**: * `get`: * `enabled: true|false` - 使用 `/exp get` 时播放的声音。 * `name: "SOUND_NAME"` - Bukkit 声音名称 (例如 `ENTITY_ITEM_PICKUP`)。 * `volume: 1.0` * `pitch: 1.0` * `send_receive`: * `enabled: true|false` - `/exp send` 或 `/exp give` 的接收者的声音。 * `name: "SOUND_NAME"` (例如 `ENTITY_PLAYER_LEVELUP`)。 * `volume: 1.0` * `pitch: 1.0` * `split`: * `enabled: true|false` - 使用 `/exp split` 时播放的声音。 * `name: "SOUND_NAME"` (例如 `BLOCK_AMETHYST_BLOCK_CHIME`)。 * `volume: 1.0` * `pitch: 1.0` * **`lang/` 目录 (例如 `lang/en_US.yml`)**: * 所有面向玩家的消息都在这里!插件会智能地根据每个玩家的客户端语言选择正确的文件! * 使用 **MiniMessage** 进行颜色、格式和悬停/点击事件。 * 例如 MiniMessage: `成功! 收到 经验值。` * 占位符通常为 ``。 ## 📦 安装 1. 从 [发布页面](https://github.com/wilddip/ExpBottle/releases) 下载最新的 `ExpBottle-X.X.X.jar`。 2. 将其放入你的 Spigot 服务器的 `plugins` 文件夹中。 3. 重启或在服务器上加载插件。 4. 完成! 根据需要进行配置。 🎉 ## 🙏 作者和鸣谢 * 最初的概念和初始版本:[BrannStroom](https://github.com/Brannstroom) * 当前维护者和重构者:[wilddip](https://github.com/wilddip) ## 🛠️ 从源代码构建 感觉冒险?使用 Maven: ```bash mvn clean package ``` 在 `target` 目录中找到你的新鲜 JAR。