如何获取玩家统计值?

问题描述 投票:0回答:0

我正在开发具有自定义玩家统计数据的 Minecraft Fabric mod。 以下是我创建自定义玩家统计数据的方式:

public class ModStats {
    public static final Identifier MINING_STAT = new Identifier(ExampleMod.MOD_ID, "mining_stat");

    public static void registerModStats() {
        Registry.register(Registries.CUSTOM_STAT, "mining_stat", MINING_STAT);
        Stats.CUSTOM.getOrCreateStat(MINING_STAT, StatFormatter.DEFAULT);
    }

}

registerModStats()
在 Mod 主类中被调用。 我使用
MiningToolItemMixin
增加统计数据:

@Mixin(MiningToolItem.class)
public class MiningToolItemMixin {
    @Inject(at = @At("TAIL"), method = "postMine")
    private void postMine(ItemStack stack, World world, BlockState state, BlockPos pos, LivingEntity miner,
            CallbackInfoReturnable<Boolean> info) {
        if (miner instanceof PlayerEntity player) {
            player.incrementStat(ModStats.MINING_STAT);
        }
        System.out.println("MiningToolItemMixin");
    }
}

一切正常但我怎样才能在代码的其他部分获得统计值?

我厌倦了通过

PlayerEntitiy
对象获取统计数据,但只有增加统计数据和检索统计数据的方法。

java minecraft minecraft-fabric
© www.soinside.com 2019 - 2024. All rights reserved.