Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Я соорудил отдельный плагин для этой задачи. Это костыль, но работает.Да, только узнал. Где вы написали ответ на мой вопрос?
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onPlayerMove(PlayerMoveEvent event) {
Player player = event.getPlayer();
Block block = event.getTo().getBlock();
int typeId = block.getTypeId();
// Двери.
if ((typeId == 64
|| typeId == 71
|| typeId == 193
|| typeId == 194
|| typeId == 195
|| typeId == 196
|| typeId == 197
// Люки.
|| typeId == 96
|| typeId == 167
// Калитки.
|| typeId == 107
|| typeId == 183
|| typeId == 184
|| typeId == 185
|| typeId == 186
|| typeId == 187)
&& player.isSneaking()
&& (isProtectWorldGuard(player, block.getLocation()) || isProtectLWC(player, block))) {
player.teleport(event.getFrom());
}
}
скинь этот плагинЯ соорудил отдельный плагин для этой задачи. Это костыль, но работает.
Эвент из него:
Код:@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerMove(PlayerMoveEvent event) { Player player = event.getPlayer(); Block block = event.getTo().getBlock(); int typeId = block.getTypeId(); // Двери. if ((typeId == 64 || typeId == 71 || typeId == 193 || typeId == 194 || typeId == 195 || typeId == 196 || typeId == 197 // Люки. || typeId == 96 || typeId == 167 // Калитки. || typeId == 107 || typeId == 183 || typeId == 184 || typeId == 185 || typeId == 186 || typeId == 187) && player.isSneaking() && (isProtectWorldGuard(player, block.getLocation()) || isProtectLWC(player, block))) { player.teleport(event.getFrom()); } }
А самому плагин слепить никак?скинь этот плагин
Нет, я жмотяра. 🤓скинь этот плагин
Я нуб в джаве и вообще у меня нету exlipc'aА самому плагин слепить никак?
Тут только Main класс дописать с plugin.yml и можно в продакшен 😊
Тогда смирись и завидуй молча.Я нуб в джаве и вообще у меня нету exlipc'a
Ок, как, по-Вашему, нужно было сделать? Жду вариантов.Тогда смирись и завидуй молча.
P.s реализация все равно полнейший быдлокод.
Для начала нужно понять природу бага, а потом уже исправлять нормальными способами, а не костылить и говнокодить.Ок, как, по-Вашему, нужно было сделать? Жду вариантов.
Замечу, что этот "костыль" работает. Событие PlayerMoveEvent использовано не просто так.Для начала нужно понять природу бага, а потом уже исправлять нормальными способами, а не костылить.
Из серии "работает - не трогай". Вот такие вот программисты вырастают, идут на работу, а потом все удивляются, почему в России (или другой стране СНГ) всё через жопу.Замечу, что этот "костыль" работает. Событие PlayerMoveEvent использовано не просто так.
А предложение разобраться в проблеме - это не конструктивно? Или, может, не оптимально?Также замечу, что пока ничего конструктивного я не услышал.
Я вполне верю, что Вы -достойный программист. Предложите вариант решения?Из серии "работает - не трогай". Вот такие вот программисты вырастают, идут на работу, а потом удивляемся, почему России (или другой стране СНГ) всё через жопу.
А предложение разобраться в проблеме - это не конструктивно? Или, может, не оптимально?
Варианты решения предложены мной выше - для начала обновить ядро и плагины. Это оптимально.Я вполне верю, что Вы -достойный программист. Предложите вариант решения?
Моё решение выше. Ну вот настолько у меня мозгов хватило, уж извините.
По моим наблюдениям баг был в ядре (не обновлял, так как не на что было обновлять). Видимо, ядро не совсем корректно обрабатывало отмену события (от LWC или WG), в результате чего игрок оставался "внутри" двери, что позволяло ему потихоньку двигаться вперёд, пока он не оказывался внутри. Замечу, что такой финт возможен, только если зажать Shift (присесть).Варианты решения предложены мной выше - для начала обновить ядро и плагины. Это оптимально.
Также уточнить, возможен ли баг на ванильных клиентах или с какими-то модами (какими).
После этой проверки можно будет понять, банально ли ядро не проверяет прохождение через неполный блок, не "закрывает" дверь обратно при отмене события, или, возможно, определяет игрока каким-то привилегированным. Причём при данном раскладе дело может быть и вовсе не в ядре, а в плагине или серверном моде, например.
Если же дело в ядре - пламенный привет разрабам. Багрепорты кидать можно. А при наличии умений и самостоятельно исправлять.Как обстоит дело с новыми версиями, я не знаю, так как не проверял вовсе.