Table of Contents
Добавление статистики игрока
Статистика отслеживает время, потраченное на выполнение чего-либо, пройденное расстояние или прыжок, а также то, как часто игрок взаимодействовал с блоками или выполнял определенные действия.
Чтобы добавить пользовательскую статистику, создайте идентификатор, который будет использоваться для регистрации и увеличения статистики:
public static final Identifier INTERACT_WITH_COOL_BLOCK = new Identifier("modid", "interact_with_cool_block");
Регистрация
Затем зарегистрируйте статистику, используя идентификатор:
Registry.register(Registry.CUSTOM_STAT, "interact_with_cool_block", INTERACT_WITH_COOL_BLOCK);
Затем добавьте статистику на экран статистики, где вы также можете указать средство форматирования статистики. Он определяет, как номер отображается в списке статистики. Вы можете использовать значение DEFAULT
, DIVIDE_BY_TEN
, DISTANCE
or TIME
.
Stats.CUSTOM.getOrCreateStat(INTERACT_WITH_COOL_BLOCK, StatFormatter.DEFAULT);
Использование статистики
Чтобы увеличить статистику, например, когда игрок взаимодействует с блоком, вы можете использовать PlayerEntity::incrementStat
:
@Override public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { player.incrementStat(ModClass.INTERACT_WITH_COOL_BLOCK); return ActionResult.SUCCESS; }
Вы также можете использовать PlayerEntity.increaseStat(stat, amount)
чтобы увеличить статистику на произвольную величину.
Перевод
Чтобы перевести название, добавьте запись для stat.modid.statid
(см. эту статью о том, как перевести статистику.):
{ "stat.modid.interact_with_cool_block": "Взаимодействие с классным блоком" }