
新星生态
NovaEco是一个为Hytale服务器设计的完整经济系统模组
NovaEco - Hytale 经济系统模组
项目概览
NovaEco 是一个为 Hytale 服务器设计的完整经济系统模组,提供多货币管理、玩家交易、财富排行榜等功能。基于 Hytale 服务器插件 API 构建,使用 Maven 进行依赖管理,用 Java 25 及以上版本编译。
功能特点
多货币系统
- 支持多种货币(金币、宝石等)
- 可自定义货币名称、符号和默认余额
- 每种货币支持独立的前缀/后缀符号
玩家钱包
- 每位玩家拥有独立钱包
- 支持同时管理多种货币
- 线程安全的数据管理(使用 ConcurrentHashMap)
玩家交易
- 通过
/pay实现玩家间转账功能 - 自动记录交易历史
- 实时交易金额验证
财富排行榜
- 通过
/balancetop查看服务器富豪榜 - 支持分页查看
- 按指定货币排序
管理功能
- 完整的管理员指令集
- 动态创建/删除货币
- 一键重载配置
- 手动保存数据
数据持久化
- 自动 JSON 格式保存
- 货币配置和玩家数据分开存储
- 服务器关闭时自动保存
快速开始
指令
玩家指令
| 指令 | 描述 | 别名 |
|---|---|---|
/balance [currency] |
查看当前余额 | bal |
/pay <player> <amount> |
转账给玩家 | transfer |
/balancetop [page] |
查看财富排行榜 | baltop, rich |
/transaction [count] |
查看交易历史 | tx, history |
管理员指令
| 指令 | 描述 | 别名 |
|---|---|---|
/economy |
经济管理菜单 | eco |
/economy info |
查看经济统计 | - |
/economy reload |
重载配置 | - |
/economy create <name> <symbol> [default] |
创建新货币 | - |
/economy delete <name> |
删除货币 | - |
/economy save |
立即保存数据 | - |
/givecoins <player> <amount> |
给玩家发货币 | gc, addcoins |
/takecoins <player> <amount> |
从玩家扣除货币 | tc, removecoins |
/setcoins <player> <amount> |
设置玩家余额 | sc, setcoin |
API 使用
基本操作
import cmtn.hytale.mods.nova_eco.economy.api.EconomyAPI;
import java.util.UUID;
// 获取玩家余额
double balance = EconomyAPI.getBalance(playerUUID, "coins");
// 增加货币
EconomyAPI.addCurrency(playerUUID, "coins", 100);
// 扣除货币
boolean success = EconomyAPI.removeCurrency(playerUUID, "coins", 50);
// 设置余额
EconomyAPI.setBalance(playerUUID, "coins", 1000);
转账操作
// 玩家间转账
boolean success = EconomyAPI.transfer(fromUUID, toUUID, "coins", 100);
// 检查余额是否充足
if (EconomyAPI.hasEnough(playerUUID, "coins", 100)) {
// 执行操作
}
货币管理
// 检查货币是否存在
boolean exists = EconomyAPI.currencyExists("gems");
// 获取所有货币
List<Currency> currencies = EconomyAPI.getAllCurrencies();
// 格式化金额
String formatted = EconomyAPI.format("coins", 1234.56);
// 输出:"1,234.56 Coins"
添加新货币
import cmtn.hytale.mods.nova_eco.economy.NovaEcoEconomy;
import cmtn.hytale.mods.nova_eco.economy.currencies.Currency;
import cmtn.hytale.mods.nova_eco.economy.currencies.CurrencySymbol;
// 创建货币
Currency gems = new Currency(
"gems", // 货币名称
new CurrencySymbol("💎", "", false), // 货币符号
0.0, // 默认余额
true, // 可删除
"游戏内货币" // 描述
);
// 注册货币
NovaEcoEconomy.addCurrency(gems);
配置
数据存储结构
NovaEco/
└── economy/
├── currencies.json # 货币配置
└── players/
└── {player_uuid}.json # 玩家钱包数据
currencies.json 示例
{
"currencies": [
{
"name": "coins",
"symbol": {
"prefix": "",
"suffix": " Coins",
"useSymbolAsPrefix": false
},
"defaultBalance": 0.0,
"canDelete": false,
"description": "默认金币"
}
]
}
玩家数据示例
{
"uuid": "玩家UUID",
"balances": {
"coins": 1000.0,
"gems": 50.0
},
"transactions": [
{
"type": "RECEIVE",
"currency": "coins",
"amount": 100.0,
"from": "system",
"reason": "新手奖励",
"timestamp": 1704067200000
}
]
}
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
联系方式
- 作者:cnlimiter
- 项目地址:https://github.com/Nova-Committee/NovaEco
感谢您使用 NovaEco!
献给 Hytale 社区的 ❤️
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。