Помогите WorldGuard архетектура плуга

  • Автор темы Автор темы Rokoko
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Rokoko

Ньюби
Баллы
1
Насколо я понимаю,У данной шляпы есть своя архетктура. Однако я прекрасно понимаю то что оно создает массив, В катором хроняться данные блоков,Но все же не понимаю до конца как это пройсходит. И нафига оно создает регион глобал.Ну и вобше как пройсходит запрос к этому массиву ну а ибо если регионов 100-200, Сервер вобше не испытывает проблем с пройзводительностью.
<<Под массивами понимаю hashmap/arraylist/string[]/* Все аналогичное.>>
Если что декомпилировал но многое на данном этапе понять не могу.
 
Скажем так. Я хочу написать такую же шляпу. Но всеже потом будут юзать wg мне это нужно если что для практики.
 
оно создает массив, В катором хроняться данные блоков
как оно вобше хранит данные о блоках.
О каких блоках? О регионах, ты хотел сказать?

нафига оно создает регион глобал
Удобно же вешать флаги на глобальный регион, например.
 
О каких блоках? О регионах, ты хотел сказать?


Удобно же вешать флаги на глобальный регион, например.
Да, Ну смотри, Для того чтобы запреватить допустим куб. Оно обрашаяеться в api we , Если не ошибаюсь. Потом we берет начальную кординату и последнию после этого матаном возможно вычесляет куб. Хз делает ли это we, Возможно это просходит в одном из классов wg, Но потом что просходит я хз. В конфигах не чего на нашел, Возможно по причине слепоты, Вопрос в том как оно хранит. Я придпологаю поднимает несколько массивов hashmap В одном допустим будет название региона. В другом флаги,Втретьем,Все блоки. Как только сервер ранит BlockBreakEvent допустим. Оно обрашаеться по ключам-обьектотам и смотритрит, Допустим если вернет false то e.setCancelled(true); , Если true не отменит евент. Может както по другому в этом та и вопрос.
 
Удобно же вешать флаги на глобальный регион, например.
Хм я просто придположил он релизован не просто так, К примеру для того чтобы было более легко вычеслять кубы. Ну или элипсы, Хз почему разраб это еще не релизовал☹️.
 
https://github.com/EngineHub/WorldG...d/protection/managers/RegionManager.java#L336
https://github.com/EngineHub/WorldG...on/managers/index/PriorityRTreeIndex.java#L70
https://github.com/EngineHub/PRTree...in/java/org/khelekore/prtree/PRTree.java#L181
http://www.khelekore.org/prtree/index.shtml
Дальше сам справишься?

несколько массивов hashmap В одном допустим будет название региона. В другом флаги
Зачем?
HashMap<String, Region> //<название, регион>
Из региона уже получаешь, что нужно.

Вот этого вообще не понял. Зачем? Координат достаточно, нет? В том же BlockBreakEvent регион достается по координатам, а не по конкретному блоку.

Да и если на сервере куча регионов проблем не наблюдаеться.
Так и не должно. Даже два миллиона значений для проца сравнить - как два пальца об асфальт.

он релизован не просто так
Он реализован для удобства использования плагина.

чтобы было более легко вычеслять кубы. Ну или элипсы
Ты ерунду говоришь. С программной точки зрения это ни на что не влияет.

Хз почему разраб это еще не релизовал☹️.
Что не реализовал? Обнаружение региона по координатам есть, что ещё нужно в плагине на защиту территорий?
 
Последнее редактирование:
Я просто предпожоил механику работы,Ибо както оно должно было проверять кординаты на приват. Тему закрываю
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх