From f96948beb58e4107273eec2d9431e133dedc285d Mon Sep 17 00:00:00 2001 From: Alex Zenla Date: Sun, 5 Feb 2023 19:37:59 -0800 Subject: [PATCH] Add annotation for marking plugin main class. --- .../kotlin/gay/pizza/foundation/common/PluginMainClass.kt | 3 +++ .../pizza/foundation/bifrost/FoundationBifrostPlugin.kt | 4 +++- .../gay/pizza/foundation/chaos/FoundationChaosPlugin.kt | 2 ++ .../gay/pizza/foundation/core/FoundationCorePlugin.kt | 4 +++- .../{HeimdallPlugin.kt => FoundationHeimdallPlugin.kt} | 8 +++++--- .../heimdall/plugin/buffer/BufferFlushThread.kt | 4 ++-- 6 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 common-plugin/src/main/kotlin/gay/pizza/foundation/common/PluginMainClass.kt rename foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/{HeimdallPlugin.kt => FoundationHeimdallPlugin.kt} (94%) diff --git a/common-plugin/src/main/kotlin/gay/pizza/foundation/common/PluginMainClass.kt b/common-plugin/src/main/kotlin/gay/pizza/foundation/common/PluginMainClass.kt new file mode 100644 index 0000000..0850402 --- /dev/null +++ b/common-plugin/src/main/kotlin/gay/pizza/foundation/common/PluginMainClass.kt @@ -0,0 +1,3 @@ +package gay.pizza.foundation.common + +annotation class PluginMainClass diff --git a/foundation-bifrost/src/main/kotlin/gay/pizza/foundation/bifrost/FoundationBifrostPlugin.kt b/foundation-bifrost/src/main/kotlin/gay/pizza/foundation/bifrost/FoundationBifrostPlugin.kt index acab528..50e16f8 100644 --- a/foundation-bifrost/src/main/kotlin/gay/pizza/foundation/bifrost/FoundationBifrostPlugin.kt +++ b/foundation-bifrost/src/main/kotlin/gay/pizza/foundation/bifrost/FoundationBifrostPlugin.kt @@ -2,6 +2,7 @@ package gay.pizza.foundation.bifrost import com.charleskorn.kaml.Yaml import gay.pizza.foundation.bifrost.model.BifrostConfig +import gay.pizza.foundation.common.PluginMainClass import gay.pizza.foundation.core.FoundationCorePlugin import gay.pizza.foundation.core.Util import gay.pizza.foundation.core.util.AdvancementTitleCache @@ -29,6 +30,7 @@ import kotlin.io.path.inputStream import net.dv8tion.jda.api.hooks.EventListener as DiscordEventListener import org.bukkit.event.Listener as BukkitEventListener +@PluginMainClass class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventListener { private lateinit var config: BifrostConfig private var jda: JDA? = null @@ -158,7 +160,7 @@ class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventL if (!config.channel.sendPlayerDeath) return @Suppress("DEPRECATION") var deathMessage = e.deathMessage - if (deathMessage == null || deathMessage.isBlank()) { + if (deathMessage.isNullOrBlank()) { deathMessage = "${e.player.name} died" } sendEmbedMessage(Color.YELLOW, deathMessage) diff --git a/foundation-chaos/src/main/kotlin/gay/pizza/foundation/chaos/FoundationChaosPlugin.kt b/foundation-chaos/src/main/kotlin/gay/pizza/foundation/chaos/FoundationChaosPlugin.kt index 72e7c16..969766a 100644 --- a/foundation-chaos/src/main/kotlin/gay/pizza/foundation/chaos/FoundationChaosPlugin.kt +++ b/foundation-chaos/src/main/kotlin/gay/pizza/foundation/chaos/FoundationChaosPlugin.kt @@ -2,11 +2,13 @@ package gay.pizza.foundation.chaos import com.charleskorn.kaml.Yaml import gay.pizza.foundation.chaos.model.ChaosConfig +import gay.pizza.foundation.common.PluginMainClass import gay.pizza.foundation.core.FoundationCorePlugin import gay.pizza.foundation.core.Util import org.bukkit.plugin.java.JavaPlugin import kotlin.io.path.inputStream +@PluginMainClass class FoundationChaosPlugin : JavaPlugin() { lateinit var config: ChaosConfig diff --git a/foundation-core/src/main/kotlin/gay/pizza/foundation/core/FoundationCorePlugin.kt b/foundation-core/src/main/kotlin/gay/pizza/foundation/core/FoundationCorePlugin.kt index 34d6baf..3067e5a 100644 --- a/foundation-core/src/main/kotlin/gay/pizza/foundation/core/FoundationCorePlugin.kt +++ b/foundation-core/src/main/kotlin/gay/pizza/foundation/core/FoundationCorePlugin.kt @@ -1,5 +1,6 @@ package gay.pizza.foundation.core +import gay.pizza.foundation.common.PluginMainClass import gay.pizza.foundation.core.abstraction.FoundationPlugin import gay.pizza.foundation.core.features.backup.BackupFeature import gay.pizza.foundation.core.features.dev.DevFeature @@ -13,13 +14,14 @@ import gay.pizza.foundation.core.features.world.WorldFeature import org.koin.dsl.module import java.nio.file.Path +@PluginMainClass class FoundationCorePlugin : FoundationPlugin() { private lateinit var _pluginDataPath: Path var pluginDataPath: Path /** * Data path of the core plugin. - * Can be used as a sanity check of sorts for dependencies to be sure the plugin is loaded. + * Can be used as a check of sorts for dependencies to be sure the plugin is loaded. */ get() { if (!::_pluginDataPath.isInitialized) { diff --git a/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/HeimdallPlugin.kt b/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/FoundationHeimdallPlugin.kt similarity index 94% rename from foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/HeimdallPlugin.kt rename to foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/FoundationHeimdallPlugin.kt index 08f81da..9beae1f 100644 --- a/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/HeimdallPlugin.kt +++ b/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/FoundationHeimdallPlugin.kt @@ -3,6 +3,7 @@ package gay.pizza.foundation.heimdall.plugin import com.charleskorn.kaml.Yaml import com.zaxxer.hikari.HikariConfig import com.zaxxer.hikari.HikariDataSource +import gay.pizza.foundation.common.PluginMainClass import gay.pizza.foundation.core.Util import gay.pizza.foundation.heimdall.plugin.buffer.BufferFlushThread import gay.pizza.foundation.heimdall.plugin.buffer.EventBuffer @@ -26,7 +27,8 @@ import java.util.* import java.util.concurrent.ConcurrentHashMap import kotlin.io.path.inputStream -class HeimdallPlugin : JavaPlugin(), Listener { +@PluginMainClass +class FoundationHeimdallPlugin : JavaPlugin(), Listener { private lateinit var config: HeimdallConfig private lateinit var pool: HikariDataSource internal var db: Database? = null @@ -45,7 +47,7 @@ class HeimdallPlugin : JavaPlugin(), Listener { val pluginDataPath = dataFolder.toPath() pluginDataPath.toFile().mkdir() - val configPath = Util.copyDefaultConfig( + val configPath = Util.copyDefaultConfig( slF4JLogger, pluginDataPath, "heimdall.yaml" @@ -67,7 +69,7 @@ class HeimdallPlugin : JavaPlugin(), Listener { idleTimeout = Duration.ofMinutes(5).toMillis() maxLifetime = Duration.ofMinutes(10).toMillis() }) - val initMigrationContent = HeimdallPlugin::class.java.getResourceAsStream( + val initMigrationContent = FoundationHeimdallPlugin::class.java.getResourceAsStream( "/init.sql" )?.readAllBytes()?.decodeToString() ?: throw RuntimeException("Unable to find Heimdall init.sql") diff --git a/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/buffer/BufferFlushThread.kt b/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/buffer/BufferFlushThread.kt index 6daa7af..d9d0947 100644 --- a/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/buffer/BufferFlushThread.kt +++ b/foundation-heimdall/src/main/kotlin/gay/pizza/foundation/heimdall/plugin/buffer/BufferFlushThread.kt @@ -1,10 +1,10 @@ package gay.pizza.foundation.heimdall.plugin.buffer -import gay.pizza.foundation.heimdall.plugin.HeimdallPlugin +import gay.pizza.foundation.heimdall.plugin.FoundationHeimdallPlugin import org.jetbrains.exposed.sql.transactions.transaction import java.util.concurrent.atomic.AtomicBoolean -class BufferFlushThread(val plugin: HeimdallPlugin, val buffer: EventBuffer) { +class BufferFlushThread(val plugin: FoundationHeimdallPlugin, val buffer: EventBuffer) { private val running = AtomicBoolean(false) private var thread: Thread? = null