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

Плагин [ADMIN] Re:ReActions | Простейший скриптовый плагин (1.20.6+)

Выделил текущую версию 0.14.4 в отдельный релиз.

С 0.14.5-SNAPSHOT плейсхолдеры PAPI учитывают параметр general.use-modern-placeholders.
Например:
Код:
actions:
- response=%[otherplayer_health_%[player_name]]
Также добавил параметр general.use-colon-for-papi-placeholders - если выставить его на true, то написание его плейсхолдеров будет требовать писать : вместо первого _. Добавлен чисто из эстетических побуждений, чтобы соответствовать некоторым другим плейсхолдерам РеА.
Код:
actions:
- response=%[otherplayer:health_%[player:name]]
Через пару часов попробую затестить
 
Выделил текущую версию 0.14.4 в отдельный релиз.

С 0.14.5-SNAPSHOT плейсхолдеры PAPI учитывают параметр general.use-modern-placeholders.
Например:
Код:
actions:
- response=%[otherplayer_health_%[player_name]]
Также добавил параметр general.use-colon-for-papi-placeholders - если выставить его на true, то написание его плейсхолдеров будет требовать писать : вместо первого _. Добавлен чисто из эстетических побуждений, чтобы соответствовать некоторым другим плейсхолдерам РеА.
Код:
actions:
- response=%[otherplayer:health_%[player:name]]
Всё, теперь плейсхолдеры открываются, как нужно. Спасибо!
 
Появилось одно пожелание касаемо переменных. Можно ли сделать так, чтобы при создании/изменении/прочих операциях с переменными можно было отключать уведомления скажем каким-нибудь необязательным параметром? Например так:
Код:
/rea set var id:TEST player:Player value:111 silent:false/true (по умолчанию оставить false)
Было бы очень удобно, если, например, при активной работе с переменными от имени консоли, сама консоль не забивалась ненужной информацией (оставить ее, скажем, при включенном дебаге).
 
Появилось одно пожелание касаемо переменных. Можно ли сделать так, чтобы при создании/изменении/прочих операциях с переменными можно было отключать уведомления скажем каким-нибудь необязательным параметром? Например так:
Код:
/rea set var id:TEST player:Player value:111 silent:false/true (по умолчанию оставить false)
Было бы очень удобно, если, например, при активной работе с переменными от имени консоли, сама консоль не забивалась ненужной информацией (оставить ее, скажем, при включенном дебаге).
Добавлю вариант с silent. Проблема в том, что код команд почти не претерпел изменений со времён оригинала, и там, к сожалению, сплошное спагетти, с которым очень сложно работать.
Я давненько уже работаю над новыми командами, так что предупрежу сразу - в 0.15.0 формат команд сильно изменится. Зато появятся интерактивные сообщения, подсказки при наборе, и просто больше всякого удобного по мелочи. Впрочем, до этого ещё минимум несколько месяцев...
 
Добавлю вариант с silent. Проблема в том, что код команд почти не претерпел изменений со времён оригинала, и там, к сожалению, сплошное спагетти, с которым очень сложно работать.
Я давненько уже работаю над новыми командами, так что предупрежу сразу - в 0.15.0 формат команд сильно изменится. Зато появятся интерактивные сообщения, подсказки при наборе, и просто больше всякого удобного по мелочи. Впрочем, до этого ещё минимум несколько месяцев...
Понял. Будем ждать)
 
Снова здрасте! Заметил, что перестало адекватно отрабатывать сопряжение флагов FLAG_SET=[!]COMPARE. Например, мне нужно применить какое-то определенное действие ко ВСЕМ предметам, кроме, скажем, топора:
Код:
- FLAG_SET=!COMPARE:{param:%[item-str] value:WOODEN_AXE}
Раньше такая конструкция прекрасно работала, а сейчас, как я понял, она все время отрабатывает в "истину"
 
Снова здрасте! Заметил, что перестало адекватно отрабатывать сопряжение флагов FLAG_SET=[!]COMPARE. Например, мне нужно применить какое-то определенное действие ко ВСЕМ предметам, кроме, скажем, топора:
Код:
- FLAG_SET=!COMPARE:{param:%[item-str] value:WOODEN_AXE}
Раньше такая конструкция прекрасно работала, а сейчас, как я понял, она все время отрабатывает в "истину"
Поправил в b299.
С b300 теперь можно указать silent:true в подкоманде /rea set.
 
Снова какой-то баг. Раз в пять минут выскакивает это (даже на чистом конфиге):
Код:
[02:40:40 ERROR]: [ReActions] Failed to load delayed actions
java.io.IOException: File doesn't exist and cannot be created
        at fun.reactions.util.FileUtils.loadCfg(FileUtils.java:16) ~[ReActions-0.14.5-SNAPSHOT.jar:?]
        at fun.reactions.time.wait.WaitingManager.lambda$save$2(WaitingManager.java:201) ~[ReActions-0.14.5-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.1.jar:git-Paper-196]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.20.1.jar:git-Paper-196]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.20.1.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]
 
Снова какой-то баг. Раз в пять минут выскакивает это (даже на чистом конфиге):
Код:
[02:40:40 ERROR]: [ReActions] Failed to load delayed actions
java.io.IOException: File doesn't exist and cannot be created
        at fun.reactions.util.FileUtils.loadCfg(FileUtils.java:16) ~[ReActions-0.14.5-SNAPSHOT.jar:?]
        at fun.reactions.time.wait.WaitingManager.lambda$save$2(WaitingManager.java:201) ~[ReActions-0.14.5-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftTask.run(CraftTask.java:101) ~[paper-1.20.1.jar:git-Paper-196]
        at org.bukkit.craftbukkit.v1_20_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.20.1.jar:git-Paper-196]
        at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.20.1.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
        at java.lang.Thread.run(Thread.java:840) ~[?:?]
Постарался исправить в 301. Пытался одну проблему пофиксить, создал вторую...
Предупрежу - это ошибка в сохранении отложенных активаторов/действий - не кулдаунов/задержек.
 
Постарался исправить в 301. Пытался одну проблему пофиксить, создал вторую...
Предупрежу - это ошибка в сохранении отложенных активаторов/действий - не кулдаунов/задержек.
Ошибка ушла. Прикол в том, что она возникала даже без каких-либо активаторов)
 
Ошибка ушла. Прикол в том, что она возникала даже без каких-либо активаторов)
Как уже писал - она возникает при сохранении отложенных действий, а они так и так пытаются сохраниться, даже если их нет. Это происходит вместе с сохранением мира, поэтому и "таймер" в пять минут.
 
Как уже писал - она возникает при сохранении отложенных действий, а они так и так пытаются сохраниться, даже если их нет. Это происходит вместе с сохранением мира, поэтому и "таймер" в пять минут.
Понято
 

Такая ошибка при запуске на 1.20 (Mohist):
Код:
[14:21:08 INFO]: [ReActions] Loading ReActions v0.14.4

[14:21:08 ERROR]: 'net.kyori.adventure.text.logger.slf4j.ComponentLogger fun.reactions.ReActionsPlugin.getComponentLogger()' initializing ReActions v0.14.4 (Is it up to date?)

java.lang.NoSuchMethodError: 'net.kyori.adventure.text.logger.slf4j.ComponentLogger fun.reactions.ReActionsPlugin.getComponentLogger()'

at fun.reactions.ReActionsPlugin.logger(ReActionsPlugin.java:156) ~[?:?] {}

at fun.reactions.ReActionsPlugin.onLoad(ReActionsPlugin.java:84) ~[?:?] {}

at org.bukkit.craftbukkit.v1_20_R1.CraftServer.loadPlugins(CraftServer.java:432) ~[forge-1.20-46.0.14-universal.jar%23162!/:1687ea8f-ce710deb0-ddcbdcca] {re:classloading}

at net.minecraft.server.dedicated.DedicatedServer.m_7038_(DedicatedServer.java:209) ~[server-1.20-20230608.053357-srg.jar%23157!/:?] {re:classloading,pl:accesstransformer:B}

at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:938) ~[server-1.20-20230608.053357-srg.jar%23157!/:?] {re:classloading,pl:accesstransformer:B}

at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:291) ~[server-1.20-20230608.053357-srg.jar%23157!/:?] {re:classloading,pl:accesstransformer:B}

at java.lang.Thread.run(Thread.java:833) [?:?] {}
 
Это я что-то не так делаю или где?
[14:35:22 INFO]: [ReActions] Loading server plugin ReActions v0.14.4
[14:35:22 INFO]: [ReActions] Registering 'ReActions' module (by fromgate, MaxDikiy, imDaniX)
[14:35:22 ERROR]: [ReActions] Error initializing plugin 'ReActions.jar' in folder 'plugins' (Is it up to date?)
java.lang.NoClassDefFoundError: com/comphenix/protocol/events/PacketListener
at fun.reactions.module.basic.BasicModule.preRegister(BasicModule.java:38) ~[ReActions.jar:?]
at fun.reactions.module.ModulesRegistry.register(ModulesRegistry.java:65) ~[ReActions.jar:?]
at fun.reactions.module.ModulesRegistry.registerModule(ModulesRegistry.java:54) ~[ReActions.jar:?]
at fun.reactions.ReActionsPlugin.onLoad(ReActionsPlugin.java:104) ~[ReActions.jar:?]
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:59) ~[purpur-1.20.4.jar:git-Purpur-2137]
at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:18) ~[purpur-1.20.4.jar:git-Purpur-2137]
at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:39) ~[purpur-1.20.4.jar:git-Purpur-2137]
at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:36) ~[purpur-1.20.4.jar:git-Purpur-2137]
at org.bukkit.craftbukkit.v1_20_R3.CraftServer.loadPlugins(CraftServer.java:519) ~[purpur-1.20.4.jar:git-Purpur-2137]
at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:310) ~[purpur-1.20.4.jar:git-Purpur-2137]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1146) ~[purpur-1.20.4.jar:git-Purpur-2137]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:323) ~[purpur-1.20.4.jar:git-Purpur-2137]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
Caused by: java.lang.ClassNotFoundException: com.comphenix.protocol.events.PacketListener
at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:199) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:166) ~[purpur-api-1.20.4-R0.1-SNAPSHOT.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:525) ~[?:?]
... 13 more
 
Такая ошибка при запуске на 1.20 (Mohist):
Код:
[14:21:08 INFO]: [ReActions] Loading ReActions v0.14.4

[14:21:08 ERROR]: 'net.kyori.adventure.text.logger.slf4j.ComponentLogger fun.reactions.ReActionsPlugin.getComponentLogger()' initializing ReActions v0.14.4 (Is it up to date?)

java.lang.NoSuchMethodError: 'net.kyori.adventure.text.logger.slf4j.ComponentLogger fun.reactions.ReActionsPlugin.getComponentLogger()'

at fun.reactions.ReActionsPlugin.logger(ReActionsPlugin.java:156) ~[?:?] {}

at fun.reactions.ReActionsPlugin.onLoad(ReActionsPlugin.java:84) ~[?:?] {}

at org.bukkit.craftbukkit.v1_20_R1.CraftServer.loadPlugins(CraftServer.java:432) ~[forge-1.20-46.0.14-universal.jar%23162!/:1687ea8f-ce710deb0-ddcbdcca] {re:classloading}

at net.minecraft.server.dedicated.DedicatedServer.m_7038_(DedicatedServer.java:209) ~[server-1.20-20230608.053357-srg.jar%23157!/:?] {re:classloading,pl:accesstransformer:B}

at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:938) ~[server-1.20-20230608.053357-srg.jar%23157!/:?] {re:classloading,pl:accesstransformer:B}

at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:291) ~[server-1.20-20230608.053357-srg.jar%23157!/:?] {re:classloading,pl:accesstransformer:B}

at java.lang.Thread.run(Thread.java:833) [?:?] {}
У Mohist отсутствует необходимый для плагина функционал. В первую очередь советую заглянуть сюда, но в целом, тут только непосредственно к разработчикам ядра обращаться.
Это я что-то не так делаю или где?
Для одного из модулей требуется ProtocolLib. Впрочем, так быть не должно - постараюсь убрать ближайшее время.
 
Последнее редактирование:
На каком ядре его запускать? Моно ссыль?
На всех выдаёт какие-то траблы
 
На каком ядре его запускать? Моно ссыль?
На всех выдаёт какие-то траблы
Запускается и на голом Paper. Лог запуска. Но вообще, сам на Pufferfish сижу.
На всякий случай повторю то, что написано в основном посте - рекомендую использовать дев.билды. Если есть какие ошибки, прошу писать.
 

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

Назад
Верх