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

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

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

  1. imDaniX

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

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Не уверен, что конкретно нужно в обоих случаях :0 Подробнее бы.

    Вариант 1
    1)Запрещаем вход, если нет хотя бы одного обычного сундука.
    Код:
    REGION_ENTER:
      NoEnter2:
        region: NoEnter2
        flags:
        - item_inventory=type:chest
        actions:
        - message=&aУ игрока есть минимум один обычный сундук. Забиваем болт.
        reactions:
        - message=&cУ игрока либо нет сундука, либо сундук кастомный. Низя.
    #    - back=2
    #    - tp=world,0,80,0,0,0
    2)Запрещаем телепорт на спавн если нет хотя бы одного обычного сундука.
    Код:
    COMMAND:
      ChestSpawn:
        override: false
        regex: false
        command: cmd:spawn
        flags:
        - '!item_inventory=type:chest'
        actions:
        - cancel_event=true
        - message=&cВ инвентаре нет ни одного обычного сундука. На спавн не пущу.
    Вариант 2
    1)Запрещаем вход, если нет хотя бы одного обычного сундука или имеется кастомный.
    Код:
    REGION_ENTER:
      NoEnter2:
        region: NoEnter2
        flags:
        - item_inventory=type:chest
        - '!item_inventory=type:chest name:.+ lore:.* regex:true'
        - '!item_inventory=type:chest name:.* lore:.+ regex:true'
        actions:
        - message=&aУ игрока есть минимум один обычный сундук и нет кастомных. Забиваем болт.
        reactions:
        - message=&cУ игрока либо нет сундука, либо имеется кастомный сундук. Низя.
    #    - back=2
    #    - tp=world,0,80,0,0,0
    2)Запрещаем телепорт на спавн если нет хотя бы одного обычного сундука, или имеется кастомный.

    Код:
    COMMAND:
      ChestCmd:
        override: false
        regex: false
        command: cmd:spawn
        flags:
        - item_inventory=type:chest
        - '!item_inventory=type:chest name:.+ lore:.* regex:true'
        - '!item_inventory=type:chest name:.* lore:.+ regex:true'
        reactions:
        - cancel_event=true
        - message=&cВ инвентаре нет ни одного обычного сундука, либо имеется кастомный. На спавн не пущу.
     
  2. SamaraGamer

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

    Баллы:
    76
    Имя в Minecraft:
    SamaraGamer
    Короче, на конкретных примерах.

    1. Тут всё просто, надо чтоб игрока пускало в регион только если у него в инвентаре имеется 1 и только 1 кастомный сундук. Если игрок несет 1, несколько обычных сундуков или не несет их вообще, то его не пускает.
    2. Тут посложнее. Нужно, чтоб игрок не мог пользоваться командой /enderchest, пока у него в инвентаре есть любое количество кастомных сундуков. На обычные сундуки триггериться не должно.
     
  3. SOHIGH

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

    Баллы:
    76
    PlayEffect стоит. WAIT=time:200ms работает.
    Активаторы работают правильно, если выполнять через /exec. А через меню не хотят
     
  4. Lomank

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

    Баллы:
    66
    Имя в Minecraft:
    Lomank
    Если ReActions ещё обновляется, на что я очень надеюсь, то хочу предложить пару новых вещей для удобства, а также обратить внимание на некоторые баги.

    1. Вывод в лог зарегистрированных команд (Исправление):
    На данный момент для каждой команды создаётся строка в логах, что не очень удобно, когда команд достаточно много, получается нехилое засорение консоли. Предлагаю отображать зарегистрированные команды сгруппировано в одну строку. Пример:
    [ReActions] Activator command registered: cmd1, cmd2, cmd3, cmd4, cmd5, cmdn, ...
    Сейчас у меня ещё не много команд, но в будущем будет раза в 4, а то и в 5 больше. Будет очень зафлужена консоль на старте.
    [​IMG]

    2. Активатор ITEM_CONSUME (Исправление):
    Работает только тогда, когда ты съедаешь предмет из правой руки, то бишь ведущей. Когда берёшь предмет в левую руку и поглощаешь его, то активатор не запускается.

    3. Флаг PLAYER_ONLINE (Добавление):
    Добавить флаг, который проверяет наличие указанного игрока в данный момент на сервере.

    4. Флаг PLAYER_RADIUS (Добавление):
    Добавить флаг, который проверяет наличие указанного игрока в указанном радиусе от другого указанного игрока, либо, если второй игрок не указан, в радиусе от игрока, который способствовал запуску активатора.
     
  5. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lomank
    п.1 Сделал ;)

    #206
    • Исправлена ошибка, связанная с несовместимостью API разных версий spigot, проявлявшая себя периодически при стрельбе из лока, бросании зелий и т.п.
    • Информация о регистрации команд, при старте сервера, объедина в одно сообщение.
     
  6. VRovo213

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

    Баллы:
    76
    Как посредством IF_ELSE проверить блок, на котором стоишь?
    if:{%walk_block%==70} - так?
     
  7. Jaysers

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

    Баллы:
    66
    Имя в Minecraft:
    Jaysers
    Привет, делаем активатор Мини лаки-блок
    Нужно чтобы после разбития блока - блок респавнился в рандомной точке опр региона, не получается этого сделать.

    BLOCK_BREAK:
    lucky:
    block: 'type:IRON_BLOCK'
    flags:
    - region=world.srv_lucky_block
    actions:
    - execute=activator:givedrop%random:1-5%
    - action_delayed=time:2s action:{execute activator:spawnlucky_iron_%random:eek:ne,two%}
    EXEC:
    givedrop1:
    actions:
    - item_give=type:{{%random:DIAMOND_,IRON_,GOLD_%}SWORD} lore:{&fДроп с &eЛаки Блока} enchantments:{{%random:Sharpness,Knockback,Smite,Fire aspect%}:{%random:1-2%}}
    givedrop2:
    actions:
    - item_give=type:{{%random:DIAMOND_,IRON_,GOLD_%}{%random:HELMET,CHESTPLATE%} lore:{&fДроп с &eЛаки Блока} enchantments:{{%random:Thorns,Fire Protection,Protection%}:{%random:1-3%}}
    givedrop3:
    actions:
    - item_give=type:{{%random:DIAMOND_,IRON_,GOLD_%}{%random:LEGGINGS,BOOTS%}} lore:{&fДроп с &eЛаки Блока} enchantments:{{%random:Thorns,Fire Protection,Protection%}:{%random:1-3%}}
    givedrop4:
    actions:
    - cmd_console=eco give %player% %random:100,200,500,1000,1200,1500,2000,2500,5000%
    givedrop5:
    actions:
    - item_give=type:golden_apple amount:%random:8,16,32% lore:{Дроп с &eЛаки Блока}
    spawnlucky_iron_one:
    actions:
    - block_set=block:IRON_BLOCK loc:world,-%random:1602-1612%,68,-%random:1026-1032%
    spawnlucky_iron_two:
    actions:
    - block_set=block:IRON_BLOCK loc:world,-%random:1604-1610%,68,-%random:1024-1034%

    Пометил красным все что не пашет!
     
  8. Lalki

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

    Баллы:
    66
    Насколько я знаю нужно поставить одинарные ковычки {'%walk_block%==70'}, а насчет цифрового или буквенного айди - хз
     
  9. VRovo213

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

    Баллы:
    76
    Не работает. И так {"%walk_block%"=="STONE_PLATE"} - не работает
     
  10. SOHIGH

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

    Баллы:
    76
    Где вы вообще нашли этот плейсхолдер?
     
  11. SOHIGH

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

    Баллы:
    76
    Вот тебе активатор EXEC, содержащий флаг WALK_BLOCK в себе.
    Прочитав эту страницу можно понять, что нужно использовать плейсхолдер %walk_block_flag% и он будет работать только в том случае, если флаг WALK_BLOCK будет использован в активаторе.

    Код:
      WALKBLOCK:
        flags:
        - WALK_BLOCK=type:1
        actions:
        - 'MSG=ACTIVATOR:ACT'
        - 'IF_ELSE=if:{''%walk_block_flag%''==''type:1''}
                    then:run:actions:{
                    action1:{MSG=IF_ELSE:ACT}
                    }
                    else:run:actions:{
                    action1:{MSG=IF_ELSE:REACT}
                    }'
        reactions:
        - 'MSG=ACTIVATOR:REACT'
     
    Последнее редактирование: 25 мар 2018
  12. Jaysers

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

    Баллы:
    66
    Имя в Minecraft:
    Jaysers
    Как сделать меч который будет наносить критический урон (дополнительный урон) с определенным шансом ?
     
  13. Lalki

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

    Баллы:
    66
    Код:
    MOB_DAMAGE:
      activator:
        mob-type: Ваш моб (насколько я знаю, сейчас сделать так, чтобы активатор распространялся на всех мобов, нельзя)
        mob-name: имя  моба
        item: описание меча
        flags:
        - chance=50
        actions:
        - var_temp_set=id:damage value:%calc:(%damage%)*1.5%
     
  14. Korvinius

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

    Баллы:
    88
  15. VRovo213

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

    Баллы:
    76
    Ошибка при входе игроков:
    Код:
    29.03 12:01:49 [Server] ERROR Could not pass event PlayerJoinEvent to ReActions v0.11.0 
    29.03 12:01:49 [Server] INFO org.bukkit.event.EventException: null 
    29.03 12:01:49 [Server] INFO at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[PaperSpigot-latest.jar:git-Paper-1364] 
    29.03 12:01:49 [Server] INFO at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[PaperSpigot-latest.jar:git-Paper-1364] 
    29.03 12:01:49 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[PaperSpigot-latest.jar:git-Paper-1364] 
    29.03 12:01:49 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:515) [PaperSpigot-latest.jar:git-Paper-1364] 
    29.03 12:01:49 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:500) [PaperSpigot-latest.jar:git-Paper-1364] 
    29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.PlayerList.onPlayerJoin(PlayerList.java:370) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.PlayerList.a(PlayerList.java:183) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at protocolsupport.zplatform.impl.spigot.network.handler.SpigotLoginListenerPlay.joinGame(SpigotLoginListenerPlay.java:124) [ProtocolSupport(8).jar:?] 29.03 12:01:49 [Server] INFO at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tryJoin(AbstractLoginListenerPlay.java:130) [ProtocolSupport(8).jar:?] 29.03 12:01:49 [Server] INFO at protocolsupport.protocol.packet.handler.AbstractLoginListenerPlay.tick(AbstractLoginListenerPlay.java:92) [ProtocolSupport(8).jar:?] 29.03 12:01:49 [Server] INFO at protocolsupport.zplatform.impl.spigot.network.handler.SpigotLoginListenerPlay.e(SpigotLoginListenerPlay.java:70) [ProtocolSupport(8).jar:?] 29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.NetworkManager.a(NetworkManager.java:255) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.ServerConnection.c(ServerConnection.java:150) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:941) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:426) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:767) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:665) [PaperSpigot-latest.jar:git-Paper-1364] 29.03 12:01:49 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_161] 29.03 12:01:49 [Server] INFO Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Boolean 29.03 12:01:49 [Server] INFO at me.fromgate.reactions.actions.ActionIfElse.execute(ActionIfElse.java:37) ~[?:?] 29.03 12:01:49 [Server] INFO at me.fromgate.reactions.actions.Action.executeAction(Action.java:66) ~[?:?] 29.03 12:01:49 [Server] INFO at me.fromgate.reactions.actions.Actions.performAction(Actions.java:192) ~[?:?] 29.03 12:01:49 [Server] INFO at me.fromgate.reactions.actions.Actions.executeActions(Actions.java:183) ~[?:?] 29.03 12:01:49 [Server] INFO at me.fromgate.reactions.util.waiter.Task.execute(Task.java:58) ~[?:?] 29.03 12:01:49 [Server] INFO at me.fromgate.reactions.util.waiter.ActionsWaiter.refresh(ActionsWaiter.java:72) ~[?:?] 29.03 12:01:49 [Server] INFO at me.fromgate.reactions.util.listeners.RaListener.onPlayerJoin(RaListener.java:410) ~[?:?] 29.03 12:01:49 [Server] INFO at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor302.execute(Unknown Source) ~[?:?] 29.03 12:01:49 [Server] INFO at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[PaperSpigot-latest.jar:git-Paper-1364]
    Код:
    JOIN:
      start_kit:
        join-state: ANY
        flags:
        - GROUP=newkit
        actions:
        - message= &3 ◆
        - WAIT=300000ms
        - cmd_op=cmd
        - CMD_CONSOLE=cmd
        - message= &3 &m◆◆◆◆◆◆◆◆◆◆◆
     
  16. SOHIGH

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

    Баллы:
    76
    @untersider,
    /react add droptestALL2 action MESSAGE drop
     
  17. SOHIGH

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

    Баллы:
    76
    Версия плагина?
    На версии сервера 1.12.2 работает.
     
  18. SOHIGH

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

    Баллы:
    76
    Ошибка 99% из-за версии сервера.
    Никак помочь решить не смогу
     
  19. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Это точно несовместимость с сервером. Я пытался это исправить. Надо будет попробовать ещё раз.
     
  20. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Я боюсь представить, что будет после выхода 1.13.
    Похоже проще будет новый ReActions написать )
     

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