Опять наткнулся на проблему

.
Активатор REGION_ENTER работает только в стандартном мире. В других мирах - реакции просто нет никакой...
мир.регион
Если Вы - поклонник ReActions, то не прочитать всю тему от начала и до конца - позор для Вас
@fromgate, после перезапуска сервера:
Код:
2015-06-17 02:00:27 [SEVERE] Could not pass event ExecEvent to ReActions v0.9.4/18
org.bukkit.event.EventException
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30)
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:478)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:463)
at me.fromgate.reactions.event.EventManager$1.run(EventManager.java:236)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftTask.run(CraftTask.java:58)
at org.bukkit.craftbukkit.v1_5_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:344)
at net.minecraft.server.v1_5_R3.MinecraftServer.r(MinecraftServer.java:509)
at net.minecraft.server.v1_5_R3.DedicatedServer.r(DedicatedServer.java:227)
at net.minecraft.server.v1_5_R3.MinecraftServer.q(MinecraftServer.java:472)
at net.minecraft.server.v1_5_R3.MinecraftServer.run(MinecraftServer.java:404)
at net.minecraft.server.v1_5_R3.ThreadServerApplication.run(SourceFile:573)
Caused by: java.lang.NullPointerException
at me.fromgate.reactions.flags.FlagVar.checkFlag(FlagVar.java:44)
at me.fromgate.reactions.flags.Flags.check(Flags.java:110)
at me.fromgate.reactions.flags.Flags.checkFlag(Flags.java:136)
at me.fromgate.reactions.flags.Flags.checkAllFlags(Flags.java:151)
at me.fromgate.reactions.flags.Flags.checkFlags(Flags.java:144)
at me.fromgate.reactions.actions.Actions.executeActivator(Actions.java:173)
at me.fromgate.reactions.activators.ExecActivator.activate(ExecActivator.java:28)
at me.fromgate.reactions.activators.Activator.executeActivator(Activator.java:274)
at me.fromgate.reactions.activators.Activators.activate(Activators.java:291)
at me.fromgate.reactions.RAListener.onRegionLeave(RAListener.java:394)
at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
... 12 more
Возможно, проблема в одном из старых форматов? Хотя, переменные же не подвергались полному изменению...?
@fromgate, а можно ли раскладывать часовой формат в аргументе команды на секунды?
Например, для аргумента в активаторе-команде нужно распознавать минуты, часы, дни и т.д. по системе в ReActions. Однако, если ввести просто распознавание символов времени в аргументе, то не исключены ложные срабатывания на слова с этими же символами (даже, если принять во внимание, что перед символом времени должна быть цифра).
По этому предлагаю дополнительный аргумент - timef:<s\m\h\d\w\mo\y\none>. Работать это, наверно, должно так: если аргумент содержит только цифры, а после них только символ формата времени, то нужно преобразовать это в то число, формат которого был задан в аргументе timef. Например, 1m = 60, если timef:s; или 1m = 0.6, если timef:h.
Соответственно, вывод значения заносится в плейсхолдер активатора, в котором было преобразование: %argN_timef%. Однако, иногда может требоваться вывести чисто аргумент. В этом случае нужно использовать обычный плейсхолдер, который бы выводил сам аргумент, без изменений как и раньше.
И, если уже понадобиться создать читаемое значение, вроде "1 минута 2 секунды", то для этого, наверно, нужно создать ещё один активатор\действие... Которое бы заменяло отдельные слова-аргументы и учитывало бы связки временных форматов. Например, типа "1h 2m 5s" превращалось бы сразу в "1 час 2 минуты 5 секунд".
Хотя, такое можно провернуть и с обычным активатором-сообщением, используя задержку, чтобы не создать вечный цикл из одинаковых сообщений... Но, я так понимаю, вариант читабельности откладывается далеко в коробку, пока не будут решены проблемы насущные...
В общем, пригодиться такое преобразование может во многих ситуациях. Начиная от установки кастомного времени для чего-либо, заканчивая выводом этого времени после окончания чего-либо.
Меня опять начинает беспокоить нагрузка от активаторов, однако это пока что только предположения. Оправданы ли они? Например, если игрок одновременно запускает несколько сотен активаторов? Или же несколько десятков активаторов запускаются для всех игроков каждую секунду или и того чаще? //Плагин занимает памяти 256 метров при трёх игроках... И остаётся всего 800...