Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

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.
- Просто починка багов, оптимизация и добавление новых активаторов, флагов, действий да и просто фич.
 
Последнее редактирование:
Возникла проблема, хотел привязать действие к определенному блоку, но координаты не видит, а в ручную в конфиге хз как вписывать, команду написал которую вводилupload_2019-9-7_22-38-50.png
 
Возникла проблема, хотел привязать действие к определенному блоку, но координаты не видит, а в ручную в конфиге хз как вписывать, команду написал которую вводилПосмотреть вложение 54816
Попробуй через location:world,-1764,21,845. Как закончу с текущим обновлением постараюсь начать документацию на гитхабе и в пределах плагина и, где требуется, нормализовать неразбериху с локациями там и сям.
А ещё type неверно указан. Если это 1.14+ - там больше нет просто SIGN, ибо ныне существует куча табличек из разной древесины.
 
Попробуй через location:world,-1764,21,845. Как закончу с текущим обновлением постараюсь начать документацию на гитхабе и в пределах плагина и, где требуется, нормализовать неразбериху с локациями там и сям.
А ещё type неверно указан. Если это 1.14+ - там больше нет просто SIGN, ибо ныне существует куча табличек из разной древесины.
Да сработало, спасибо. Еще не получается нормально перезагружать плагин, на версии 1.14.4. К примеру я удалил в активаторах целый раздел ( таблички) и после перезагрузки плагин ругается, выдает ошибку и до полной перезагрузки сервера перестает работать (выключил - включил), и так почти с каждым моим действием

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

**** Переврал немного, но легче не становится. Пытался создать простенькие актеваторы(
BLOCK_CLICK)
, но после перезахода плагин просто слетает и отказывается работать пока не почищу все
Лог/ошибки на hastebin/pastebin, погляжу.
 
Отлично что ты занимаешься им, огромное спасибо, плагин пусть и не популярный но очень перспективный.
Как мне кажется не хватает для выбора локации опции чтобы сохранять координаты куда ты смотришь, чтобы не в ручную переписывать все координаты перенесенных табличек, а используя локацию для них, может и другое есть и другие применения, но это самое очевидное.
 
Отлично что ты занимаешься им, огромное спасибо, плагин пусть и не популярный но очень перспективный.
Как мне кажется не хватает для выбора локации опции чтобы сохранять координаты куда ты смотришь, чтобы не в ручную переписывать все координаты перенесенных табличек, а используя локацию для них, может и другое есть и другие применения, но это самое очевидное.
В оригинальном ReA была команда /ra sel, которая записывала локацию, куда смотрит игрок, и её можно было использовать для создания активаторов в команде /ra add. С разделением /ra add на /ra create и /ra add я несколько сломал это, но со следующим обновлением вернется.
 
- Система модулей - подгрузка различных активаторов, флагов, действий, плейсхолдеров извне. Должна заменить встроенную поддержку иных плагинов, позволит быстро обновлять модули плагинов независимо друг от друга - не придется для обновления поддержки отдельного плагина ждать обновления всего ReActions.
То есть, можно будет писать свои "модули", которые будут "подгружаться" как в PlaceholderAPI?
 
То есть, можно будет писать свои "модули", которые будут "подгружаться" как в PlaceholderAPI?
Именно. Впрочем, работать начну над этим я лишь через несколько месяцев - до этого нужно закончить с контекстами, переработать языковую систему и систему плейсхолдеров, а между всем этим чинить баги новые и старые.
 
Именно. Впрочем, работать начну над этим я лишь через несколько месяцев - до этого нужно закончить с контекстами, переработать языковую систему и систему плейсхолдеров, а между всем этим чинить баги новые и старые.
:good:Шикарно!
Эх нашелся бы еще добрый человек, который PlayEffect обновит...
 
Если возможно, сделайте возможность в активаторах DAMAGE_BY_MOB, MOB_CLICK, MOB_DAMAGE, MOB_KILL, привязывать активатор не к какому то одному мобу, а ко всем и/или к группе мобов.
 
Обновление 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(последние билды*)
*для скачивания требуется авторизация

Повторюсь - обновление экспериментальное, потому, прошу сообщать о всех ошибках. На сей момент не советую ставить на сервер в продакшене.
В последующем постараюсь выпускать более частые обновления дабы вовремя исправлять новоявленные ошибки, избегая таких задержек при больших обновлениях. В ближайшее время буду чинить баги и добавлять мелкие фишки, вроде предложения выше.
 
Последнее редактирование:
Что то опять не по плану идет, запустил, прописал себе первый активатор, подредактировал его в конфиге и опять не робит ничего. Я так понял что если в ручную редактироваться конфиг все слетает с массой ошибок
 
Что то опять не по плану идет, запустил, прописал себе первый активатор, подредактировал его в конфиге и опять не робит ничего. Я так понял что если в ручную редактироваться конфиг все слетает с массой ошибок
Странности за странностями. На домашнем сервере все работает. Лог с ошибками, и буду чинить.
 
Для чистоты эксперемента взял чистый сервер только с 1 плагином вписал команду "/react create BLOCK_CLICK test location:world,13,63,29" и следом "/react reload"
вот что выдало - https://pastebin.com/GdrZvMJH
 

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

Назад
Верх