Помогите Ошибка в названии метода или я чего-то не понимаю?

Статус
Закрыто для дальнейших ответов.

Exception_Prototype

Активный участник
Пользователь
Баллы
96
Итак в PlayerChangedWorldEvent есть метод getFrom(); - на сколько мне не изменяет память, то From это от\из, другими словами от куда. Суть в том, что есть следующие недопонимание:
Я стою в обычном мире и прыгаю в портал в ад. Мне выводит сообщение (DIM-1 - мир ада) :
cef15c3b9a.png

Т.е. я, основываясь на название метода, должен был получить от куда я телепортируюсь т.е. мир "world", но как видно по скрину, мне вывелся мир КУДА я телепортируюсь.

А теперь вопрос, это ошибка в названии метода или я чего-то не понимаю?​
Хотя в принципе, я брал этот эвент, как раз для того, чтобы ловить перемещение игроков между мирами, но когда увидел название метода From, то сперва не понял, зачем эвент мне кидает ОТ КУДА, если я ожидал, что в этом эвенте я смогу получить мир КУДА перемещается игрок.
 
Последнее редактирование:
Насколько я знаю, это неправильная работа метода. Может стоить попробовать другой билд спигота.
PlayerChangedWorldEvent по идее не должен возвращать мир в который телепортировался игрок, потому что это событие случается когда игрок уже телепортировался в другой мир (на что указывает слово Changed). И, соответственно, это событие нельзя отменить потому как оно уже случилось.

То есть для получения мира, в который телепортировался игрок можно использовать просто Player.getWorld().

Если же нужно узнавать куда телепортируется игрок еще до того как это случилось, то нужно использовать EntityTeleportEvent и его производные.
 
Насколько я знаю, это неправильная работа метода. Может стоить попробовать другой билд спигота.
PlayerChangedWorldEvent по идее не должен возвращать мир в который телепортировался игрок, потому что это событие случается когда игрок уже телепортировался в другой мир (на что указывает слово Changed). И, соответственно, это событие нельзя отменить потому как оно уже случилось.

То есть для получения мира, в который телепортировался игрок можно использовать просто Player.getWorld().

Если же нужно узнавать куда телепортируется игрок еще до того как это случилось, то нужно использовать EntityTeleportEvent и его производные.
Player.getWorld() - прям в эвенте? Т.е. на момент этого эвента, мне должно вывести, что игрок уже в другом мире?
Вы бы не могли у себя проверить работу этого метода, а я пока тож попробую на другом ядре. И да, я пробую на couldron, так как под него пишу.
 
Насколько я знаю, это неправильная работа метода. Может стоить попробовать другой билд спигота.
PlayerChangedWorldEvent по идее не должен возвращать мир в который телепортировался игрок, потому что это событие случается когда игрок уже телепортировался в другой мир (на что указывает слово Changed). И, соответственно, это событие нельзя отменить потому как оно уже случилось.

То есть для получения мира, в который телепортировался игрок можно использовать просто Player.getWorld().

Если же нужно узнавать куда телепортируется игрок еще до того как это случилось, то нужно использовать EntityTeleportEvent и его производные.
+1
EntityTeleportEvent
getFrom();
getTo();
 
Окей, тогда во избежания проблем лучше буду сразу юзать PlayerTeleportEvent.
 
Это тролинг xD
Java:
p.sendMessage(CHAT_PREFIX + "Call event PlayerTeleportEvent");
p.sendMessage(CHAT_PREFIX + "From " + event.getFrom().getWorld().getName() + " To " + event.getTo().getWorld().getName());
Вывод:
5b41782281.png

Я находился в аду!
Что тут не так. Получается он выводит данные уже с мира куда я телепортировался.
 
Последнее редактирование:
Это тролинг xD
Java:
p.sendMessage(CHAT_PREFIX + "Call event PlayerTeleportEvent");
p.sendMessage(CHAT_PREFIX + "From " + event.getFrom().getWorld().getName() + " To " + event.getTo().getWorld().getName());
Вывод:
5b41782281.png

Я находился в аду!
Что тут не так. Получается он выводит данные уже с мира куда я телепортировался.
У тебя котел без моего фикса что ли?
 
У тебя котел без моего фикса что ли?
Котёл ваще левый, админ кинул какой то стандартный, чтобы было на чём проверять. основное ядро не кидает, мол там другой более толковый программист его правил, чего переписывал и дописывал. Приходится работать на чём есть. Чего делать то в данной ситуации... если буду тестить на твоём (кинь ссылку пожалуйста) , то фиг знает, там норм будет или нет. Конечно можно будет проверить, но если не будет нормально работать на основном ядре, то многое придётся переделывать...
P.S. я спать, если чё отвечу завтра.
 
Котёл ваще левый, админ кинул какой то стандартный, чтобы было на чём проверять. основное ядро не кидает, мол там другой более толковый программист его правил, чего переписывал и дописывал. Приходится работать на чём есть. Чего делать то в данной ситуации... если буду тестить на твоём (кинь ссылку пожалуйста) , то фиг знает, там норм будет или нет. Конечно можно будет проверить, но если не будет нормально работать на основном ядре, то многое придётся переделывать...
P.S. я спать, если чё отвечу завтра.
Крутой заказчик, разрабатывай под ядро, которое мы переписали, но тебе его не дадим, работай вслепую.
 
Крутой заказчик, разрабатывай под ядро, которое мы переписали, но тебе его не дадим, работай вслепую.
Я сам по себе модерирую на одном проекте Excalibur Craft. Мне некоторые вещи надоели и я мол предложил, го я помогу, мол решу их. Мне такие ну если есть желание, то делай - протестим. Т.е. всё что я делал, я делал для своего комфорта ну и конечно для игроков, ибо элементарные были проблемы, которые ну не как не должны присутствовать на топ проекте. В случае с проблемой в данной теме уже не много иначе, здесь уже имеется реально не то чтобы заказ, а просьба сделать определённый плагин. Кто знает, может как раз после этой просьбы уже будет на что надеется в плане реального вознаграждения и дальнейших задач. Т.е. всё же я у них не работаю "официально", а основной программист занят большим модом, поэтому они не хотят его дёргать на мелочи и мимолётом обратились ко мне, так как знают, что я уже делал плагины и у меня есть знания в этом направление.
 
Я сам по себе модерирую на одном проекте Excalibur Craft. Мне некоторые вещи надоели и я мол предложил, го я помогу, мол решу их. Мне такие ну если есть желание, то делай - протестим. Т.е. всё что я делал, я делал для своего комфорта ну и конечно для игроков, ибо элементарные были проблемы, которые ну не как не должны присутствовать на топ проекте. В случае с проблемой в данной теме уже не много иначе, здесь уже имеется реально не то чтобы заказ, а просьба сделать определённый плагин. Кто знает, может как раз после этой просьбы уже будет на что надеется в плане реального вознаграждения и дальнейших задач. Т.е. всё же я у них не работаю "официально", а основной программист занят большим модом, поэтому они не хотят его дёргать на мелочи и мимолётом обратились ко мне, так как знают, что я уже делал плагины и у меня есть знания в этом направление.
Ну не хотят дёргать - дёрни самостоятельно (я так понимаю, именно он ядро и модифицировал). Мол, посмотри, как дичайше работает PlayerChangedWorldEvent.getFrom(). Если у него есть время и совесть, он поможет тебе разобраться. Хотя это, конечно, не дело, что за основу ядра взяли какую-то кривую (нестабильную) версию.
 
Ну не хотят дёргать - дёрни самостоятельно (я так понимаю, именно он ядро и модифицировал). Мол, посмотри, как дичайше работает PlayerChangedWorldEvent.getFrom(). Если у него есть время и совесть, он поможет тебе разобраться. Хотя это, конечно, не дело, что за основу ядра взяли какую-то кривую (нестабильную) версию.
Эту часть ядра не трогали. Когда сегодня тестировал плагин на основе, то тоже выводилось не ОТ КУДА, а куда телепортируюсь (между мирами). Я конечно понимаю, что это не правильно. Но в данном случае, это решает поставленную задачу. Пока хз чё делать. Просто плагин будет ставится на GalacticCraft, суть в том, чтобы запретить телепортацию через варпы, прем команды пока игрок 1 раз не побывает в том мире естественным способом.
 
Можно сделать финт ушами и написать декоратор для этого события, и декорировать событие если используется левое ядро (или из-за чего там такое странное поведение),
 
Эту часть ядра не трогали. Когда сегодня тестировал плагин на основе, то тоже выводилось не ОТ КУДА, а куда телепортируюсь (между мирами). Я конечно понимаю, что это не правильно. Но в данном случае, это решает поставленную задачу. Пока хз чё делать. Просто плагин будет ставится на GalacticCraft, суть в том, чтобы запретить телепортацию через варпы, прем команды пока игрок 1 раз не побывает в том мире естественным способом.
Сяпки поржал, "у нас супер кодер ядро с фиксами" без фиксов :D. Тебя дурят.
Вот держи с исправлением котел https://cloud.mail.ru/public/1fd2bdc3ca7f/site/KCauldron/
Ну не хотят дёргать - дёрни самостоятельно (я так понимаю, именно он ядро и модифицировал). Мол, посмотри, как дичайше работает PlayerChangedWorldEvent.getFrom(). Если у него есть время и совесть, он поможет тебе разобраться. Хотя это, конечно, не дело, что за основу ядра взяли какую-то кривую (нестабильную) версию.
PlayerChangedWorldEvent Вытикает все с того же кода в ядре. Логично что он так же тупит и кажет не верный мир.
 
Сяпки поржал, "у нас супер кодер ядро с фиксами" без фиксов :D. Тебя дурят.
Вот держи с исправлением котел https://cloud.mail.ru/public/1fd2bdc3ca7f/site/KCauldron/

PlayerChangedWorldEvent Вытикает все с того же кода в ядре. Логично что он так же тупит и кажет не верный мир.
Блин. А смысл сейчас на твоём проверять, если ставить то всё равно придётся на другой...
 
Блин. А смысл сейчас на твоём проверять, если ставить то всё равно придётся на другой...
Я бы отказался.Как это разрабатывать под ядро, которого у тебя нет?Но, я думаю это очередной админ-нуб, который боится что-либо скидывать с сервера, пусть это и банальное ядро.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх