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

Откидывание жертвы, а то с помощью Exec-а никак его не сделать на монстре.
Это как раз можно сделать. У нас имются координаты стреляющего %shooterloc% и координаты жертвы %targetloc%. Теперь мы просто узнаём расстояние до цели и направление этого вектора, а затем подбираем необходимую скорость для отдачи и результат вставляем в действие velocity.
Чистая математика!

Расстояние:
S=SQRT((x2-x1)^2+(y2-y1)^2+(z2-z1)^2), где x1,y1,z1 - координаты стреляющего
Направление единичного вектора:
V=((x2-x1)/S, (y2-y1)/S,(z2-z1)/S) = V1(x,y,z)
Теперь результат V вставляем в действие velocity с коэффициентом отдачи (k)

- VELOCITY=vector:x*k,y*k,z*k

Дерзайте!
 
Вот что, что я делаю не так?
Есть меню:
Код:
    - 'MENU_ITEM=size:45 title:{Терминал} slot2:{name:{} lore{} } exec2:Exec_cancel slot23:{name:{&c❢ &4Информация} lore:{&7Текущий заработок:\n&b%varp:MoneyEarnedTick%&c$\n\n&7Ёмкость аккумуляторов:\n&b%PowerBank% &amAh\n\n&7Заряд:\n&b%varp:Power% &aКулон\n\n&7Потребляемая энергия:\n&b%varp:PowerNeed% &aКулон\n\n&7Статус:\n&r%varp:status%} type:323} exec23:_ slot1:{name:{&c&l↺ &9Скан} lore:{&7Купить\n&7Анти-сканирующее\n&7Устройство\n&7Цена: 5000$} type:166} exec1:_ slot9:{name:{&c&l℃ &4Перегрев} lore:{&7Потушить терминал\n&7Цена: 5000$} type:327} exec9:_ exec1:_ slot28:{name:{&c&l↯ &9Аккумуляторы} lore:{&7Купить дополнительный\n&7Аккумулятор} type:152} exec28:Exec_BuyPowerBankType slot37:{name:{&c&l↯ &9Заряд} lore:{&7Пополнить заряд\n&7Аккумуляторов} type:331} exec37:Exec_BuyPower slot45:{name:{&c&l$ &9Деньги} lore:{&7Забрать заработанные\n&7Деньги:\n&b%varp:MoneyEarned%&c$} type:265} exec45:Exec_MoneyEarned slot5:{name{&c↑ &9Улучшения} lore{&7Кликни, чтобы\n&7открыть список\n&7улучшений, которые\n&7возможно купить} type:384} exec5:Exec_buyupgrade'
При клике на любой не занятый слот меня выкидывает с меню.
Предпологаю, что тут нужно использовать активатор INVENTORY_CLICK, но как именно не понимаю.

Пытался выполнять действие CANCEL_EVENT с помощью этого активатора, но, неверно.
Код:
  Exec_cancel:
    actions:
    - CANCEL_EVENT=true



И еще 1 вопрос:
Как удалить глобальную переменную, значение которой является мой ник(%Player_name%)?
Пытался так:
Проверял у переменной свой ник, затем переменной присваивал значение.
Код:
    - IF_ELSE=
        if:{%var:Terminal_143,64,53%==%Player_name%}
        then:run:actions:{
            action1:{VAR_SET=id:Terminal_143,64,53 value:0}
        }
        else:{}
        }
Как оказалось - не работает.
 
Последнее редактирование:
При клике на любой не занятый слот меня выкидывает с меню.
При выборе любого слота меню, инвентарь меню удаляется.
Попробуйте ко всем не занятым слотам установить активатор, который создаёт это меню.
 
Как удалить глобальную переменную, значение которой является мой ник(%Player_name%)?
Пытался так:
Проверял у переменной свой ник, затем переменной присваивал значение.
- IF_ELSE=
if:{%var:Terminal_143,64,53%==%Player_name%}
then:run:actions:{
action1:{VAR_SET=id:Terminal_143,64,53 value:0}
}
else:{}
}
Как оказалось - не работает.
Объекты в условии не определены. Используйте %ifelsedebug% для того, чтобы себя проверить.
Вам нужно заключить всё в кавычки:
Код:
if:{"%var:Terminal_143,64,53%"=="%Player_name%"}

А для того, чтобы удалить глобальную переменную нужно использовать действие VAR_CLEAR
 
Это как раз можно сделать. У нас имются координаты стреляющего %shooterloc% и координаты жертвы %targetloc%. Теперь мы просто узнаём расстояние до цели и направление этого вектора, а затем подбираем необходимую скорость для отдачи и результат вставляем в действие velocity.
Чистая математика!

Расстояние:
S=SQRT((x2-x1)^2+(y2-y1)^2+(z2-z1)^2), где x1,y1,z1 - координаты стреляющего
Направление единичного вектора:
V=((x2-x1)/S, (y2-y1)/S,(z2-z1)/S) = V1(x,y,z)
Теперь результат V вставляем в действие velocity с коэффициентом отдачи (k)

- VELOCITY=vector:x*k,y*k,z*k

Дерзайте!
Разве активаторы работают на монстров?
 
Разве активаторы работают на монстров?
Я не обратил внимание, что вам нужно для монстров. Жертву-игрока откинет, а монстров - нет. Думаю, что отдачу можно будет сделать для всех.
 
Каждый раз обращаясь в эту тему со своим вопросом - всегда получаю ответ, за что огромное всем спасибо, особенно @maxdikiy.

Назрел у меня еще 1 вопрос :d
Имею активатор:
Код:
EXEC:
  Exec_MoneyEarned_%var:Terminal_146,64,53%:
    flags:
    - VAR_PLAYER_GREATER=player:%var:Terminal_146,64,53% id:MoneyEarned value:0
    actions:
    - MESSAGE=&7Балланс счета &b0&c$&7. Выводить нечего.
    reactions:
    - MESSAGE=&7Вы сняли &b%varp:%var:Terminal_146,64,53%.MoneyEarned%&c$ &7с термилана игрока &b%var:Terminal_146,64,53%.
    - MONEY_GIVE=%varp:%var:Terminal_146,64,53%.MoneyEarned%
    - VAR_PLAYER_SET=player:%var:Terminal_146,64,53% id:MoneyEarned value:0

При попытке перенести его в другой файл, для удобной работы с ним получаю это:
upload_2017-10-31_23-29-37.png
Пытаюсь перенести командой:
/react group Exec_MoneyEarned_%var:Terminal_146,64,53% Terminal

Можно-ли как-нибудь создать новый файл с несколькими активаторами?
 
Exec_MoneyEarned_%var:Terminal_146,64,53%
Это что такое? Название активатора?
Это всё равно что (предположительно):
Код:
EXEC:
  Exec_MoneyEarned_%var:
    Terminal_146,64,53%:
      flags:
      - VAR_PLAYER_GREATER=player:%var:Terminal_146,64,53% id:MoneyEarned value:0
      actions:
      - MESSAGE=&7Балланс счета &b0&c$&7. Выводить нечего.
      reactions:
      - MESSAGE=&7Вы сняли &b%varp:%var:Terminal_146,64,53%.MoneyEarned%&c$ &7с термилана игрока &b%var:Terminal_146,64,53%.
      - MONEY_GIVE=%varp:%var:Terminal_146,64,53%.MoneyEarned%
      - VAR_PLAYER_SET=player:%var:Terminal_146,64,53% id:MoneyEarned value:0
Возьмите в кавычки тогда: 'Exec_MoneyEarned_%var:Terminal_146,64,53%'
Зачем так всё усложнять. Потом вы запутаетесь в будущем.
 
Последнее редактирование:
Build #162
  • Добавлена возможность отбрасывания существа-цели при выстреле с помощью действия SHOOT
  • Для этого необходимо к действию SHOOT добавить параметр knockbackTarget:<число>
  • <число> - устанавливает начальную скорость отбрасывания цели
  • Для активатора INVENTORY_CLICK добавлена проверка по имени инвентаря name:'' и добавлен плейсхолдер %name%
 
Доброго времени суток @fromgate и @maxdikiy
У меня проблема с плагином после обновления.
Код:
Could not pass event ProjectileHitEvent to ReActions v0.10.2
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[survival.jar:git-Spigot-21fe707-e1ebe52]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[survival.jar:git-Spigot-21fe707-e1ebe52]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [survival.jar:git-Spigot-21fe707-e1ebe52]                                      at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callProjectileHitEvent(CraftEventFactory.java:760) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.EntityArrow.t_(EntityArrow.java:224) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.World.entityJoinedWorld(World.java:1607) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.World.g(World.java:1582) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.World.tickEntities(World.java:1425) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.WorldServer.tickEntities(WorldServer.java:597) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:786) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.lang.NoSuchMethodError: org.bukkit.event.entity.ProjectileHitEvent.getHitEntity()Lorg/bukkit/entity/Entity;
        at me.fromgate.reactions.event.EventManager.raiseProjectileHitEvent(EventManager.java:573) ~[?:?]
        at me.fromgate.reactions.RAListener.onProjectileHitEvent(RAListener.java:325) ~[?:?]
        at sun.reflect.GeneratedMethodAccessor333.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[survival.jar:git-Spigot-21fe707-e1ebe52]
        ... 14 more

/version
Код:
[12:45:17 INFO]: This server is running CraftBukkit version git-Spigot-21fe707-e1ebe52 (MC: 1.8.8) (Implementing API version 1.8.8-R0.1-SNAPSHOT)
[12:45:17 INFO]: You are 809 version(s) behind

Логи запуска ReActions(отдельно выгружал и подгружал через ASW pmanager):
Код:
[12:46:19 INFO]: [ReActions] Enabling ReActions v0.10.2
[12:46:20 INFO]: [ReActions] PlayEffect plugin is not found at your system
[12:46:20 INFO]: [ReActions] If you need more effects please download PlayEffect from:
[12:46:20 INFO]: [ReActions] http://dev.bukkit.org/bukkit-plugins/playeffect/
[12:46:20 INFO]: [ReActions] ProtocolLib connected
[12:46:20 INFO]: [ReActions] Vault connected
[12:46:20 INFO]: [ReActions] WorldGuard 6.0.0-beta-03.1514- found. Bridge loaded: WGBridge 0.0.2/WG6x
[12:46:20 INFO]: [ReActions] Failed to load delayed actions

Активаторов и прочего ничего нету.
 
Доброго времени суток @fromgate и @maxdikiy
У меня проблема с плагином после обновления.
Код:
Could not pass event ProjectileHitEvent to ReActions v0.10.2
org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[survival.jar:git-Spigot-21fe707-e1ebe52]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[survival.jar:git-Spigot-21fe707-e1ebe52]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [survival.jar:git-Spigot-21fe707-e1ebe52]                                      at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.callProjectileHitEvent(CraftEventFactory.java:760) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.EntityArrow.t_(EntityArrow.java:224) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.World.entityJoinedWorld(World.java:1607) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.World.g(World.java:1582) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.World.tickEntities(World.java:1425) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.WorldServer.tickEntities(WorldServer.java:597) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:786) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [survival.jar:git-Spigot-21fe707-e1ebe52]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
Caused by: java.lang.NoSuchMethodError: org.bukkit.event.entity.ProjectileHitEvent.getHitEntity()Lorg/bukkit/entity/Entity;
        at me.fromgate.reactions.event.EventManager.raiseProjectileHitEvent(EventManager.java:573) ~[?:?]
        at me.fromgate.reactions.RAListener.onProjectileHitEvent(RAListener.java:325) ~[?:?]
        at sun.reflect.GeneratedMethodAccessor333.invoke(Unknown Source) ~[?:?]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[survival.jar:git-Spigot-21fe707-e1ebe52]
        ... 14 more

/version
Код:
[12:45:17 INFO]: This server is running CraftBukkit version git-Spigot-21fe707-e1ebe52 (MC: 1.8.8) (Implementing API version 1.8.8-R0.1-SNAPSHOT)
[12:45:17 INFO]: You are 809 version(s) behind

Логи запуска ReActions(отдельно выгружал и подгружал через ASW pmanager):
Код:
[12:46:19 INFO]: [ReActions] Enabling ReActions v0.10.2
[12:46:20 INFO]: [ReActions] PlayEffect plugin is not found at your system
[12:46:20 INFO]: [ReActions] If you need more effects please download PlayEffect from:
[12:46:20 INFO]: [ReActions] http://dev.bukkit.org/bukkit-plugins/playeffect/
[12:46:20 INFO]: [ReActions] ProtocolLib connected
[12:46:20 INFO]: [ReActions] Vault connected
[12:46:20 INFO]: [ReActions] WorldGuard 6.0.0-beta-03.1514- found. Bridge loaded: WGBridge 0.0.2/WG6x
[12:46:20 INFO]: [ReActions] Failed to load delayed actions

Активаторов и прочего ничего нету.
Судя по листингу, у вас старая версия плагина. Скачайте последнюю версию здесь:

Загрузить последнюю версию
 
Последнее редактирование:

Вложения

  • upload_2017-11-1_23-25-54.png
    upload_2017-11-1_23-25-54.png
    6,4 КБ · Просмотры: 7
Нет. Там редко последняя версия, т.к. на BukkitDev проверяют плагины, чтобы бекдоров не было.
Совсем не по этой причине.
Можно хоть каждый день туда выкладывать, просто это дополнительные телодвижения. Поэтому там выкладываются периодически.

Актуальная версия на CircleCi.
 
Хм, возможно, я что-то делаю не так, но у меня не работает add-vector:
Код:
  'Create_Terminal':
    command: Terminal
    actions:
    - 'BLOCK_SET=block:84 loc:%PLAYER_LOC% add-vector:0,5,0'

Блок устанавливается на %PLAYER_LOC%
 
Хм, возможно, я что-то делаю не так, но у меня не работает add-vector:
Код:
  'Create_Terminal':
    command: Terminal
    actions:
    - 'BLOCK_SET=block:84 loc:%PLAYER_LOC% add-vector:0,5,0'

Блок устанавливается на %PLAYER_LOC%
Попробуйте локацию поместить в фигурные скобки:
Код:
loc:{%PLAYER_LOC% add-vector:0,5,0}
 
Ах, да.
Ошибка в консоле при выполнении активатора:
Ошибка:
Код:
[03:08:39] [Server thread/INFO]: SOHIGH issued server command: /Terminal
[03:08:39] [Server thread/ERROR]: Could not pass event CommandEvent to ReActions v0.10.2
org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at me.fromgate.reactions.event.EventManager.raiseCommandEvent(EventManager.java:240) [ReActions-1.0-SNAPSHOT%20(1).jar:?]
    at me.fromgate.reactions.RAListener.onPlayerCommand(RAListener.java:405) [ReActions-1.0-SNAPSHOT%20(1).jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1377) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_144]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_144]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
Caused by: java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) ~[?:1.8.0_144]
    at java.util.ArrayList$Itr.next(ArrayList.java:851) ~[?:1.8.0_144]
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:328) ~[?:?]
    at me.fromgate.reactions.RAListener.onCommandActivator(RAListener.java:547) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[Spigot.jar:git-Spigot-596221b-9a1fc1e]
    ... 26 more
Активатор:
Код:
  Create_Terminal:
    override: true
    regex: false
    command: Terminal
    actions:
    - VAR_TEMP_SET=id:index value:%CALC:%var:count%-1%
    - BLOCK_SET=block:84 loc:{%PLAYER_LOC% add-vector:0,-1,0}
    - CMD_OP=react add loc loc_terminal_%index%
    - CMD_OP=react add BLOCK_CLICK CLICK_%index% type:84 click:Right location:loc_terminal_%index%
    - CMD_OP=react group CLICK_%index% Terminal_%index%
    - VAR_INC=id:count value:1
 
Ах, да.
Ошибка в консоле при выполнении активатора:
Ошибка:
Код:
[03:08:39] [Server thread/INFO]: SOHIGH issued server command: /Terminal
[03:08:39] [Server thread/ERROR]: Could not pass event CommandEvent to ReActions v0.10.2
org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at me.fromgate.reactions.event.EventManager.raiseCommandEvent(EventManager.java:240) [ReActions-1.0-SNAPSHOT%20(1).jar:?]
    at me.fromgate.reactions.RAListener.onPlayerCommand(RAListener.java:405) [ReActions-1.0-SNAPSHOT%20(1).jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:499) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:484) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1377) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1220) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_144]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_144]
    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:747) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:405) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:678) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:576) [Spigot.jar:git-Spigot-596221b-9a1fc1e]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
Caused by: java.util.ConcurrentModificationException
    at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901) ~[?:1.8.0_144]
    at java.util.ArrayList$Itr.next(ArrayList.java:851) ~[?:1.8.0_144]
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:328) ~[?:?]
    at me.fromgate.reactions.RAListener.onCommandActivator(RAListener.java:547) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[Spigot.jar:git-Spigot-596221b-9a1fc1e]
    ... 26 more
Активатор:
Код:
  Create_Terminal:
    override: true
    regex: false
    command: Terminal
    actions:
    - VAR_TEMP_SET=id:index value:%CALC:%var:count%-1%
    - BLOCK_SET=block:84 loc:{%PLAYER_LOC% add-vector:0,-1,0}
    - CMD_OP=react add loc loc_terminal_%index%
    - CMD_OP=react add BLOCK_CLICK CLICK_%index% type:84 click:Right location:loc_terminal_%index%
    - CMD_OP=react group CLICK_%index% Terminal_%index%
    - VAR_INC=id:count value:1
У вас есть несколько неверных моментов, чтобы всё заработало:
1. необходимо определить %var:count% (последнее действие должно быть первым)
2. Для активатора BLOCK_CLICK вместо location нужно указать loc (документацию уже поправил на этот счёт)
3. Что касается исключения, то для тяжёлых задач, таких как создание активаторов через консоль, необходимо делать задержку.
В общем, вот что у Вас должно получиться:
Код:
Create_Terminal:
    override: true
    regex: false
    command: Terminal
    actions:
    - VAR_INC=id:count value:1
    - VAR_SET=id:index value:%CALC:%var:count%-1%
    - BLOCK_SET=block:84 loc:{%PLAYER_LOC% add-vector:0,-1,0}
    - CMD_OP=react add loc loc_terminal_%var:index%
    - wait=time:100ms
    - CMD_OP=react add BLOCK_CLICK CLICK_%var:index% type:84 click:Right loc:loc_terminal_%var:index%
    - wait=time:100ms
    - CMD_OP=react group CLICK_%var:index% Terminal_%var:index%
    - VAR_CLEAR=id:index
Вместо временной переменной %index% я намеренно создал глобальную переменную, т.к. из-за действий задержек временная переменная удаляется.
 
Назад
Верх