Хостинг серверов Minecraft playvds.com
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

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

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

  1. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Попробуйте локацию поместить в фигурные скобки:
    Код:
    loc:{%PLAYER_LOC% add-vector:0,5,0}
     
  2. Mr Hosting
  3. SOHIGH

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

    Баллы:
    21
    Да что за магия?
    Делал же так, ошибка в консоле была :/
     
  4. SOHIGH

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

    Баллы:
    21
    Ах, да.
    Ошибка в консоле при выполнении активатора:
    Ошибка:
    Код:
    [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
     
  5. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    У вас есть несколько неверных моментов, чтобы всё заработало:
    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% я намеренно создал глобальную переменную, т.к. из-за действий задержек временная переменная удаляется.
     
  6. Neosha

    Neosha Участник Пользователь

    Баллы:
    36
    А с него возможно ли скачивать? Не нашёл такой возможности. Я немного нубик, извините.
     
  7. SOHIGH

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

    Баллы:
    21
     
  8. Neosha

    Neosha Участник Пользователь

    Баллы:
    36
    Благодарю за помощь)
     
  9. gelion

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

    Баллы:
    78
    Skype:
    gelion72
    Имя в Minecraft:
    gelion
    Можете сделать, чтобы активатор REGION_LEAVE срабатывал, когда игрок выходит с сервера находясь в регионе. По идее игрок ведь выходит из региона, когда выходит с сервера
     
  10. maxdikiy

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

    Баллы:
    76
    Имя в Minecraft:
    maxdikiy
    Расскажите, для чего Вам? Сколько я использовал REGION_LEAVE, но мне никогда не нужно это было событие, когда игрок выходит из сервера. В крайнем случае используйте активатор QUIT, чтобы решить свой вопрос.
     
  11. AtomicScience

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

    Баллы:
    76
    Имя в Minecraft:
    AtomicScience
    Вся консоль буквально забита ошибками следующего плана:

    Код:
    [16:40:43] [Server thread/ERROR]: Could not pass event BlockBreakEvent to ReActions v0.10.2
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[Spigot.jar:git-Spigot-72c2605-251a5b6]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[Spigot.jar:git-Spigot-72c2605-251a5b6]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:292) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.PlayerInteractManager.a(PlayerInteractManager.java:219) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.PlayerConnection.a(PlayerConnection.java:848) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.PacketPlayInBlockDig.a(SourceFile:40) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.PacketPlayInBlockDig.a(SourceFile:10) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.PlayerConnectionUtils$1.run(SourceFile:13) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_141]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_141]
        at net.minecraft.server.v1_10_R1.SystemUtils.a(SourceFile:45) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:732) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:400) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:668) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:567) [Spigot.jar:git-Spigot-72c2605-251a5b6]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141]
    Caused by: java.lang.NoSuchMethodError: org.bukkit.event.block.BlockBreakEvent.isDropItems()Z
        at me.fromgate.reactions.event.EventManager.raiseBlockBreakEvent(EventManager.java:551) ~[?:?]
        at me.fromgate.reactions.RAListener.onBlockBreak(RAListener.java:477) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_141]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_141]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_141]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_141]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[Spigot.jar:git-Spigot-72c2605-251a5b6]
        ... 17 more
    Уже три раза качал последний билд. Активаторов типа BLOCK_BREAK не использую.
    Ну и в чем может быть проблема?
     
  12. gelion

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

    Баллы:
    78
    Skype:
    gelion72
    Имя в Minecraft:
    gelion
    ТЫ используешь последнюю сборку ядра сервера?(bukkit/spigot)
     
  13. gelion

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

    Баллы:
    78
    Skype:
    gelion72
    Имя в Minecraft:
    gelion
    Я делаю лобби, количество игроков в котором хранится в переменной. Вход в лобби происходит при клике по табличке, когда игрок телепортируется в регион лобби срабатывает флаг REGION_ENTER в чат выводится сообщение о входе такого-то игрока в игру и значение переменной увеличивается. Если игрок выходит из региона срабатывает активатор REGION_LEAVE, в регионе выводится сообщение, мол такой то игрок вышел из игры и значение переменной уменьшается, но если он выходит из игры находясь в регионе этот активатор не срабатывает.
    Как-то так)
     
  14. SOHIGH

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

    Баллы:
    21
    При входе в регион можно выдать персональную переменную, например: id:Region value:World
    А при выходе из сервера сделать так:
    Код:
    QUIT:
      QUIT_SPAWN:
        flags:
        - VAR_PLAYER_COMPARE=id:Region value:Spawn
        actions:
        - BROADCAST=&7%PLAYER_NAME% вышел с сервера, находясь в регионе %varp:Region%
    Само собой, переменную нужно будет удалять, когда игрок выйдет или изменит регион.
     
  15. gelion

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

    Баллы:
    78
    Skype:
    gelion72
    Имя в Minecraft:
    gelion
    Неплохая идея, просто не очень хочется использовать персональные переменные из за оптимизации. И я не совсем понял зачем удалять переменную если игрок изменит регион?
     
  16. SOHIGH

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

    Баллы:
    21
    @maxdikiy же сказал, что теперь лагов при использовании переменных не будет.

    Зачем удалять переменную?
    Если человек зайдет в этот регион, а потом выйдет с него в другой, то при выходе с сервера будет выполнен активатор QUIT_SPAWN, который выполнит действия.
     
  17. Lalki

    Lalki Участник Пользователь

    Баллы:
    36
    А нельзя увеличивать переменную при клике на табличку, и уменьшать, если игрок кликает на табличку или с помощью действия QUIT с флагом Region?
     
  18. gelion

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

    Баллы:
    78
    Skype:
    gelion72
    Имя в Minecraft:
    gelion
    Это я понял, зачем удалять переменную если игрок изменил регион, а не вышел из него?
     
  19. gelion

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

    Баллы:
    78
    Skype:
    gelion72
    Имя в Minecraft:
    gelion
    При клике на табличку? Я еще не думал, но игрок будет выходить из региона написав команду для выхода, причем тут табличка?
     
  20. Lalki

    Lalki Участник Пользователь

    Баллы:
    36
    Ну выход не с помощью таблички, смысл не меняется
     
  21. gelion

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

    Баллы:
    78
    Skype:
    gelion72
    Имя в Minecraft:
    gelion
    Ну SOHIGH это и сказал (и да я не знаю как сделать ссылку на человека :oops:)
     

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