Skip to content

Commit

Permalink
feat(spigot): convert project to spigot nms
Browse files Browse the repository at this point in the history
  • Loading branch information
StillLutto committed Jan 12, 2025
1 parent 91c2635 commit 4b9612c
Show file tree
Hide file tree
Showing 48 changed files with 454 additions and 2,299 deletions.
2 changes: 0 additions & 2 deletions api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,10 @@ dependencies {
implementation(project(":v1_19_2"))
implementation(project(":v1_19_3"))
implementation(project(":v1_19_4"))
implementation(project(":v1_20"))
implementation(project(":v1_20_1"))
implementation(project(":v1_20_2"))
implementation(project(":v1_20_4"))
implementation(project(":v1_20_6"))
implementation(project(":v1_21"))
implementation(project(":v1_21_1"))
implementation(project(":v1_21_3"))
implementation(project(":v1_21_4"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ object CommandManager {
"1.19.2" to com.undefined.stellar.v1_19_2.CommandRegistrar::class,
"1.19.3" to com.undefined.stellar.v1_19_3.CommandRegistrar::class,
"1.19.4" to com.undefined.stellar.v1_19_4.CommandRegistrar::class,
"1.20" to com.undefined.stellar.v1_20.CommandRegistrar::class,
"1.20" to com.undefined.stellar.v1_20_1.CommandRegistrar::class,
"1.20.1" to com.undefined.stellar.v1_20_1.CommandRegistrar::class,
"1.20.2" to com.undefined.stellar.v1_20_2.CommandRegistrar::class,
"1.20.3" to com.undefined.stellar.v1_20_2.CommandRegistrar::class,
"1.20.4" to com.undefined.stellar.v1_20_4.CommandRegistrar::class,
"1.20.5" to com.undefined.stellar.v1_20_6.CommandRegistrar::class,
"1.20.6" to com.undefined.stellar.v1_20_6.CommandRegistrar::class,
"1.21" to com.undefined.stellar.v1_21.CommandRegistrar::class,
"1.21" to com.undefined.stellar.v1_21_1.CommandRegistrar::class,
"1.21.1" to com.undefined.stellar.v1_21_1.CommandRegistrar::class,
"1.21.2" to com.undefined.stellar.v1_21_1.CommandRegistrar::class,
"1.21.3" to com.undefined.stellar.v1_21_3.CommandRegistrar::class,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.undefined.stellar.argument.types.custom

import com.undefined.stellar.AbstractStellarCommand
import com.undefined.stellar.argument.AbstractStellarArgument
import com.undefined.stellar.argument.types.primitive.StringArgument
import com.undefined.stellar.argument.types.primitive.StringType
import com.undefined.stellar.data.suggestion.Suggestion
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.undefined.stellar.exception

import com.undefined.stellar.argument.AbstractStellarArgument
import java.lang.RuntimeException

class UnsupportedArgumentTypeException(val argument: AbstractStellarArgument<*>) : RuntimeException("List argument does not support ${argument::class.simpleName}!")
3 changes: 2 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
kotlin.daemon.jvmargs=-Xmx4096M
kotlin.daemon.jvmargs=-Xmx4096M
org.gradle.daemon=true
33 changes: 0 additions & 33 deletions server/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,39 +12,6 @@ dependencies {
compileOnly("org.spigotmc:spigot-api:1.21.4-R0.1-SNAPSHOT")

implementation(project(":api"))
implementation(project(":common"))
implementation(project(":v1_13"))
implementation(project(":v1_13_1"))
implementation(project(":v1_13_2"))
implementation(project(":v1_14_1"))
implementation(project(":v1_14_2"))
implementation(project(":v1_14_3"))
implementation(project(":v1_14_4"))
implementation(project(":v1_15"))
implementation(project(":v1_15_1"))
implementation(project(":v1_15_2"))
implementation(project(":v1_16_1"))
implementation(project(":v1_16_2"))
implementation(project(":v1_16_3"))
implementation(project(":v1_16_4"))
implementation(project(":v1_16_5"))
implementation(project(":v1_17"))
implementation(project(":v1_17_1:", "reobf"))
implementation(project(":v1_18_1:", "reobf"))
implementation(project(":v1_18_2:", "reobf"))
implementation(project(":v1_19_2:", "reobf"))
implementation(project(":v1_19_3:", "reobf"))
implementation(project(":v1_19_4"))
implementation(project(":v1_20:", "reobf"))
implementation(project(":v1_20_1:", "reobf"))
implementation(project(":v1_20_2:", "reobf"))
implementation(project(":v1_20_4:", "reobf"))
implementation(project(":v1_20_6:", "reobf"))
implementation(project(":v1_21:", "reobf"))
implementation(project(":v1_21_1:", "reobf"))
implementation(project(":v1_21_3:", "reobf"))
implementation(project(":v1_21_4:"))
compileOnly(project(":v1_19_4"))
}

tasks {
Expand Down
2 changes: 0 additions & 2 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,10 @@ include(
"v1_19_2",
"v1_19_3",
"v1_19_4",
"v1_20",
"v1_20_1",
"v1_20_2",
"v1_20_4",
"v1_20_6",
"v1_21",
"v1_21_1",
"v1_21_3",
"v1_21_4"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,28 +75,15 @@ object CommandContextAdapter {

@Suppress("DEPRECATION")
private data class Source(val sender: CommandSender) : CommandSource {
override fun sendMessage(message: Component, sender: UUID) {
override fun sendMessage(message: Component, uuid: UUID) =
this.sender.sendMessage(LegacyComponentSerializer.legacySection().serialize(asAdventure(message)))
}

override fun acceptsSuccess(): Boolean {
return true
}

override fun acceptsFailure(): Boolean {
return true
}

override fun shouldInformAdmins(): Boolean {
return false
}

override fun getBukkitSender(stack: CommandSourceStack): CommandSender {
return this.sender
}
override fun acceptsSuccess(): Boolean = true
override fun acceptsFailure(): Boolean = true
override fun shouldInformAdmins(): Boolean = false
override fun getBukkitSender(stack: CommandSourceStack): CommandSender = this.sender
}

fun asAdventure(component: Component): net.kyori.adventure.text.Component =
GsonComponentSerializer.gson().deserializeFromTree(Component.Serializer.toJsonTree(component))
GsonComponentSerializer.gson().deserialize(Component.Serializer.toJson(component))

}
15 changes: 7 additions & 8 deletions v1_17_1/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
plugins {
kotlin("jvm") version "1.9.22"
id("io.papermc.paperweight.userdev")
id("com.undefinedcreations.mapper") version "1.1.1"
}

paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.REOBF_PRODUCTION

dependencies {
paperweight.paperDevBundle("1.17.1-R0.1-SNAPSHOT")
compileOnly("org.spigotmc:spigot:1.17.1-R0.1-SNAPSHOT:remapped-mojang")
compileOnly(project(":common"))
}

tasks {
jar {
finalizedBy(remap)
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileJava {
options.release.set(8)
}
paperweight {
javaLauncher.set(
project.javaToolchains.launcherFor { languageVersion.set(JavaLanguageVersion.of(16)) }
)
remap {
minecraftVersion("1.17.1")
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ object ArgumentHelper {
is com.undefined.stellar.argument.types.text.StyleArgument -> GsonComponentSerializer.gson().deserialize(
getArgumentInput(context, argument.name) ?: return null).style()
is com.undefined.stellar.argument.types.text.MessageArgument -> GsonComponentSerializer.gson().deserialize(Component.Serializer.toJson(MessageArgument.getMessage(context, argument.name)))
is com.undefined.stellar.argument.types.scoreboard.ObjectiveArgument -> Bukkit.getScoreboardManager().mainScoreboard.getObjective(ObjectiveArgument.getObjective(context, argument.name).name)
is com.undefined.stellar.argument.types.scoreboard.ObjectiveArgument -> Bukkit.getScoreboardManager()!!.mainScoreboard.getObjective(ObjectiveArgument.getObjective(context, argument.name).name)
is com.undefined.stellar.argument.types.scoreboard.ObjectiveCriteriaArgument -> ObjectiveCriteriaArgument.getCriteria(context, argument.name).name
is com.undefined.stellar.argument.types.math.OperationArgument -> Operation.getOperation(getArgumentInput(context, argument.name) ?: return null)
is com.undefined.stellar.argument.types.world.ParticleArgument -> {
Expand All @@ -259,7 +259,7 @@ object ArgumentHelper {
ScoreHolderType.MULTIPLE -> ScoreHolderArgument.getNames(context, argument.name)
}
is AxisArgument -> getBukkitAxis(SwizzleArgument.getSwizzle(context, argument.name))
is com.undefined.stellar.argument.types.scoreboard.TeamArgument -> Bukkit.getScoreboardManager().mainScoreboard.getTeam(TeamArgument.getTeam(context, argument.name).name)
is com.undefined.stellar.argument.types.scoreboard.TeamArgument -> Bukkit.getScoreboardManager()!!.mainScoreboard.getTeam(TeamArgument.getTeam(context, argument.name).name)
is ItemSlotArgument -> SlotArgument.getSlot(context, argument.name)
is ItemSlotsArgument -> throwArgumentVersionException(argument)
is NamespacedKeyArgument -> NamespacedKey(ResourceLocationArgument.getId(context, argument.name).namespace, ResourceLocationArgument.getId(context, argument.name).path)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import com.undefined.stellar.data.argument.CommandNode
import com.undefined.stellar.data.argument.PhraseCommandContext
import com.undefined.stellar.exception.DuplicateArgumentNameException
import com.undefined.stellar.exception.LiteralArgumentMismatchException
import io.papermc.paper.adventure.PaperAdventure
import net.kyori.adventure.identity.Identity
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer
import net.minecraft.commands.CommandSource
import net.minecraft.commands.CommandSourceStack
import net.minecraft.network.chat.Component
Expand Down Expand Up @@ -75,25 +75,15 @@ object CommandContextAdapter {

@Suppress("DEPRECATION")
private data class Source(val sender: CommandSender) : CommandSource {
override fun sendMessage(message: Component, sender: UUID) {
this.sender.sendMessage(Identity.identity(sender), PaperAdventure.asAdventure(message))
}

override fun acceptsSuccess(): Boolean {
return true
}

override fun acceptsFailure(): Boolean {
return true
}

override fun shouldInformAdmins(): Boolean {
return false
}

override fun getBukkitSender(stack: CommandSourceStack): CommandSender {
return this.sender
}
override fun sendMessage(message: Component, uuid: UUID) =
this.sender.sendMessage(LegacyComponentSerializer.legacySection().serialize(asAdventure(message)))
override fun acceptsSuccess(): Boolean = true
override fun acceptsFailure(): Boolean = true
override fun shouldInformAdmins(): Boolean = false
override fun getBukkitSender(stack: CommandSourceStack): CommandSender = this.sender
}

fun asAdventure(component: Component): net.kyori.adventure.text.Component =
GsonComponentSerializer.gson().deserialize(Component.Serializer.toJson(component))

}
15 changes: 7 additions & 8 deletions v1_18_1/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,26 +1,25 @@
plugins {
kotlin("jvm") version "1.9.22"
id("io.papermc.paperweight.userdev")
id("com.undefinedcreations.mapper") version "1.1.1"
}

paperweight.reobfArtifactConfiguration = io.papermc.paperweight.userdev.ReobfArtifactConfiguration.REOBF_PRODUCTION

dependencies {
paperweight.paperDevBundle("1.18.1-R0.1-SNAPSHOT")
compileOnly("org.spigotmc:spigot:1.18.1-R0.1-SNAPSHOT:remapped-mojang")
compileOnly(project(":common"))
}

tasks {
jar {
finalizedBy(remap)
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileJava {
options.release.set(8)
}
paperweight {
javaLauncher.set(
project.javaToolchains.launcherFor { languageVersion.set(JavaLanguageVersion.of(17)) }
)
remap {
minecraftVersion("1.18.1")
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,6 @@ object ArgumentHelper {
is GameEventArgument -> SuggestionProvider { _, builder ->
SharedSuggestionProvider.suggestResource(Registry.GAME_EVENT.keySet(), builder)
}
is PotionEffectTypeArgument -> SuggestionProvider { _, builder ->
SharedSuggestionProvider.suggestResource(Registry.MOB_EFFECT.keySet(), builder)
}
is VillagerProfessionArgument -> SuggestionProvider { _, builder ->
SharedSuggestionProvider.suggestResource(Registry.VILLAGER_PROFESSION.keySet(), builder)
}
Expand Down Expand Up @@ -182,7 +179,7 @@ object ArgumentHelper {
is UUIDArgument -> UuidArgument.uuid()
is GameEventArgument -> ResourceLocationArgument.id()
is StructureTypeArgument -> throwArgumentVersionException(argument)
is PotionEffectTypeArgument -> ResourceLocationArgument.id()
is PotionEffectTypeArgument -> throwArgumentVersionException(argument)
is BlockTypeArgument -> throwArgumentVersionException(argument)
is ItemTypeArgument -> throwArgumentVersionException(argument)
is CatTypeArgument -> throwArgumentVersionException(argument)
Expand Down Expand Up @@ -241,7 +238,7 @@ object ArgumentHelper {
is com.undefined.stellar.argument.types.text.StyleArgument -> GsonComponentSerializer.gson().deserialize(
getArgumentInput(context, argument.name) ?: return null).style()
is com.undefined.stellar.argument.types.text.MessageArgument -> GsonComponentSerializer.gson().deserialize(Component.Serializer.toJson(MessageArgument.getMessage(context, argument.name)))
is com.undefined.stellar.argument.types.scoreboard.ObjectiveArgument -> Bukkit.getScoreboardManager().mainScoreboard.getObjective(ObjectiveArgument.getObjective(context, argument.name).name)
is com.undefined.stellar.argument.types.scoreboard.ObjectiveArgument -> Bukkit.getScoreboardManager()!!.mainScoreboard.getObjective(ObjectiveArgument.getObjective(context, argument.name).name)
is com.undefined.stellar.argument.types.scoreboard.ObjectiveCriteriaArgument -> ObjectiveCriteriaArgument.getCriteria(context, argument.name).name
is com.undefined.stellar.argument.types.math.OperationArgument -> Operation.getOperation(getArgumentInput(context, argument.name) ?: return null)
is com.undefined.stellar.argument.types.world.ParticleArgument -> {
Expand All @@ -259,7 +256,7 @@ object ArgumentHelper {
ScoreHolderType.MULTIPLE -> ScoreHolderArgument.getNames(context, argument.name)
}
is AxisArgument -> getBukkitAxis(SwizzleArgument.getSwizzle(context, argument.name))
is com.undefined.stellar.argument.types.scoreboard.TeamArgument -> Bukkit.getScoreboardManager().mainScoreboard.getTeam(TeamArgument.getTeam(context, argument.name).name)
is com.undefined.stellar.argument.types.scoreboard.TeamArgument -> Bukkit.getScoreboardManager()!!.mainScoreboard.getTeam(TeamArgument.getTeam(context, argument.name).name)
is ItemSlotArgument -> SlotArgument.getSlot(context, argument.name)
is ItemSlotsArgument -> throwArgumentVersionException(argument)
is NamespacedKeyArgument -> NamespacedKey(ResourceLocationArgument.getId(context, argument.name).namespace, ResourceLocationArgument.getId(context, argument.name).path)
Expand All @@ -278,9 +275,6 @@ object ArgumentHelper {
is UUIDArgument -> UuidArgument.getUuid(context, argument.name)
is GameEventArgument -> org.bukkit.Registry.GAME_EVENT.get(getId(context, argument.name))
is StructureTypeArgument -> throwArgumentVersionException(argument)
is PotionEffectTypeArgument -> org.bukkit.Registry.POTION_EFFECT_TYPE.get(getId(context, argument.name))
is BlockTypeArgument -> throwArgumentVersionException(argument)
is ItemTypeArgument -> throwArgumentVersionException(argument)
is CatTypeArgument -> throwArgumentVersionException(argument)
is FrogVariantArgument -> throwArgumentVersionException(argument)
is VillagerProfessionArgument -> org.bukkit.Registry.VILLAGER_PROFESSION.get(getId(context, argument.name))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import com.undefined.stellar.data.argument.CommandNode
import com.undefined.stellar.data.argument.PhraseCommandContext
import com.undefined.stellar.exception.DuplicateArgumentNameException
import com.undefined.stellar.exception.LiteralArgumentMismatchException
import io.papermc.paper.adventure.PaperAdventure
import net.kyori.adventure.identity.Identity
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer
import net.minecraft.commands.CommandSource
import net.minecraft.commands.CommandSourceStack
import net.minecraft.network.chat.Component
Expand Down Expand Up @@ -75,25 +75,15 @@ object CommandContextAdapter {

@Suppress("DEPRECATION")
private data class Source(val sender: CommandSender) : CommandSource {
override fun sendMessage(message: Component, sender: UUID) {
this.sender.sendMessage(Identity.identity(sender), PaperAdventure.asAdventure(message))
}

override fun acceptsSuccess(): Boolean {
return true
}

override fun acceptsFailure(): Boolean {
return true
}

override fun shouldInformAdmins(): Boolean {
return false
}

override fun getBukkitSender(stack: CommandSourceStack): CommandSender {
return this.sender
}
override fun sendMessage(message: Component, uuid: UUID) =
this.sender.sendMessage(LegacyComponentSerializer.legacySection().serialize(asAdventure(message)))
override fun acceptsSuccess(): Boolean = true
override fun acceptsFailure(): Boolean = true
override fun shouldInformAdmins(): Boolean = false
override fun getBukkitSender(stack: CommandSourceStack): CommandSender = this.sender
}

fun asAdventure(component: Component): net.kyori.adventure.text.Component =
GsonComponentSerializer.gson().deserialize(Component.Serializer.toJson(component))

}
Loading

0 comments on commit 4b9612c

Please sign in to comment.