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

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

sk9zist :l

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

sk9zist :l

Исправился
981
18
157
Обновление 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

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

sk9zist :l

Исправился
981
18
157
зачем столько кода
Если делать мод/плагин, реализующий только одну функцию - это не значит, что нельзя сделать его качественным.
Столько кода, возможно, из-за оптимизации (если коротко), посмотри последние обновления плагина
 
1,074
72
372
  • Код ужасен, будто 10 раз его прогнали через компилятор и декомпилятор.
  • На клиент отправляется много ненужной информации. Список всех регионов клиенту не нужен пока нет функции визуального отображения.
  • Пора бы уже научиться пользоваться git и системами сборки. Код выложить на GitHub.
 

sk9zist :l

Исправился
981
18
157
Код ужасен, будто 10 раз его прогнали через компилятор и декомпилятор.
Что именно там ужасно? Можешь сказать, пожалуйста?
На клиент отправляется много ненужной информации. Список всех регионов клиенту не нужен пока нет функции визуального отображения.
Возможно. Вот, как я и говорил - отсюда и идет большое количество кода, @BlesseNtumble как раз спрашивала про то, почему здесь столько много кода. Например, после обновления, после которого серверный плагин будет отправлять только нужную информацию на клиент - кода станет еще заметно больше :)
При создании этого плагина я специально сделал отправку сразу всех регионов, потому что так проще. В будущем буду это исправлять.
научиться пользоваться git
Код выложить на GitHub.
Согласен, в будущем обязательно помещу код этого плагина туда.
 
Все что можно найти в интернете на тему такого мода это нерабочие ссылки на скачивание самого мода+плагина а также исходников, так что я решил написать его с нуля (для своего проекта) и делюсь с вами, поскольку многие крупные проекты майнкрафт серверов очень жадные и не хотят делиться им.

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

Посмотреть вложение 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
Здравствуйте,я недавно скачал у вас даный мо и плагин,но я увидел проблелы в них,когда создаю новый регион,у меня все равно надпись глобал стоит,что в данной ситуации делать?
 

Вложения

  • 2023-01-02_12.56.32.png
    2023-01-02_12.56.32.png
    1.1 MB · Просмотры: 47
Сверху