锋楪经济系统是一个基于 Paper 1.21.1 的 Minecraft 服务器经济插件,提供完整的游戏内经济指令系统。插件深度集成 Vault 经济 API,支持玩家余额查询、转账、管理员经济操作、PlaceholderAPI 占位符,以及基于 gRPC 的实时经济审计流。
- 💰 玩家余额查询(
/money) - 💸 玩家转账(
/pay) - 🔧 管理员经济操作(
/eco) - 🛡️ 转账限制(单笔限额、每日限额、冷却时间)
- 🏷️ PlaceholderAPI 占位符支持
- 🌐 多语言消息模板(MiniMessage 格式)
- 🔗 Vault 经济系统集成
- 📡 gRPC 经济审计流(实时交易上报、余额查询)
- ⚙️ 配置热合并(升级插件时自动补充新增配置项,不覆盖用户修改)
| 指令 | 权限 | 说明 |
|---|---|---|
/money |
frontleaves.emoney.user |
查询自己余额 |
/money <玩家> |
frontleaves.emoney.admin |
查询其他玩家余额 |
/pay <玩家> <金额> |
frontleaves.emoney.user.pay |
转账给其他玩家 |
/pay toggle |
frontleaves.emoney.user.pay |
切换接收转账开关 |
| 指令 | 权限 | 说明 |
|---|---|---|
/eco set <玩家> <金额> |
frontleaves.emoney.admin.set |
设置玩家余额 |
/eco add <玩家> <金额> |
frontleaves.emoney.admin.add |
增加玩家余额 |
/eco remove <玩家> <金额> |
frontleaves.emoney.admin.remove |
扣除玩家余额 |
/eco reset <玩家> |
frontleaves.emoney.admin.reset |
重置玩家余额为默认值 |
/eco giveall <金额> |
frontleaves.emoney.admin.giveall |
给所有在线玩家发钱 |
/eco takeall <金额> |
frontleaves.emoney.admin.takeall |
扣除所有在线玩家金额 |
| 权限 | 默认 | 说明 |
|---|---|---|
frontleaves.emoney.user |
true |
基础用户权限 |
frontleaves.emoney.user.pay |
true |
转账权限 |
frontleaves.emoney.admin |
op |
管理员权限 |
frontleaves.emoney.admin.set |
op |
设置余额权限 |
frontleaves.emoney.admin.add |
op |
增加余额权限 |
frontleaves.emoney.admin.remove |
op |
扣除余额权限 |
frontleaves.emoney.admin.reset |
op |
重置余额权限 |
frontleaves.emoney.admin.giveall |
op |
全员发放权限 |
frontleaves.emoney.admin.takeall |
op |
全员扣除权限 |
| 占位符 | 说明 |
|---|---|
%emoney_balance% |
玩家余额(原始数值) |
%emoney_balance_formatted% |
玩家余额(格式化,含千分位) |
%emoney_currency% |
货币单位名称 |
配置文件路径:plugins/frontleaves-emoney/config.yml
# 语言设置
language: zh_CN # 语言文件名(对应 lang/<value>.yml)
# 经济系统设置
economy:
default-currency: coin # 默认货币名称
default-balance: 0.0 # 新玩家默认余额
decimal-places: 2 # 货币显示小数位数
pay:
max-amount: 100000.0 # 单笔转账上限
min-amount: 0.01 # 单笔转账下限
daily-limit: 500000.0 # 每日转账限额
cooldown: 10 # 转账冷却时间(秒)| 依赖 | 版本 | 必需 | 说明 |
|---|---|---|---|
| Paper | 1.21.1+ | ✅ | 服务器核心 |
| Vault | — | ✅ | 经济 API 桥梁 |
| frontleaves-lib | 1.0.0+ | ✅ | 前置库(提供 gRPC 通道与公用组件) |
| PlaceholderAPI | 2.11.6+ | ❌ | 占位符支持(可选) |
- 下载
frontleaves-emoney-1.0.0.jar - 将 jar 文件放入服务器的
plugins/目录 - 确保已安装 Vault 和 frontleaves-lib
- 重启服务器
- 配置文件将自动生成在
plugins/frontleaves-emoney/
本项目使用 Maven 构建,要求 Java 21。
# 克隆仓库
git clone https://github.com/frontleaves-mc/frontleaves-emoney.git
cd frontleaves-emoney
# 编译打包
mvn clean package
# 运行测试
mvn test构建产物位于 target/frontleaves-emoney-1.0.0.jar。
- Java 21
- Paper API 1.21.1
- Maven
- Vault API
- PlaceholderAPI
- gRPC (Protobuf + Netty)
- Configurate (YAML 配置)
- JUnit 5 + Mockito (测试)
frontleaves-emoney/
├── src/
│ ├── main/
│ │ ├── java/com/frontleaves/plugins/emoney/
│ │ │ ├── Emoney.java # 插件主类
│ │ │ ├── commands/ # 指令实现
│ │ │ ├── config/ # 配置加载器
│ │ │ ├── grpc/ # gRPC 服务与流处理器
│ │ │ ├── init/ # 初始化器(命令、监听器、gRPC)
│ │ │ ├── managers/ # 业务管理器(转账限制等)
│ │ │ ├── papi/ # PlaceholderAPI 扩展
│ │ │ ├── services/ # 经济服务层
│ │ │ └── util/ # 工具类
│ │ ├── proto/ # Protobuf 定义
│ │ └── resources/
│ │ ├── config.yml # 默认配置
│ │ ├── lang/zh_CN.yml # 简体中文语言文件
│ │ └── paper-plugin.yml # Paper 插件描述
│ └── test/ # 单元测试
└── pom.xml
本插件通过 frontleaves-lib 提供的 gRPC 通道,与后端审计服务建立双向流连接:
- Transaction Stream:实时上报所有经济变动(转账、增减余额)
- Balance Stream:响应远程余额查询请求
- 热重载支持:当
frontleaves-lib重建连接时,流处理器自动重启
gRPC 服务完全依赖
frontleaves-lib,若未安装该前置插件,本插件将自动关闭。
- 筱锋 (xiao_lfeng)
- 网站:https://www.frontleaves.com