Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

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

@fromgate, @imDaniX
IRON_NUGGET действительно работает. Ради этого развернул ядро 1.11.2. :)
Каюсь, мой прокол. Название не "&eКлюч от сокровищницы", а "&e&oКлюч от сокровищницы"



Интересно, а можна ли на основе события Item_Click сделать к примеру КД для выпивания зелий ?? Что бы нельзя было пить хилку или есть з.яблоко чаще чем рас в интерва ?
Тебе нужен активатор ITEM_CONSUME

Код:
ITEM_CONSUME:
  AntiPotion:
    item: type:potion
    flags:
    - delay_player=id:PotiWait set-time:5s
    reactions:
    - cancel_event=true



Словил краш, буквально пару минут назад. Виноват ли в этом ReActions, TitleManager(исполняемая команда), или таки ядро PaperSpigot 1.11.2?
Код:
[19:09:23] [Async Chat Thread - #543/ERROR]: Command Dispatched Async: tm amsg -silent Dron_cor §f§l§nВ радиусе §e§l§n200 блоков§f§l§n нет игроков - вас §e§l§nникто не услышал
[19:09:23] [Async Chat Thread - #543/ERROR]: Please notify author of plugin causing this execution to fix this bug! see: http://bit.ly/1oSiM6C
java.lang.Throwable
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:657) [paperclip.jar:git-Paper-1060]
    at me.fromgate.reactions.actions.ActionCommand.execute(ActionCommand.java:52) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Action.executeAction(Action.java:73) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Actions.performAction(Actions.java:185) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:177) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:148) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.activators.MessageActivator.activate(MessageActivator.java:121) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:231) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:287) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.RAListener.onMessageEvent(RAListener.java:473) [ReActions-1.0-SNAPSHOT.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor517.execute(Unknown Source) [?:?]
    at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) [paperclip.jar:git-Paper-1060]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [paperclip.jar:git-Paper-1060]
    at me.fromgate.reactions.event.EventManager.raiseMessageEvent(EventManager.java:428) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.externals.RAProtocolLib$1.onPacketSending(RAProtocolLib.java:127) [ReActions-1.0-SNAPSHOT.jar:?]
    at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:608) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:584) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:309) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:269) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:396) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector.access$500(ChannelInjector.java:77) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector$5.handleScheduled(ChannelInjector.java:362) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector$5.onMessageScheduled(ChannelInjector.java:330) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at net.minecraft.server.v1_11_R1.NetworkManager.a(NetworkManager.java:198) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.NetworkManager.sendPacket(NetworkManager.java:143) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PlayerConnection.sendPacket(PlayerConnection.java:1100) [paperclip.jar:git-Paper-1060]
    at org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer.sendRawMessage(CraftPlayer.java:148) [paperclip.jar:git-Paper-1060]
    at org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer.sendMessage(CraftPlayer.java:155) [paperclip.jar:git-Paper-1060]
    at com.earth2me.essentials.User.sendMessage(User.java:772) [EssentialsX-2.0.1.jar:?]
    at com.earth2me.essentials.chat.EssentialsChatPlayerListenerNormal.onPlayerChat(EssentialsChatPlayerListenerNormal.java:110) [EssentialsXChat-2.0.1.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor442.execute(Unknown Source) [?:?]
    at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) [paperclip.jar:git-Paper-1060]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PlayerConnection.chat(PlayerConnection.java:1299) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1214) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [paperclip.jar:git-Paper-1060]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

upd: теперь каждый раз крашится на этот активатор
 
Последнее редактирование:
@fromgate,
Как идея добавить в новой версии активатор Block-break что бы при поломке блоки он срабатывал?Желательно на версию 1.7.10
 
@fromgate
Я набрался смелости и по Вашим кодам скомпилировал плагин, предварительно добавив, некоторую важную для себя функциональность. Возможно, эти изменения очень помогут другим серверчанам. Вот, что мне было необходимо и я это реализовал:
1. Мне очень не хватало плейсхолдера для группы флагов FLAG_SET, т.е. мне нужно было знать, какой флаг из группы срабатывал. Да, Вы сделали возможность получить плейсхолдер для каждого флага, но не для группы, что очень сильно бы упростило написание активаторов.
Например, мне нужно узнать в каком мире находиться игрок или к какой группе он принадлежит. Раньше для этого я делал рекурсивный активатор, который находил нужное мне значение и это занимало некоторое время. Но теперь всё делается за один проход:
Код:
  exec_get_player_donate:
    flags:
    - FLAG_SET=GROUP:default GROUP:fly GROUP:vip GROUP:vipp GROUP:god GROUP:mvp GROUP:mvpp GROUP:creative
    actions:
    - MESSAGE=%GROUP_FLAG%
На мой взгляд, это очень полезная штука. Для этого я, всего лишь, добавил одну строчку в файл Flags.java
Код:
      public static boolean checkFlag(Player p, String flag, String param, boolean not) {
          Flags ft = Flags.getByName(flag);
          if (ft == null) return false;
          Variables.setTempVar(new StringBuilder(flag).append("_flag").toString().toUpperCase(), param);
          boolean check = ft.check(p, param);
          if (not) return !check;
          return check;
      }

2. Ещё одно, не менее важное изменение. Я добавил ещё один статус игрока, который срабатывает, когда игрок находится в режиме вселившегося внутрь другой сущности. В этом состоянии игрок или группа игроков может беспрепятственно проходить путь внутри другого игрока. При этом ни один из активаторов не срабатывает для вселившихся. Это состояние я назвал SPECTATOR_TARGET.
Для этого, я добавил немного кода в файл FlagState.java:
Код:
    public boolean checkFlag(Player p, String param) {
        Posture pt = Posture.getByName(param);
        if (pt == null) return false;
        switch (pt) {
            .................
            .................
            case SPECTATOR_TARGET:
                if (p.getSpectatorTarget() != null) return true;        }
        return false;
    }
  enum Posture {
  SNEAK,
  SPRINT,
  STAND,
  VEHICLE,
  VEHICLE_MINECART,
  VEHICLE_BOAT,
  VEHICLE_PIG,
  VEHICLE_HORSE,
  FLY,
  OP,
  SPECTATOR_TARGET;

Я не буду вставлять сюда скомпилированный мной jar-файл, это будет не правильно по отношению к автору. Но надеюсь, что эти дополнения будут внедрены в ваш замечательный плагин.

Есть ещё одна важная вещь. Уж очень необходима возможность выполнять активаторы от игрока, который находится в offline. Например, нужно узнать к какой группе принадлежит этот игрок или просто, много других вещей, которые необходимо знать, когда игрока нет на сервере. Я это обходил, путём создания дополнительных переменных, и по ним определял, то что мне нужно. Но это привело к значительному увеличению количества активаторов и действий в них. А также сильно возрос файл переменных у меня он уже занимает 10МБ и при том, что online на сервере не значительный. Я уже задумался добавлять эти переменные в таблицу MySQL, но это всё равно ненужные данные, если появится возможность получать информацию об игроке, находящегося в оффлайне.
Для решения этой проблемы я уже копал в сторону класса OfflinePlayer, но ещё не понял как внедрить в этот плагин. Всё-таки я надеюсь, такая возможность появится в скором будущем.

Спасибо.

Я не верный код вставил по файлу Flags.java, поэтому отредактировал пост
 
Последнее редактирование:
Тебе нужен активатор ITEM_CONSUME

Код:
ITEM_CONSUME:
  AntiPotion:
    item: type:potion
    flags:
    - delay_player=id:PotiWait set-time:5s
    reactions:
    - cancel_event=true



Словил краш, буквально пару минут назад. Виноват ли в этом ReActions, TitleManager(исполняемая команда), или таки ядро PaperSpigot 1.11.2?
Код:
[19:09:23] [Async Chat Thread - #543/ERROR]: Command Dispatched Async: tm amsg -silent Dron_cor §f§l§nВ радиусе §e§l§n200 блоков§f§l§n нет игроков - вас §e§l§nникто не услышал
[19:09:23] [Async Chat Thread - #543/ERROR]: Please notify author of plugin causing this execution to fix this bug! see: http://bit.ly/1oSiM6C
java.lang.Throwable
    at org.bukkit.craftbukkit.v1_11_R1.CraftServer.dispatchCommand(CraftServer.java:657) [paperclip.jar:git-Paper-1060]
    at me.fromgate.reactions.actions.ActionCommand.execute(ActionCommand.java:52) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Action.executeAction(Action.java:73) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Actions.performAction(Actions.java:185) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:177) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:148) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.activators.MessageActivator.activate(MessageActivator.java:121) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:231) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.activators.Activators.activate(Activators.java:287) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.RAListener.onMessageEvent(RAListener.java:473) [ReActions-1.0-SNAPSHOT.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor517.execute(Unknown Source) [?:?]
    at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) [paperclip.jar:git-Paper-1060]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [paperclip.jar:git-Paper-1060]
    at me.fromgate.reactions.event.EventManager.raiseMessageEvent(EventManager.java:428) [ReActions-1.0-SNAPSHOT.jar:?]
    at me.fromgate.reactions.externals.RAProtocolLib$1.onPacketSending(RAProtocolLib.java:127) [ReActions-1.0-SNAPSHOT.jar:?]
    at com.comphenix.protocol.injector.SortedPacketListenerList.invokeSendingListener(SortedPacketListenerList.java:195) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.SortedPacketListenerList.invokePacketSending(SortedPacketListenerList.java:149) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.PacketFilterManager.handlePacket(PacketFilterManager.java:608) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.PacketFilterManager.invokePacketSending(PacketFilterManager.java:584) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ProtocolInjector.packetQueued(ProtocolInjector.java:309) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ProtocolInjector.onPacketSending(ProtocolInjector.java:269) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector.processSending(ChannelInjector.java:396) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector.access$500(ChannelInjector.java:77) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector$5.handleScheduled(ChannelInjector.java:362) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelInjector$5.onMessageScheduled(ChannelInjector.java:330) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.ChannelProxy$2.schedulingRunnable(ChannelProxy.java:127) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at com.comphenix.protocol.injector.netty.EventLoopProxy.execute(EventLoopProxy.java:95) [ProtocolLib.jar:4.2.1-SNAPSHOT-b347]
    at net.minecraft.server.v1_11_R1.NetworkManager.a(NetworkManager.java:198) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.NetworkManager.sendPacket(NetworkManager.java:143) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PlayerConnection.sendPacket(PlayerConnection.java:1100) [paperclip.jar:git-Paper-1060]
    at org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer.sendRawMessage(CraftPlayer.java:148) [paperclip.jar:git-Paper-1060]
    at org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer.sendMessage(CraftPlayer.java:155) [paperclip.jar:git-Paper-1060]
    at com.earth2me.essentials.User.sendMessage(User.java:772) [EssentialsX-2.0.1.jar:?]
    at com.earth2me.essentials.chat.EssentialsChatPlayerListenerNormal.onPlayerChat(EssentialsChatPlayerListenerNormal.java:110) [EssentialsXChat-2.0.1.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor442.execute(Unknown Source) [?:?]
    at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) [paperclip.jar:git-Paper-1060]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:74) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [paperclip.jar:git-Paper-1060]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PlayerConnection.chat(PlayerConnection.java:1299) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:1214) [paperclip.jar:git-Paper-1060]
    at net.minecraft.server.v1_11_R1.PacketPlayInChat$1.run(PacketPlayInChat.java:39) [paperclip.jar:git-Paper-1060]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_121]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_121]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_121]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

upd: теперь каждый раз крашится на этот активатор

Спасибо.

Не понял, крашится при использовании активатора ITEM_CONSUME ??
У меня есть пару активаторов, которые выполняют команды типа give/summon. В них ооочень огромный синтаксис (включая всякие там названия, лоры и проч...) и один такой активатор буквально создаёт спам на 50-70 строк в консоли. Это немного много мешает... Можна как-то решить ??
Не понимаю в чем разница между %PLAYER_NAME% и %PLAYER_DISPLAY% ??
В каких случаях имя игрока может "отличаться от обычного"? Разве его можна как-то изменять??
При срабатывании ITEM_WEAR действия вылезает еррор: http://pastebin.com/8faYSxfK
[upd] Еррора нет лишь в том случае, когда на месте где должен быть одет предмет уже есть что-то другое...

Версия пагина #26 (CircleCI)
Spigot build #986 (1.10.2)


[ВАЖНО] Почему нельзя добавить синтаксис полноценных дефолтных команд в рамках действия ITEM_SLOT к примеру??

----- 'ITEM_SLOT=item:wooden_shovel 1 0 {
----display:{
------Name: "Item name",
------Lore:[
------"Lore1",
------"Lore2",
------"Lore3"]},
----ench:[{id:34, lvl:120} ],
----HideFlags:63}'
----slot:17

Тоесть взять предмет: [id] [Count] [Damage] {dataTags}

и поместить его в слот №17. + правила, что должно случится если на этом месте уже что-то есть.
Теми параметрами <предмета>, которые есть в РеАкшнс сейчас нельзя даже флаг прикрепить к предмету...
 
Последнее редактирование:
Ребят, как скрыть сообщение?
[ReActions] Warning! VELOCITY_JUMP action is under construction. In next version of plugin it could be changed, renamed or removed!
Оно выводится в консоль при использовании Действия VELOCITY_JUMP
 
@imDaniX
Словил краш, буквально пару минут назад. Виноват ли в этом ReActions, TitleManager(исполняемая команда), или таки ядро PaperSpigot 1.11.2?

@Pinkierar
Оно выводится в консоль при использовании ДействияVELOCITY_JUMP

Попробуйте последние билды с CircleCI
@Kixot14
При срабатывании ITEM_WEAR действия вылезает еррор: http://pastebin.com/8faYSxfK
[upd] Еррора нет лишь в том случае, когда на месте где должен быть одет предмет уже есть что-то другое...

Вроде исправил, смотрите последний билд.
 
Вроде исправил, смотрите последний билд.

Предмет теперь можна выдать и одеть действием ITEM_WEAR, но еррор всё ещё присутствует когда слот брони пуст. Правда присутствует как-то через раз... Немогу уловить когда именно http://pastebin.com/BVtYCk6n


А можете добавить HideFlags NBT теґ в опции <предмета> ?
7-й по счету http://minecraft.gamepedia.com/Tutorials/Command_NBT_tags

Или его и сейчас можна каким то боком прикрутить ?
БАГ: когда ты в креативе, действие item_unwear иногда удаляет(а иногда дюпает) предмет (примерно каждое 7-е использование...). Даже когда указано item-action:undress

P.S. кстате, оно (ITEM_UNWEAR) есть, но его почему то не указано в этом списке действий http://reactions.fromgate.ru/index.html?actions.htm
 
Последнее редактирование:
@Kixot14
В текущий вариант всё что касается NBT прикрутить не получится. Я планировал сделать отдельный плагин (даже написал его - там в помимо прочего было что-то вроде базы данных предметов), но так и не допилил взаимодействие ReActions и этого плагина.
Предмет теперь можна выдать и одеть действием ITEM_WEAR, но еррор всё ещё присутствует когда слот брони пуст. Правда присутствует как-то через раз... Немогу уловить когда именно http://pastebin.com/BVtYCk6n
@Kixot14 Ага, теперь эта в другом месте вылезала, вроде починил.
БАГ: когда ты в креативе, действие item_unwear иногда удаляет(а иногда дюпает) предмет (примерно каждое 7-е использование...). Даже когда указано item-action:undress
Попробую потестить. Хорошо бы как-то выяснить действие при котором вылезает ошибка.

P.S. кстате, оно (ITEM_UNWEAR) есть, но его почему то не указано в этом списке действий http://reactions.fromgate.ru/index.html?actions.htm
Ну исходники этой документации утеряны. Вопрос с удобным движком для документации открыт ;)
 
Попробую потестить. Хорошо бы как-то выяснить действие при котором вылезает ошибка.
Но повторюсь, это только когда в креативе. Ошибок не наблюдаю в консоли... Может быть какая-то дефолтная анти-дюп протекция.
Можна ли добавить такую штуку:

Когда у тебя в ITEM_UNWEAR добавлена опция item-action:undress, то когда заполнен инвентарь, этот предмет просто исчезает (снимается и исчезает). Можна ли в случае нехватки места в инвентаре добавить ещё одну опцию что бы заменить item-action:undress на что-то другое?? (дроп к примеру. Или переложить в enderchest/сохранить в базу...).

Или добавить новый флаг, который мог бы проверять сколько свободных слотов есть
Ну исходники этой документации утеряны. Вопрос с удобным движком для документации открыт
Тоесть помимо всех этих функций описаных в данной документации, в РеАкшнс сейчас есть ещё много нового ??
 
@Kixot14 item-action:undress работает так - если инвентарь занят, то дропает где-то рядом с игроком.
Про эндерчест - это интересный вариант, надо подумать
 
@Kixot14 item-action:undress работает так - если инвентарь занят, то дропает где-то рядом с игроком.
Про эндерчест - это интересный вариант, надо подумать
Да, так и работает, извеняюсь. Первый раз тестировал в креативе, и там немного по другому. Предмет всё так же дропает когда нету места, но этот дроп сразу же поглощается и исчезает. В то время как в gm0 он продолжает лежать на земле
@Kixot14 item-action:undress работает так - если инвентарь занят, то дропает где-то рядом с игроком.
Про эндерчест - это интересный вариант, надо подумать
Есть ещё идея при дропе предмета (когда нехватка места) выдавать этому предмету временной тег, что бы на протяжении допустим 5-ти минут его немог поднять никто кроме владельца
 
@Pinkierar
ojgr6dQ.png

Но вообще, https://dev.bukkit.org/projects/reactions/files/2396085
 
Сделайте возможность сортировать активаторы по директориям... Очень неудобно когда их многo
А так же возможность отключения некоторых сообщений из реакшнс...
Какая то ошибка при использовании действия ITEM_REMOVE_INVENTORY - http://pastebin.com/QseGi2Kx
При действии ITEM_REMOVE (без INVENTORY) такой ошибки нет.
Ошибка при попытке "восстановления" предмета с помощью плейсхолдера %item_str%
http://pastebin.com/cz7vwdJT
(возможно из-за того что реАкт поддерживает не все NBT теґи...)
 
Последнее редактирование:
@fromgate
Спасибо! А так же спасибо за плагин :)
Всё же считаю его языком программирования:whistle::good:
 
Сделайте возможность сортировать активаторы по директориям... Очень неудобно когда их многo
А так же возможность отключения некоторых сообщений из реакшнс...
Какая то ошибка при использовании действия ITEM_REMOVE_INVENTORY - http://pastebin.com/QseGi2Kx
При действии ITEM_REMOVE (без INVENTORY) такой ошибки нет.
Ошибка при попытке "восстановления" предмета с помощью плейсхолдера %item_str%
http://pastebin.com/cz7vwdJT
(возможно из-за того что реАкт поддерживает не все NBT теґи...)

Вообще-то, возможность убрать сообщения из реакшонса есть:
upload_2017-3-23_19-50-19.png
 
Ну что, знатоки этого чудесного плагина. Нуждаюсь в вашей помощи.
Суть:
Есть дверь(двери) которые должны быть открыты только в опр. промежутки времени. Т.е. с 2 до 3 скажем они открыты.
 

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

Назад
Верх