diff --git a/commenter/.idea/.gitignore b/commenter/.idea/.gitignore new file mode 100644 index 0000000..73f69e0 --- /dev/null +++ b/commenter/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/commenter/build.sbt b/commenter/build.sbt new file mode 100644 index 0000000..edf8f98 --- /dev/null +++ b/commenter/build.sbt @@ -0,0 +1,10 @@ +name := "Chroma-Commenter" +version := "1.0" +organization := "com.github.TBMCPlugins" +scalaVersion := "2.13.4" + +resolvers += Resolver.mavenLocal + +libraryDependencies += "org.reflections" % "reflections" % "0.9.12" +libraryDependencies += "com.github.TBMCPlugins.ChromaCore" % "ButtonProcessor" % "master-SNAPSHOT" +libraryDependencies += "com.github.TBMCPlugins.ChromaCore" % "Chroma-Core" % "v1.0.0" diff --git a/commenter/src/main/scala/Commenter.scala b/commenter/src/main/scala/Commenter.scala new file mode 100644 index 0000000..e9c653d --- /dev/null +++ b/commenter/src/main/scala/Commenter.scala @@ -0,0 +1,18 @@ +import buttondevteam.buttonproc.HasConfig +import buttondevteam.lib.architecture.ConfigData +import org.reflections.Reflections + +import scala.jdk.javaapi.CollectionConverters.asScala + +object Commenter extends App { + val ref = new Reflections("buttondevteam.discordplugin") + val types = asScala(ref.getTypesAnnotatedWith(classOf[HasConfig], true)) + for (ty <- types) { + val path = if (ty.getAnnotation(classOf[HasConfig]).global()) "global" + else s"components.${ty.getSimpleName}" + val cdcl = classOf[ConfigData[_]] + ty.getDeclaredMethods.filter(m => cdcl.isAssignableFrom(m.getReturnType)) + .concat(ty.getDeclaredFields.filter(f => cdcl.isAssignableFrom(f.getType))) + .map(path + "." + _.getName) + } +} diff --git a/project/build.sbt b/project/build.sbt index 592ef7e..e8c3569 100644 --- a/project/build.sbt +++ b/project/build.sbt @@ -1,10 +1,2 @@ -lazy val commenter = project.settings(Seq( - name := "Chroma-Commenter", - version := "1.0", - organization := "com.github.TBMCPlugins", - - resolvers += Resolver.mavenLocal, - - libraryDependencies += "org.reflections" % "reflections" % "0.9.12", - libraryDependencies += "com.github.TBMCPlugins.ChromaCore" % "ButtonProcessor" % "master-SNAPSHOT" -)) +lazy val commenter = RootProject(file("../commenter")) +lazy val root = (project in file(".")).dependsOn(commenter) diff --git a/project/commenter/src/main/scala/Commenter.scala b/project/commenter/src/main/scala/Commenter.scala deleted file mode 100644 index 03b25ea..0000000 --- a/project/commenter/src/main/scala/Commenter.scala +++ /dev/null @@ -1,10 +0,0 @@ - - -object Commenter extends App { - val ref = new Reflections("buttondevteam.discordplugin") - val types: Set[Class[_]] = ref.getTypesAnnotatedWith(HasConfig, true).asScala - for (ty <- types) { - ty - . - } -} diff --git a/project/plugins.sbt b/project/plugins.sbt index 116cd07..72477a2 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,18 +1 @@ - - addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.15.0") - -/*lazy val commenter = project.settings(Seq( - name := "Chroma-Commenter", - version := "1.0", - organization := "com.github.TBMCPlugins" -)) - -lazy val root = (project in file(".")).dependsOn(commenter)*/ - -//addSbtPlugin("com.github.TBMCPlugins" % "Chroma-Commenter" % "1.0") -/*val Teszt = config("teszt").extend(Compile) -val teszt = TaskKey[Unit]("teszt") -teszt := target map { target => //teszt := { x.value } - println("Teszt: " + target) -}*/ diff --git a/src/main/java/buttondevteam/discordplugin/BukkitLogWatcher.scala b/src/main/scala/buttondevteam/discordplugin/BukkitLogWatcher.scala similarity index 99% rename from src/main/java/buttondevteam/discordplugin/BukkitLogWatcher.scala rename to src/main/scala/buttondevteam/discordplugin/BukkitLogWatcher.scala index 7fee830..ecec820 100644 --- a/src/main/java/buttondevteam/discordplugin/BukkitLogWatcher.scala +++ b/src/main/scala/buttondevteam/discordplugin/BukkitLogWatcher.scala @@ -3,10 +3,10 @@ package buttondevteam.discordplugin import buttondevteam.discordplugin.mcchat.MinecraftChatModule import buttondevteam.discordplugin.util.DPState import org.apache.logging.log4j.Level -import org.apache.logging.log4j.core.{Filter, LogEvent} import org.apache.logging.log4j.core.appender.AbstractAppender import org.apache.logging.log4j.core.filter.LevelRangeFilter import org.apache.logging.log4j.core.layout.PatternLayout +import org.apache.logging.log4j.core.{Filter, LogEvent} class BukkitLogWatcher private[discordplugin]() extends AbstractAppender("ChromaDiscord", LevelRangeFilter.createFilter(Level.INFO, Level.INFO, Filter.Result.ACCEPT, Filter.Result.DENY), diff --git a/src/main/java/buttondevteam/discordplugin/ChannelconBroadcast.scala b/src/main/scala/buttondevteam/discordplugin/ChannelconBroadcast.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/ChannelconBroadcast.scala rename to src/main/scala/buttondevteam/discordplugin/ChannelconBroadcast.scala diff --git a/src/main/java/buttondevteam/discordplugin/ChromaBot.scala b/src/main/scala/buttondevteam/discordplugin/ChromaBot.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/ChromaBot.scala rename to src/main/scala/buttondevteam/discordplugin/ChromaBot.scala diff --git a/src/main/java/buttondevteam/discordplugin/DPUtils.scala b/src/main/scala/buttondevteam/discordplugin/DPUtils.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/DPUtils.scala rename to src/main/scala/buttondevteam/discordplugin/DPUtils.scala diff --git a/src/main/java/buttondevteam/discordplugin/DiscordConnectedPlayer.scala b/src/main/scala/buttondevteam/discordplugin/DiscordConnectedPlayer.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/DiscordConnectedPlayer.scala rename to src/main/scala/buttondevteam/discordplugin/DiscordConnectedPlayer.scala diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlayer.scala b/src/main/scala/buttondevteam/discordplugin/DiscordPlayer.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/DiscordPlayer.scala rename to src/main/scala/buttondevteam/discordplugin/DiscordPlayer.scala diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlayerSender.scala b/src/main/scala/buttondevteam/discordplugin/DiscordPlayerSender.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/DiscordPlayerSender.scala rename to src/main/scala/buttondevteam/discordplugin/DiscordPlayerSender.scala diff --git a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.scala b/src/main/scala/buttondevteam/discordplugin/DiscordPlugin.scala similarity index 99% rename from src/main/java/buttondevteam/discordplugin/DiscordPlugin.scala rename to src/main/scala/buttondevteam/discordplugin/DiscordPlugin.scala index b7cf4c7..421e3e2 100644 --- a/src/main/java/buttondevteam/discordplugin/DiscordPlugin.scala +++ b/src/main/scala/buttondevteam/discordplugin/DiscordPlugin.scala @@ -70,7 +70,8 @@ import java.util.Optional if (id.asInstanceOf[Long] == 0L) Option.empty else SMono.fromPublisher(DiscordPlugin.dc.getGuildById(Snowflake.of(id.asInstanceOf[Long]))) .onErrorResume((t: Throwable) => { - getLogger.warning("Failed to get guild: " + t.getMessage); SMono.empty + getLogger.warning("Failed to get guild: " + t.getMessage); + SMono.empty }).blockOption() } diff --git a/src/main/java/buttondevteam/discordplugin/DiscordSender.scala b/src/main/scala/buttondevteam/discordplugin/DiscordSender.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/DiscordSender.scala rename to src/main/scala/buttondevteam/discordplugin/DiscordSender.scala diff --git a/src/main/java/buttondevteam/discordplugin/DiscordSenderBase.scala b/src/main/scala/buttondevteam/discordplugin/DiscordSenderBase.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/DiscordSenderBase.scala rename to src/main/scala/buttondevteam/discordplugin/DiscordSenderBase.scala diff --git a/src/main/java/buttondevteam/discordplugin/IMCPlayer.scala b/src/main/scala/buttondevteam/discordplugin/IMCPlayer.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/IMCPlayer.scala rename to src/main/scala/buttondevteam/discordplugin/IMCPlayer.scala diff --git a/src/main/java/buttondevteam/discordplugin/announcer/AnnouncerModule.scala b/src/main/scala/buttondevteam/discordplugin/announcer/AnnouncerModule.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/announcer/AnnouncerModule.scala rename to src/main/scala/buttondevteam/discordplugin/announcer/AnnouncerModule.scala diff --git a/src/main/java/buttondevteam/discordplugin/broadcaster/GeneralEventBroadcasterModule.scala b/src/main/scala/buttondevteam/discordplugin/broadcaster/GeneralEventBroadcasterModule.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/broadcaster/GeneralEventBroadcasterModule.scala rename to src/main/scala/buttondevteam/discordplugin/broadcaster/GeneralEventBroadcasterModule.scala diff --git a/src/main/java/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala b/src/main/scala/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala rename to src/main/scala/buttondevteam/discordplugin/broadcaster/PlayerListWatcher.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/Command2DC.scala b/src/main/scala/buttondevteam/discordplugin/commands/Command2DC.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/Command2DC.scala rename to src/main/scala/buttondevteam/discordplugin/commands/Command2DC.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/Command2DCSender.scala b/src/main/scala/buttondevteam/discordplugin/commands/Command2DCSender.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/Command2DCSender.scala rename to src/main/scala/buttondevteam/discordplugin/commands/Command2DCSender.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/ConnectCommand.scala b/src/main/scala/buttondevteam/discordplugin/commands/ConnectCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/ConnectCommand.scala rename to src/main/scala/buttondevteam/discordplugin/commands/ConnectCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/DebugCommand.scala b/src/main/scala/buttondevteam/discordplugin/commands/DebugCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/DebugCommand.scala rename to src/main/scala/buttondevteam/discordplugin/commands/DebugCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/HelpCommand.scala b/src/main/scala/buttondevteam/discordplugin/commands/HelpCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/HelpCommand.scala rename to src/main/scala/buttondevteam/discordplugin/commands/HelpCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/ICommand2DC.scala b/src/main/scala/buttondevteam/discordplugin/commands/ICommand2DC.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/ICommand2DC.scala rename to src/main/scala/buttondevteam/discordplugin/commands/ICommand2DC.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.scala b/src/main/scala/buttondevteam/discordplugin/commands/UserinfoCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/UserinfoCommand.scala rename to src/main/scala/buttondevteam/discordplugin/commands/UserinfoCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/commands/VersionCommand.scala b/src/main/scala/buttondevteam/discordplugin/commands/VersionCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/commands/VersionCommand.scala rename to src/main/scala/buttondevteam/discordplugin/commands/VersionCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/exceptions/DebugMessageListener.scala b/src/main/scala/buttondevteam/discordplugin/exceptions/DebugMessageListener.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/exceptions/DebugMessageListener.scala rename to src/main/scala/buttondevteam/discordplugin/exceptions/DebugMessageListener.scala diff --git a/src/main/java/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.scala b/src/main/scala/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.scala rename to src/main/scala/buttondevteam/discordplugin/exceptions/ExceptionListenerModule.scala diff --git a/src/main/java/buttondevteam/discordplugin/fun/FunModule.scala b/src/main/scala/buttondevteam/discordplugin/fun/FunModule.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/fun/FunModule.scala rename to src/main/scala/buttondevteam/discordplugin/fun/FunModule.scala diff --git a/src/main/java/buttondevteam/discordplugin/listeners/CommandListener.scala b/src/main/scala/buttondevteam/discordplugin/listeners/CommandListener.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/listeners/CommandListener.scala rename to src/main/scala/buttondevteam/discordplugin/listeners/CommandListener.scala diff --git a/src/main/java/buttondevteam/discordplugin/listeners/CommonListeners.scala b/src/main/scala/buttondevteam/discordplugin/listeners/CommonListeners.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/listeners/CommonListeners.scala rename to src/main/scala/buttondevteam/discordplugin/listeners/CommonListeners.scala diff --git a/src/main/java/buttondevteam/discordplugin/listeners/MCListener.scala b/src/main/scala/buttondevteam/discordplugin/listeners/MCListener.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/listeners/MCListener.scala rename to src/main/scala/buttondevteam/discordplugin/listeners/MCListener.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/ChannelconCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MCChatCommand.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/MCChatCommand.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MCChatCustom.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCustom.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/MCChatCustom.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/MCChatCustom.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MCChatListener.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatListener.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/MCChatListener.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/MCChatListener.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/MCChatPrivate.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MCChatUtils.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCChatUtils.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/MCChatUtils.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/MCChatUtils.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MCListener.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MCListener.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/MCListener.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/MCListener.scala diff --git a/src/main/java/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala b/src/main/scala/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala rename to src/main/scala/buttondevteam/discordplugin/mcchat/MinecraftChatModule.scala diff --git a/src/main/java/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala b/src/main/scala/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala rename to src/main/scala/buttondevteam/discordplugin/mccommands/DiscordMCCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/DelegatingMockMaker.scala b/src/main/scala/buttondevteam/discordplugin/playerfaker/DelegatingMockMaker.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/playerfaker/DelegatingMockMaker.scala rename to src/main/scala/buttondevteam/discordplugin/playerfaker/DelegatingMockMaker.scala diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/DiscordInventory.java b/src/main/scala/buttondevteam/discordplugin/playerfaker/DiscordInventory.java similarity index 100% rename from src/main/java/buttondevteam/discordplugin/playerfaker/DiscordInventory.java rename to src/main/scala/buttondevteam/discordplugin/playerfaker/DiscordInventory.java diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/ServerWatcher.scala b/src/main/scala/buttondevteam/discordplugin/playerfaker/ServerWatcher.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/playerfaker/ServerWatcher.scala rename to src/main/scala/buttondevteam/discordplugin/playerfaker/ServerWatcher.scala diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala b/src/main/scala/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala similarity index 99% rename from src/main/java/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala rename to src/main/scala/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala index 4c96d51..15a3653 100644 --- a/src/main/java/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala +++ b/src/main/scala/buttondevteam/discordplugin/playerfaker/VCMDWrapper.scala @@ -1,7 +1,7 @@ package buttondevteam.discordplugin.playerfaker -import buttondevteam.discordplugin.{DiscordSenderBase, IMCPlayer} import buttondevteam.discordplugin.mcchat.MinecraftChatModule +import buttondevteam.discordplugin.{DiscordSenderBase, IMCPlayer} import buttondevteam.lib.TBMCCoreAPI import org.bukkit.Bukkit import org.bukkit.entity.Player diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/VanillaCommandListener.scala b/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/playerfaker/VanillaCommandListener.scala rename to src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener.scala diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/VanillaCommandListener14.scala b/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener14.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/playerfaker/VanillaCommandListener14.scala rename to src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener14.scala diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/VanillaCommandListener15.scala b/src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener15.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/playerfaker/VanillaCommandListener15.scala rename to src/main/scala/buttondevteam/discordplugin/playerfaker/VanillaCommandListener15.scala diff --git a/src/main/java/buttondevteam/discordplugin/playerfaker/perm/LPInjector.java b/src/main/scala/buttondevteam/discordplugin/playerfaker/perm/LPInjector.java similarity index 100% rename from src/main/java/buttondevteam/discordplugin/playerfaker/perm/LPInjector.java rename to src/main/scala/buttondevteam/discordplugin/playerfaker/perm/LPInjector.java diff --git a/src/main/java/buttondevteam/discordplugin/role/GameRoleModule.scala b/src/main/scala/buttondevteam/discordplugin/role/GameRoleModule.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/role/GameRoleModule.scala rename to src/main/scala/buttondevteam/discordplugin/role/GameRoleModule.scala diff --git a/src/main/java/buttondevteam/discordplugin/role/RoleCommand.scala b/src/main/scala/buttondevteam/discordplugin/role/RoleCommand.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/role/RoleCommand.scala rename to src/main/scala/buttondevteam/discordplugin/role/RoleCommand.scala diff --git a/src/main/java/buttondevteam/discordplugin/util/DPState.scala b/src/main/scala/buttondevteam/discordplugin/util/DPState.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/util/DPState.scala rename to src/main/scala/buttondevteam/discordplugin/util/DPState.scala diff --git a/src/main/java/buttondevteam/discordplugin/util/Timings.scala b/src/main/scala/buttondevteam/discordplugin/util/Timings.scala similarity index 100% rename from src/main/java/buttondevteam/discordplugin/util/Timings.scala rename to src/main/scala/buttondevteam/discordplugin/util/Timings.scala