Skip to content

Nova-Committee/LightEconomy

Repository files navigation

Light Economy

LightEconomy,是一个类似 Vault 的基于 Forge/Fabric/Neo 运行的轻量级经济系统。
给玩家的 NBT 数据添加了一个叫做“accounts”(账户)的列表,列表元素为“currency”(币种)和“balance”(余额),以用来统计玩家的账户多币种余额。
本模组不包含任何修改余额的命令或游戏内交互系统,仅为模组开发者添加了一套较为完善的 API 系统。

开发者文档

加载

请使用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));
}