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

Помогите Отключение физики в мире

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

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

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

    Баллы:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    Можно ли кодом отключить физику в определенном мире (поршни, растекание жидкости, падение блоков)?
     
  2. CoolBoy

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

    Баллы:
    96
    Имя в Minecraft:
    Xezard
    События (евенты) в помощь. Проверяешь мир и отменяешь если нужно.
     
  3. alexandrage

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

    Баллы:
    173
    Можно.
     
  4. Автор темы
    Studenikin

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

    Баллы:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    а не подскажешь, как? с помощью NMS?
     
  5. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    StructureGrowEvent
    BlockGrowEvent
    EntityChangeBlockEvent
    BlockFromToEvent
    BlockFadeEvent
    BlockSpreadEvent
    PlayerInteractEvent
    BlockIgniteEvent
    BlockBurnEvent
    LeavesDecayEvent
    EntityBlockFormEvent

    И венец баккитовского творения - BlockPhysicsEvent. Отменяет вообще всё, что только можно и нельзя.

    Как раз сейчас делаю плагин на контроль физики сервера.
    Уже рабочий, у себя поставил, но работы по нему еще много.
    Если интересно - пиши в ЛС
     
    Последнее редактирование: 18 окт 2019
  6. Автор темы
    Studenikin

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

    Баллы:
    123
    Skype:
    vanya.studenikin
    Имя в Minecraft:
    stuvanya
    чет лава и вода спокойно растекаются, при e.setCancelled(true)
     
  7. MemoryRAVE

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

    Баллы:
    66
    Имя в Minecraft:
    xR4V3
    Код:
    @EventHandler
    public void stopLiquids(BlockFromToEvent event) {
        if (!event.getBlock().isLiquid()) {
            return;
        }
    
        event.setCancelled(true);
    }
    Вообще должно работать через BlockPhysicsEvent
     
    Последнее редактирование: 19 окт 2019
  8. Dymeth

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

    Баллы:
    98
    Имя в Minecraft:
    Dymeth
    Ну что же... Значит придется отменять все эвенты, которые указал выше.
    Хотя частично BlockPhysics всё же запрещает механику жидкостей:
    upload_2019-10-19_11-12-27.png
    По крайней мере так на 1.13.

    UPD: Релизнул свой плагин на SpigotMC, можешь глянуть сорцы: https://www.spigotmc.org/resources/72124
     
    Последнее редактирование: 19 окт 2019

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