Skip to content

frontleaves-mc/plugin-emoney

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

锋楪经济系统 (Frontleaves Emoney)

简介

锋楪经济系统是一个基于 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 全员扣除权限

PlaceholderAPI 占位符

占位符 说明
%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+ 占位符支持(可选)

安装方法

  1. 下载 frontleaves-emoney-1.0.0.jar
  2. 将 jar 文件放入服务器的 plugins/ 目录
  3. 确保已安装 Vaultfrontleaves-lib
  4. 重启服务器
  5. 配置文件将自动生成在 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

gRPC 经济审计

本插件通过 frontleaves-lib 提供的 gRPC 通道,与后端审计服务建立双向流连接:

  • Transaction Stream:实时上报所有经济变动(转账、增减余额)
  • Balance Stream:响应远程余额查询请求
  • 热重载支持:当 frontleaves-lib 重建连接时,流处理器自动重启

gRPC 服务完全依赖 frontleaves-lib,若未安装该前置插件,本插件将自动关闭。

作者

开源协议

MIT License

About

锋楪游戏 · 经济插件

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages