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

В 2ух словах если дать npc обычную книгу а потом чаренную ,то в руках будет обычная книга(он ее тебе возвращает) , которая выполянет действия прописанные на npc
При чём тут ReActions?
 
Активатор mob_click с действием cmd привязан к npc
Книга в итоге выполняет действия активатора mob_click
 
Активатор mob_click с действием cmd привязан к npc
Книга в итоге выполняет действия активатора mob_click

Книга не может выполнять действия. MOB_CLICK вызывается при клике по мобу. Что у него там в руках значения не имеет.
Соответственно, что там у NPC в руках ReActions не волнует и ни как не касается. Он просто видит существо и проверяет - имя и тип, прописанные в активаторе.
Если NPC выдает не то, что должен - то нужно проверять именно что происходит у Citizens.
 
@fromgate, что у меня с руками? Когда я закончил эту часть, ITEM_WEAR работал как часы, раз в две секунды, используя предмет и описание с использованием REGEX.

Сейчас же удаётся заставить работать только без указания имени и описания на cамом предмете (не учитывая значение regex). Думал, это что-то с сервером наряду с отказом вывода значения %word%, но на локалке то же самое. Менял с ANSI и обратно на UTF-8 без BOM. Не работает :(
YAML:
COMMAND:
  Test-Command:
    override: true
    regex: false
    command: cmd:test
    flags: []
    actions:
    - cancel_event=true
    - 'item_give=set1:{
                      item1:{enchantments:DURABILITY:3;WATER_WORKER:1 amount:%random:0-6% regex:false data:0 name:{&6Убер-Мисюрка Ундин} type:DIAMOND_HELMET lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}}
                      item2:{enchantments:DURABILITY:3 amount:%random:0-6% regex:false data:0 name:{&6Убер-Параманд Ундин} type:DIAMOND_CHESTPLATE lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}}
                      item3:{enchantments:DURABILITY:3 amount:%random:0-6% regex:false data:0 name:{&6Убер-Кнемиды Ундин} type:DIAMOND_LEGGINGS lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}}
                      item4:{enchantments:DURABILITY:3 amount:%random:0-6% regex:false data:0 name:{&6Убер-Шеклтоны Ундин} type:DIAMOND_BOOTS lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}}
                      }'
    - message=+
    reactions: []
ITEM_WEAR:
  Parkour-Award-Uber-Robe_Undins-Armour:
    item: type:DIAMOND_HELMET amount:1 regex:true
    flags:
    - ITEM_WEAR=enchantments:DURABILITY:3;WATER_WORKER:1 amount:1 regex:false name:{&6Убер-Мисюрка Ундин} type:DIAMOND_HELMET lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
    - ITEM_WEAR=enchantments:DURABILITY:3 amount:1 regex:false name:{&6Убер-Параманд Ундин} type:DIAMOND_CHESTPLATE lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
    - ITEM_WEAR=enchantments:DURABILITY:3 amount:1 regex:false name:{&6Убер-Кнемиды Ундин} type:DIAMOND_LEGGINGS lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
    - ITEM_WEAR=enchantments:DURABILITY:3 amount:1 regex:false name:{&6Убер-Шеклтоны Ундин} type:DIAMOND_BOOTS lore:{&6За победу в паркуре;\n&a%player% &6- лучший игрок!}
    - '!REGION=world_the_end.parkour'
    - '!REGION=world_the_end.dropper'
    actions:
    - POTION=type:DAMAGE_RESISTANCE time:15 level:6
    - POTION=type:INCREASE_DAMAGE time:30 level:3
    - POTION=type:WATER_BREATHING time:5 level:1
    - POTION=type:JUMP time:60 level:4
    - POTION=type:FAST_DIGGING time:360 level:3
    - POTION=type:Speed time:60 level:2
    - POTION=type:NIGHT_VISION time:360 level:3
    - POTION=type:INVISIBILITY time:60 level:3
    - POTION=type:FIRE_RESISTANCE time:120 level:1
    reactions:
    - message=-

@fromgate, тренировал выброс предмета:
Код:
2015-08-13 22:59:02 [SEVERE] Could not pass event QuitEvent to ReActions v0.9.9
org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:46)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
    at me.fromgate.reactions.event.EventManager.raiseQuitEvent(EventManager.java:454)
    at me.fromgate.reactions.RAListener.onPlayerQuitActivators(RAListener.java:376)
    at sun.reflect.GeneratedMethodAccessor698.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:46)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
    at net.minecraft.server.v1_5_R3.PlayerList.disconnect(PlayerList.java:256)
    at net.minecraft.server.v1_5_R3.PlayerConnection.a(PlayerConnection.java:697)
    at org.spigotmc.netty.NettyNetworkManager.b(NettyNetworkManager.java:222)
    at net.minecraft.server.v1_5_R3.PlayerConnection.d(PlayerConnection.java:115)
    at net.minecraft.server.v1_5_R3.ServerConnection.b(SourceFile:35)
    at org.spigotmc.MultiplexingServerConnection.b(MultiplexingServerConnection.java:72)
    at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:583)
    at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227)
    at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472)
    at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404)
    at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.NullPointerException
    at me.fromgate.reactions.actions.ActionItems.setInventorySlot(ActionItems.java:81)
    at me.fromgate.reactions.actions.ActionItems.execute(ActionItems.java:56)
    at me.fromgate.reactions.actions.Action.executeAction(Action.java:73)
    at me.fromgate.reactions.actions.Actions.performAction(Actions.java:182)
    at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:176)
    at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:147)
    at me.fromgate.reactions.activators.QuitActivator.activate(QuitActivator.java:27)
    at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:230)
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:288)
    at me.fromgate.reactions.RAListener.onQuitActivator(RAListener.java:452)
    at sun.reflect.GeneratedMethodAccessor699.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
    ... 25 more
Код:
QUIT:
  QUIT-Test:
    flags:
    - var_player_compare=id:Lyosha12-Own value:1
    actions:
    - ITEM_SLOT=item:AIR exist:drop slot:helmet
    - ITEM_SLOT=item:AIR exist:drop slot:chestplate
    - ITEM_SLOT=item:AIR exist:drop slot:leggins
    - ITEM_SLOT=item:AIR exist:drop slot:boots
    - ITEM_SLOT=item:AIR exist:drop slot:0
    - ITEM_SLOT=item:AIR exist:drop slot:1
    - ITEM_SLOT=item:AIR exist:drop slot:2
    - ITEM_SLOT=item:AIR exist:drop slot:3
    - ITEM_SLOT=item:AIR exist:drop slot:4
    - ITEM_SLOT=item:AIR exist:drop slot:5
    - ITEM_SLOT=item:AIR exist:drop slot:6
    - ITEM_SLOT=item:AIR exist:drop slot:7
    - ITEM_SLOT=item:AIR exist:drop slot:8
    - ITEM_SLOT=item:AIR exist:drop slot:9
    - ITEM_SLOT=item:AIR exist:drop slot:10
    - ITEM_SLOT=item:AIR exist:drop slot:11
    - ITEM_SLOT=item:AIR exist:drop slot:12
    - ITEM_SLOT=item:AIR exist:drop slot:13
    - ITEM_SLOT=item:AIR exist:drop slot:14
    - ITEM_SLOT=item:AIR exist:drop slot:15
    - ITEM_SLOT=item:AIR exist:drop slot:16
    - ITEM_SLOT=item:AIR exist:drop slot:17
    - ITEM_SLOT=item:AIR exist:drop slot:18
    - ITEM_SLOT=item:AIR exist:drop slot:19
    - ITEM_SLOT=item:AIR exist:drop slot:20
    - ITEM_SLOT=item:AIR exist:drop slot:21
    - ITEM_SLOT=item:AIR exist:drop slot:22
    - ITEM_SLOT=item:AIR exist:drop slot:23
    - ITEM_SLOT=item:AIR exist:drop slot:24
    - ITEM_SLOT=item:AIR exist:drop slot:25
    - ITEM_SLOT=item:AIR exist:drop slot:26
    - ITEM_SLOT=item:AIR exist:drop slot:27
    - ITEM_SLOT=item:AIR exist:drop slot:28
    - ITEM_SLOT=item:AIR exist:drop slot:29
    - ITEM_SLOT=item:AIR exist:drop slot:30
    - ITEM_SLOT=item:AIR exist:drop slot:31
    - ITEM_SLOT=item:AIR exist:drop slot:32
    - ITEM_SLOT=item:AIR exist:drop slot:33
    - ITEM_SLOT=item:AIR exist:drop slot:34
    - ITEM_SLOT=item:AIR exist:drop slot:35
    reactions: []
 
Последнее редактирование:
Как сделать, чтобы при входе в регион мобы удалялись? Также ещё не знаю как сделать, чтобы они автоматически спавнелись и чтобы после смерти задавать время через которое они будут спавнится после смерти...
Прошу помочь! Если можете напишите команды:nerd:)
 
Как сделать, чтобы при входе в регион мобы удалялись? Также ещё не знаю как сделать, чтобы они автоматически спавнелись и чтобы после смерти задавать время через которое они будут спавнится после смерти...
Прошу помочь! Если можете напишите команды:nerd:)
Команды - долго. Учись работать с конфигом. Накидаю пока что теорию. Не разберёшься - пиши.
Как сделать, чтобы при входе в регион мобы удалялись?
Активатор REGION_ENTER, действие region_clear=type:mobs
автоматически спавнелись
Поясни. Автоматическим может быть что угодно. Циклическое появление мобов точно в срок; кастомное появление мобов, со счётчиком убитых и заспавненых (чтобы новые не спавнились и старые не деспавнились раньше времени).
после смерти задавать время через которое они будут спавнится после смерти...
Тафтология - плохое качество программиста (даже на таком простом синтаксисе). Ты запутываешь как себя, так и других, прося помощи.
Каждого моба отдельно или группу спавнить надо? Если каждого моба, то количество активаторов будет равно количеству мобов. Если группой - одним проще. Так же укажи тип спавна (описал выше).
 
Команды - долго. Учись работать с конфигом. Накидаю пока что теорию. Не разберёшься - пиши.

Активатор REGION_ENTER, действие region_clear=type:mobs

Поясни. Автоматическим может быть что угодно. Циклическое появление мобов точно в срок; кастомное появление мобов, со счётчиком убитых и заспавненых (чтобы новые не спавнились и старые не деспавнились раньше времени).

Тафтология - плохое качество программиста (даже на таком простом синтаксисе). Ты запутываешь как себя, так и других, прося помощи.
Каждого моба отдельно или группу спавнить надо? Если каждого моба, то количество активаторов будет равно количеству мобов. Если группой - одним проще. Так же укажи тип спавна (описал выше).


Пошёл попробую)
 
Автор , может стоит в действии сообщения добавить параметр:выводить несуществующие плейсхойдеры или нет ,
К примеру если нету плейсхойдера то выводиться %word% , иногда мешает
 
А когда плейсхолдер слова в активаторе MESSAGE может не выводиться? о_О
Если сообщение меняет количество слов
Он то выводиться , но если я прописал сообщение %word1% %word2%
А в исходном сообщении бывает 1 и 2 слова в зависимости от ситуации , то к когда 1 слово то получиться следующее
Слово1 %word2%
%world2% не в тему получается
 
Если сообщение меняет количество слов
Вообще, используя тип CONTAINS, я доставал слова, которые не входили в маску. То есть, в память заносится сразу всё сообщение, а уж потом раскладывается на слова. Однако, если маска предусматривает уменьшение количества слов - тут согласен - плейсхолдер работать не будет. (Но почему же у меня то работает, то нет... Даже плагин с рабочего сервера скинул на локалку проверить - отлично работает вывод моих сообщений! -_-)
 
И еще , бывают такие сообщения где цифры заключены в скобки , либо же точка рядом стоит и т.д. Есть возможность их извлечь от туда ?
 
И еще , бывают такие сообщения где цифры заключены в скобки , либо же точка рядом стоит и т.д. Есть возможность их извлечь от туда ?
Разделять слово на символы - нет.
Вообще, у нормального человека все нужные данные хранятся отдельно, а не вместе с текстом.
@fromgate, нужен параметр к плейсхолдеру %word%: обрезать то что слева или справа, количество вырезаемых символов. Так же нужен анализ цифр в слове, учитывая предыдущий плейсхолдер. А так же анализ и отдельный вывод... Того, что нужно rukaban96?
 
А если эти данные не я создал? , а сторонний плагин выводит в сообщении как результат своей работы
К примеру сообщения от топора WE Который заключает числа в скобки
 
К примеру сообщения от топора WE Который заключает числа в скобки
Я тоже думал об обуздании WE. Например, получать значение количества блоков раньше, чем начнётся их установка, а потом отменять эвент WE. Но, ещё не обуздали...
 
@fromgate
Возникает проблема нанесения урона игроку (ядро - cb1.7.2-r0.3) Версия плагина - последняя
В действии записано damage=n (n - любое число)
Но урон игрок получает только визуально (т.е. мерцает красным, слышен звук, но показатель здоровья не уменьшается)
 
@fromgate
Возникает проблема нанесения урона игроку (ядро - cb1.7.2-r0.3) Версия плагина - последняя
В действии записано damage=n (n - любое число)
Но урон игрок получает только визуально (т.е. мерцает красным, слышен звук, но показатель здоровья не уменьшается)
Удали все плагины , что бы быть уверенным что дело в Reactions
А если конкретное число указать нормально работает?
 
@PYRO а версия ReActions какая, последняя? Покажите как действие урона прописано.
 
Я плагины не убирал конечно , но у меня как не странно тоже урон не проходит
 
Назад
Верх