====== Добавление статистики игрока ======
Статистика отслеживает время, потраченное на выполнение чего-либо, пройденное расстояние или прыжок, а также то, как часто игрок взаимодействовал с блоками или выполнял определенные действия.
Чтобы добавить пользовательскую статистику, создайте идентификатор, который будет использоваться для регистрации и увеличения статистики:
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'' (см. [[ru:tutorial:lang|эту статью]] о том, как перевести статистику.):
{
"stat.modid.interact_with_cool_block": "Взаимодействие с классным блоком"
}