Отображение региона, в котором находится игрок (Мод+Плагин)

7,050
319
1,477
Игроку каждую секунду (с последним обновлением - каждые 2) отправляется пакет о том, что он находится в регионе, будь то это глобальный регион или любой другой, и даже если игрок находится все время в одном регионе - по сути пакеты будут отправляться всегда, для этого и нужна задержка обновления (отправки пакетов)
Так это неправильное решение.
Допустим, игрок зашел в мир, при этом он, очевидно, стал находиться в каких-то регионах.
Допустим, прошло две секунды, при этом регионы в которых находится игрок могли поменять, а могли не поменяться.
Изменение регионов не связано с прошествием двух секунд.
Изменение регионов связано с событиями:
  • игрок переместился в другие координаты, тем самым выйдя из одних регионов и войдя в другие
  • были созданы/удалены/изменены регионы в месте нахождения игрока
 

sk9zist :l

Исправился
979
18
154
Как раз недавно находил этот плагин. Но если использовать эвенты из него то помимо основного плагина на сервер придется устанавливать еще WorldGuard Events. И я подумал, что он добавляет по сути тоже самое, что и делаю я без эвентов (так как в этом плагине есть эвент со входом в регионы/регион, это таже самая проверка что и делаю я, но скорее всего она происходит в каком-то похожем месте как PlayerMoveEvent. Однако я не сильно изучал этот плагин поэтому это неточно)
Так это неправильное решение.
Есть решение куда проще, поэтому не могу не согласиться. Весь список регионов можно отсылать на клиент при входе игрока на сервер а также при вводе команд на сервере, таких как "/rg claim" и "/rg remove"
 
7,050
319
1,477
Весь список регионов можно отсылать на клиент при входе игрока на сервер а также при вводе команд на сервере, таких как "/rg claim" и "/rg remove"
Тоже хорошее решение. Жаль, что в WG нет ивентов для удачных завершений этих команд
 

sk9zist :l

Исправился
979
18
154
Обновление 1.4:
  • Добавлено сжатие пакетов при отправке на клиент
  • Отправка пакетов на клиент теперь происходит только при входе игрока на сервер, а также при создании или удалении региона
 
Все что можно найти в интернете на тему такого мода это нерабочие ссылки на скачивание самого мода+плагина а также исходников, так что я решил написать его с нуля (для своего проекта) и делюсь с вами, поскольку многие крупные проекты майнкрафт серверов очень жадные и не хотят делиться им.

Собственно, сам плагин отображает регион, в котором игрок на данный момент находиться в левом верхнем углу.
Пример вы можете увидеть на скриншотах ниже:

Посмотреть вложение 13299
Посмотреть вложение 13301

А также вывод их через запятую, если в одном месте регионов несколько:
Посмотреть вложение 13300

Думаю это будет много кому полезно. Если ссылки перестанут работать - напишите мне и я перезалью.

v1.2 (мод. Совместим с версиями плагина: 1.2, 1,3): RGEnter-client.jar
Исходники: RGEnter-client[SRC].zip
v1.3 (мод. Совместим с версиями плагина: 1.4): RGEnter-client.jar
Исходники: RGEnter-client[SRC].zip

v1.2 (плагин. Использовать вместе с версией мода 1.2): RGEnter-server.jar
Исходники: RGEnter-server[SRC].zip
v1.3 (плагин. Использовать вместе с версией мода 1.2): RGEnter-server.jar
Исходники: RGEnter-server[SRC].zip
v1.4 (плагин. Использовать вместе с версией мода 1.3): RGEnter-server.jar
Исходники: RGEnter-server[SRC].zip
Немного не понимаю как это работает. На клиент поставил, на сервер в папку плагинс закинул. Но не работает.
 

sk9zist :l

Исправился
979
18
154
Сверху