mirror of
				https://github.com/GayPizzaSpecifications/foundation.git
				synced 2025-11-04 11:39:39 +00:00 
			
		
		
		
	Add annotation for marking plugin main class.
This commit is contained in:
		@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					package gay.pizza.foundation.common
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					annotation class PluginMainClass
 | 
				
			||||||
@ -2,6 +2,7 @@ package gay.pizza.foundation.bifrost
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import com.charleskorn.kaml.Yaml
 | 
					import com.charleskorn.kaml.Yaml
 | 
				
			||||||
import gay.pizza.foundation.bifrost.model.BifrostConfig
 | 
					import gay.pizza.foundation.bifrost.model.BifrostConfig
 | 
				
			||||||
 | 
					import gay.pizza.foundation.common.PluginMainClass
 | 
				
			||||||
import gay.pizza.foundation.core.FoundationCorePlugin
 | 
					import gay.pizza.foundation.core.FoundationCorePlugin
 | 
				
			||||||
import gay.pizza.foundation.core.Util
 | 
					import gay.pizza.foundation.core.Util
 | 
				
			||||||
import gay.pizza.foundation.core.util.AdvancementTitleCache
 | 
					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 net.dv8tion.jda.api.hooks.EventListener as DiscordEventListener
 | 
				
			||||||
import org.bukkit.event.Listener as BukkitEventListener
 | 
					import org.bukkit.event.Listener as BukkitEventListener
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@PluginMainClass
 | 
				
			||||||
class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventListener {
 | 
					class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventListener {
 | 
				
			||||||
  private lateinit var config: BifrostConfig
 | 
					  private lateinit var config: BifrostConfig
 | 
				
			||||||
  private var jda: JDA? = null
 | 
					  private var jda: JDA? = null
 | 
				
			||||||
@ -158,7 +160,7 @@ class FoundationBifrostPlugin : JavaPlugin(), DiscordEventListener, BukkitEventL
 | 
				
			|||||||
    if (!config.channel.sendPlayerDeath) return
 | 
					    if (!config.channel.sendPlayerDeath) return
 | 
				
			||||||
    @Suppress("DEPRECATION")
 | 
					    @Suppress("DEPRECATION")
 | 
				
			||||||
    var deathMessage = e.deathMessage
 | 
					    var deathMessage = e.deathMessage
 | 
				
			||||||
    if (deathMessage == null || deathMessage.isBlank()) {
 | 
					    if (deathMessage.isNullOrBlank()) {
 | 
				
			||||||
      deathMessage = "${e.player.name} died"
 | 
					      deathMessage = "${e.player.name} died"
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    sendEmbedMessage(Color.YELLOW, deathMessage)
 | 
					    sendEmbedMessage(Color.YELLOW, deathMessage)
 | 
				
			||||||
 | 
				
			|||||||
@ -2,11 +2,13 @@ package gay.pizza.foundation.chaos
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import com.charleskorn.kaml.Yaml
 | 
					import com.charleskorn.kaml.Yaml
 | 
				
			||||||
import gay.pizza.foundation.chaos.model.ChaosConfig
 | 
					import gay.pizza.foundation.chaos.model.ChaosConfig
 | 
				
			||||||
 | 
					import gay.pizza.foundation.common.PluginMainClass
 | 
				
			||||||
import gay.pizza.foundation.core.FoundationCorePlugin
 | 
					import gay.pizza.foundation.core.FoundationCorePlugin
 | 
				
			||||||
import gay.pizza.foundation.core.Util
 | 
					import gay.pizza.foundation.core.Util
 | 
				
			||||||
import org.bukkit.plugin.java.JavaPlugin
 | 
					import org.bukkit.plugin.java.JavaPlugin
 | 
				
			||||||
import kotlin.io.path.inputStream
 | 
					import kotlin.io.path.inputStream
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@PluginMainClass
 | 
				
			||||||
class FoundationChaosPlugin : JavaPlugin() {
 | 
					class FoundationChaosPlugin : JavaPlugin() {
 | 
				
			||||||
  lateinit var config: ChaosConfig
 | 
					  lateinit var config: ChaosConfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,6 @@
 | 
				
			|||||||
package gay.pizza.foundation.core
 | 
					package gay.pizza.foundation.core
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import gay.pizza.foundation.common.PluginMainClass
 | 
				
			||||||
import gay.pizza.foundation.core.abstraction.FoundationPlugin
 | 
					import gay.pizza.foundation.core.abstraction.FoundationPlugin
 | 
				
			||||||
import gay.pizza.foundation.core.features.backup.BackupFeature
 | 
					import gay.pizza.foundation.core.features.backup.BackupFeature
 | 
				
			||||||
import gay.pizza.foundation.core.features.dev.DevFeature
 | 
					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 org.koin.dsl.module
 | 
				
			||||||
import java.nio.file.Path
 | 
					import java.nio.file.Path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@PluginMainClass
 | 
				
			||||||
class FoundationCorePlugin : FoundationPlugin() {
 | 
					class FoundationCorePlugin : FoundationPlugin() {
 | 
				
			||||||
  private lateinit var _pluginDataPath: Path
 | 
					  private lateinit var _pluginDataPath: Path
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  var pluginDataPath: Path
 | 
					  var pluginDataPath: Path
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Data path of the core plugin.
 | 
					     * 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() {
 | 
					    get() {
 | 
				
			||||||
      if (!::_pluginDataPath.isInitialized) {
 | 
					      if (!::_pluginDataPath.isInitialized) {
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,7 @@ package gay.pizza.foundation.heimdall.plugin
 | 
				
			|||||||
import com.charleskorn.kaml.Yaml
 | 
					import com.charleskorn.kaml.Yaml
 | 
				
			||||||
import com.zaxxer.hikari.HikariConfig
 | 
					import com.zaxxer.hikari.HikariConfig
 | 
				
			||||||
import com.zaxxer.hikari.HikariDataSource
 | 
					import com.zaxxer.hikari.HikariDataSource
 | 
				
			||||||
 | 
					import gay.pizza.foundation.common.PluginMainClass
 | 
				
			||||||
import gay.pizza.foundation.core.Util
 | 
					import gay.pizza.foundation.core.Util
 | 
				
			||||||
import gay.pizza.foundation.heimdall.plugin.buffer.BufferFlushThread
 | 
					import gay.pizza.foundation.heimdall.plugin.buffer.BufferFlushThread
 | 
				
			||||||
import gay.pizza.foundation.heimdall.plugin.buffer.EventBuffer
 | 
					import gay.pizza.foundation.heimdall.plugin.buffer.EventBuffer
 | 
				
			||||||
@ -26,7 +27,8 @@ import java.util.*
 | 
				
			|||||||
import java.util.concurrent.ConcurrentHashMap
 | 
					import java.util.concurrent.ConcurrentHashMap
 | 
				
			||||||
import kotlin.io.path.inputStream
 | 
					import kotlin.io.path.inputStream
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class HeimdallPlugin : JavaPlugin(), Listener {
 | 
					@PluginMainClass
 | 
				
			||||||
 | 
					class FoundationHeimdallPlugin : JavaPlugin(), Listener {
 | 
				
			||||||
  private lateinit var config: HeimdallConfig
 | 
					  private lateinit var config: HeimdallConfig
 | 
				
			||||||
  private lateinit var pool: HikariDataSource
 | 
					  private lateinit var pool: HikariDataSource
 | 
				
			||||||
  internal var db: Database? = null
 | 
					  internal var db: Database? = null
 | 
				
			||||||
@ -45,7 +47,7 @@ class HeimdallPlugin : JavaPlugin(), Listener {
 | 
				
			|||||||
    val pluginDataPath = dataFolder.toPath()
 | 
					    val pluginDataPath = dataFolder.toPath()
 | 
				
			||||||
    pluginDataPath.toFile().mkdir()
 | 
					    pluginDataPath.toFile().mkdir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    val configPath = Util.copyDefaultConfig<HeimdallPlugin>(
 | 
					    val configPath = Util.copyDefaultConfig<FoundationHeimdallPlugin>(
 | 
				
			||||||
      slF4JLogger,
 | 
					      slF4JLogger,
 | 
				
			||||||
      pluginDataPath,
 | 
					      pluginDataPath,
 | 
				
			||||||
      "heimdall.yaml"
 | 
					      "heimdall.yaml"
 | 
				
			||||||
@ -67,7 +69,7 @@ class HeimdallPlugin : JavaPlugin(), Listener {
 | 
				
			|||||||
      idleTimeout = Duration.ofMinutes(5).toMillis()
 | 
					      idleTimeout = Duration.ofMinutes(5).toMillis()
 | 
				
			||||||
      maxLifetime = Duration.ofMinutes(10).toMillis()
 | 
					      maxLifetime = Duration.ofMinutes(10).toMillis()
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
    val initMigrationContent = HeimdallPlugin::class.java.getResourceAsStream(
 | 
					    val initMigrationContent = FoundationHeimdallPlugin::class.java.getResourceAsStream(
 | 
				
			||||||
      "/init.sql"
 | 
					      "/init.sql"
 | 
				
			||||||
    )?.readAllBytes()?.decodeToString() ?: throw RuntimeException("Unable to find Heimdall init.sql")
 | 
					    )?.readAllBytes()?.decodeToString() ?: throw RuntimeException("Unable to find Heimdall init.sql")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1,10 +1,10 @@
 | 
				
			|||||||
package gay.pizza.foundation.heimdall.plugin.buffer
 | 
					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 org.jetbrains.exposed.sql.transactions.transaction
 | 
				
			||||||
import java.util.concurrent.atomic.AtomicBoolean
 | 
					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 val running = AtomicBoolean(false)
 | 
				
			||||||
  private var thread: Thread? = null
 | 
					  private var thread: Thread? = null
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user