diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 80b7779..fd6c683 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -61,11 +61,6 @@ dependencies { } tasks { - shadowJar { - dependencyFilter.exclude { element -> - Regex("^v\\d+").matches(element.moduleName) - } - } compileKotlin { kotlinOptions.jvmTarget = "1.8" } diff --git a/build.gradle.kts b/build.gradle.kts index 9181a1d..5226cc4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,7 +10,7 @@ plugins { apply(plugin = "maven-publish") val projectGroupId = "com.undefined" -val projectVersion = "0.0.30" +val projectVersion = "0.0.31" val projectArtifactId = "stellar" group = projectGroupId @@ -79,38 +79,38 @@ allprojects { dependencies { 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")) -// 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:", "reobf")) -// 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", "reobf")) + 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")) + 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:", "reobf")) + 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", "reobf")) } tasks { diff --git a/common/src/main/kotlin/com/undefined/stellar/argument/ArgumentHandler.kt b/common/src/main/kotlin/com/undefined/stellar/argument/ArgumentHandler.kt index 60760c3..0500ae5 100644 --- a/common/src/main/kotlin/com/undefined/stellar/argument/ArgumentHandler.kt +++ b/common/src/main/kotlin/com/undefined/stellar/argument/ArgumentHandler.kt @@ -31,9 +31,11 @@ import com.undefined.stellar.argument.types.text.ComponentArgument import com.undefined.stellar.argument.types.text.MessageArgument import com.undefined.stellar.argument.types.text.StyleArgument import com.undefined.stellar.argument.types.world.* +import com.undefined.stellar.data.argument.CommandContext import com.undefined.stellar.data.suggestion.Suggestion import org.bukkit.Bukkit import org.bukkit.OfflinePlayer +import org.bukkit.command.CommandSender import org.bukkit.entity.Player import java.util.* @@ -104,14 +106,14 @@ open class ArgumentHandler { fun addListArgument( name: String, - list: () -> List, + list: CommandContext.() -> List, stringifier: (T) -> Suggestion, parse: (Any?) -> T ): ListArgument = addArgument { ListArgument(base, StringArgument(base, name, StringType.WORD), list, stringifier, parse) } fun addListArgument( type: AbstractStellarArgument<*>, - list: () -> List, + list: CommandContext.() -> List, stringifier: (T) -> Suggestion, parse: (Any?) -> T ): ListArgument = addArgument { ListArgument(base, type, list, stringifier, parse) } @@ -125,13 +127,13 @@ open class ArgumentHandler { fun addUUIDListArgument(name: String, list: List): ListArgument = addArgument { ListArgument(base, UUIDArgument(base, name), list, parse = { UUID.fromString(it.toString()) }) } - fun addStringListArgument(name: String, list: () -> List, type: StringType = StringType.WORD): ListArgument = + fun addStringListArgument(name: String, list: CommandContext.() -> List, type: StringType = StringType.WORD): ListArgument = addArgument { ListArgument(base, StringArgument(base, name, type), list, { Suggestion.withText(it.toString()) }, { it }) } - fun addStringListArgument(name: String, vararg list: () -> List): ListArgument = + fun addStringListArgument(name: String, vararg list: CommandContext.() -> List): ListArgument = addArgument { ListArgument(base, StringArgument(base, name, StringType.WORD), list.toList(), { Suggestion.withText(it.toString()) }, { it }) } - fun addUUIDListArgument(name: String, list: () -> List): ListArgument = + fun addUUIDListArgument(name: String, list: CommandContext.() -> List): ListArgument = addArgument { ListArgument(base, UUIDArgument(base, name), list, parse = { UUID.fromString(it.toString()) }) } inline fun > addEnumArgument(name: String): EnumArgument = diff --git a/common/src/main/kotlin/com/undefined/stellar/argument/types/custom/ListArgument.kt b/common/src/main/kotlin/com/undefined/stellar/argument/types/custom/ListArgument.kt index b965cb7..7921a29 100644 --- a/common/src/main/kotlin/com/undefined/stellar/argument/types/custom/ListArgument.kt +++ b/common/src/main/kotlin/com/undefined/stellar/argument/types/custom/ListArgument.kt @@ -2,6 +2,7 @@ package com.undefined.stellar.argument.types.custom import com.undefined.stellar.AbstractStellarCommand import com.undefined.stellar.argument.AbstractStellarArgument +import com.undefined.stellar.data.argument.CommandContext import com.undefined.stellar.data.suggestion.StellarSuggestion import com.undefined.stellar.data.suggestion.Suggestion import org.bukkit.command.CommandSender @@ -9,7 +10,7 @@ import org.bukkit.command.CommandSender open class ListArgument( parent: AbstractStellarCommand<*>, val type: AbstractStellarArgument<*>, - val list: () -> List, + val list: CommandContext.() -> List, val converter: (T) -> Suggestion = { Suggestion.withText(it.toString()) }, val parse: (Any?) -> T? ) : AbstractStellarArgument>(parent, type.name) { @@ -21,8 +22,8 @@ open class ListArgument( parse: (Any?) -> T?) : this(parent, type, { list }, converter, parse) override val suggestions: MutableList> - get() = (super.suggestions + StellarSuggestion(CommandSender::class) { getSuggestionList() }).toMutableList() + get() = (super.suggestions + StellarSuggestion(CommandSender::class) { getSuggestionList(this) }).toMutableList() - fun getSuggestionList(): List = list().map(converter) + fun getSuggestionList(context: CommandContext): List = list(context).map(converter) }