模组介绍
LightEconomy,是一个类似 Vault 的基于 Forge/Fabric/Neo 运行的轻量级经济系统。
给玩家的 NBT 数据添加了一个叫做“accounts”(账户)的列表,列表元素为“currency”(币种)和“balance”(余额),以用来统计玩家的账户多币种余额。
本模组不包含任何修改余额的命令或游戏内交互系统,仅为模组开发者添加了一套较为完善的 API 系统。
推荐此模组与 EcoHelper 使用,后者为 LightEconomy 添加了一些适用于服务器的经济管理命令与动态税务系统。
开发者文档
加载
请使用maven仓库或请前往 GitHub 手动构建 .jar 文件并将其用于离线 libs。
repositories {
maven {
url 'https://maven.nova-committee.cn/releases'//仓库下载
}
flatDir {
dir 'libs'//手动构建
}
}
dependencies {
//最新模组版本为1.2.0
implementation fg.deobf("committee.nova.mods:lighteco:lighteco-forge:{minecraft_version}-{mod_version}")
}
API
API 位点:ForgeEco/FabricEco
在加载为前置后,使用 committee.nova.mods.lighteco.api.ForgeEco/committee.nova.mods.lighteco.api.FabricEco 来操作玩家的经济,示例如下:
以下代码来自 EcoHelper:
// 获取该玩家的金币数量
public static double getBalance(Player player) {
Optional<BigDecimal> balance = ForgeEco.INSTANCE.getBalance(player);
return balance.map(BigDecimal::doubleValue).orElse(0.0);
}
// 增加玩家的金币数量
public static EcoUtils.EcoActionResult addBalance(Player player, double value) {
value = roundDouble(value);
return ForgeEco.INSTANCE.debt(player, BigDecimal.valueOf(value));
}
// 减少玩家的金币数量
public static EcoUtils.EcoActionResult removeBalance(Player player, double value) {
value = roundDouble(value);
return ForgeEco.INSTANCE.credit(player, BigDecimal.valueOf(value));
}
额外说明
该模组仍在开发阶段,请不要用于生产环境,以免造成玩家数据的损坏。