diff --git a/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt b/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt index b6800dd8..baa75262 100644 --- a/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt +++ b/src/main/kotlin/net/axay/kspigot/inventory/InventoryGUI.kt @@ -3,7 +3,6 @@ package net.axay.kspigot.inventory import net.axay.kspigot.event.listen -import net.axay.kspigot.main.KSpigotMainInstance import org.bukkit.entity.HumanEntity import org.bukkit.event.inventory.InventoryClickEvent import org.bukkit.inventory.Inventory @@ -25,7 +24,7 @@ fun HumanEntity.openGUI(gui: InventoryGUI<*>, page: Int? = null): InventoryView? // GUI HOLDER -class InventoryGUIHolder : AutoCloseable { +object InventoryGUIHolder : AutoCloseable { private val registered = HashSet>() @@ -107,14 +106,14 @@ abstract class InventoryGUI( * (KSpigot will listen for actions in the inventory.) */ @Suppress("UNCHECKED_CAST") - fun register() = KSpigotMainInstance.inventoryGUIHolder.register(this as InventoryGUI) + fun register() = InventoryGUIHolder.register(this as InventoryGUI) /** * Stops KSpigot from listening to actions in this * InventoryGUI anymore. */ @Suppress("UNCHECKED_CAST") - fun unregister() = KSpigotMainInstance.inventoryGUIHolder.unregister(this as InventoryGUI) + fun unregister() = InventoryGUIHolder.unregister(this as InventoryGUI) /** * Loads the specified page in order to display it in the GUI. diff --git a/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt b/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt index 5c9a2724..3003aff9 100644 --- a/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt +++ b/src/main/kotlin/net/axay/kspigot/main/KSpigot.kt @@ -21,8 +21,8 @@ import org.bukkit.plugin.java.JavaPlugin abstract class KSpigot : JavaPlugin() { // lazy properties - private val kRunnableHolderProperty = lazy { KRunnableHolder() } - private val inventoryGUIHolderProperty = lazy { InventoryGUIHolder() } + private val kRunnableHolderProperty = lazy { KRunnableHolder } + private val inventoryGUIHolderProperty = lazy { InventoryGUIHolder } internal val kRunnableHolder by kRunnableHolderProperty internal val inventoryGUIHolder by inventoryGUIHolderProperty diff --git a/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt b/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt index 67e677f2..8a3ebb10 100644 --- a/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt +++ b/src/main/kotlin/net/axay/kspigot/runnables/KSpigotRunnables.kt @@ -6,7 +6,7 @@ import net.axay.kspigot.main.KSpigotMainInstance import org.bukkit.Bukkit import org.bukkit.scheduler.BukkitRunnable -class KRunnableHolder : AutoCloseable { +internal object KRunnableHolder : AutoCloseable { /** * [BukkitRunnable] for tracking the responsible runnable. @@ -86,16 +86,16 @@ fun task( if (isCancelled) { if (safe || ranOut) - KSpigotMainInstance.kRunnableHolder.activate(this) + KRunnableHolder.activate(this) else - KSpigotMainInstance.kRunnableHolder.remove(this) + KRunnableHolder.remove(this) } } } - if (endCallback != null) KSpigotMainInstance.kRunnableHolder.add(bukkitRunnable, endCallback, safe) + if (endCallback != null) KRunnableHolder.add(bukkitRunnable, endCallback, safe) if (sync) bukkitRunnable.runTaskTimer(KSpigotMainInstance, delay, period ?: 20)