Помогите сделать функцию для эндер жемчуга

Версия Minecraft
1.16.5
Мне нужно сделать функцию для расчета времени полета эндер жемчуга. Я хочу что бы в конечной точке, после броска эндер жемчуга показывалось сколько времени осталось до того как эндер жемчуг приземлится. Нужно рассчитать время и начальную точку (точка с которой был брошел жемчуг), конечная точка уже есть.
 
42
2
2
Можно конечно сделать так:
1) Копировать функцию полёта к себе в мод.
2) Протикать полёт без задержек и посчитать через сколько тиков упадёт жемчуг.
3) Умножить количество тиков на время задержки между тиками на сервере.

Да, выглядит как костыль, но в принципе, работает.
 
429
41
108
Можно конечно сделать так:
1) Копировать функцию полёта к себе в мод.
2) Протикать полёт без задержек и посчитать через сколько тиков упадёт жемчуг.
3) Умножить количество тиков на время задержки между тиками на сервере.

Да, выглядит как костыль, но в принципе, работает.
Полностью копировать нельзя.
Есть глитчи (на 1.13+ это намного проще) чтобы сделать так, чтобы эндерперл не приземлился вообще, так что в 1 прекрасный момент это в теории может вызвать вечный цикл
 
42
2
2
Да, немного позабыл об этом.

Чтобы избежать бесконечных циклов, то надо поставить ограничение на количество тиков.
Скажем, если функция уже натикала больше 600 раз (30 секунд при «идеальном» ТПС), то оборвать функцию.

При обрыве можно вывести что-то на подобии «Вы кинули пёрл так далеко, что нам не удалось посчитать время его приземления».
 
Сверху