diff --git a/build.gradle.kts b/build.gradle.kts index 07f526a..4903445 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,46 +1,51 @@ plugins { - kotlin("jvm") version "1.6.10" - id("com.github.johnrengelman.shadow") version "7.1.1" + java + id("org.jetbrains.kotlin.jvm") version "1.6.10" apply false + id("com.github.johnrengelman.shadow") version "7.1.1" apply false } -group = "io.gorence" -version = "1.0-SNAPSHOT" - -repositories { - mavenCentral() - maven { - name = "papermc-repo" - url = uri("https://papermc.io/repo/repository/maven-public/") - } - maven { - name = "sonatype" - url = uri("https://oss.sonatype.org/content/groups/public/") +allprojects { + repositories { + mavenCentral() + maven { + name = "papermc-repo" + url = uri("https://papermc.io/repo/repository/maven-public/") + } + maven { + name = "sonatype" + url = uri("https://oss.sonatype.org/content/groups/public/") + } } } -dependencies { - // Kotlin dependencies - implementation(platform("org.jetbrains.kotlin:kotlin-bom")) - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") +subprojects { + plugins.apply("org.jetbrains.kotlin.jvm") + plugins.apply("com.github.johnrengelman.shadow") - // Database layer - implementation("org.jetbrains.xodus:xodus-openAPI:1.3.232") + group = "io.gorence" + version = "1.0-SNAPSHOT" - // Paper API - compileOnly("io.papermc.paper:paper-api:1.18.1-R0.1-SNAPSHOT") -} + dependencies { + // Kotlin dependencies + implementation(platform("org.jetbrains.kotlin:kotlin-bom")) + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") -java { - val javaVersion = JavaVersion.toVersion(17) - sourceCompatibility = javaVersion - targetCompatibility = javaVersion -} + // Paper API + compileOnly("io.papermc.paper:paper-api:1.18.1-R0.1-SNAPSHOT") + } -tasks.processResources { - val props = mapOf("version" to version) - inputs.properties(props) - filteringCharset = "UTF-8" - filesMatching("plugin.yml") { - expand(props) + java { + val javaVersion = JavaVersion.toVersion(17) + sourceCompatibility = javaVersion + targetCompatibility = javaVersion + } + + tasks.processResources { + val props = mapOf("version" to version) + inputs.properties(props) + filteringCharset = "UTF-8" + filesMatching("plugin.yml") { + expand(props) + } } } diff --git a/foundation-bifrost/build.gradle.kts b/foundation-bifrost/build.gradle.kts new file mode 100644 index 0000000..af817e6 --- /dev/null +++ b/foundation-bifrost/build.gradle.kts @@ -0,0 +1,3 @@ +dependencies { + implementation("net.dv8tion:JDA:5.0.0-alpha.2") +} diff --git a/foundation-bifrost/src/main/kotlin/cloud/kubelet/foundation/bifrost/FoundationBifrostPlugin.kt b/foundation-bifrost/src/main/kotlin/cloud/kubelet/foundation/bifrost/FoundationBifrostPlugin.kt new file mode 100644 index 0000000..bba6d9c --- /dev/null +++ b/foundation-bifrost/src/main/kotlin/cloud/kubelet/foundation/bifrost/FoundationBifrostPlugin.kt @@ -0,0 +1,9 @@ +package cloud.kubelet.foundation.bifrost + +import org.bukkit.plugin.java.JavaPlugin + +class FoundationBifrostPlugin : JavaPlugin() { + override fun onEnable() { + slF4JLogger.info("Enabling!") + } +} diff --git a/foundation-bifrost/src/main/resources/plugin.yml b/foundation-bifrost/src/main/resources/plugin.yml new file mode 100644 index 0000000..e3b99ee --- /dev/null +++ b/foundation-bifrost/src/main/resources/plugin.yml @@ -0,0 +1,15 @@ +name: Foundation-Bifrost +version: '${version}' +main: cloud.kubelet.foundation.bifrost.FoundationBifrostPlugin +api-version: 1.18 +prefix: Foundation-Bifrost +load: STARTUP +depend: + - Foundation +authors: + - kubelet +commands: + fbackup: + description: Foundation Backup + usage: /fbackup + permission: foundation.backup diff --git a/foundation-core/build.gradle.kts b/foundation-core/build.gradle.kts new file mode 100644 index 0000000..7d82dc7 --- /dev/null +++ b/foundation-core/build.gradle.kts @@ -0,0 +1,2 @@ +dependencies { +} diff --git a/src/main/kotlin/cloud/kubelet/foundation/Foundation.kt b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/FoundationCorePlugin.kt similarity index 91% rename from src/main/kotlin/cloud/kubelet/foundation/Foundation.kt rename to foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/FoundationCorePlugin.kt index 045aa4c..5bbafcb 100644 --- a/src/main/kotlin/cloud/kubelet/foundation/Foundation.kt +++ b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/FoundationCorePlugin.kt @@ -1,6 +1,6 @@ -package cloud.kubelet.foundation +package cloud.kubelet.foundation.core -import cloud.kubelet.foundation.command.BackupCommand +import cloud.kubelet.foundation.core.command.BackupCommand import io.papermc.paper.event.player.ChatEvent import net.kyori.adventure.text.Component import org.bukkit.command.CommandExecutor @@ -8,7 +8,7 @@ import org.bukkit.event.EventHandler import org.bukkit.event.Listener import org.bukkit.plugin.java.JavaPlugin -class Foundation : JavaPlugin(), Listener { +class FoundationCorePlugin : JavaPlugin(), Listener { override fun onEnable() { val dataPath = dataFolder.toPath() val backupPath = dataPath.resolve(BACKUPS_DIRECTORY) diff --git a/src/main/kotlin/cloud/kubelet/foundation/TextColors.kt b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/TextColors.kt similarity index 77% rename from src/main/kotlin/cloud/kubelet/foundation/TextColors.kt rename to foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/TextColors.kt index a2d8258..039172d 100644 --- a/src/main/kotlin/cloud/kubelet/foundation/TextColors.kt +++ b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/TextColors.kt @@ -1,4 +1,4 @@ -package cloud.kubelet.foundation +package cloud.kubelet.foundation.core import net.kyori.adventure.text.format.TextColor diff --git a/src/main/kotlin/cloud/kubelet/foundation/Util.kt b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/Util.kt similarity index 96% rename from src/main/kotlin/cloud/kubelet/foundation/Util.kt rename to foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/Util.kt index 4cc0e78..0413b77 100644 --- a/src/main/kotlin/cloud/kubelet/foundation/Util.kt +++ b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/Util.kt @@ -1,4 +1,4 @@ -package cloud.kubelet.foundation +package cloud.kubelet.foundation.core import net.kyori.adventure.text.Component import net.kyori.adventure.text.format.TextColor diff --git a/src/main/kotlin/cloud/kubelet/foundation/command/BackupCommand.kt b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/command/BackupCommand.kt similarity index 92% rename from src/main/kotlin/cloud/kubelet/foundation/command/BackupCommand.kt rename to foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/command/BackupCommand.kt index 8a234ce..c015855 100644 --- a/src/main/kotlin/cloud/kubelet/foundation/command/BackupCommand.kt +++ b/foundation-core/src/main/kotlin/cloud/kubelet/foundation/core/command/BackupCommand.kt @@ -1,7 +1,7 @@ -package cloud.kubelet.foundation.command +package cloud.kubelet.foundation.core.command -import cloud.kubelet.foundation.Foundation -import cloud.kubelet.foundation.Util +import cloud.kubelet.foundation.core.FoundationCorePlugin +import cloud.kubelet.foundation.core.Util import net.kyori.adventure.text.Component import net.kyori.adventure.text.format.TextColor import org.bukkit.Server @@ -20,14 +20,13 @@ import java.util.zip.ZipEntry import java.util.zip.ZipOutputStream class BackupCommand( - private val plugin: Foundation, + private val plugin: FoundationCorePlugin, private val backupPath: Path ) : CommandExecutor { override fun onCommand( - sender: CommandSender, command: Command, - label: String, args: Array + sender: CommandSender, command: Command, label: String, args: Array ): Boolean { - if (!Foundation.BACKUP_ENABLED) { + if (!FoundationCorePlugin.BACKUP_ENABLED) { sender.sendMessage( Component .text("Backup is not enabled.") diff --git a/src/main/resources/plugin.yml b/foundation-core/src/main/resources/plugin.yml similarity index 79% rename from src/main/resources/plugin.yml rename to foundation-core/src/main/resources/plugin.yml index 3cc4343..466754e 100644 --- a/src/main/resources/plugin.yml +++ b/foundation-core/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: Foundation version: '${version}' -main: cloud.kubelet.foundation.Foundation +main: cloud.kubelet.foundation.core.FoundationCorePlugin api-version: 1.18 prefix: Foundation load: STARTUP diff --git a/settings.gradle.kts b/settings.gradle.kts index 4a573d8..5c5848e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1,6 @@ rootProject.name = "foundation" + +include( + ":foundation-core", + ":foundation-bifrost", +)