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

Плагин [ADMIN] Re:ReActions | Простейший скриптовый плагин (1.19+)

Тема в разделе "Неподтвержденные плагины", создана пользователем imDaniX, 6 сен 2019.

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

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Re:ReActions | Попробуем снова?

    Форк небезызвестного плагина ReActions за авторством @fromgate.

    Плагин ReActions представляет собой инструмент обработки событий. Он позволяет проверять выполнение условий и, в зависимости от результата проверки, выполнять разные действия.
    Я бы мог продолжить копировать оригинальную тему, но не хочется повторяться, и потому, просто оставлю ссылку
    http://rubukkit.org/threads/mech-fun-reactions-chto-togda-inache-bukkitdev.41857/

    Отличия от оригинального ReActions:

    УЧТИТЕ ПРИ ПЕРЕХОДЕ С ОРИГИНАЛА
    - player:all и player:null в действиях будут работать как поиск ника - вместо этого используйте player:~all и player:~null.
    - Команды отделены в отдельный конфиг, советую почитать вики, однако, если хочется использовать старые активаторы команд, добавьте действие CANCEL_EVENT.
    - Немного изменена очередь обработки вложенных плейсхолдеров - изменение не всегда заметно, но есть особые случаи.
    - /ra add теперь только добавляет действия к активаторам - создание активаторов, локаций и прочего теперь в /ra create.

    - Поддерживаются только последние версии МС.
    - Пустые файлы персональных переменных удаляются при старте плагина.
    - Возможность отдельной перезагрузки таймеров, переменных, файла задержек, локаций, конфига и команд, меню, а также активаторов и отдельных групп активаторов.
    /ra reload g dude/testing - перезагрузит группу активаторов testing.yml в папке dude
    /ra reload vt - перезагрузит переменные и таймеры
    a - активаторы, l - локации, c - конфиг и команды, d - задержки, v - переменные, t - таймеры, m - меню; g папка/файл - группа
    Для перезагрузки всего сразу как обычно можно использовать /ra reload, но на мой взгляд она всегда грузила слишком много.
    - Добавлено предупреждение при ошибке в активаторе MESSAGE - чат игроков проходит в отдельном потоке, от чего при использовании третьих плагинов сервер может улететь в краш.
    - Добавлен лимит на раскрытие плейсхолдеров (настраивается в конфиге) - порой, если вы неправильно поставили переменную(вложили её саму в себя), вызывается ошибка переполнения стека.

    - Появилась замена активатору COMMAND - новая система команд.
    - Новый активатор CUBOID(в разработке) - на замену активаторам REGION(_ENTER, _LEAVE), т.к. они могут сильно нагрузить сервер(проверено на практике + слова fromgate). Создание через команду пока невозможно.
    Код:
    CUBOID:
      test_cuboid:
       mode: ENTER # вход, LEAVE - выход
       two_dimensional: false # игнорировать ли координату Y
       world: world
       loc1:
         x: 100
         y: 40
         z: 100
       loc2:
         x: 150
         y: 63
         z: 150
    
    - Новый активатор TELEPORT - при любой телепортации игрока.
    Код:
    TELEPORT:
      test_teleport:
        world: world # название мира, можно не указаывать
        cause: ENDER_PEARL # причина телепорта, можно не указывать
    
    Список возможных причин телепортации
    - Новый активатор WEATHER_CHANGE - смена погоды.
    Код:
    WEATHER_CHANGE:
      test_weather:
        world: world # название мира, можно не указывать
        weather: RAINING # CLEAR, ANY
    

    - Новый флаг CHECK_ONLINE - проверяет, онлайн ли игрок.
    Код:
       - CHECK_ONLINE=imDaniX
    
    - Новый флаг REGEX - проверка строки на соответствие regex
    Код:
       - REGEX=regex:{ret.*ue} value:{returns true}
    
    - Новый флаг HELD_SLOT - проверка активного слота инвентаря игрока.
    Код:
       - HELD_SLOT=4
    

    - Попытка исправления мертвоспавна мобов MOB_SPAWN.
    - Новое действие RESPONSE с поддержкой InkyMessage. Настоятельно рекомендую использовать его в связке с командами и активатором COMMAND. Отсылает сообщение игроку или консоли.
    Код:
        - RESPONSE=Я карта, я карта, я карта, я карта...
    

    - Плейсхолдеры player_ip (ip игрока), player_level (уровень игрока), player_item_offhand (предмет из второй руки), player_held_slot (номер слота руки), player_uuid (uuid игрока).
    - Плейсходер activator_name (название текущего активатора).
    - Теперь в плагин встроено дополнение PAPI - не придется искать его в закромах оригинальной темы.

    Но... Это все может работать нестабильно - возможности протестировать и половину из этого списка у меня просто нет. Если есть какие-либо проблемы или комментарии - прошу в тему или на гитхаб.


    *для скачивания требуется авторизация
    *рекомендуется


    Планы, возможно несбыточные

    - Добавление RaContext в работу активаторов, флагов и действий для улучшения работы с временными переменными и редактируемыми значениями изначальных ивентов. Готово
    - Изменение языковой системы для её структуризации и более простой редакции.
    - Возможность кэширование каких-либо данных до перезагрузки сервера. Не имеет большого смысла
    - Общая переработка и улучшение системы плейсхолдеров. Готово
    - Система модулей - подгрузка различных активаторов, флагов, действий, плейсхолдеров извне. Должна заменить встроенную поддержку иных плагинов, позволит быстро обновлять модули плагинов независимо друг от друга - не придется для обновления поддержки отдельного плагина ждать обновления всего ReActions. Отчасти реализовано
    - Некое подобие классов/объектов. Возможно, слишком сложно для обычных разработчиков скриптов, но идея интересная.
    - Возможность создания БД h2.
    - Разделение плагина на его API и реализацию для последующей поддержки на Bukkit, Sponge и Nukkit.
    - Просто починка багов, оптимизация и добавление новых активаторов, флагов, действий да и просто фич.
     
    Последнее редактирование: 20 фев 2024
  2. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Резерв
     
  3. pasha5018

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

    Баллы:
    76
    Имя в Minecraft:
    tdmackey
    Возникла проблема, хотел привязать действие к определенному блоку, но координаты не видит, а в ручную в конфиге хз как вписывать, команду написал которую вводил upload_2019-9-7_22-38-50.png
     
  4. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Попробуй через location:world,-1764,21,845. Как закончу с текущим обновлением постараюсь начать документацию на гитхабе и в пределах плагина и, где требуется, нормализовать неразбериху с локациями там и сям.
    А ещё type неверно указан. Если это 1.14+ - там больше нет просто SIGN, ибо ныне существует куча табличек из разной древесины.
     
  5. pasha5018

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

    Баллы:
    76
    Имя в Minecraft:
    tdmackey
    Да сработало, спасибо. Еще не получается нормально перезагружать плагин, на версии 1.14.4. К примеру я удалил в активаторах целый раздел ( таблички) и после перезагрузки плагин ругается, выдает ошибку и до полной перезагрузки сервера перестает работать (выключил - включил), и так почти с каждым моим действием

    **** Переврал немного, но легче не становится. Пытался создать простенькие актеваторы(
    BLOCK_CLICK)
    , но после перезахода плагин просто слетает и отказывается работать пока не почищу все
     
    Последнее редактирование: 7 сен 2019
  6. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Лог/ошибки на hastebin/pastebin, погляжу.
     
  7. pasha5018

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

    Баллы:
    76
    Имя в Minecraft:
    tdmackey
    https://pastebin.com/jBRqtQsX
     
  8. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    > plugin is disabled
    Плагин вообще отключен... Можно лог ошибки при самом удалении, а лучше полный лог?
     
  9. pasha5018

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

    Баллы:
    76
    Имя в Minecraft:
    tdmackey
    Вот лог: https://pastebin.com/5npzbF0x
     
  10. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Ох, такие простые ошибки. Исправлю в следующем обновлении - выпущу в течении одного-трех дней.
     
  11. pasha5018

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

    Баллы:
    76
    Имя в Minecraft:
    tdmackey
    Отлично что ты занимаешься им, огромное спасибо, плагин пусть и не популярный но очень перспективный.
    Как мне кажется не хватает для выбора локации опции чтобы сохранять координаты куда ты смотришь, чтобы не в ручную переписывать все координаты перенесенных табличек, а используя локацию для них, может и другое есть и другие применения, но это самое очевидное.
     
  12. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    В оригинальном ReA была команда /ra sel, которая записывала локацию, куда смотрит игрок, и её можно было использовать для создания активаторов в команде /ra add. С разделением /ra add на /ra create и /ra add я несколько сломал это, но со следующим обновлением вернется.
     
  13. Korvinius

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

    Баллы:
    88
    То есть, можно будет писать свои "модули", которые будут "подгружаться" как в PlaceholderAPI?
     
  14. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Именно. Впрочем, работать начну над этим я лишь через несколько месяцев - до этого нужно закончить с контекстами, переработать языковую систему и систему плейсхолдеров, а между всем этим чинить баги новые и старые.
     
  15. Korvinius

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

    Баллы:
    88
    :good:Шикарно!
    Эх нашелся бы еще добрый человек, который PlayEffect обновит...
     
  16. Korvinius

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

    Баллы:
    88
    Если возможно, сделайте возможность в активаторах DAMAGE_BY_MOB, MOB_CLICK, MOB_DAMAGE, MOB_KILL, привязывать активатор не к какому то одному мобу, а ко всем и/или к группе мобов.
     
  17. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Обновление 0.12.27 | Экспериментальное
    - Изменение работы "общения" событие-активатор-событие.
    Действие VAR_TEMP_SET больше не влияет на изначальное событие. Вместо этого добавлено действие CHANGE.
    Код:
    - CHANGE=key:damage value:5
    Временные переменные по-прежнему будут обновляться, т.е. "%damage%" в данном случае вернёт "5".
    Также теперь можно изменять некоторые локации. В данный момент это только локация респавна в активаторе RESPAWN.
    Код:
    - CHANGE=key:respawn_loc value:world,0,64,0,0,0
    - Исправление новой системы команд от лица игрока(команды могли попросту не работать)
    - Возвращение функционала COMMAND
    Активатор PRECOMMAND теперь практически полностью копирует функционал удаленного активатора COMMAND, за тем исключением, что команды не регистрируются, а также отсутствует параметр override. Впрочем, на замену override можно использовать действие CANCEL_EVENT или его эквивалент в CHANGE
    Код:
    - CANCEL_EVENT=true
    - CHANGE=key:cancel_event value:true
    - Некоторые исправления
    Исправлена критическая ошибка при первом запуске плагина. Исправлена возможность забирать предметы из меню. Определенные плейсхолдеры локаций теперь работают и в /ra create.

    GitHub(исходный код) CircleCI(последние билды*)
    *для скачивания требуется авторизация

    Повторюсь - обновление экспериментальное, потому, прошу сообщать о всех ошибках. На сей момент не советую ставить на сервер в продакшене.
    В последующем постараюсь выпускать более частые обновления дабы вовремя исправлять новоявленные ошибки, избегая таких задержек при больших обновлениях. В ближайшее время буду чинить баги и добавлять мелкие фишки, вроде предложения выше.
     
    Последнее редактирование: 17 сен 2019
  18. pasha5018

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

    Баллы:
    76
    Имя в Minecraft:
    tdmackey
    Что то опять не по плану идет, запустил, прописал себе первый активатор, подредактировал его в конфиге и опять не робит ничего. Я так понял что если в ручную редактироваться конфиг все слетает с массой ошибок
     
  19. Автор темы
    imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Странности за странностями. На домашнем сервере все работает. Лог с ошибками, и буду чинить.
     
  20. pasha5018

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

    Баллы:
    76
    Имя в Minecraft:
    tdmackey
    Для чистоты эксперемента взял чистый сервер только с 1 плагином вписал команду "/react create BLOCK_CLICK test location:world,13,63,29" и следом "/react reload"
    вот что выдало - https://pastebin.com/GdrZvMJH
     

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