From ed338a712c2e5ab64bf2d8bdc4203c93cffc18e3 Mon Sep 17 00:00:00 2001 From: mooziii <63669478+mooziii@users.noreply.github.com> Date: Thu, 9 Jun 2022 21:27:08 +0200 Subject: [PATCH] KSpigot 1.19 (#50) * Use new papermc repo url * Update gradle plugins * Update paper dependencies to 1.19 and bump version * Package renames * Update to kotlin 1.7.0 * Update kotlinx-serialization-json to 1.3.3 * Update kotlinx-coroutines to 1.6.2 * Correct version bump * Update versions in gradle_example.md * update some guide stuff Co-authored-by: l4zs --- build.gradle.kts | 18 +++++----- guide/docs/extensions/itembuilder.md | 6 ++-- guide/docs/extensions/listener.md | 4 +-- guide/docs/extensions/literal_text.md | 35 +++++++++++++++---- guide/docs/setup/beginners/java_version.md | 8 ++--- guide/docs/setup/gradle_example.md | 8 ++--- settings.gradle.kts | 2 +- .../commands/internal/BrigardierSupport.kt | 4 +-- .../net/axay/kspigot/data/NBTDataLoader.kt | 4 +-- .../extensions/bukkit/EntityExtensions.kt | 2 +- .../net/axay/kspigot/structures/Structure.kt | 2 +- 11 files changed, 59 insertions(+), 34 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 25911686..d49ead03 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,21 +3,21 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile val githubRepo = "jakobkmar/KSpigot" group = "net.axay" -version = "1.18.2" +version = "1.19.0" description = "A Kotlin API for Minecraft plugins using the Spigot or Paper toolchain" plugins { - kotlin("jvm") version "1.6.10" + kotlin("jvm") version "1.7.0" `java-library` `maven-publish` signing - id("org.jetbrains.dokka") version "1.6.10" - kotlin("plugin.serialization") version "1.6.10" + id("org.jetbrains.dokka") version "1.6.21" + kotlin("plugin.serialization") version "1.6.21" - id("io.papermc.paperweight.userdev") version "1.3.5" + id("io.papermc.paperweight.userdev") version "1.3.6" } repositories { @@ -25,11 +25,11 @@ repositories { } dependencies { - paperDevBundle("1.18.2-R0.1-SNAPSHOT") + paperDevBundle("1.19-R0.1-SNAPSHOT") - api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2") - api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0") - api("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.0") + api("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3") + api("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.2") + api("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.6.2") } tasks { diff --git a/guide/docs/extensions/itembuilder.md b/guide/docs/extensions/itembuilder.md index 33789ff2..d6324d1e 100644 --- a/guide/docs/extensions/itembuilder.md +++ b/guide/docs/extensions/itembuilder.md @@ -11,7 +11,9 @@ val sword = itemStack(Material.GOLDEN_SWORD) { amount = 3 addEnchantment(Enchantment.KNOCKBACK, 2) meta { - name = "${KColors.GOLD}Magic Sword" + name = literalText("Magic Sword") { + color = KColors.GOLD + } isUnbreakable = true addLore { +"This sword is truly special." @@ -20,7 +22,7 @@ val sword = itemStack(Material.GOLDEN_SWORD) { customModel = 1001 flag(ItemFlag.HIDE_UNBREAKABLE) } -} +} ``` ### This creates the following item diff --git a/guide/docs/extensions/listener.md b/guide/docs/extensions/listener.md index 1012ac32..f6a53dd8 100644 --- a/guide/docs/extensions/listener.md +++ b/guide/docs/extensions/listener.md @@ -14,7 +14,7 @@ The event instance will be passed in as `it`, but you can change this: ```kotlin listen { moveEvent -> - moveEvent.player.kick("Do not move!") + moveEvent.player.kick(literalText("Do not move!")) broadcast("${moveEvent.player} moved :/") } ``` @@ -25,7 +25,7 @@ For example you could listen to a specific event temporarily: ```kotlin val moveEventListener = listen { - it.player.kick("Do not move!") + it.player.kick(literalText("Do not move!")) } // e.g. unregister the listener after some time diff --git a/guide/docs/extensions/literal_text.md b/guide/docs/extensions/literal_text.md index bd78b525..723b8355 100644 --- a/guide/docs/extensions/literal_text.md +++ b/guide/docs/extensions/literal_text.md @@ -42,8 +42,7 @@ Color: ```kotlin literalText("base text") { - color = col(0xFF7463) - color = col("#FF7463") + color = TextColor.color(255, 116, 99) color = KColors.INDIANRED } ``` @@ -56,7 +55,7 @@ literalText("base text") { ```kotlin literalText("base text") { - hoverEvent = HoverEvent(action, content) + hoverEvent = HoverEvent.hoverEvent(action, value) } ``` @@ -70,13 +69,29 @@ literalText("base text") { } ``` +#### Show hover Item + +```kotlin +literalText("base text") { + hoverItem(item) +} +``` + +#### Show hover Entity + +```kotlin +literalText("base text") { + hoverEntity(entity) +} +``` + ### Click event #### General click event ```kotlin literalText("base text") { - clickEvent = ClickEvent(action, value) + clickEvent = ClickEvent.clickEvent(action, value) } ``` @@ -96,6 +111,14 @@ literalText("base text") { } ``` +#### Open a URL + +```kotlin +literalText("base text") { + onClickOpenURL("https://github.com/bluefireoly/KSpigot") +} +``` + ## Special ```kotlin @@ -107,12 +130,12 @@ literalText("base text") { } ``` -## Add bungee components +## Add paper components ```kotlin literalText("base text") { // e.g. add a TranslatableComponent - text(TranslatableComponent("translation.key")) { + component(Component.translatable("translation.key")) { // optional text body } } diff --git a/guide/docs/setup/beginners/java_version.md b/guide/docs/setup/beginners/java_version.md index f7ea479f..7c6572a9 100644 --- a/guide/docs/setup/beginners/java_version.md +++ b/guide/docs/setup/beginners/java_version.md @@ -2,19 +2,19 @@ Configuring the Java version is nothing specific to KSpigot, it should always be anyways, because a lot of beginners forget to do this - and then get confused about not being able to use inline functions. -**Java 16** is the minimum required Java version by Minecraft, therefore KSpigot requires it as well. +**Java 17** is the minimum required Java version by Minecraft, therefore KSpigot requires it as well. You can configure the Java version using Gradle: ```kotlin -// set the Java version you are using, Java 16 is the minimum required version for Minecraft +// set the Java version you are using, Java 17 is the minimum required version for Minecraft tasks { compileJava { - options.release.set(16) + options.release.set(17) } compileKotlin { - kotlinOptions.jvmTarget = "16" + kotlinOptions.jvmTarget = "17" } } ``` diff --git a/guide/docs/setup/gradle_example.md b/guide/docs/setup/gradle_example.md index 647a08ee..0de0502c 100644 --- a/guide/docs/setup/gradle_example.md +++ b/guide/docs/setup/gradle_example.md @@ -7,8 +7,8 @@ An example for a Gradle build script of a project using KSpigot would be: import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - kotlin("jvm") version "1.6.0" - id("io.papermc.paperweight.userdev") version "1.3.1" + kotlin("jvm") version "1.7.0" + id("io.papermc.paperweight.userdev") version "1.3.6" } group = "your.group" @@ -19,8 +19,8 @@ repositories { } dependencies { - paperDevBundle("1.18.1-R0.1-SNAPSHOT") - implementation("net.axay:kspigot:1.18.0") + paperDevBundle("1.19-R0.1-SNAPSHOT") + implementation("net.axay:kspigot:1.19.0") } tasks { diff --git a/settings.gradle.kts b/settings.gradle.kts index 77db8f70..6b8d5e8a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,6 +3,6 @@ rootProject.name = "KSpigot" pluginManagement { repositories { gradlePluginPortal() - maven("https://papermc.io/repo/repository/maven-public/") + maven("https://repo.papermc.io/repository/maven-public/") } } diff --git a/src/main/kotlin/net/axay/kspigot/commands/internal/BrigardierSupport.kt b/src/main/kotlin/net/axay/kspigot/commands/internal/BrigardierSupport.kt index 457af4d4..3e945cd8 100644 --- a/src/main/kotlin/net/axay/kspigot/commands/internal/BrigardierSupport.kt +++ b/src/main/kotlin/net/axay/kspigot/commands/internal/BrigardierSupport.kt @@ -33,7 +33,7 @@ object BrigardierSupport { } @Suppress("HasPlatformType") - fun resolveCommandManager() = (server as org.bukkit.craftbukkit.v1_18_R2.CraftServer) + fun resolveCommandManager() = (server as org.bukkit.craftbukkit.v1_19_R1.CraftServer) .server.vanillaCommandDispatcher internal fun registerAll() { @@ -52,7 +52,7 @@ object BrigardierSupport { fun updateCommandTree() { onlinePlayers.forEach { // send the command tree - resolveCommandManager().sendCommands((it as org.bukkit.craftbukkit.v1_18_R2.entity.CraftPlayer).handle) + resolveCommandManager().sendCommands((it as org.bukkit.craftbukkit.v1_19_R1.entity.CraftPlayer).handle) } } } diff --git a/src/main/kotlin/net/axay/kspigot/data/NBTDataLoader.kt b/src/main/kotlin/net/axay/kspigot/data/NBTDataLoader.kt index 615dd449..e2ffcc89 100644 --- a/src/main/kotlin/net/axay/kspigot/data/NBTDataLoader.kt +++ b/src/main/kotlin/net/axay/kspigot/data/NBTDataLoader.kt @@ -4,8 +4,8 @@ package net.axay.kspigot.data import net.axay.kspigot.annotations.NMS_General import net.minecraft.nbt.CompoundTag -import org.bukkit.craftbukkit.v1_18_R2.entity.CraftEntity -import org.bukkit.craftbukkit.v1_18_R2.inventory.CraftItemStack +import org.bukkit.craftbukkit.v1_19_R1.entity.CraftEntity +import org.bukkit.craftbukkit.v1_19_R1.inventory.CraftItemStack import org.bukkit.entity.Entity import org.bukkit.inventory.ItemStack diff --git a/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt b/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt index 4af45d3f..20f2b62a 100644 --- a/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt +++ b/src/main/kotlin/net/axay/kspigot/extensions/bukkit/EntityExtensions.kt @@ -138,7 +138,7 @@ fun Player.showOnlinePlayers() { @Deprecated("This function is unstable and it cannot be guaranteed that it will work at any time in the future.") @NMS_General fun Location.spawnCleanEntity(entityType: EntityType): Entity? { - val craftWorld = world as? org.bukkit.craftbukkit.v1_18_R2.CraftWorld ?: return null + val craftWorld = world as? org.bukkit.craftbukkit.v1_19_R1.CraftWorld ?: return null return craftWorld.createEntity(this, entityType.entityClass)?.let { craftWorld.handle.addFreshEntity(it) return@let it.bukkitEntity diff --git a/src/main/kotlin/net/axay/kspigot/structures/Structure.kt b/src/main/kotlin/net/axay/kspigot/structures/Structure.kt index fdd5f8d6..e4958add 100644 --- a/src/main/kotlin/net/axay/kspigot/structures/Structure.kt +++ b/src/main/kotlin/net/axay/kspigot/structures/Structure.kt @@ -10,7 +10,7 @@ import org.bukkit.Location import org.bukkit.Material import org.bukkit.block.Block import org.bukkit.block.data.BlockData -import org.bukkit.craftbukkit.v1_18_R2.entity.CraftEntity +import org.bukkit.craftbukkit.v1_19_R1.entity.CraftEntity import org.bukkit.entity.Entity import org.bukkit.entity.EntityType