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

Если используется регулярка, то при старте плагин не знает о какой команде идёт речь.
Как я сказал, команда описанная как o* может быть и командой o и командой oo и т.д.
В этом случае плагин оперирует на событие.
Потом (я вот тут уже не помню, но кажется я это хотел реализовать - надо проверить ;)) при выполнении команды он пытается её зарегистрировать. Т.е. написал первый раз o он пожаловался: команда неизвестная и зарегистрировал её. И т.д.

Чтобы он зарегистрировал её сразу, можно сделать пустой активатор на команду o (без регулярного выражения). Она зарегистрируется при старте. А остальным вариантам уже регистрация не потребуется.
Хорошая идея. Пока нет возможности проверить, так для каждой команды делать? У меня не одна /o просто. :D
 
Ну если они через регулярку - то да. Или смириться с тем, что какое-то время после перезагрузки сервера будет ругаться. Пока все команды не определятся ))
 
Ну если они через регулярку - то да. Или смириться с тем, что какое-то время после перезагрузки сервера будет ругаться. Пока все команды не определятся ))
У меня работает как раз так как сказал fromgate.
у меня команда /giftdonate.
/giftdonate [ник] - выдаём донат
/giftdonate - message=Использование: /giftdonate [ник]
/giftdonateeeeeeeeeeeeeeeeeeeeeee - message=Использование: /giftdonate [ник]
@fromgate , сможешь написать плагин для моего сервера? За деньги, конечно.Подробности в личку или в ВК.
 
@fromgate Можешь сказать баг ли с REGION_ENTER, я прописываю регион в него, прописываю
/react add "имя активатора" action msg Привет
Активатор прописывается, захожу в регион, он не чего не делает

Регион достаточной высоты и длины что бы в него зайти, если такие сомнения появятся

Еще кое что, прописываю /react check 1. Пишет то что список пуст, а в конфиге то все прописалось
 
Последнее редактирование:
Проблема решена, это не баг, а моя тугодумность) Прописывал регион в мире созданом через мульти ворлд
 
@fromgate будет ли действие TITLE? Соответственно с \nSubtitle . Неплохо было бы добавить Actionbar (текст который над панелью быстрого доступа). Я уже не раз писал, но ответа не получил( Если нет, то подскажите кто нибудь как связать reactions и titlemanager или что то подобное? Пока получаются только костыли, спамящие в консоль...
 
@fromgate будет ли действие TITLE? Соответственно с \nSubtitle . Неплохо было бы добавить Actionbar (текст который над панелью быстрого доступа). Я уже не раз писал, но ответа не получил( Если нет, то подскажите кто нибудь как связать reactions и titlemanager или что то подобное? Пока получаются только костыли, спамящие в консоль...
Тоже бы хотел это увидеть в следующей версии ReActions
 
Здравствуйте, не подскажите как округлить (или обрезать) число с помощью ReActions?
Вот, например, число 0.888888888 как из него получить 0.8 или 0.9?
 
Ах, да, как в активаторе MOB_DAMAGE использовать все типы мобов?

Код:
    mob-type: ANY
    mob-type: 'ANY'
Работать не хотят.
 
добрый день, подскажите, насколько сильно будет нагружаться сервер, при такой последовательности?
Или стоит делать с помощью DELAY_PLAYER и флага DELAY?

Код:
JOIN:
  onjoin:
    join-state: ANY
    actions:
    - EXECUTE=activator:act_test player:%player%
EXEC:
  act_test:
    actions:
    - WAIT=3600
    - CMD=command_test_01
    - WAIT=3600
    - CMD=command_test_02
    - WAIT=3600
    - CMD=command_test_03
    - WAIT=3600
    - CMD=command_test_04
    - WAIT=3600
    - CMD=command_test_05
    - WAIT=3600
    - CMD=command_test_06
    - WAIT=3600
    - CMD=command_test_07
 
@fromgate, ошибки, когда в игроков стреляют стрелы из раздатчика.
Spigot 1.8.8-R0.1-snapshot
[16:16:36] [Server thread/ERROR]: Could not pass event EntityDamageByEntityEvent to ReActions v0.11.0
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[myj8.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[myj8.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEvent(CraftEventFactory.java:87) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:553) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:466) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:585) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.EntityLiving.d(EntityLiving.java:1102) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.EntityHuman.d(EntityHuman.java:859) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.EntityLiving.damageEntity(EntityLiving.java:743) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.EntityHuman.damageEntity(EntityHuman.java:800) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.EntityPlayer.damageEntity(EntityPlayer.java:496) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.EntityArrow.t_(EntityArrow.java:242) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.World.entityJoinedWorld(World.java:1607) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.World.g(World.java:1582) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.World.tickEntities(World.java:1425) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.WorldServer.tickEntities(WorldServer.java:597) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:786) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [myj8.jar:git-Spigot-21fe707-e1ebe52]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.ClassCastException
 
добрый день, подскажите, насколько сильно будет нагружаться сервер, при такой последовательности?
Или стоит делать с помощью DELAY_PLAYER и флага DELAY?

Код:
JOIN:
  onjoin:
    join-state: ANY
    actions:
    - EXECUTE=activator:act_test player:%player%
EXEC:
  act_test:
    actions:
    - WAIT=3600
    - CMD=command_test_01
    - WAIT=3600
    - CMD=command_test_02
    - WAIT=3600
    - CMD=command_test_03
    - WAIT=3600
    - CMD=command_test_04
    - WAIT=3600
    - CMD=command_test_05
    - WAIT=3600
    - CMD=command_test_06
    - WAIT=3600
    - CMD=command_test_07
Тоже самое, если ты сам бы писал эти команды через заданный промежуток времени. При хорошем онлайне команд в минуту пишут много, поэтому не думаю, что написание команды это такая уж большая нагрузка на сервер, хотя знать бы команду, которую писать будут, это уже другое дело
 
В чем проблема? Почему блок не устанавливается?
Код:
BLOCK_BREAK:
  BB1:
    block: ''
    actions:
    - BLOCK_SET=block:{%block%} loc:{%blocklocation%}
    - MESSAGE=%block%
    - MESSAGE=%blocklocation%
 
Тоже самое, если ты сам бы писал эти команды через заданный промежуток времени. При хорошем онлайне команд в минуту пишут много, поэтому не думаю, что написание команды это такая уж большая нагрузка на сервер, хотя знать бы команду, которую писать будут, это уже другое дело
Команда выдачи одного предмета из набора GIVE_ITEM. Хочется простое средство для последовательной выдачи сета, без лишней архитектуры OnTime.
 
Есть активатор с меню:
Код:
EXEC:
  menu:
    actions:
    - MENU_ITEM=size:9 title:{Система телепорта}
      slot1:{
            type:368
            name:{&7Локация &a№1&7}
            lore:{%varp:lore1%}
            }
      exec1:loc1

Есть персональная переменная 'lore1':
Код:
SOHIGH:
  lore1: '&7[&aНЕ ГОТОВА&7]\n\n&7Кликни, чтобы установить'

upload_2018-3-15_19-41-49.png




Хм, через IF_ELSE не устанавливаются временные перменные((
 
Последнее редактирование:
Есть активатор с меню:
Код:
EXEC:
  menu:
    actions:
    - MENU_ITEM=size:9 title:{Система телепорта}
      slot1:{
            type:368
            name:{&7Локация &a№1&7}
            lore:{%varp:lore1%}
            }
      exec1:loc1

Есть персональная переменная 'lore1':
Код:
SOHIGH:
  lore1: '&7[&aНЕ ГОТОВА&7]\n\n&7Кликни, чтобы установить'





Хм, через IF_ELSE не устанавливаются временные перменные((
давненько уже поднимался этот вопрос:

@fromgate в последних версиях есть один "баг", если выдавать через ITEM_GIVE предмет сохраненный в переменную, ну то есть, например: item_give=%var:fulgurus% и если в описании "Lore" этого предмета есть переносы строк, например: "type:MAP data:2 lore:{&eСвиток Цепная молния\n&eМагия Воздуха\n&f5-й уровень, одноразовый\n&fЗаклинание - &lFulgurus}" то в результате, выдается предмет без переноса строки, вместо переноса просто ставится буква "n", а если выдавать без переменной:
item_give=type:MAP data:2 lore:{&eСвиток Цепная молния\n&eМагия Воздуха\n&f5-й уровень, одноразовый\n&fЗаклинание - &lFulgurus,
то выдается все нормально, в более старых версиях нормально работали оба варианта. А, на всякий случай, сервер версии 1.8.8.

Пришлось пол ночи активаторы переделывать :(
Аррр.. Знаю что это, кажется. Я ещё думал где же это вылезет... Попробую исправить.
 
Есть ли способ запихнуть в input действия REGEX символ $? Суть в том, что у меня есть предмет, в описании которого содержится этот символ, и мне просто необходимо прогонять его через это действие.
- REGEX=input:{%item%} regex:{(&7Кликни, чтобы получить &e&o)(.*)(\$)}
Таким боком получал сумму, которую игрок должен получить при клике предметом. Я давно не обновлял ReActions(в том числе до дев.билдов), и до сего момента все работало нормально. Но после установки последнего обновления с https://dev.bukkit.org/projects/reactions всё стало грустно :с

Код:
Could not pass event ItemClickEvent to ReActions v0.11.0
org.bukkit.event.EventException: null
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[server.jar:git-Paper-1320]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[server.jar:git-Paper-1320]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Paper-1320]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:515) ~[server.jar:git-Paper-1320]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:500) ~[server.jar:git-Paper-1320]
    at me.fromgate.reactions.event.EventManager.raiseItemClickEvent(EventManager.java:173) ~[?:?]
    at me.fromgate.reactions.util.listeners.RaListener.onPlayerInteract(RaListener.java:428) ~[?:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor781.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[server.jar:git-Paper-1320]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[server.jar:git-Paper-1320]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[server.jar:git-Paper-1320]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:515) ~[server.jar:git-Paper-1320]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:500) ~[server.jar:git-Paper-1320]
    at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:236) ~[server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:460) ~[server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:991) ~[server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) ~[server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:5) ~[server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[server.jar:git-Paper-1320]
    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 net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:843) [server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:426) [server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767) [server.jar:git-Paper-1320]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665) [server.jar:git-Paper-1320]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_151]
Caused by: java.lang.IllegalArgumentException: Illegal group reference
    at java.util.regex.Matcher.appendReplacement(Matcher.java:857) ~[?: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.ItemClickActivator.activate(ItemClickActivator.java:64) ~[?:?]
    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.onItemClickActivator(RaListener.java:598) ~[?:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor761.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[server.jar:git-Paper-1320]
    ... 26 more
Всё ещё актуально ;-;
 
Надеюсь я угадал с местом для помощи. Имеется задача, необходимо один раз дать игроку необходимый набор, после того как он пробудет на сервере n-времени.
Попытался сам сделать, но мне кажется это дикий костыль. Поможете как-то проще реализовать?
Код:
JOIN:
  мой_дикий_костыль:
    join-state: ANY
    flags:
    - PERM=react.newjoin
    actions:
    - WAIT=10000ms
    - cmd_op=команда
    - CMD_CONSOLE=pex user %player_name% add -react.newjoin
 
Назад
Верх