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

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

Добрый вечер.
Интересует вопрос, как с помощью регулярных выражений модицировать команду /money pay так, чтобы нельзя было переводить сумму более 1500$ за 1 раз.
Пытался сделать, вообще не работает, не понимаю, что не так делаю..
COMMAND:
moneypaycommand:
override: true
regex: true
command: money pay
actions:
- CANCEL_EVENT=true
- 'REGEX=input:{%command%} regex:{.+\s(\w+) (.+)}'
- exec moneypaycmd player:%player%
EXEC:
moneypaycmd:
flags:
- GREATER param:%group02% value:1500
actions:
- cmd=money pay %player_name% 1500
- message=&cНа команду &e/money pay&c наложено ограничение. Вы не сможете перевести больше &e1500$&cза 1 раз.
- cmd_console=mail send console §4§lИгрок §c%player%% §4§lпытался перевести §c%group02% §4§lигроку §c%player_name%§4§l.
Попоробуй так:
Код:
COMMAND:
  moneypaycommand:
    override: true
    regex: false
    command: money pay
    flags:
    - '!LOWER=param:%arg1% value:1500' //Или %arg2%. Потести, я точно не помню
    actions:
    - CANCEL_EVENT=true
    - MESSAGE=text....
 
Приветствую, в чем ошибка?

Я заменил команды плагина AdvancedAchievements на свои, проблема в том что команды ReA требуют пермишен для выполнения, но в действии же выставлено CMD_OP.
https://github.com/PyvesB/AdvancedAchievements/tree/74a985929ceab1413c43e8117bcad22284919928
Пермишена AdvancedAchievements у игроков нет.

Код:
  Ach:
    override: true
    regex: false
    command: ach
    actions:
    - CANCEL_EVENT=TRUE
    - CMD_OP=help ach
  Achhelp:
    override: true
    regex: false
    command: ach help
    actions:
    - CANCEL_EVENT=TRUE
    - CMD_OP=help ach
  Achlist:
    override: true
    regex: false
    command: ach list
    actions:
    - CANCEL_EVENT=TRUE
    - CMD_OP=aach list
  Achstats:
    override: true
    regex: false
    command: ach stats
    actions:
    - CANCEL_EVENT=TRUE
    - CMD_OP=aach stats
 
Последнее редактирование:
Здравствуйте, подскажите пожалуйста, каким образом (флагом, набором флагов) можно реализовать проверку региона для блока-активатора? Нужно чтобы работал только в global и нигде больше. Region проверяет только игрока, а костыли по типу region_in_radius и region_member работать отказались.
 
Как можно сделать вытягивание данных защиты и подсчёт в параметрах брони? Что я тут делаю не так.

DAMAGE:
mob-type: zombie
mob-name: ''
item: ''
actions:
- 'REGEX=input:{%PLAYER_ITEM_HAND%} regex:{\Защита: ..\d*-\d*}'
- REGEX=input:{%group00%} regex:{\d+-\d+}
- VAR_TEMP_SET=id:defence value:%random:%group00%%
- 'MESSAGE=%player% &c&l
e29a94.png
&eВы отразили: &c%defence% единиц урона &a%mobname%'
 
на 1.14-1.15 будет работать?
или выше 1.12 не поддерживается
 
на 1.14-1.15 будет работать?
или выше 1.12 не поддерживается
Нет, вообще не будет, разве что только он. Я пробовал форк, но он работал криво и умудрился сломать мне WorldGuard.
На 1.13+ попробуй Trigger Reactor, вроде неплохо пашет, хотя сервером у меня по каким-то причинам не подтянулся, тут тестить надо, а сервера лежат
 
Кто может подсказать - как сделать автошахту? Разобралась с таймерами и прочим, но не знаю как подружить ReActions и WorldEdit/WorldGuard на моменте двух команд:
/rg select имя_региона
//set 50%1,25%2,25%3
 
У меня реализовано так!


Код:
REGION_ENTER:
  var_actionbar:
    region: world.mine
    actions:
    - VAR_PLAYER_SET=id:weight value:0
BLOCK_BREAK:
  nightvis:
    block: type:95
    flags:
    - REGION=world.mine
    actions:
    - cancel_event=true
    - POTION=type:NIGHT_VISION time:90s
    - message=&6>> &fТы получил ночное зрение на &a90 &fсекунд
  Coal_break:
    block: type:COAL_ORE
    flags:
    - REGION=world.mine
    actions:
    - execute=activator:coal_mine
  iron_break:
    block: type:IRON_ORE
    flags:
    - REGION=world.mine
    actions:
    - execute=activator:iron_mine
  gold_break:
    block: type:GOLD_ORE
    flags:
    - REGION=world.mine
    actions:
    - execute=activator:gold_mine
  lapis_break:
    block: type:LAPIS_ORE
    flags:
    - REGION=world.mine
    actions:
    - execute=activator:lapis_mine
  diamond_break:
    block: type:DIAMOND_ORE
    flags:
    - REGION=world.mine
    actions:
    - execute=activator:diamond_mine
  Cancel:
    flags:
    - REGION=world.mine
    actions:
    - cancel_event=true
COMMAND:
  coal_sale_cmd:
    override: false
    regex: false
    command: cmd:coal_sale
    flags:
    - VAR_PLAYER_GREATER=id:weight value:0
    actions:
    - execute=activator:coal_sale
    reactions:
    - message=&6>> &fСначала поработай, хватит жопу чесать!
EXEC:
  coal_mine:
    flags:
    - REGION=world.mine
    actions:
    - cancel_event=true
    - block_set=block:cobblestone loc:%blocklocation%
    - VAR_PLAYER_INC=id:weight value:%random:2-3%
    - cmd_console=title %player% actionbar ["",{"text":"\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430:","color":"gold"},{"text":" %varp:weight%","color":"red"}]
    - execute=activator:coal_set delay:15s
  coal_set:
    flags:
    - block=block:cobblestone loc:%blocklocation%
    actions:
    - block_set=block:COAL_ORE loc:%blocklocation%
  iron_mine:
    flags:
    - REGION=world.mine
    actions:
    - cancel_event=true
    - block_set=block:cobblestone loc:%blocklocation%
    - VAR_PLAYER_INC=id:weight value:%random:3-5%
    - cmd_console=title %player% actionbar ["",{"text":"\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430:","color":"gold"},{"text":" %varp:weight%","color":"red"}]
    - execute=activator:iron_set delay:20s
  iron_set:
    flags:
    - block=block:cobblestone loc:%blocklocation%
    actions:
    - block_set=block:IRON_ORE loc:%blocklocation%
  gold_mine:
    flags:
    - REGION=world.mine
    actions:
    - cancel_event=true
    - block_set=block:cobblestone loc:%blocklocation%
    - VAR_PLAYER_INC=id:weight value:%random:4-7%
    - cmd_console=title %player% actionbar ["",{"text":"\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430:","color":"gold"},{"text":" %varp:weight%","color":"red"}]
    - execute=activator:gold_set delay:15s
  gold_set:
    flags:
    - block=block:cobblestone loc:%blocklocation%
    actions:
    - block_set=block:GOLD_ORE loc:%blocklocation%
  lapis_mine:
    flags:
    - REGION=world.mine
    actions:
    - cancel_event=true
    - block_set=block:cobblestone loc:%blocklocation%
    - VAR_PLAYER_INC=id:weight value:%random:2-5%
    - cmd_console=title %player% actionbar ["",{"text":"\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430:","color":"gold"},{"text":" %varp:weight%","color":"red"}]
    - execute=activator:lapis_set delay:18s
  lapis_set:
    flags:
    - block=block:cobblestone loc:%blocklocation%
    actions:
    - block_set=block:LAPIS_ORE loc:%blocklocation%
  diamond_mine:
    flags:
    - REGION=world.mine
    actions:
    - cancel_event=true
    - block_set=block:cobblestone loc:%blocklocation%
    - VAR_PLAYER_INC=id:weight value:%random:9-14%
    - cmd_console=title %player% actionbar ["",{"text":"\u041e\u0436\u0438\u0434\u0430\u0435\u043c\u0430\u044f \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u0430:","color":"gold"},{"text":" %varp:weight%","color":"red"}]
    - execute=activator:diamond_set delay:30s
  diamond_set:
    flags:
    - block=block:cobblestone loc:%blocklocation%
    actions:
    - block_set=block:DIAMOND_ORE loc:%blocklocation%
  #sell
  coal_sale:
    actions:
    - MONEY_GIVE=%varp:weight%
    - cmd_console=title %player% title ["",{"text":"\u0417\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u043e:","color":"green"},{"text":" %varp:weight%","color":"red"},{"text":"\u26c2","color":"green"}]
    - VAR_PLAYER_SET=id:weight value:0
 
Приветствую, как сделать, чтобы активатор срабатывал при поедании айтема в определенном слоте?

Код:
  raw_pork:
    item: type:PORK name:{.*} lore:{.*}
    flags:
    - ITEM_SLOT=slot:1
    actions:
    - POTION=type:HUNGER level:1 time:30 ambient:true
 
У меня реализовано так!
Спасибо, уже сделала попроще

Код:
EXEC:
  mine_set:
    flags:
    - REGION=World.spawn
    actions:
    - WAIT=time:10m
    - MESSAGE=&0&l[M&b&lW]&6&l Автошахта обновится через &a&l5 &6&lминут.
    - WAIT=time:4m
    - MESSAGE=&0&l[M&b&lW]&6&l Автошахта обновится через &a&l1 &6&lминуту.
    - WAIT=time:1m
    - EXECUTE=activator:mine_tp player:all
    - BLOCK_FILL=region:mine block:{type:stone} chance:100
    - BLOCK_FILL=region:mine block:{type:coal_ore} chance:10
    - BLOCK_FILL=region:mine block:{type:iron_ore} chance:6
    - BLOCK_FILL=region:mine block:{type:gold_ore} chance:4
    - BLOCK_FILL=region:mine block:{type:lapis_ore} chance:2
    - BLOCK_FILL=region:mine block:{type:redstone_ore} chance:2
    - BLOCK_FILL=region:mine block:{type:diamond_ore} chance:1
    - MESSAGE=&0&l[M&b&lW]&6&l Автошахта обновлена.
  mine_tp:
    flags:
    - REGION=World.mine
    actions:
    - TP=loc:World,58,67,264,90,0
И таймер на запуск mine_set
 
Кто подскажет как работает активатор command? Никак не получается сделать так, чтобы по команде /rg remove %имя_региона% происходило действие. После создания активатора command с /rg внутри WorldGuard перестает реагировать на команды вообще, при этом откликаясь на проверку рг кожей (т.е. он не крашится).
UPD: С другими плагинами и их командами все работает, а вот WG не реагирует на команды даже если удалить активатор, онли reload.
 
Последнее редактирование:
Кто подскажет как работает активатор command? Никак не получается сделать так, чтобы по команде /rg remove %имя_региона% происходило действие. После создания активатора command с /rg внутри WorldGuard перестает реагировать на команды вообще, при этом откликаясь на проверку рг кожей (т.е. он не крашится).
UPD: С другими плагинами и их командами все работает, а вот WG не реагирует на команды даже если удалить активатор, онли reload.
@Стейси, попробуй перехватить через звездочку:
Код:
    command: cmd:* arg1:* arg2:*
    flags:
    - COMPARE=param:%arg0% value1:rg value2:region value3:worldguard:region value4:worldguard:rg
    - COMPARE=param:%arg1% value1:remove value2:rem
Аргументы перечислил все известные во избежание "дыр", разные игроки по-разному команды юзают
 
Последнее редактирование:
@fromgate Приветствую! Спасибо за крутой плагин!
Однако, столкнулся с проблемой перехвата активатором Inventory_Click события клика по "книге с пером" в инвентаре, в консоле сыпит ошибку (ядро: Spigot-1.8.8, плагин последней версии):
Код:
Could not pass event PlayerInventoryClickEvent to ReActions v0.11.1
org.bukkit.event.EventException
   at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) ~[minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at me.fromgate.reactions.event.EventManager.raiseInventoryClickEvent(EventManager.java:485) [ReActions-1.0-SNAPSHOT.jar:?]
   at me.fromgate.reactions.util.listeners.RaListener.onPlayerInventoryClick(RaListener.java:448) [ReActions-1.0-SNAPSHOT.jar:?]
   at sun.reflect.GeneratedMethodAccessor896.invoke(Unknown Source) ~[?:?]
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_221]
   at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_221]
   at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:1776) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.PacketPlayInSetCreativeSlot.a(SourceFile:23) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.PacketPlayInSetCreativeSlot.a(SourceFile:9) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_221]
   at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_221]
   at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   at java.lang.Thread.run(Thread.java:748) [?:1.8.0_221]
Caused by: java.lang.NullPointerException
   at me.fromgate.reactions.util.item.VirtualItem18.putItemMeta(VirtualItem18.java:199) ~[?:?]
   at me.fromgate.reactions.util.item.VirtualItem18.toMap(VirtualItem18.java:184) ~[?:?]
   at me.fromgate.reactions.util.item.VirtualItem.toString(VirtualItem.java:623) ~[?:?]
   at me.fromgate.reactions.util.item.ItemUtil.itemToString(ItemUtil.java:218) ~[?:?]
   at me.fromgate.reactions.activators.InventoryClickActivator.activate(InventoryClickActivator.java:64) ~[?:?]
   at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:231) ~[?:?]
   at me.fromgate.reactions.activators.Activators.activate(Activators.java:330) ~[?:?]
   at me.fromgate.reactions.util.listeners.RaListener.onInventoryClickActivator(RaListener.java:655) ~[?:?]
   at sun.reflect.GeneratedMethodAccessor894.invoke(Unknown Source) ~[?:?]
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_221]
   at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_221]
   at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) ~[minecraft_server.jar:git-Spigot-db6de12-18fbb24]
   ... 24 more
Есть ли возможность исправить этот баг? Или у кого-нибудь есть вариант решения данной проблемы?
 
где-то был форк, но с ним тоже всё довольно плохо.
Вот почему проще писать свои плагины, чем юзать такие конструкторы. Эту херню теперь задолбаешься обновлять) Учитывая на сколько там древнее апи юзается, еще и с магик валуе.
 
@fromgate Здравствуй, очень нравиться твой плагин. Но есть проблемы связанные с новым WG, WE т.к они для 1.13+. Я не знаю, может ты и писал здесь, но когда будет обновления для 1.13? Вроде уже столько времени прошло, а твой плагин ещё в спросе.
 

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

Назад
Верх