1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Релизы плагинов", создана пользователем fromgate, 16 июл 2013.

  1. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    При чём тут ReActions?
     
  2. rukaban96

    rukaban96 Активный участник Пользователь

    Баллы:
    76
    Активатор mob_click с действием cmd привязан к npc
    Книга в итоге выполняет действия активатора mob_click
     
  3. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Такого не бывает. Перепроверь активаторы.
     
  4. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Книга не может выполнять действия. MOB_CLICK вызывается при клике по мобу. Что у него там в руках значения не имеет.
    Соответственно, что там у NPC в руках ReActions не волнует и ни как не касается. Он просто видит существо и проверяет - имя и тип, прописанные в активаторе.
    Если NPC выдает не то, что должен - то нужно проверять именно что происходит у Citizens.
     
  5. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate, что у меня с руками? Когда я закончил эту часть, ITEM_WEAR работал как часы, раз в две секунды, используя предмет и описание с использованием REGEX.

    Сейчас же удаётся заставить работать только без указания имени и описания на cамом предмете (не учитывая значение regex). Думал, это что-то с сервером наряду с отказом вывода значения %word%, но на локалке то же самое. Менял с ANSI и обратно на UTF-8 без BOM. Не работает :(
    Код:
    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: []
     
    Последнее редактирование: 13 авг 2015
  6. RUSOL

    RUSOL Новичок Пользователь

    Баллы:
    16
    Skype:
    MrRuso1
    Имя в Minecraft:
    RUSOL
    Как сделать, чтобы при входе в регион мобы удалялись? Также ещё не знаю как сделать, чтобы они автоматически спавнелись и чтобы после смерти задавать время через которое они будут спавнится после смерти...
    Прошу помочь! Если можете напишите команды:nerd:)
     
  7. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Команды - долго. Учись работать с конфигом. Накидаю пока что теорию. Не разберёшься - пиши.
    Активатор REGION_ENTER, действие region_clear=type:mobs
    Поясни. Автоматическим может быть что угодно. Циклическое появление мобов точно в срок; кастомное появление мобов, со счётчиком убитых и заспавненых (чтобы новые не спавнились и старые не деспавнились раньше времени).
    Тафтология - плохое качество программиста (даже на таком простом синтаксисе). Ты запутываешь как себя, так и других, прося помощи.
    Каждого моба отдельно или группу спавнить надо? Если каждого моба, то количество активаторов будет равно количеству мобов. Если группой - одним проще. Так же укажи тип спавна (описал выше).
     
  8. RUSOL

    RUSOL Новичок Пользователь

    Баллы:
    16
    Skype:
    MrRuso1
    Имя в Minecraft:
    RUSOL

    Пошёл попробую)
     
  9. rukaban96

    rukaban96 Активный участник Пользователь

    Баллы:
    76
    Автор , может стоит в действии сообщения добавить параметр:выводить несуществующие плейсхойдеры или нет ,
    К примеру если нету плейсхойдера то выводиться %word% , иногда мешает
     
  10. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    А когда плейсхолдер слова в активаторе MESSAGE может не выводиться? о_О
     
  11. rukaban96

    rukaban96 Активный участник Пользователь

    Баллы:
    76
    Если сообщение меняет количество слов
    Он то выводиться , но если я прописал сообщение %word1% %word2%
    А в исходном сообщении бывает 1 и 2 слова в зависимости от ситуации , то к когда 1 слово то получиться следующее
    Слово1 %word2%
    %world2% не в тему получается
     
  12. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Вообще, используя тип CONTAINS, я доставал слова, которые не входили в маску. То есть, в память заносится сразу всё сообщение, а уж потом раскладывается на слова. Однако, если маска предусматривает уменьшение количества слов - тут согласен - плейсхолдер работать не будет. (Но почему же у меня то работает, то нет... Даже плагин с рабочего сервера скинул на локалку проверить - отлично работает вывод моих сообщений! -_-)
     
  13. rukaban96

    rukaban96 Активный участник Пользователь

    Баллы:
    76
    И еще , бывают такие сообщения где цифры заключены в скобки , либо же точка рядом стоит и т.д. Есть возможность их извлечь от туда ?
     
  14. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Разделять слово на символы - нет.
    Вообще, у нормального человека все нужные данные хранятся отдельно, а не вместе с текстом.
    @fromgate, нужен параметр к плейсхолдеру %word%: обрезать то что слева или справа, количество вырезаемых символов. Так же нужен анализ цифр в слове, учитывая предыдущий плейсхолдер. А так же анализ и отдельный вывод... Того, что нужно rukaban96?
     
  15. rukaban96

    rukaban96 Активный участник Пользователь

    Баллы:
    76
    А если эти данные не я создал? , а сторонний плагин выводит в сообщении как результат своей работы
    К примеру сообщения от топора WE Который заключает числа в скобки
     
  16. Lyosha12

    Lyosha12 Активный участник Пользователь

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Я тоже думал об обуздании WE. Например, получать значение количества блоков раньше, чем начнётся их установка, а потом отменять эвент WE. Но, ещё не обуздали...
     
  17. PYRO

    PYRO Активный участник Пользователь

    Баллы:
    78
    @fromgate
    Возникает проблема нанесения урона игроку (ядро - cb1.7.2-r0.3) Версия плагина - последняя
    В действии записано damage=n (n - любое число)
    Но урон игрок получает только визуально (т.е. мерцает красным, слышен звук, но показатель здоровья не уменьшается)
     
  18. rukaban96

    rukaban96 Активный участник Пользователь

    Баллы:
    76
    Удали все плагины , что бы быть уверенным что дело в Reactions
    А если конкретное число указать нормально работает?
     
  19. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @PYRO а версия ReActions какая, последняя? Покажите как действие урона прописано.
     
  20. rukaban96

    rukaban96 Активный участник Пользователь

    Баллы:
    76
    Я плагины не убирал конечно , но у меня как не странно тоже урон не проходит
     

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