由于个人原因,我将不再进行公开的插件开发。很抱歉,这意味着此插件将不再由我维护。但另一位开发者已接手此插件!(非常感谢 SedatTR <3)
新版插件链接: SpigotMc 链接
新开发者 Discord: https://discord.gg/9wjkj9fk9k
💡重要须知
- 插件已由新开发者接手维护,请使用上方链接获取更新版本和支持。
- 以下文档基于原插件版本,部分信息可能已过时,仅供参考。
🎮依赖
- ProtocolLib:用于告示牌GUI。若未安装,将使用铁砧GUI替代。
- 经济插件:需要 Vault 及一个处理货币的插件(例如 Essentials)。
🔧配置概述
插件高度可定制,几乎所有菜单项、甚至管理菜单都可以配置。主要配置文件如下,每个设置上方通常都有注释说明,并包含该设置专用的占位符。
config.yml
主配置文件,控制核心功能与外观。
- 菜单背景颜色:使用数字0-15代表不同颜色(例如,0=白色,15=黑色)。
- 全局分类:可启用一个显示所有类别物品的“全局”分类(可能影响性能)。
- 输入方式:可选择使用告示牌、铁砧GUI或聊天栏进行价格输入。
- 出价与拍卖限制:可启用基于权限的出价数量、拍卖数量、拍卖时长限制。
- 权限控制:可设置使用拍卖菜单、查看他人拍卖等命令的权限。
- NPC设置:可配置拍卖NPC的外观、皮肤和标题(需要 Citizens)。
- 黑名单:可按物品ID或名称禁止特定物品上架。
currency.yml
配置经济系统。
- 经济类型:可选
Vault(默认)或 Skript。 - Skript 变量:当经济类型为 Skript 时,在此处设置变量路径(例如
balance.%player%)。
bids_related.yml
管理与出价相关的物品显示和消息。
- 出价历史物品:配置在查看拍卖时,“出价历史”物品的显示信息。
- 提交出价物品:配置出价按钮的外观和提示文本。
- 出价消息:配置玩家被超价、成功出价等情况的提示消息。
auctions_manager.yml
管理拍卖创建、浏览和物品显示的配置。
- 拍卖物品描述:根据拍卖状态(无出价、有出价、已结束、已过期)配置不同的物品描述。
- 排序与搜索:配置排序物品和搜索物品的显示。
- 拍卖创建:详细配置起始价格、持续时间、费用计算、确认菜单等。
- 时间单位:可自定义时间单位的显示文本(如“小时”、“天”)及其缩写。
admin_config.yml
管理员菜单中各项功能的显示文本和提示信息。
- NPC管理:创建NPC、调试NPC的按钮说明。
- 拍卖管理:管理已结束/未结束拍卖、删除拍卖、强制结束拍卖等选项的说明。
- 交付系统:向玩家发送、设置或移除“交付物”的管理功能说明。
sounds.yml
为插件的各种操作配置音效。
- 命令音效:执行
/ah、/ah <玩家> 等命令时的音效。 - 通用音效:点击NPC、翻页、关闭菜单等操作的音效。
- 菜单音效:点击主菜单、拍卖浏览器、拍卖创建器等各菜单项的音效。
- 出价与交付音效:出价成功、收到交付物等事件的音效。
menus.yml
定义各个菜单的布局和槽位。
- 主菜单:定义“浏览拍卖”、“查看出价”、“管理拍卖”、“交付菜单”等按钮的位置。
- 拍卖创建菜单:定义物品预览、起始价格、持续时间等按钮的位置。
- 浏览菜单:定义各个物品分类(武器、盔甲等)按钮的位置。
- 拍卖查看菜单:定义拍卖物品展示、出价按钮、历史记录等区域的位置。
buyItNow.yml
“一口价”(Buy It Now)功能的配置。
- 启用一口价:开关BIN功能。
- 价格设置:配置一口价物品的价格显示和额外费用。
- 模式切换:配置在拍卖模式和一口价模式之间切换的按钮。
- 物品描述:配置进行中、已过期、已售出的一口价物品的显示信息。
- 过滤选项:在浏览菜单中过滤“仅拍卖”、“仅一口价”或“全部”的按钮。
类别菜单配置(例如 others-menu.yml)
每个物品类别(武器、盔甲、工具、方块、其他、消耗品)都有独立的配置文件,用于设置:
- 该类别菜单的显示名称和描述。
- 代表该类别的菜单物品(材质、名称、描述)。
- 自定义物品分配:通过物品名称或ID,将特定物品强制分配到此类别。
✨核心功能
拍卖系统主要由四个核心部分组成
拍卖浏览器
- 物品按类别(武器、盔甲、工具、方块、其他、消耗品)自动分类,分类规则可配置。
- 支持搜索功能,可按物品名称查找。
- 支持排序功能,可按最高出价、最低出价、即将结束、最多出价等方式排序。
- 可启用“全局”分类,显示所有类别的物品。
查看出价
- 显示你所有已出价的拍卖。
- 清晰标示你在哪些拍卖中持有最高出价。
- 玩家同时最多可拥有 28 个出价(可配置权限限制)。
管理拍卖
- 显示你创建的所有拍卖。若无拍卖,则打开拍卖创建器。
- 创建拍卖需支付费用,费用由起始价和持续时间决定(均可配置)。
- 玩家同时最多可拥有 28 个拍卖(可配置权限限制)。
交付系统
- 管理员可通过管理菜单向玩家发送物品和货币。
- 主要用于处理未领取的拍卖物品,作为清理数据的一种安全方式。
- 交付物独立存储,可随时领取。
⭐拍卖机制详解
- 拍卖显示:在浏览菜单中,拍卖物品会动态显示剩余时间、当前最高出价、出价者等信息。
- 出价规则:
- 新的出价必须至少比当前最高出价高 **15%**。
- 若你已有出价,再次出价只需支付新旧出价之间的差额。
- 每次新的出价会使拍卖的剩余时间增加 `add-time-to-auction` 秒(默认为15秒)。
- 出价历史:在查看单个拍卖时,可通过“出价历史”物品查看所有出价记录。
- 数据存储:拍卖数据存储在 SQLite 文件中,在服务器启动时加载,并在有交互时持续更新。
❓管理员与高级功能
管理命令与菜单
- 主管理命令:
/ahadmin(打开管理菜单)。 - 查看管理命令列表:
/ahadmin help。 - 默认管理员权限:
auctionmaster.admin(可在 config.yml 中修改)。
NPC 支持
- 与 Citizens 兼容,可创建点击后打开拍卖菜单的NPC。
- 使用
/ahadmin npc 在当前位置创建NPC。 - NPC 的外观、皮肤均可高度定制。
经济系统兼容性
- 支持 Vault(默认)、TokenManager 和 PlayerPoints。
- 支持使用 Skript 变量 作为货币。
物品与兼容性
- HeadDatabase 兼容:在物品ID处使用
skull: hdb-<id> 来显示自定义头颅。 - 无 HeadDatabase:也可直接使用
skull: <玩家名> 或 skull: <材质值>。 - PlaceholderAPI 兼容:目前提供两个占位符:
- `%auctionmaster_own_auctions%`:你拥有的拍卖数量。
- `%auctionmaster_own_bids%`:你已出价的拍卖数量。
数据恢复与API
- 物品恢复:每个拍卖创建时,其物品都会以 base64 编码格式记录在日志中。如果发生错误导致物品丢失,管理员可以使用命令
/ahadmin give <玩家> <base64字符串> 来恢复物品。 - 开发者API:插件提供了丰富的API,供其他开发者集成使用,可以获取拍卖、交付物、类别等信息,并监听相关事件(如拍卖创建、出价、领取等)。
🔧玩家命令
/auctionhouse 或 /ah - 打开拍卖主菜单。/ah <玩家名> - 查看指定玩家的拍卖。/ah delivery - 打开交付物菜单。/ah help - 显示玩家可用的命令帮助。
---
原开发者说明:这是我的第二个插件,开发过程充满挑战。如果您喜欢我的工作,可以考虑请我喝杯咖啡以表支持。
再次提醒:本插件已移交新开发者维护,请前往新版链接获取更新和支持。