个人技术开发随记
测试入口

已在白名单的玩家使用自己的邀请码;未加入白名单的玩家使用进服拒绝提示中的临时邀请码。

Economy Plugin

XiceEconomy 经济插件

XiceEconomy 用于给服务器提供基础经济账户能力。当前包含一种名为“货币”的数值货币、一个绿宝石基底实体货币物品,以及用于存取转换的虚拟货币机。

功能概述

插件为每个玩家 UUID 建立账户,记录当前余额和每一次余额变化。玩家可以通过 /money 查看自己的余额,通过 /pay 向已有账户或在线玩家转账;管理员可以通过 /eco 查询、发放、扣除或设置玩家余额。

经济数据按 currency_code 和玩家 UUID 存储。当前默认货币代码为 money,显示名称为“货币”;表结构已经预留多货币字段,后续可以在同一套账户和流水模型上扩展更多货币。

实体货币使用绿宝石作为基底,但会写入 XiceEconomy 的持久化标记。普通绿宝石不会自动视为实体货币。插件启动时只会移除结果为实体货币物品的配方,普通绿宝石和绿宝石块原版配方保持可用。

虚拟货币机是自定义机器方块,玩家右键打开 GUI 后可以把实体货币存入账户余额,也可以从账户余额取出实体货币。机器位置、朝向和展示实体会保存到运行时数据中,重启后自动恢复。

命令入口

  • /money:查看自己的余额。
  • /money top [数量]:查看余额排行榜。
  • /money log [数量]:查看自己的最近流水。
  • /pay <玩家> <金额>:向其他玩家转账。
  • /eco balance|give|take|set|top|log|reload:管理员维护入口。
  • /xicecustomitem give xiceeconomy:physical_currency [玩家|选择器] [数量]:发放实体货币物品。
  • /xicecustomitem give xiceeconomy:virtual_currency_machine [玩家|选择器] [数量]:发放虚拟货币机。

部署方式

插件基于 Paper API 运行,当前项目按 Paper 1.21.11 和 Java 21 构建。它依赖 XiceCustomItem 注册实体货币和虚拟货币机;PostgreSQL JDBC 驱动通过 Maven Shade 打包进插件 jar,不需要额外把 JDBC jar 放入服务器插件目录。

Maven 构建产物安装为 /opt/xicemc/runtime/plugins/XiceEconomy.jar。运行时配置文件位于 /opt/xicemc/runtime/plugins/XiceEconomy/config.yml,主要字段包括数据库连接参数、货币代码、显示名称、初始余额、是否允许负数,以及流水和排行榜查询上限。虚拟货币机位置保存在 /opt/xicemc/runtime/plugins/XiceEconomy/virtual-currency-machines.yml

当前配置复用服务器 PostgreSQL 服务,默认数据库为 xicemc_audit,默认用户为 xicemc_audit,密码通过环境变量 XICE_AUDIT_DB_PASSWORD 提供。