1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как запретить строительство блоков в радиусе.

Тема в разделе "Разработка плагинов для новичков", создана пользователем AleGor, 6 дек 2018.

  1. Автор темы
    AleGor

    AleGor Активный участник

    Баллы:
    61
    Имя в Minecraft:
    AleGor
    У меня есть например блок DIAMOND и мне нужно чтобы в радиусе 10 блоков нельзя было строить, как это реализовать?
     
  2. NyanGuyMF

    NyanGuyMF Активный участник Пользователь

    Баллы:
    76
    1) Получить координаты этого блока.
    2) Отслеживать событие org.bukkit.event.block.BlockPlaceEvent (https://hub.spigotmc.org/javadocs/bukkit/index.html?overview-summary.html)
    3) Отменять событие event.setCancelled(true), если блок был поставлен в радиусе 10 блоков.

    Расстояние можно находить по формуле из геометрии нахождения расстояния между точками в пространстве
    PHP:
    intermediateX     = (int) Math.pow(x1 x22);
    intermediateY     = (int) Math.pow(y1 y22);
    intermediateZ     = (int) Math.pow(z1 z22);
    range             = (int) Math.sqrt(intermediateX intermediateY intermediateZ);
    return 
    range;
    Пример функции подсчета растояния между игроками есть тут: https://github.com/NyanSandbox/loca.../src/me/nyanguymf/listeners/ChatListener.java (calcRange(Player, Player))
     
  3. Автор темы
    AleGor

    AleGor Активный участник

    Баллы:
    61
    Имя в Minecraft:
    AleGor
    Ну спасибо сейчас буду думать до конца)
     
  4. hyndorik

    hyndorik Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    hyndo
    Есть Location#distanceSquared...
     
  5. NyanGuyMF

    NyanGuyMF Активный участник Пользователь

    Баллы:
    76
    :eek:
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    То чувство, когда тпс отваливается на BlockPlaceEvent . Поржал.
     
  7. LuckyZeeRo

    LuckyZeeRo Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    i0xHeX
    Описание смешное, но ситуация страшная :mad:
    А ведь в реальности все так и есть.
     

Поделиться этой страницей