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

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

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

  1. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Постараюсь сделать к концу недели.
     
  2. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Проверь последний билд. На 1.14.3 запускается, но нужны тесты.
     
  3. Soul_KRT

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

    Баллы:
    76
    Для тех кто в танке, как скачать последнюю версию?
    Где вы их вымещаете?
     
  4. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    CircleCI. Нужно залогиниться/зарегистрироваться, открыть последний билд, жмякнуть на вкладку "Artifacts" и скачать чуть ниже.
    По возможности, при наличии каких-либо ошибок, или если всё вообще не работает, отпишись сюда или на гитхаб.
     
  5. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Так это... можно же было запулить реквест ;-)
     
  6. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Слишком уж нестабильно было для реквестов. А сейчас, в целом, слишком уж подмял код под себя и своё удобство - пусть останется форком.
     
  7. Soul_KRT

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

    Баллы:
    76
    В консоль каждую минуту спамит эту ошибку:

    [11:55:36] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to ReActions v0.12.8
    org.bukkit.event.EventException: null
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at org.bukkit.craftbukkit.v1_14_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:429) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.PlayerInteractManager.a(PlayerInteractManager.java:432) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1238) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:27) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:1) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:908) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:901) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(SourceFile:127) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:885) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:818) [minecraft_server.jar:git-Spigot-1981d55-7f33c6a]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_211]
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_14_R1.block.CraftBlockState cannot be cast to org.bukkit.block.Sign
    at me.fromgate.reactions.util.listeners.BukkitListener.onSignClick(BukkitListener.java:357) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_211]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_211]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_211]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_211]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[minecraft_server.jar:git-Spigot-1981d55-7f33c6a]

    Так-же, происходит то же, что и было при установке версии ReActions 9+ (созданной для серверов 1.8+) на сервер версии 1.7.10: все как бы работает, но создавать какие либо активаторы из чата нельзя (В документе, честно говоря, не пробовал).
    Не проверял, работает ли хоть что-то сейчас, но спамит в консоль знатно. Причем именно во время нахождения игрока на сервере.

    Версия сервера - 1.14.4
     
  8. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Понял, принял. Завтра выкачу фикс.
     
  9. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Немного о текущем форке. Пускай он и нужен одному с половиной человеку, мне просто любопытно его делать. На текущий момент сделано 88 коммитов(редакций).
    - Работает на версии 1.13 и выше. Одновременно с этим поддержка версий до 1.13 была удалена.
    - Пустые файлы персональных переменных удаляются при старте плагина.
    - Возможность отдельной перезагрузки таймеров, переменных, файла задержек, локаций, конфига, меню, а также активаторов и отдельных групп активаторов.
    /ra reload g dude/testing - перезагрузит группу активаторов testing.yml в папке dude
    /ra reload vt - перезагрузит переменные и таймеры
    a - активаторы, l - локации, c - конфиг, d - задержки, v - переменные, t - таймеры, m - меню; g папка/файл - группа
    Для перезагрузки всего сразу как обычно можно использовать /ra reload, но на мой взгляд она всегда грузила слишком много.
    - Добавлено предупреждение при ошибке в активаторе MESSAGE - чат игроков проходит в отдельном потоке, от чего при использовании третьих плагинов сервер может улететь в краш.
    - Для активаторов, связанных с предметами, вводятся дополнительные проверки на руку(основная, или вторая).
    - Теперь в плагин встроено дополнение PAPI - не придется искать его в закромах темы.
    - Добавлен лимит на раскрывание плейсхолдеров (настраивается в конфиге) - порой, если вы неправильно поставили переменную(вложили её саму в себя), вызывается ошибка переполнения стека.
    - Оптимизирована работа активаторов, их *активация*, а также работа задержек(действие WAIT, например), которые заново обрабатывались при входе игрока. Также добавлено удаление задержек, которые были запущены, но не активированы слишком давно(настраивается в конфиге в часах).
    - Попытка исправления странного поведения активаторов COMMAND, когда они регистрировали команды вместе с пробелом.
    - Попытка исправления ошибки, когда в тексте активатора используется знак $.
    - Новый флаг CHECK_ONLINE - проверяет, онлайн ли игрок.
    Код:
        - CHECK_ONLINE=imDaniX
    - Новый активатор CUBOID(в разработке) - на замену активаторам REGION(_ENTER, _LEAVE). Создание через команду пока невозможно.
    Код:
    CUBOID:
      test_cuboid:
        mode: ENTER # вход, LEAVE - выход
        two_dimensional: false # игнорировать ли координату Y
        world: world
        loc1:
          x: 100
          y: 40
          z: 100
        loc2:
          x: 150
          y: 63
          z: 150
    - Новый активатор PROJECTILE_HIT(в ранней разработке)
    - Плейсхолдеры player_ip (ip игрока), player_level (уровень игрока), player_item_offhand (предмет из второй руки)
    - Указатели player:all и player:null заменены на player:~all и player:~null, дабы избежать проблем с игроками, ники которых "all" и "null".
    - Флаг REGEX - проверка строки на соответствие regex
    Код:
        - REGEX=regex:{ret.*ue} value:{returns true}
    - Флаг HELD_SLOT - проверка активного слота инвентаря игрока. А также пх %player_held_slot%
    Код:
        - HELD_SLOT=4
    - Попытка исправления мертвоспавна мобов MOB_SPAWN.
    - Перенос создания локаций, таймеров, меню и активаторов из команды /ra add в /ra create

    Но... Это все может работать нестабильно - возможности протестировать и половину из этого списка у меня просто не было. Если есть какие-либо комментарии или пожелания - пишите в эту тему(возможно, стоит создать новую, чтобы не засорять эту?) или на гитхаб.

    GitHub(исходный код), CircleCI(последние билды).
     
    Последнее редактирование: 12 авг 2019
  10. stanislavNichik

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

    Баллы:
    66
    Как привязать активатор к сообщению, которое получает определенный игрок?[​IMG]
     
  11. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Примерно так.
    Код:
    MESSAGE:
      trade_confirm:
        type: EQUAL
        source: CHAT_OUTPUT
        mask: '| Введите /trade accept'
        actions:
        - cancel_event=true
        - 'cmd_op=tellraw %player_name% {"text":"Hello"}'
     
  12. stanislavNichik

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

    Баллы:
    66
    Спасибо большое! Не знал, что с определенным игроком будет работать!
     
  13. stanislavNichik

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

    Баллы:
    66
    СРОЧНО Хелп! Как сделать так, чтобы активатор COMMAND срабатывал не только в чате, но и в консоли?
     
  14. stanislavNichik

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

    Баллы:
    66
    Код:
      admin_money_give:
        override: true
        regex: false
        command: admin money give
        flags:
        - PERM=fluxmc.admin
        actions:
        - 'MESSAGE=&6&l| &fИгроку &c%arg3% &fвыдано &b%arg4%руб. &fбаланса'
        - VAR_PLAYER_INC=id:money value:%arg4% player:%arg3%
        reactions:
        - 'MESSAGE=Команда не найдена'
     
  15. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Увы, никак.
     
  16. stanislavNichik

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

    Баллы:
    66
    А вы не знаете плагина, который позволит писать команды через консоль от имени OP?
     
  17. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Стоит попробовать MyCommand.
     
  18. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Я покопался немного - судя по всему, на помощь может придти активатор MESSAGE с типом source: CONSOLE_INPUT.
    На мой взгляд, это несколько странновато, хоть в какой-то мере и логично.
     
  19. Soul_KRT

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

    Баллы:
    76
    @imDaniX
    После перезагрузки плагина в консольке вот такая ошибка:
    Код:
    [18:08:38] [Server thread/INFO]: Soul_KRT issued server command: /ra reload
    [18:08:38] [Server thread/INFO]: [ReActions] Command registered:
    [18:08:44] [Netty Epoll Server IO #1/WARN]: java.lang.UnsupportedOperationException
    [18:08:44] [Netty Epoll Server IO #1/WARN]:     at org.bukkit.event.server.ServerListPingEvent.setServerIcon(ServerListPingEvent.java:124)
    [18:08:44] [Netty Epoll Server IO #1/WARN]:     at com.yapzhenyie.Motd.listeners.ServerListPingListener.onServerPing(ServerListPingListener.java:33)
    [18:08:44] [Netty Epoll Server IO #1/WARN]:     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [18:08:44] [Netty Epoll Server IO #1/WARN]:     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    [18:08:44] [Netty Epoll Server IO #1/WARN]:     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at java.lang.reflect.Method.invoke(Method.java:498)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:508)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at org.bukkit.craftbukkit.v1_14_R1.event.CraftEventFactory.callServerListPingEvent(CraftEventFactory.java:752)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at net.minecraft.server.v1_14_R1.LegacyPingHandler.channelRead(LegacyPingHandler.java:37)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:408)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:308)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
    [18:08:45] [Netty Epoll Server IO #1/WARN]:     at java.lang.Thread.run(Thread.java:748)
    1 2 1

    Не знаю, какое она оказывает влияние на работу плагина..
    Пока изъянов не обнаружил.
     
  20. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Ошибка от плагина MOTD. Не думаю, что РеА причастен, к тому же, после перезагрузки прошло 6 секунд.
     

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