From 9733d3b4f4554db4821892b9ddb74c1d235f13f1 Mon Sep 17 00:00:00 2001 From: Sven <68018116+SKBotNL@users.noreply.github.com> Date: Wed, 11 Jun 2025 21:06:38 +0200 Subject: [PATCH 1/2] Change onDisable order --- .../kotlin/net/trueog/diamondbankog/DiamondBankOG.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt b/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt index 97e9210..9e47450 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt @@ -106,6 +106,10 @@ class DiamondBankOG : JavaPlugin() { } override fun onDisable() { + redis.shutdown() + + if (isPostgreSQLInitialised()) postgreSQL.pool.disconnect().get() + scope.cancel() runBlocking { @@ -113,10 +117,6 @@ class DiamondBankOG : JavaPlugin() { } transactionLock.removeAllLocks() - - redis.shutdown() - - if (isPostgreSQLInitialised()) postgreSQL.pool.disconnect().get() } -} \ No newline at end of file +} -- 2.47.3 From 352f5883551e948b4b255b6c76547cc28debe28b Mon Sep 17 00:00:00 2001 From: Sven Date: Wed, 11 Jun 2025 21:16:39 +0200 Subject: [PATCH 2/2] Mark internal classes as internal --- src/main/kotlin/net/trueog/diamondbankog/AutoCompress.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/AutoDeposit.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/Config.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/ErrorHandler.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/Events.kt | 2 +- .../kotlin/net/trueog/diamondbankog/InventoryExtensions.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/MainThreadBlock.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/PlayerPrefix.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/Redis.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/Shard.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/TransactionLock.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/WithdrawHelper.kt | 2 +- .../kotlin/net/trueog/diamondbankog/commands/AutoCompress.kt | 2 +- .../kotlin/net/trueog/diamondbankog/commands/AutoDeposit.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/commands/Balance.kt | 3 +-- .../kotlin/net/trueog/diamondbankog/commands/Balancetop.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/commands/Compress.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/commands/Deposit.kt | 2 +- .../net/trueog/diamondbankog/commands/DiamondBankHelp.kt | 2 +- .../net/trueog/diamondbankog/commands/DiamondBankReload.kt | 2 +- .../kotlin/net/trueog/diamondbankog/commands/DisableEconomy.kt | 2 +- .../kotlin/net/trueog/diamondbankog/commands/EnableEconomy.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/commands/Pay.kt | 2 +- .../kotlin/net/trueog/diamondbankog/commands/SetBankBalance.kt | 2 +- src/main/kotlin/net/trueog/diamondbankog/commands/Withdraw.kt | 2 +- 26 files changed, 26 insertions(+), 27 deletions(-) diff --git a/src/main/kotlin/net/trueog/diamondbankog/AutoCompress.kt b/src/main/kotlin/net/trueog/diamondbankog/AutoCompress.kt index c7df792..9d7ff44 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/AutoCompress.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/AutoCompress.kt @@ -10,7 +10,7 @@ import org.bukkit.entity.Player import org.bukkit.inventory.ItemStack import kotlin.math.abs -object AutoCompress { +internal object AutoCompress { fun compress(player: Player) { DiamondBankOG.scope.launch { val worldName = player.world.name diff --git a/src/main/kotlin/net/trueog/diamondbankog/AutoDeposit.kt b/src/main/kotlin/net/trueog/diamondbankog/AutoDeposit.kt index 8d39084..31b335c 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/AutoDeposit.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/AutoDeposit.kt @@ -7,7 +7,7 @@ import org.bukkit.Material import org.bukkit.entity.Item import org.bukkit.entity.Player -object AutoDeposit { +internal object AutoDeposit { fun deposit(player: Player, item: Item) { val worldName = player.world.name if (worldName != "world" && worldName != "world_nether" && worldName != "world_the_end") { diff --git a/src/main/kotlin/net/trueog/diamondbankog/Config.kt b/src/main/kotlin/net/trueog/diamondbankog/Config.kt index fbaa372..913e551 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/Config.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/Config.kt @@ -4,7 +4,7 @@ import org.bukkit.configuration.file.YamlConfiguration import java.io.File import kotlin.properties.Delegates -object Config { +internal object Config { lateinit var prefix: String lateinit var postgresUrl: String lateinit var postgresUser: String diff --git a/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt b/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt index 9e47450..e7dd7be 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/DiamondBankOG.kt @@ -12,7 +12,7 @@ import org.bukkit.Bukkit import org.bukkit.plugin.ServicePriority import org.bukkit.plugin.java.JavaPlugin -class DiamondBankOG : JavaPlugin() { +internal class DiamondBankOG : JavaPlugin() { companion object { val scope = CoroutineScope(Dispatchers.Default + SupervisorJob()) diff --git a/src/main/kotlin/net/trueog/diamondbankog/ErrorHandler.kt b/src/main/kotlin/net/trueog/diamondbankog/ErrorHandler.kt index 0e4195f..8b1c781 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/ErrorHandler.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/ErrorHandler.kt @@ -3,7 +3,7 @@ package net.trueog.diamondbankog import net.trueog.diamondbankog.PostgreSQL.PlayerShards import java.util.* -object ErrorHandler { +internal object ErrorHandler { class EconomyException(message: String) : RuntimeException(message) /** diff --git a/src/main/kotlin/net/trueog/diamondbankog/Events.kt b/src/main/kotlin/net/trueog/diamondbankog/Events.kt index e92e512..e3296fc 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/Events.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/Events.kt @@ -25,7 +25,7 @@ import org.bukkit.inventory.ItemStack import org.bukkit.scheduler.BukkitRunnable @OptIn(DelicateCoroutinesApi::class) -class Events : Listener { +internal class Events : Listener { @EventHandler(priority = EventPriority.HIGHEST) fun onPlayerJoin(event: PlayerJoinEvent) { if (DiamondBankOG.economyDisabled) { diff --git a/src/main/kotlin/net/trueog/diamondbankog/InventoryExtensions.kt b/src/main/kotlin/net/trueog/diamondbankog/InventoryExtensions.kt index e9a285d..cd59132 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/InventoryExtensions.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/InventoryExtensions.kt @@ -15,7 +15,7 @@ import org.bukkit.scheduler.BukkitRunnable import kotlin.math.ceil import kotlin.math.floor -object InventoryExtensions { +internal object InventoryExtensions { private suspend fun Inventory.withdrawShards(shards: Int): Int { val removeMap = runOnMainThread { this.removeItem(Shard.createItemStack(shards)) diff --git a/src/main/kotlin/net/trueog/diamondbankog/MainThreadBlock.kt b/src/main/kotlin/net/trueog/diamondbankog/MainThreadBlock.kt index fc6a874..5938704 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/MainThreadBlock.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/MainThreadBlock.kt @@ -6,7 +6,7 @@ import org.bukkit.Bukkit import kotlin.coroutines.resume import kotlin.coroutines.resumeWithException -object MainThreadBlock { +internal object MainThreadBlock { @OptIn(ExperimentalCoroutinesApi::class) suspend fun runOnMainThread(block: () -> T): T { return if (Bukkit.isPrimaryThread()) { diff --git a/src/main/kotlin/net/trueog/diamondbankog/PlayerPrefix.kt b/src/main/kotlin/net/trueog/diamondbankog/PlayerPrefix.kt index 3515034..5e16bcc 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/PlayerPrefix.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/PlayerPrefix.kt @@ -3,7 +3,7 @@ package net.trueog.diamondbankog import kotlinx.coroutines.future.await import java.util.* -object PlayerPrefix { +internal object PlayerPrefix { private val legacyToMmMap = mapOf( "0" to "", "1" to "", diff --git a/src/main/kotlin/net/trueog/diamondbankog/Redis.kt b/src/main/kotlin/net/trueog/diamondbankog/Redis.kt index 1e2f3be..e903fd8 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/Redis.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/Redis.kt @@ -3,7 +3,7 @@ package net.trueog.diamondbankog import io.lettuce.core.RedisClient import io.lettuce.core.RedisConnectionException -class Redis { +internal class Redis { private val redisClient: RedisClient = RedisClient.create(Config.redisUrl) /** diff --git a/src/main/kotlin/net/trueog/diamondbankog/Shard.kt b/src/main/kotlin/net/trueog/diamondbankog/Shard.kt index aaa49a2..2d375fa 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/Shard.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/Shard.kt @@ -10,7 +10,7 @@ import org.bukkit.inventory.ShapedRecipe import org.bukkit.inventory.ShapelessRecipe import org.bukkit.persistence.PersistentDataType -object Shard { +internal object Shard { val namespacedKey = NamespacedKey(DiamondBankOG.plugin, "diamondshard") /** diff --git a/src/main/kotlin/net/trueog/diamondbankog/TransactionLock.kt b/src/main/kotlin/net/trueog/diamondbankog/TransactionLock.kt index 2e6418a..4555d90 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/TransactionLock.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/TransactionLock.kt @@ -4,7 +4,7 @@ import java.util.* import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.Semaphore -class TransactionLock { +internal class TransactionLock { private val locks = ConcurrentHashMap() sealed class LockResult { diff --git a/src/main/kotlin/net/trueog/diamondbankog/WithdrawHelper.kt b/src/main/kotlin/net/trueog/diamondbankog/WithdrawHelper.kt index eb24022..afc9de5 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/WithdrawHelper.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/WithdrawHelper.kt @@ -6,7 +6,7 @@ import net.trueog.diamondbankog.PostgreSQL.ShardType import org.bukkit.entity.Player import kotlin.math.floor -object WithdrawHelper { +internal object WithdrawHelper { /** * @return The amount of not removed shards, -1 if error */ diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/AutoCompress.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/AutoCompress.kt index 28b82ab..31af053 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/AutoCompress.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/AutoCompress.kt @@ -7,7 +7,7 @@ import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandSender import org.bukkit.entity.Player -class AutoCompress : CommandExecutor { +internal class AutoCompress : CommandExecutor { override fun onCommand( sender: CommandSender, command: Command, diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/AutoDeposit.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/AutoDeposit.kt index 5c115ff..30e7325 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/AutoDeposit.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/AutoDeposit.kt @@ -7,7 +7,7 @@ import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandSender import org.bukkit.entity.Player -class AutoDeposit : CommandExecutor { +internal class AutoDeposit : CommandExecutor { override fun onCommand( sender: CommandSender, command: Command, diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/Balance.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/Balance.kt index b89320f..16b55ab 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/Balance.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/Balance.kt @@ -14,8 +14,7 @@ import org.bukkit.entity.Player import java.util.* import kotlin.math.floor - -class Balance : CommandExecutor { +internal class Balance : CommandExecutor { @OptIn(DelicateCoroutinesApi::class) override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array?): Boolean { DiamondBankOG.scope.launch { diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/Balancetop.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/Balancetop.kt index 030581c..39e7e9e 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/Balancetop.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/Balancetop.kt @@ -14,7 +14,7 @@ import java.util.* import kotlin.math.ceil import kotlin.math.floor -class Balancetop : CommandExecutor { +internal class Balancetop : CommandExecutor { @OptIn(DelicateCoroutinesApi::class) override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array?): Boolean { DiamondBankOG.scope.launch { diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/Compress.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/Compress.kt index cb66f28..b44c882 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/Compress.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/Compress.kt @@ -19,7 +19,7 @@ import org.bukkit.inventory.ItemStack import org.bukkit.inventory.meta.BlockStateMeta import kotlin.math.abs -class Compress : CommandExecutor { +internal class Compress : CommandExecutor { private data class RunOnMainThreadResult( val shouldReturn: Boolean, val changeInShards: Int?, diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/Deposit.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/Deposit.kt index 596da3d..3f7a7a0 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/Deposit.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/Deposit.kt @@ -15,7 +15,7 @@ import org.bukkit.command.CommandSender import org.bukkit.entity.Player import kotlin.math.floor -class Deposit : CommandExecutor { +internal class Deposit : CommandExecutor { @OptIn(DelicateCoroutinesApi::class) override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array?): Boolean { DiamondBankOG.scope.launch { diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankHelp.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankHelp.kt index 4d54600..e751fbc 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankHelp.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankHelp.kt @@ -6,7 +6,7 @@ import org.bukkit.command.Command import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandSender -class DiamondBankHelp : CommandExecutor { +internal class DiamondBankHelp : CommandExecutor { override fun onCommand( sender: CommandSender, command: Command, diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankReload.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankReload.kt index d871fa8..ef1fbb1 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankReload.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/DiamondBankReload.kt @@ -8,7 +8,7 @@ import org.bukkit.command.Command import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandSender -class DiamondBankReload : CommandExecutor { +internal class DiamondBankReload : CommandExecutor { override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array?): Boolean { if (Config.load()) { sender.sendMessage(DiamondBankOG.mm.deserialize("Failed to reload the config. Check the console for more information.")) diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/DisableEconomy.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/DisableEconomy.kt index 469aed6..bd48821 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/DisableEconomy.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/DisableEconomy.kt @@ -6,7 +6,7 @@ import org.bukkit.command.Command import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandSender -class DisableEconomy : CommandExecutor { +internal class DisableEconomy : CommandExecutor { override fun onCommand( sender: CommandSender, command: Command, diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/EnableEconomy.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/EnableEconomy.kt index 391fce6..dff55b7 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/EnableEconomy.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/EnableEconomy.kt @@ -6,7 +6,7 @@ import org.bukkit.command.Command import org.bukkit.command.CommandExecutor import org.bukkit.command.CommandSender -class EnableEconomy : CommandExecutor { +internal class EnableEconomy : CommandExecutor { override fun onCommand( sender: CommandSender, command: Command, diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/Pay.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/Pay.kt index 99587e1..7df9bd4 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/Pay.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/Pay.kt @@ -17,7 +17,7 @@ import org.bukkit.entity.Player import java.util.* import kotlin.math.floor -class Pay : CommandExecutor { +internal class Pay : CommandExecutor { @OptIn(DelicateCoroutinesApi::class) override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array?): Boolean { DiamondBankOG.scope.launch launch@{ diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/SetBankBalance.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/SetBankBalance.kt index 6a1d50c..0be09ed 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/SetBankBalance.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/SetBankBalance.kt @@ -14,7 +14,7 @@ import org.bukkit.command.CommandSender import org.bukkit.entity.Player import java.util.* -class SetBankBalance : CommandExecutor { +internal class SetBankBalance : CommandExecutor { @OptIn(DelicateCoroutinesApi::class) override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array?): Boolean { DiamondBankOG.scope.launch { diff --git a/src/main/kotlin/net/trueog/diamondbankog/commands/Withdraw.kt b/src/main/kotlin/net/trueog/diamondbankog/commands/Withdraw.kt index 09b60a5..e54da0b 100644 --- a/src/main/kotlin/net/trueog/diamondbankog/commands/Withdraw.kt +++ b/src/main/kotlin/net/trueog/diamondbankog/commands/Withdraw.kt @@ -16,7 +16,7 @@ import org.bukkit.inventory.ItemStack import kotlin.math.ceil import kotlin.math.floor -class Withdraw : CommandExecutor { +internal class Withdraw : CommandExecutor { @OptIn(DelicateCoroutinesApi::class) override fun onCommand(sender: CommandSender, command: Command, label: String, args: Array?): Boolean { DiamondBankOG.scope.launch { -- 2.47.3