Конвертация ванильного времени

Версия Minecraft
1.12.2
5,020
47
784
Друзья прошу неистово нижайше помощи вашей! Наверняка кто то уже делал или знает как сделать хотя бы, конвертер ванильного времени в нормальные часы\дни\минуты. 
Заранее благодобрю!
 
3,005
192
592
InGameInfo посмотри мод, там есть отображение времени.
Но есть косяки в /time set, ибо там все обнуляется.
 
5,020
47
784
getTotalWorldTime не сбрасывается при тайм сете кстати
Ее и заюзаем.


Есть еще вопрос господа

Код:
public class TimeHundler {

 public static final Minecraft mc = Minecraft.getMinecraft();
 public static final World CLIENT_WORLD = mc.getMinecraft().world;
 List<Long> time = new ArrayList<Long>();
 @SubscribeEvent
 public void converterTime(TickEvent.WorldTickEvent event) {
 event.world.getTotalWorldTime();
 
 if(event.world.getWorldTime() % 20 == 0) {
 
 time.add(event.world.getTotalWorldTime());
 long get = time.get(0);
 System.out.print(get);
 time.clear();
 
 }
 }
}


По поводу листа этого. Я значит решил сохранять каждую секунду в индекс 0 время, потом доставать его и подчищать за собой. Но вместо ванильного времени он мне выдает максимальное значение long..
 

tox1cozZ

aka Agravaine
8,456
598
2,893
Вот тут видно как сутки разбиты на тики:
Day_Night_Clock_24h.png

Как видно, в одних игровых сутках 24000 тиков, то бишь 24000 / 20 / 60 = 20 реальных минут.
Время "жизни" мира можно получить через getTotalWorldTime().
 
5,020
47
784
Код:
public class TimeHundler {
 
 public long year = 0;
 public long month = 0;
 public long day = 0;
 @SubscribeEvent
 public void converterTime(TickEvent.WorldTickEvent event) {
 World world = event.world;
 long worldtime = event.world.getTotalWorldTime();
 WorldSavedData storage = event.world.loadData(TimeTicker.class, "day");
 WorldSavedData storage2 = event.world.loadData(TimeTicker.class, "month");
 WorldSavedData storage3 = event.world.loadData(TimeTicker.class, "year");
 if(worldtime % 24000 == 0) {
 day++;
 }
 if(day == 30) {
 day = 0;
 month++;
 }
 if(month == 12) {
 month = 0;
 year++;
 }
 if(worldtime == 12000) {
 System.out.println(day);
 }
 if(worldtime == 24000) {
 System.out.println(day);
 }
// System.out.println(month);
 // System.out.println(year);
 }
 
 public class TimeTicker extends WorldSavedData{

 public TimeTicker(String name) {
 super(name);
 }

 @Override
 public void readFromNBT(NBTTagCompound nbt) {
 nbt.getLong("day");
 nbt.getLong("month");
 nbt.getLong("year");
 }

 @Override
 public NBTTagCompound writeToNBT(NBTTagCompound nbt) {
 nbt.setLong("day",day);
 nbt.setLong("month",month);
 nbt.setLong("year",year);
 return nbt;
 }

 }

 
}
Так как мне требуется еще и сохранять, сделал вот так. Укажите на ошибки пожалуйста, если они есть
 
Сверху