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

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

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

  1. MrStalker

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

    Баллы:
    61
    Нет, к сожалению эффект не накладывается. Учитывая то что всё написано правильно, и выполняются нужные активаторы.(Должны выполнятся)
     
  2. Lalki

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

    Баллы:
    66
    ITEM_CLICK:
    WeakShoot:
    item: type:BLAZE_ROD
    actions:
    - SHOOT=damage:2 distance:10 singlehit:true run:{activator:Weak playeronly:true}
    EXEC:
    Weak:
    actions:
    - POTION=type:WEAKNESS level:1 time:5 ambient:false

    Попробуй так, у меня сработало. Если не будет даваться эффект, то значит проблема в версии.
     
  3. Lalki

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

    Баллы:
    66
    А как называется тошнота в действии Potion?
     
  4. Lalki

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

    Баллы:
    66
    Уже нашел.
     
  5. dan_speeday

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

    Баллы:
    76
    Имя в Minecraft:
    _Speeday_
    ясно, бл
     
  6. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    После добавления этого активатора:
    Код:
    MOB_KILL:
      SkeleContr:
        mob-type: SKELETON
        mob-name: ''
        flags:
        - CHANCE=10
        - '!REGION=mobarena1'
        actions:
        - message=&cИз остатков костей незаметно подобрались чешуйницы...
        - mob_spawn=type:SILVERFISH loc:{%player_loc% add-vector:0,1,0}
        - mob_spawn=type:SILVERFISH loc:{%player_loc% add-vector:0,1,0 radius:3 land:true}
        - mob_spawn=type:SILVERFISH loc:{%player_loc% add-vector:0,1,0 radius:3 land:true}
    Появилась следующая ошибка:
    Код:
    [Server thread/ERROR]: Could not pass event MobKillEvent to ReActions v0.10.2
    org.bukkit.event.EventException: null
        at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:46) ~[paperclip.jar:git-Paper-1188]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[paperclip.jar:git-Paper-1188]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[paperclip.jar:git-Paper-1188]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [paperclip.jar:git-Paper-1188]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [paperclip.jar:git-Paper-1188]
        at me.fromgate.reactions.event.EventManager.raiseMobKillEvent(EventManager.java:119) [ReActions.jar:?]
        at me.fromgate.reactions.RAListener.onDropLoot(RAListener.java:246) [ReActions.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor727.execute(Unknown Source) [?:?]
        at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) [paperclip.jar:git-Paper-1188]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) [paperclip.jar:git-Paper-1188]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [paperclip.jar:git-Paper-1188]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [paperclip.jar:git-Paper-1188]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [paperclip.jar:git-Paper-1188]
        at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callEntityDeathEvent(CraftEventFactory.java:395) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityLiving.die(EntityLiving.java:1130) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntitySkeleton.die(EntitySkeleton.java:46) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityLiving.damageEntity(EntityLiving.java:972) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityMonster.damageEntity(EntityMonster.java:44) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.BlockMagma.stepOn(BlockMagma.java:21) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.Entity.move(Entity.java:892) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityLiving.a(EntityLiving.java:1829) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityLiving.n(EntityLiving.java:2132) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityInsentient.n(EntityInsentient.java:508) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityMonster.n(EntityMonster.java:24) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntitySkeletonAbstract.n(EntitySkeletonAbstract.java:96) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityLiving.B_(EntityLiving.java:1960) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityInsentient.B_(EntityInsentient.java:247) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.EntityMonster.B_(EntityMonster.java:28) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.World.entityJoinedWorld(World.java:1755) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.World.h(World.java:1725) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.World.tickEntities(World.java:1539) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.WorldServer.tickEntities(WorldServer.java:675) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:913) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:424) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767) [paperclip.jar:git-Paper-1188]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665) [paperclip.jar:git-Paper-1188]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
    Caused by: java.lang.NullPointerException
    
     
  7. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Build #131
    • Добавлена возможность отлавливать урон моба/игрока от зелий для активатора MOB_DAMAGE
     
  8. M1fest

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

    Баллы:
    6
    Имя в Minecraft:
    Mifest
    Интересная задумка, но почему не обновляется:cry:
     
  9. Cornettess

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

    Баллы:
    61
    Имя в Minecraft:
    CraftZzzzzz
    Можно ли сделать,что бы зомби при респавне получал эффект зелья вечный?
    Или что бы просто у него увеличивалась скорость?
    Если можно то напишите как.Заранее благодарен,с меня лайк.
     
  10. Lalki

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

    Баллы:
    66
    Как с помощью активаторов изменить урон мобам, например, с шансом 10% нанесется на 50% больше урона?
     
  11. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Только через ванильную команду, типа /effect @e[type=Zombie,name=Valera] speed 1000000
    Либо и спавнить моба через ванильную команду - неплохой генератор мобов можно найти на minecraft.tools


    Как-то так. Но придется расписывать для каждого моба.
    Код:
    MOB_DAMAGE:
      IncDamage1:
        mob-type: SKELETON
        mob-name: ''
        flags:
        - chance=10
        actions:
        - var_temp_set=id:damage value:%damage%+%damage%/2
      IncDamage1:
        mob-type: CREEPER
        mob-name: ''
        flags:
        - chance=10
        actions:
        - var_temp_set=id:damage value:%damage%+%damage%/2
     
  12. Kixot14

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

    Баллы:
    88
    Skype:
    Kixot14
    Имя в Minecraft:
    F1xer
    Добавьте действию LOG возможность записывать информацию в назначеный файл. Ну ппц неудобно когда все логи в одной свалке!
    Я бы вывел себе отдельно один чат, отдельно второй, третий... Отдельно системные сообщения, отдельно логи использования команд...

    Да, прийдется к каждой команде и сообщению привязывать действие LOG. Но это пустяк я думаю. На производительность никак не должно повлиять.
     
    Последнее редактирование: 28 авг 2017
  13. Lalki

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

    Баллы:
    66
    Спасибо, я тоже пытался сделать но не понял как делать var_temp_set, я там damage в проценты закрыл.
     
  14. dimkaS

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

    Баллы:
    76
    Имя в Minecraft:
    dimkaS
    А ведь, в принципе можно удалять essentials и юзать ReActions + mycommand
     
  15. Jeff_Michael

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

    Баллы:
    88
    Skype:
    Jeff_Michael14
    Имя в Minecraft:
    Jeff_Michael
    Именно! Но для удобства надо выводить персональные переменные (VAR_PLAYER) в отдельный файл, индивидуально для каждого игрока (конечно же можно всё в БД, но это не всегда удобно...).
     
  16. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Для @fromgate и @maxdikiy к прочтению обязательно:
    --------------------------------------------------------------------
    С давних пор я пользуюсь ReActions'ом. Плагин, изначально задуманный как универсальный инструмент обработки событий справляется со своими задачами прекрасно, имея в своем распоряжении обширный набор инструментов. Но чего-то не хватает, верно?
    ReActions стал бы по настоящему гибким и универсальным если бы пользователь мог вносить в него свои изменения, создавая свои инструменты, редактировать существующие под свои нужные, добавлять совместимость с ReActions'ом в код других плагинов.
    К сожалению, сейчас для этого нужно проделать весьма много работы, ибо средств для этого в плагине почти нет.
    Поэтому, я считаю, для плагина нужно разработать собственное API.

    Во-первых, это значительно упростит жизнь создателям серверов, хотя бы самую малость знакомых с API Bukkit'a.
    Вместо того, чтобы писать целый "самопис" под свои нужды можно просто написать маленький аддон для ReAction'са и использовать его вместе с в "ванильными" средствами плагина. Вместо того, чтобы делать костыли при подключении других плагинов можно просто немного переписать код стороннего плагина, внедрив в него небольшую функцию. Так же эта возможность заинтересует разработчиков собственных плагинов добавить в свои детища совместимость с ReActions'ом, ибо возможность в разы увеличить возможности плагина всего лишь добавив совместимость мало кого оставит равнодушным

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

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


    А еще API значительно упростит жизнь разработчикам - вместо того, чтобы работать над рутинным созданием новых активаторов, действий и флагов они займутся реально сложными, трудоемкими, глобальными вещами, определяющими общую концепцию и функциональность плагина.

    С аддонами ReActions станет модульным - разработчик сможет собрать свою сборку плагин под свои нужды и предпочтения, не нагружая сервер бесполезными и ненужными для него функциями. Даже разработчикам будет гораздо проще разработать еще один небольшой файл с какими-то функциями, нежели встраивать их в уже весьма объемное ядро плагина.

    Ну, в заключение скажу: API станет новым витком для развития ReActions'a. Пользователи будут рады возможности легко доработать плагин, Разработчики - возможности расширить функциональности своих работ.
    С API ReActions станет по-настоящему гибким, простым и многофункциональным инструментом!

    ------------------------------------------------------------------------------------------------

    Ну, лично я готов оказать посильную помощь в разработке: написание документации или вики, например.
    И обещаю самостоятельно разработать парочку аддонов
     
  17. dan_speeday

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

    Баллы:
    76
    Имя в Minecraft:
    _Speeday_
    И охота тебе столько гемора иметь?
     
  18. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    А с командами, кстати, ты так и не разобрался?
     
  19. dan_speeday

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

    Баллы:
    76
    Имя в Minecraft:
    _Speeday_
    Я алиасами все сделал.
     
  20. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @AtomicScience
    Самое главное забыли. Что именно нужно от API.
    Я не верю, что для ReActions кто-то будет писать отдельные модули. Т.е. добавлять плагину поддержку «под-плагинов» — когда-то я об этом задумывался, но при трезвом размышлении отказался.
    Единственный плюс в этом может заключаться в том, что можно весь ReActions разбить на модули и загружать по мере необходимости.

    Обращаться к ReActions из сторонних плагинов в принципе можно. Но прецедентов не было.

    Собственно по этому поводу возникает пара вопросов:
    - Для чего? Если ты пишешь плагин, то вероятность того, решишь состыковать его со скриптовым движком минимальна. Я бы не стал ;)
    - Что может потребоваться от этого API? Поскольку, плагин построен на нескольких статических классах, которые достаточно завершены, то вполне можно использовать их, к примеру для того чтобы читать значение переменных.
    Можно привязываться к событиям, которые реализует для собсвтенных нужд ReActions, можно выполнить какие-то активаторы и т.п.

    Да и по большому счёту, можно считать, что API есть. И если кому-то реально что-то нужно сделать через ReActions — это возможно. Пока таких попыток не было. Появятся, будут вопросы — можно будет рассуждать и о развитии API.
     
    Последнее редактирование: 29 авг 2017

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