Through the Grass

Версия Minecraft
1.12.2

sk9zist :l

Исправился
981
18
157
Как “телепортировать" игрока в землю. Ну, как бы чтобы он плавно в нее уходил полностью. Пробовал телепортировать, только вот получалось не правильно.
 

sk9zist :l

Исправился
981
18
157
if(true), смысла в этой проверке не будет
а в переменную записываю например 18000 текущих тиков в мировом времени майнкрафта, потом плюсую два 18002, и проверяю. Если это значение будет оставаться больше текущего (а это будет всего два тика) или равно, до этого времени move будет перемещать игрока, а потом оно прекратит.
Важнее всего вы можете мне помочь с плавным перемещением игрока?
 

ReyMagos

Тег-бомбастер
412
7
121
Посмотри в классе паутины, как туда проваливается игрок и сделай также. И вообще можно телепортировать игрока не один раз на 2 блока, а, допустим, 10 раз по 0.2. Будет плавнее. Экспериментируй.

P.S. Можно было и самому догадаться. Ты спрашиваешь у форума, как что сделать, тебе отвечают, ты делашь по-своему и обвиняешь форум в бесполезности...
А потом, как ни в чём не бывало снова задаёшь вопрос :)(y)
 

sk9zist :l

Исправился
981
18
157
10 раз по 0.2. Будет плавнее
Там же ещё идёт проверка на то удерживает ли игрок onRightClick предметом, если делать 10 раз по 0.2 и игрок просто один раз тыкнет пкм блоком он успеет провалиться макс на блок
Я пробовал 6-8 раза по 0.3 или 4 по 0.5 но всё равно он не проваливаеться ниже блока если подольше не задержать пкм, а игрок может задержать пкм слишком долго и провалиться куда-нибудь в пустоту, или слишком мало и провалиться всего на блок.
Что делать? @Rey838
 

ReyMagos

Тег-бомбастер
412
7
121
Могу подсказать лишь классы, где такое может быть в майнкрафте (не могу сейчас сам посмотреть). Стоит посмотреть, как игрок двигается, при нажатие на пробел. Какой метод при этом вызывается? player.move()? Если да, то что туда передаётся. Какие-нибудь нечеловеческие дроби и вычисления? Искать надо.

Попробуй изменить MoverType на PLAYER. Посмотри в классах Entity и его наследниках до EntityPlayer методы onLivingUpdate(), fall(), jump().

Посмотри также в сам метод move(), что там и как делается. Может лучше напрямую изменять player.motionY
Кстати попробуй этот вариант!
 
Последнее редактирование:
7,099
324
1,510
Помню @hohserg1 или кто, говорил что в CodeChickenCore можно найти подобную функцию?
 

sk9zist :l

Исправился
981
18
157

sk9zist :l

Исправился
981
18
157
Кстати попробуй этот вариант!
Попробую!)
Заранее спасибо, ты как всегда помог мне)
Про MoverType тоже проверю

Добавлено:
[POST][/POST]
Стоп, motionY изменяет скорость перемещения игрока вверх и вниз, а если player.move() просто телепортирует игрока, в чем тогда смысл ускорять его, если он просто тпшиться?
 
Последнее редактирование:
Сверху