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

Плагин [MECH/FUN] ReActions - Что? Тогда? Иначе! [BukkitDev]

Тема в разделе "Релизы плагинов", создана пользователем fromgate, 16 июл 2013.

  1. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Спасибо. Я довольро-таки хорошо разобрался в Вашем плагине, теперь создавать активаторы или действия не составляет особого труда.
    Этот активатор я ещё не достаточно хорошо проверил. Поэтому, буду ждать комментарии первых тестировщиков.

    Спасибо.
     
  2. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Описание изменений от @maxdikiy

    Новый активатор Block_Click

    Применение:
    Этот активатор срабатывает, когда игрок кликает по блоку левой или правой кнопкой мыши. Он даёт возможность контролировать действия над блоками. Можно запретить как уничтожения блоков так и их установку. Можно применять эти правила, как для одного блока, так и группы блоков. Активатор можно настроить на запрет открытия любого инвентаря, который открывается при клике на соответствующие блоки (CHEST, HOPPER, BEACON, ... и т.п. ).

    /react add BLOCK_CLICK <ИмяАктиватора> [type:<ТипМатериала>] [click:left | right | any] [location:<loc>]

    type - тип материала блока. Может принимать пустое значение, если необходимо отслеживать воздействия на все типы блоков.
    click: <left | right | any> - какой клик мыши по блоку необходимо отслеживать.
    location:<loc> - координаты блока, который необходимо контролировать.
    Временные плейсхолдеры, действующие в этом активаторе:
    %blocktype% - тип блока
    %blocklocation% - координаты блока
    %click% - "left" или "right" в зависимости от того какой кнопкой мыши кликнули по блоку.

    Примеры:

    1. Запрет на редактирование мира. Нельзя ни поставить блоки, ни сломать их:
    /react add BLOCK_CLICK bc
    /react add bc a CANCEL_EVENT true
    или
    Код:
    BLOCK_CLICK:
    bc:
    block-type: ''
    click-type: ANY
    actions:
    - CANCEL_EVENT=true
    
    2. Запрет открытия всех сундуков в мире:
    /react add BLOCK_CLICK bc2 type:CHEST click:right
    /react add bc2 a CANCEL_EVENT true
    или
    Код:
    BLOCK_CLICK:
    bc2:
    block-type: CHEST
    click-type: RIGHT
    actions:
    - CANCEL_EVENT=true
    
    В этом примере, если click-type: LEFT, то запрещено будет разбивать все сундуки, но разрешено открывать. Если click-type: ANY, то будет запрещено и разбивать и открывать сундуки.

    3. Контроль только над одним сундуком (блоком):
    /react add BLOCK_CLICK bc3 type:CHEST click:right loc:world,100,60,100
    /react add bc3 a CANCEL_EVENT true
    или
    Код:
    BLOCK_CLICK:
    bc3:
    block-type: CHEST
    click-type: RIGHT
    location: world,100,60,100
    actions:
    - CANCEL_EVENT=true
    
    где location: world,100,60,100 - координаты сундука

    4. Запретить ломать определённые блоки в мире:
    /react add BLOCK_CLICK bc4 click:left
    /react add bc4 f COMPARE param:%blocktype% value1:GOLD_BLOCK value2:GRASS value3:STONE
    /react add bc4 a CANCEL_EVENT true
    или
    Код:
    BLOCK_CLICK:
    bc4:
    block-type: ''
    click-type: LEFT
    flags:
    - COMPARE=param:%blocktype% value1:GOLD_BLOCK value2:GRASS value3:STONE
    actions:
    - CANCEL_EVENT=true
    
    Можно ещё много вещей придумать с этим активатром.
     
  3. SoSeDiK

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

    Баллы:
    76
    Имя в Minecraft:
    SoSeDiK
    Боже! Спасибо Вам! Наконец-то это произошло :lol:
    Уже бегу пробовать) Ещё Block_Break и было бы шикарно!
    Кстати, можно ли добавить click: middle для колеса мыши?
     
  4. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Спасибо @maxdikiy :)

    Я там немного добавил - если тип блоки и координаты не указаны явно, то по команде /react add block_click активатору будут назначаться координаты блока, на который смотришь.
     
  5. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Замечательно! :)
    Как раз это я уже делаю. Возможно, даже не только будет click: middle, но и все типы кликов:
    https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/inventory/ClickType.html
     
  6. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    вау!!! нет слов. Вопрос только - как оно на 188 пойдет?
     
  7. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    По идее - да. Если что-то вылезет (двуручие какое-то - будут ошибки в логе сервера), пишите.

    Сейчас ещё подправил. ООООЧЕНЬ давно хотел сделать. Изменения чисто техническое - оптимизировал код, касающийся команды /react add активатор. Благодаря этом будет чуть меньше геморроя при добавлении новых активаторов.

    Поэтому если вдруг эта команда начнёт себя странно вести - тоже сообщайте.
     
  8. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Объясните тупому, где там по ссылке качать, у меня че-то затмение. Тестировать буду сегодня же - задумок на него море, сервер приблизится к своему идеалу весьма заметно. Еще раз - огромное спасибо!
     
  9. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Вот ссылка на страницу:
    https://circleci.com/gh/fromgate/ReActions/40#artifacts/containers/0
    Там найдёте ссылку на скачивания: ReActions-1.0-SNAPSHOT.jar
     
  10. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    спасибо!
    PS на 188 подцепился без проблем, сейчас затестирую.
    Рапортую: Блоки обрабатываются правильно, но перестал работать флаг ITEM - проверка предмета в руке у игрока. ITEM_INVENTORY работает исправно. Версия 1.8.8 Перепроверил специально - поставил старую версию - все отлично, новая (40-я) - не видит в руке предмет.

    в лог пишет следующее:
    [03:51:28 INFO]: [ReActions] Methods "getItemInHand" and "getItemInMainHand" are not declared in PlayerInventory class

    Я подозреваю, что это связано с версией. Очень прошу - сделайте вариант под 1.8.8
     
    Последнее редактирование: 28 апр 2017
  11. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    А как там с обрезанием символа-маски активатора MESSAGE ?
     
  12. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    @fromgate
    Я добавил ещё один активатор INVENTORY_CLICK в пуллреквест. Взгляните пожалуйста.
    Спасибо.
    Добавлен новый активатор INVENTORY_CLICK

    https://circleci.com/gh/fromgate/ReActions/42#artifacts/containers/0

    Этот активатор срабатывает, когда игрок выполняет действия с инвентарём с помощью мыши или клавиш.
    /react add INVENTORY_CLICK <ИмяАктиватора> [click:< ClickType >]

    click: < ClickType > - Тип клика, из-за которого сработал активатор. Поддерживаемые типы:
    CONTROL_DROP, CREATIVE, DOUBLE_CLICK, DROP, LEFT, MIDDLE, NUMBER_KEY, RIGHT, SHIFT_LEFT, SHIFT_RIGHT, UNKNOWN, WINDOW_BORDER_LEFT, WINDOW_BORDER_RIGHT
    По умолчанию click: ANY - срабатывает при любом действии.

    Временные плейсхолдеры, действующие в этом активаторе:
    %click% - показывает, на какое действие сработал активатор.

    Примеры:

    1. Покажем тип клика из-за которого сработал активатор
    /react add INVENTORY_CLICK ic
    /react add ic a message %click%
    или
    Код:
    INVENTORY_CLICK:
      ic:
        click-type: ANY
        actions:
        - message=%click%
    
    2. Запретим вытаскивать предметы из креатива
    /react add INVENTORY_CLICK ic2 click:CREATIVE
    /react add ic2 a CANCEL_EVENT true
    или
    Код:
    INVENTORY_CLICK:
      ic2:
        click-type: CREATIVE
        actions:
        - CANCEL_EVENT=true
    
     
  13. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Astrogen
    Попробуйте билд #43
     
  14. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    @fromgate
    Я обратил внимание, что вы немного подправили код активатора. Это то, до чего, я вчера ни как не мог допереть, по причине нехватки опыта/знаний в java. Теперь, по этому примеру я дополню активатор INVENTORY_CLICK дополнительными возможностями.

    Да, и ещё, я выполняю кодинг проекта в notepad++, а синтаксис проверяю на этапе компиляции с помощью gradlew. Знаю, это не красиво, поэтому, попытался поднять проект в eclipse, но чего-то у меня не вышло.
    Есть ли способ, без особых усилий, поднять проект ReActions в eclipse?

    Спасибо.
     
  15. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    Да, спасибо большое, теперь активатор работает. Это было из-за наличия двух рук в 1.9 и выше?

    в лог постоянно гадит следующее:

     
    Последнее редактирование: 28 апр 2017
  16. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    По идее там можно как-то имортировать проект. Я уже не помню. Но в любом случае рекомендую Intellij IDEA. Версия Community Edition у них бесплатна, а работа с github'ом сделана на голову лучше чем в Eclipse. Да и вообще после IDEA возвращаться обратно в Eclipse совсем не хочется.
    Ага, это ещё одна несовместимость. Посмотрю.
     
  17. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    еще проблема с совместимостью: активатор REGION_ENTER не работает, пишет в лог:
     
  18. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    @fromgate
    Я добавил еще несколько возможностей в активатор INVENTORY_CLICK. Посмотрите пожалуйста
    Спасибо.
     
  19. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
  20. Astrogen

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

    Баллы:
    76
    Имя в Minecraft:
    Astrogen
    в 44 сборке - осталиcь проблемы, связанные с активаторами REGION_ENTER и REGION
    в 48 сборке - кажется тоже:
    BUTTON, PLATE, ITEM- Работа.n как надо.
    У меня непрофессиональный вопрос: а нельзя ли просто два новых активатора (или хотя бы один - BLOCK_CLICK) - просто пришить к старой версии РеАкшн, которая работала с 188. У меня версия, в которой файлы в jar'e имеют дату 26 и 27 июля 2015 года - работает безупречно (0.9.9 вроде как)
     

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