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

Скорее всего это связано с тем, что самого флага не дошла проверка.
Т.е. если флагов 3, а второй в списке вернул false, то неотработавшей считается вся конструкция. Собственно так оно и есть.
Я могу сделать полный перебор, но первый вариант оптимальнее с точки зрения производительности.
О, тогда всё отлично. Сделал активатор с 6 флагами для теста, запилил на них реакции. Всё гладко.

Я всё хотел спросить про активатор COMMAND.
О нём мало написано на reactions.fromgate.ru, а точнее о функциях override и regex. Я бы хотел узнать, как сделать нормальную команду, то бишь:
Когда вводишь другую команду, содержащую текст из созданной, чтобы она не активировалась.
А также при неправильном вводе аргументов выдавался синтаксис.
Просто когда в активаторе используются "*" при указании команды, она работает как надо (почти), но если ввести без определённого аргумента, команда ничего не выдаст.
Если это не сделать, то может для активатора COMMAND сделать строку syntax? Если это возможно. То бишь при несоблюдении количества аргументов, выдаётся значение этой строки.
 
День добрый!

У меня вопрос: можно ли получить доступ к переменным плагина через плейсхолдеры PAPI? То есть, создать плейсхолдер-переменную для использования в сторонних плагинах
 
День добрый!

У меня вопрос: можно ли получить доступ к переменным плагина через плейсхолдеры PAPI? То есть, создать плейсхолдер-переменную для использования в сторонних плагинах
Можно. Только нужно установить модуль в PAPI
http://rubukkit.org/threads/mech-fu...-inache-bukkitdev.41857/page-184#post-1450939
 
@fromgate, проблемище остается. Раньше думал, что оно мне не будет сильно мешать, но оказалось иначе.
Уже писал - в действии REGEX в input нельзя использовать символ $.
Код:
Could not pass event MessageEvent to ReActions v0.11.0
org.bukkit.event.EventException: null
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[patched_1.12.2.jar:git-Paper-1391]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) ~[patched_1.12.2.jar:git-Paper-1391]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1391]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:515) [patched_1.12.2.jar:git-Paper-1391]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:500) [patched_1.12.2.jar:git-Paper-1391]
    at me.fromgate.reactions.event.EventManager.raiseMessageEvent(EventManager.java:435) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.util.listeners.RaListener.onChatCommand(RaListener.java:144) [ReActions-1.0-SNAPSHOT.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor736.execute(Unknown Source) [?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) [patched_1.12.2.jar:git-Paper-1391]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) [patched_1.12.2.jar:git-Paper-1391]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [patched_1.12.2.jar:git-Paper-1391]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:515) [patched_1.12.2.jar:git-Paper-1391]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:497) [patched_1.12.2.jar:git-Paper-1391]
    at net.minecraft.server.v1_12_R1.PlayerConnection.chat(PlayerConnection.java:1387) [patched_1.12.2.jar:git-Paper-1391]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1302) [patched_1.12.2.jar:git-Paper-1391]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [patched_1.12.2.jar:git-Paper-1391]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_151]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_151]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_151]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.IllegalArgumentException: Illegal group reference: group index is missing
    at java.util.regex.Matcher.appendReplacement(Matcher.java:819) ~[?:1.8.0_151]
    at java.util.regex.Matcher.replaceAll(Matcher.java:955) ~[?:1.8.0_151]
    at java.lang.String.replaceAll(String.java:2223) ~[?:1.8.0_151]
    at me.fromgate.reactions.util.Variables.replaceTempVars(Variables.java:345) ~[?:?]
    at me.fromgate.reactions.placeholders.Placeholders.replacePlaceholders(Placeholders.java:60) ~[?:?]
    at me.fromgate.reactions.placeholders.Placeholders.replacePlaceholderButRaw(Placeholders.java:49) ~[?:?]
    at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:183) ~[?:?]
    at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:161) ~[?:?]
    at me.fromgate.reactions.activators.MessageActivator.activate(MessageActivator.java:129) ~[?:?]
    at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:231) ~[?:?]
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:330) ~[?:?]
    at me.fromgate.reactions.util.listeners.RaListener.onMessageEvent(RaListener.java:645) ~[?:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor789.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.12.2.jar:git-Paper-1391]
    ... 20 more
 
Почему может не работать плагин в доп мирах? Все как положено сохраняется, но не работает. В основном мире же все работает.
И 2-ое. Почему /react add tpbut(пример) a TP %here% всегда возвращает false? Если в ручную писать коорды, то все норм.

UPD: С доп.мирами разобрался.
 
Последнее редактирование:
И 2-ое. Почему /react add tpbut(пример) a TP %here% всегда возвращает false? Если в ручную писать коорды, то все норм.

Вообще странно очень. Регулярно этим пользуюсь. Перепроверю сегодня.
 
@fromgate, проблемище остается. Раньше думал, что оно мне не будет сильно мешать, но оказалось иначе.
Уже писал - в действии REGEX в input нельзя использовать символ $.

Ага. Ещё и REGEX'у плохо. В общем, это я понял. Постараюсь в ближайшее время вернуться к тому как было.

Вообще, я тут пытаюсь придумать как бы не сломать плагин после перехода на 1.13. Не хочу поддерживать две ветки.
 
v0.11.1
  • Флаги будут создавать дополнительный временный плейсхолдер <FLAG_NAME>_FLAG_VAL, который будет содержать результат проверки данного флага (true / false)
  • Добавлен флаг HEALTH — проверка здоровья игрока
  • Команда /react add теперь работает (должна ;)) на bukkit 1.7.10.
  • Исправлена ошибка, связанная с несовместимостью API разных версий spigot, проявлявшая себя периодически при стрельбе из лока, бросании зелий и т.п.
  • Информация о регистрации команд, при старте сервера, объедина в одно сообщение.

Зафиксировал текущее состояние разработки в виде релиза. Те, кто качал с недавно с CircleCI — не перекачивайте.
 
Ребята. Может кто поможет мне с одним вопросом.

Хочу сделать так, чтобы моя постройка (Поезд перемещался вместе с игроками) в заданном направлении и возвращался в исходное положение.
Как можно это сделать с помощью ReAction? Хотя бы пример.

Вот, что по итогу я хотел бы получить на выходе:

1) Игрок подходит к поезду, который будет принадлежать к некоему региону "Admin"
2) Регион "Admin" проверяет его на наличие билета

a) Билетов будет от 1 до 132, названия билетов по типу: Билет№1, Билет№2 и т.д.
b) Проверяет указанные номера

a) Если билет есть то активированные поршни деактивируются и игрока пускает в поезд
b) Если билета нет, то игрока не пускает в поезд, откидывает назад
c) Если игрок выкинул билет в поезде его выкинет из поезда на станцию, телепортирует

3) Игрок заходит в поезд и поршни вновь активируются, закрывая тем самым двери

a) Если игрок захочет выйти из поезда с билетом, поршни также должны деактивироваться

a) В регионе поезда нельзя вводить команды
b) При перезаходе в игру игрока телепортирует в указанную позицию на станции

4) Когда все игроки сели на поезд, в указанное время поезд отправляется со станции
5) Вместе с поездом должен смещаться регион самого поезда, который будет проверять наличие билетов, а также запрещать команды
6) Ну и самое главное, чтобы во время поездки в поезду играла для игроков музыка с пластинки, заменил на свою.

Вот такие вот вагончики для перемещения - https://ibb.co/fHxbtc

Заранее спасибо, если будет ответ, просто для меня сложно разобраться в таком плагине :)
 
Последнее редактирование:
Ребята. Может кто поможет мне с одним вопросом.
5) Вместе с поездом должен смещаться регион самого поезда, который будет проверять наличие билетов, а также запрещать команды

Все пункты можно сделать с лёгкостью, а вот по поводу перемещения поезда, тут всё сложнее (исхожу только из своего опыта)
Я бы не сказал что невозможно, но не просто реализовать и единственное, что пришло в голову, это использование любого из вошедших в поезд игроков и командами от WE + cmd_op. В детали не вникал. Но типа от имени игрока будет удалён регион (типа поезд уехал, а в нужном месте, после телепортирования, запрет пару секунд двигаться и загрузка и вставка схематика)

И тут нужно часами возиться и тестировать всё, поэтому не проще ли отказаться от "перемещения" самого вагона?

Что если он будет сразу на всех станциях, а перемещаться будут только игроки? Это во много раз упростит задачу)
 
Все пункты можно сделать с лёгкостью, а вот по поводу перемещения поезда, тут всё сложнее (исхожу только из своего опыта)
Я бы не сказал что невозможно, но не просто реализовать и единственное, что пришло в голову, это использование любого из вошедших в поезд игроков и командами от WE + cmd_op. В детали не вникал. Но типа от имени игрока будет удалён регион (типа поезд уехал, а в нужном месте, после телепортирования, запрет пару секунд двигаться и загрузка и вставка схематика)

И тут нужно часами возиться и тестировать всё, поэтому не проще ли отказаться от "перемещения" самого вагона?

Что если он будет сразу на всех станциях, а перемещаться будут только игроки? Это во много раз упростит задачу)

Проблема вся в том, что я хочу реальную имитацию езды в поезде. С друзьями хотели когда-то такой поезд сделать для игроков, чтобы те катались в особые локации, куда нельзя попасть телепортом и поезда ходят только в особые дни. К примеру только по субботам. Некую атмосферу хотели создать такой штукой. Типо едишь базаришь с чуваками, на фоне стук колёс и какая-нибудь спокойная музыка.

Забыл добавить, еще бы хотелось, чтобы по поезду во время езды можно было ходить игрокам.

Тут я понимаю только модом можно сделать такой..... Но честно говоря я не хочу прибегать к модам, хотелось бы реализовать всё из оригинального майна.
 
Последнее редактирование:
Проблема вся в том, что я хочу реальную имитацию езды в поезде. С друзьями хотели когда-то такой поезд сделать для игроков, чтобы те катались в особые локации, куда нельзя попасть телепортом и поезда ходят только в особые дни. К примеру только по субботам. Некую атмосферу хотели создать такой штукой. Типо едишь базаришь с чуваками, на фоне стук колёс и какая-нибудь спокойная музыка.

Забыл добавить, еще бы хотелось, чтобы по поезду во время езды можно было ходить игрокам.

Тут я понимаю только модом можно сделать такой..... Но честно говоря я не хочу прибегать к модам, хотелось бы реализовать всё из оригинального майна.
Куда логичнее будет отказаться от перемещения самого региона, и просто сделать несколько статичных - путь поезда, конечные/начальные пункты, вход/выход на каждой станции.

Для перемещения вагона и игроков можно воспользоваться ванильной командами /clone ... и "подтиранием" старых блоков /fill ... air, и всё это дело запускать с помощью армор-стенда в вагоне через действие CMD_CONSOLE=minecraft:execute @e[type=armor_stand,name=Vagon1] ...; ну, и действие TP(либо /minecraft:teleport ... через стенд)

Самое нереализуемое здесь - музыка. Насколько я знаю, источник звука не перемещается, и находится всегда в одном месте. Единственный способ - проигрывать игроку что-нибудь на нотных блоках через действие SOUND или /playsound ... и менять трек через BLOCK_CLICK.

Из-за постоянного применения телепортации игрокам будет затруднительно ходить, но не невозможно.

Но на мой взгляд, это в принципе не самая лучшая идея. Я не знаю какой эффект взымеет постоянная телепортация и редактирование блоков на сервер и клиенты игроков(жуткие лаги, например)

Если всё ещё интересно - могу набросать какой-нибудь скрипт.
 
Привет!
Когда можно будет отталкивать Игрока от Моба, а не только от другого Игрока?
 
а можно ли в активатре MOB_DAMAGE сделать как бы шаблонное имя, т.к. у меня стоит плагин, который изменят ник моба и показывает его хп (&1TestMob &c[10❤])
например:
MOB_DAMAGE:
mclick:
mob-name: 'Моб.*'
mob-type: PLAYER
а если поставить
mob-name: ''
или убрать эту строчку, то не работает ни на 1 мобе, какие-то другие плагины конфликтуют.
работает MOB_DAMAGE только если прописать идеально точноe имя моба, а плагин на хп это портит
 
Вообще странно очень. Регулярно этим пользуюсь. Перепроверю сегодня.
Я подозреваю, что это какой-то плагин мешает. На чистом сервере без модов и с минимумом плагинов, все работает.
Временно закостылил получение коорд посредством МКМ(MacroKeybindMode)
Версия серва 1.7.10(древность, но шо поделать)
 
Как менять лор предмета в зависимости от пермишена в меню? (куплено/не куплено)?
 
Как менять лор предмета в зависимости от пермишена в меню? (куплено/не куплено)?
Не знаю как делать с помощью пермишена, но можно сделать с помощью персональной переменной, только на каждый предмет придется делать отдельную
 
Можно ли поменять в конфиге config.yml
region-recheck-delay (ну и item-hold-recheck-delay с item-wear-recheck-delay) перезапуск активаторов на 1/5 секунды? (по умолчанию 2)
Код:
  region-recheck-delay: 2
  item-hold-recheck-delay: 2
  item-wear-recheck-delay: 2

Просто у самого нет прямого доступа к конфигу, а ломать всё одной просьбой поставить "0.2" как то стремно.
Кто проверял?

UPD: не пытайтесь, всё плохо. Если знаете как решить - отпишитесь, пожалуйста.
 
Последнее редактирование:
Назад
Верх