Помогите Телепортация.

Puchkoff

Активный участник
Пользователь
Баллы
66
Имя в Minecraft
ThePuchk0ff
Привет всем:)
Хочу сделать штуку, чтобы при нажатии на палочку игрок телепортировался на 10 блоков вперед.
Как это можно сделать?xD
 
Приобрести мозги
 
Узнать направление взгляда игрока = сервер. юг. запад. восток.
потом тепешить на 10 блоков вперед
 
Узнать направление взгляда игрока = сервер. юг. запад. восток.
потом тепешить на 10 блоков вперед
А если он смотрит на СЗ, ЮЗ, СВ, ЮВ?
Предоставь начальный код, который у тебя есть, ну или то, что ты знаешь.
 
А если он смотрит на СЗ, ЮЗ, СВ, ЮВ?
Предоставь начальный код, который у тебя есть, ну или то, что ты знаешь.
А это уже совсем другая история...
Предоставь начальный код, который у тебя есть, ну или то, что ты знаешь.
Ты мне?)
 
А если он смотрит на СЗ, ЮЗ, СВ, ЮВ?
Предоставь начальный код, который у тебя есть, ну или то, что ты знаешь.
На телепортацию кода нет, пока что я на моменте где чекаю, что у игрока в руке и уровень голода.
 
На телепортацию кода нет, пока что я на моменте где чекаю, что у игрока в руке и уровень голода.
Смотри, вроде как то так... Чесно ХЗ, не дома, так что не проверял.
Location loc = p.getLocation(); // Получаем корды игрока.
Location locTp = loc.clone().add(10, 0, 0); // Добавляем к ним 10 блоков по оси X - но там надо узнать, в какую сторону смотрит игрок
p.teleport(locTp) //Забыл как этот метод называется... Ну.. Этот... Который тпшит

Этот код не полный, Нужно узнать куда игрок смотрит.
 
Холопы не умеют пользоваться синусами и косинусами?
Подсказываю:
Игрок - центр круга
Радиус круга - 10 блоков
Куда смотри игрок можно получить с помощью одного из методов у Location(я не помню)
А дальше идёт просто математика.
Вот пример того, что надо:
http://flashgamedev.ru/viewtopic.php?f=6&t=3948
Но многие здесь и 7 класса не закончили, чего уж о пользе математики им говорить.
 
Java:
Location loc = player.getLocation().clone();
Vector   dir = loc.getDirection();
dir.setY(0.0);
double   xzr = Math.sqrt(dir.getX() * dir.getX() + dir.getZ() * dir.getZ());
loc.add(dir.multiply(10.0 / xzr));
loc — теперь отстоит от игрока на 10 блоков в направлении его взгляда, только в плоскости XZ, Y = начальной позиции.
 
А если не хочешь чтоб игрока могло кинуть в землю, добавь к коду @Reality_SC
loc.setY(loc.getWorld.getHighestBlockAt(loc.getY()))
Писал прямо тут, так щито хз правильно ли...
 
А если не хочешь чтоб игрока могло кинуть в землю, добавь к коду @Reality_SC
loc.setY(loc.getWorld.getHighestBlockAt(loc.getY()))
Писал прямо тут, так щито хз правильно ли...
А если этот код в шахте используют? Нужно добавить третью координату и уменьшать радиус, если в месте для телепорта нет воздуха. Also, в sponge это сделать можно в триллион раз легче.
 
Also, в sponge это сделать можно в триллион раз легче.
Ага, только на Sponge туториалов очень мало (только официальный), а один из чувачков на рубаките который нормально знает Sponge, чаще посылает, чем помогает :oops:
 
Ага, только на Sponge туториалов очень мало (только официальный), а один из чувачков на рубаките который нормально знает Sponge, чаще посылает, чем помогает :oops:
Достаточно 1 раз прочитать официальную документацию, чтобы приобрести знание SpongeAPI на таком же уровне, как у меня.
 
Назад
Верх