跳到主要内容

Order - 全球市场插件

Order 是一个专为 Minecraft 服务器设计的高性能全球市场插件。它支持玩家之间的物品自由交易,具备严格的 NBT 数据匹配、高并发下的数据一致性保障以及直观的 GUI 操作界面。

✨ 核心特性

  • 🛡️ 严格 NBT 支持:交易和封禁系统基于物品 Hash 运作,完美支持附魔、自定义命名、属性修饰符等所有 NBT 数据。
  • ⚡ 高性能与并发安全
    • 异步 IO:所有的数据库操作均在异步线程执行,不卡顿主线程。
    • 乐观锁:采用版本号机制处理并发订单,防止高并发下的超卖问题。
    • Folia 支持:原生支持 Folia 服务端架构。
  • 📦 批量管理:支持一键批量上架背包内所有同类(相同 NBT)物品。
  • 🔧 管理员工具
    • 黑名单系统:支持按材质类型或特定物品 Hash 封禁上架。
    • 自定义手续费:可针对特定物品设置专属交易手续费率。
    • 可视化管理:提供管理员专属的封禁列表和手续费列表 GUI。
  • 💾 双数据库支持:开箱即用的 SQLite 支持,以及适合大型服的 MySQL 支持。
  • 📊 交易日志:详细记录每一笔交易,保障经济安全。

📥 安装

  1. 下载插件 .jar 文件。
  2. 将其放入服务器的 plugins 文件夹中。
  3. 启动服务器。
  4. (可选)在 config.yml 中配置数据库连接(默认为 SQLite,无需配置)。

📖 指令与权限

玩家指令

指令描述权限
/market打开全球市场主界面
/market sell <价格>将手中物品以指定单价上架
/market sell <价格> all将背包中所有与手中物品完全相同(严格 NBT)的物品批量上架

管理员指令

需要权限: order.admin

指令描述
/market admin ban切换手中物品的封禁状态(基于 Hash 的严格封禁)
/market admin ban list打开封禁列表 GUI,查看和管理已封禁物品
/market admin fee <费率>设置手中物品的自定义手续费率 (0.0 - 1.0)
/market admin fee <费率> list打开自定义手续费列表 GUI
/market reload重载配置文件和数据库连接

权限节点

  • order.admin: 允许使用所有管理员指令。

⚙️ 配置说明

位于 plugins/Order/config.yml

database:
type: "sqlite" # 或 "mysql"
# MySQL 配置仅在 type 为 mysql 时生效
host: "localhost"
port: 3306
database: "minecraft"
username: "root"
password: "password"
file: "order.db" # SQLite 文件名

market:
transaction-fee: 0.05 # 默认交易手续费 (5%)
cancellation-fee: 0.00 # 取消订单手续费
banned-items: [] # 封禁物品列表(建议通过游戏内指令管理)

🛠️ 构建

本项目使用 Gradle 构建。

./gradlew clean build

构建产物位于 build/libs/ 目录。

📝 开源协议

MIT License