Вопрос Как получить чанк в котором находиться флаг

Версия Minecraft
1.16.X

Ght

Пользователь
Сообщения
157
Решения
11
Делаю плагин на приват флагами, но столкнулся с тем что не знаю как получить чанк в котором поставили флаг и как это чанк заприватить при помощи WorldGuard API?
 
Решение
как получить чанк в котором поставили флаг
Получи локацию флага, вроде как в классе Location нет получения чанка, поэтому получи блок через локацию и у Block уже точно есть метод получения чанка, либо через метод World#getChunkAt(Location) или World#getChunkAtAsync(Location)

чанк заприватить при помощи WorldGuard API
BlockVector3 min = BlockVector3.at(x, y, z);
BlockVector3 max = BlockVector3.at(x, y, z);
ProtectedRegion region = new ProtectedCuboidRegion("chunk", min, max);

Минимальные и максимальные точки можно найти с помощью метода Chunk#getBlock(), метод возвращает блок в чанке, где переменные (0, 0, 0) выведут первый блок чанка

И region добавь в список регионов, что-то типа регистрации региона в WG, через метод...
как получить чанк в котором поставили флаг
Получи локацию флага, вроде как в классе Location нет получения чанка, поэтому получи блок через локацию и у Block уже точно есть метод получения чанка, либо через метод World#getChunkAt(Location) или World#getChunkAtAsync(Location)

чанк заприватить при помощи WorldGuard API
BlockVector3 min = BlockVector3.at(x, y, z);
BlockVector3 max = BlockVector3.at(x, y, z);
ProtectedRegion region = new ProtectedCuboidRegion("chunk", min, max);

Минимальные и максимальные точки можно найти с помощью метода Chunk#getBlock(), метод возвращает блок в чанке, где переменные (0, 0, 0) выведут первый блок чанка

И region добавь в список регионов, что-то типа регистрации региона в WG, через метод RegionManager.addRegion(regio);
 
Block уже точно есть метод получения чанка, либо через метод World#getChunkAt(Location) или World#getChunkAtAsync(Location)
Спасибо, сейчас проверю
Объединено

Как я понял, игрок будет ставить флаг и от него будет создаваться регион, разве нет?
Да, всё верно
 
Тогда формулировка ответа точно та же, получать локацию флага, в ивенте BlockPlaceEvent можно получить локацию блока, который ставится игроком
 
Назад
Сверху Снизу