Продолжительность эффектов (зелий)

Версия Minecraft
1.12.2
25
3
Пытаюсь сделать вывод на экран полного времени действия эффектов игрока/мобов. Есть эффекты с действием до часа.
Но вот в чём загвоздка:
При создании PotionEffect путём вызова в моде или командой /effect ... с временем более 32147 тиков приватная переменная int duration принимает значение 32147, а логика boolean isPotionDurationMax = правду.
В классе Potion метод getPotionDurationString(PotionEffect effect, float durationFactor) возвращает строку _ _ : _ _
Причем время считается в порядке вещей, когда общий таймер доходит до 32147 тиков метод уже возвращает нормальное время. Стоит вручную залесть и тронуть переменную duration, как она принимает значение 32К и общий таймер при этом тупит.

Вопрос - где хранится общее время действия зелья, его расчёт или метод обрезающий тики? Так как int.max далеко больше чем short.max.
И попутно, как записать именно это время при сохранении сущности, а не 32К тиков?
 
Сверху