Skip to content

Commit

Permalink
Prepared for release, added a check to prevent the plugin from loadin…
Browse files Browse the repository at this point in the history
…g if cloudnet bridge is not installed
  • Loading branch information
byPixelTV committed Apr 30, 2024
1 parent d8e9e8a commit ae40255
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 24 deletions.
37 changes: 19 additions & 18 deletions src/main/kotlin/de/bypixeltv/skcloudnet/Main.kt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ class Main : KSpigot() {
e.printStackTrace()
}

server.consoleSender.sendMessage(miniMessages.deserialize("<color:#43fa00>Enabling SkCloudnet v${this.description.version}...</color>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(miniMessages.deserialize("<color:#43fa00> _____ _ _____ _ _ _ </color>"))
Expand All @@ -49,7 +48,7 @@ class Main : KSpigot() {
server.consoleSender.sendMessage(miniMessages.deserialize("<yellow>Made by byPixelTV</yellow>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(miniMessages.deserialize("<aqua>Successfully enabled SkCloudnet v${this.description.version}!</aqua>"))
server.consoleSender.sendMessage(miniMessages.deserialize("<grey>[<aqua>SkCloudnet</aqua>]</grey> <aqua>Successfully enabled SkCloudnet v${this.description.version}!</aqua>"))


val githubVersion = VersionUtils().getLatestAddonVersion()?.replace("v", "")
Expand All @@ -63,45 +62,55 @@ class Main : KSpigot() {
// You're on the latest version
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(miniMessages.deserialize("<color:#43fa00>You're on the latest version of SkCloudnet!</color> <aqua>Version <yellow>v${this.description.version}</yellow></aqua>"))
server.consoleSender.sendMessage(miniMessages.deserialize("<grey>[<aqua>SkCloudnet</aqua>]</grey> <color:#43fa00>You're on the latest version of SkCloudnet!</color> <aqua>Version <yellow>v${this.description.version}</yellow></aqua>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
} else if (githubVersion == currentVersion) {
// You're running a development version
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(miniMessages.deserialize("<color:#43fa00>There is an update available for SkCloudnet!</color> <aqua>You're on version <yellow>v${this.description.version}</yellow> and the latest version is <yellow>$githubVersion</yellow></aqua>!\n\n<color:#43fa00>Download the latest version here:</color> <blue>https://github.com/byPixelTV/SkCloudnet/releases</blue> <aqua>"))
server.consoleSender.sendMessage(miniMessages.deserialize("<grey>[<aqua>SkCloudnet</aqua>]</grey> <color:#43fa00>There is an update available for SkCloudnet!</color> <aqua>You're on version <yellow>v${this.description.version}</yellow> and the latest version is <yellow>$githubVersion</yellow></aqua>!\n\n<color:#43fa00>Download the latest version here:</color> <blue>https://github.com/byPixelTV/SkCloudnet/releases</blue> <aqua>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
} else {
server.consoleSender.sendMessage(miniMessages.deserialize("<color:#ff0000>You're running a development version of SkCloudnet! Please note that this version may contain bugs!</color> <aqua>Version <color:#ff0000>v${this.description.version}</color> > <color:#43fa00>${VersionUtils().getLatestAddonVersion()}</color></aqua>"))
server.consoleSender.sendMessage(miniMessages.deserialize("<grey>[<aqua>SkCloudnet</aqua>]</grey> <color:#ff0000>You're running a development version of SkCloudnet! Please note that this version may contain bugs!</color> <aqua>Version <color:#ff0000>v${this.description.version}</color> > <color:#43fa00>${VersionUtils().getLatestAddonVersion()}</color></aqua>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
}
} else {
// Unable to fetch the latest version from GitHub
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(miniMessages.deserialize("<color:#ff0000>Unable to fetch the latest version from Github!</color> <aqua>Are you rate limited?</aqua>"))
server.consoleSender.sendMessage(miniMessages.deserialize("<grey>[<aqua>SkCloudnet</aqua>]</grey> <color:#ff0000>Unable to fetch the latest version from Github!</color> <aqua>Are you rate limited?</aqua>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
}

IngameUpdateMessage
UpdateCheck

val metrics: Metrics = Metrics(this, 21526)
Metrics(this, 21526)

// Check if server plugin cloudnet-bridge is installed
val pluginManager = server.pluginManager
val cloudnetBridgePlugin = pluginManager.getPlugin("cloudnet-bridge")

if (cloudnetBridgePlugin == null) {
// The cloudnet-bridge plugin isn't installed
server.consoleSender.sendMessage(miniMessages.deserialize("<grey>[<aqua>SkCloudnet</aqua>]</grey> <color:#ff0000>Could not find CloudNet-Bridge, disabling!"))
pluginManager.disablePlugin(this)
}

}

override fun load() {
server.consoleSender.sendMessage(miniMessages.deserialize("<blue>Loading SkCloudnet...</blue>"))
CommandAPI.onLoad(CommandAPIBukkitConfig(this).silentLogs(true).verboseOutput(true))
SkCloudnetCommands()
}

@Suppress("DEPRECATION")
override fun shutdown() {
CommandAPI.onDisable()
server.consoleSender.sendMessage(miniMessages.deserialize("<color:#ff0000>Disabling SkCloudnet v${this.description.version}...</color>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(miniMessages.deserialize("<color:#ff0000> _____ _ _____ _ _ _ </color>"))
Expand All @@ -113,14 +122,6 @@ class Main : KSpigot() {
server.consoleSender.sendMessage(miniMessages.deserialize("<yellow>Made by byPixelTV</yellow>"))
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(" ")
server.consoleSender.sendMessage(miniMessages.deserialize("<aqua>Successfully disabled SkCloudnet v${this.description.version}!</aqua>"))
}

fun getMainInstance(): Main? {
return instance
}

fun getAddonInstance(): SkriptAddon? {
return addon
server.consoleSender.sendMessage(miniMessages.deserialize("<grey>[<aqua>SkCloudnet</aqua>]</grey> <aqua>Successfully disabled SkCloudnet v${this.description.version}!</aqua>"))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package de.bypixeltv.skcloudnet.commands
import ch.njol.skript.Skript
import de.bypixeltv.skcloudnet.Main
import de.bypixeltv.skcloudnet.utils.VersionUtils
import dev.jorel.commandapi.kotlindsl.anyExecutor
import dev.jorel.commandapi.kotlindsl.commandTree
import dev.jorel.commandapi.kotlindsl.literalArgument
import dev.jorel.commandapi.kotlindsl.playerExecutor
import net.kyori.adventure.text.minimessage.MiniMessage
import java.nio.file.Files
import java.nio.file.Paths
Expand All @@ -18,7 +18,7 @@ class SkCloudnetCommands {
withPermission("skcloudnet.admin")
literalArgument("info") {
withPermission("skcloudnet.admin.info")
playerExecutor { player, _ ->
anyExecutor { player, _ ->
val addonMessages = Skript.getAddons().mapNotNull { addon ->
val name = addon.name
if (!name.contains("SkCloudnet")) {
Expand All @@ -38,7 +38,7 @@ class SkCloudnetCommands {
}
literalArgument("docs") {
withPermission("skcloudnet.admin.docs")
playerExecutor { player, _ ->
anyExecutor { player, _ ->
player.sendMessage(
miniMessages.deserialize(
"<dark_grey>[<gradient:aqua:blue:aqua>SkCloudnet</gradient>]</dark_grey> <grey><aqua>Documentation</aqua> for <aqua>SkCloudnet:</aqua></grey>\n<grey>-</grey> <click:open_url:'https://skripthub.net/docs/?addon=SkCloudnet'><aqua>SkriptHub</aqua> <dark_grey>(<aqua>Click me!</aqua>)</dark_grey></click>\n<grey>-</grey> <click:open_url:'https://docs.skunity.com/syntax/search/addon:skcloudnet'><aqua>SkUnity</aqua> <dark_grey>(<aqua>Click me!</aqua>)</dark_grey></click>"
Expand All @@ -48,15 +48,15 @@ class SkCloudnetCommands {
}
literalArgument("version") {
withPermission("skcloudnet.admin.version")
playerExecutor { player, _ ->
anyExecutor { player, _ ->
val githubVersion = VersionUtils().getLatestAddonVersion()?.replace("v", "")
val currentVersion = Main.INSTANCE.description.version.replace("v", "")

if (githubVersion != null) {
if (VersionUtils().isVersionGreater(githubVersion, currentVersion)) {
player.sendMessage(miniMessages.deserialize("<dark_grey>[<gradient:aqua:blue:aqua>SkCloudnet</gradient>]</dark_grey> <color:#43fa00>There is an update available for SkCloudnet!</color> <aqua>You're on version <yellow>${Main.INSTANCE.description.version}</yellow> and the latest version is <yellow>$githubVersion</yellow></aqua>!<color:#43fa00>Download the latest version here:</color> <blue>https://github.com/byPixelTV/SkCloudnet/releases</blue> <aqua>"))
} else if (githubVersion == currentVersion) {
return@playerExecutor
return@anyExecutor
} else {
player.sendMessage(miniMessages.deserialize("<dark_grey>[<gradient:aqua:blue:aqua>SkCloudnet</gradient>]</dark_grey> <color:#ff0000>You're running a development version of SkCloudnet! Please note that this version may contain bugs!</color> <aqua>Version <color:#ff0000>${Main.INSTANCE.description.version}</color> > <color:#43fa00>${VersionUtils().getLatestAddonVersion()}</color></aqua>"))
}
Expand All @@ -67,7 +67,7 @@ class SkCloudnetCommands {
}
literalArgument("reload") {
withPermission("skcloudnet.admin.reload")
playerExecutor { player, _ ->
anyExecutor { player, _ ->
Main.INSTANCE.reloadConfig()
val path = Paths.get("/plugins/SkCloudnet/config.yml")
if (Files.exists(path)) {
Expand Down

0 comments on commit ae40255

Please sign in to comment.