Restructure commands

This commit is contained in:
nea
2023-01-20 04:37:33 +01:00
parent f85c449ed5
commit 81b5f58574
3 changed files with 21 additions and 12 deletions

View File

@@ -25,8 +25,11 @@ loom {
} }
runs { runs {
named("client") { named("client") {
/*
vmArg("-XX:+AllowEnhancedClassRedefinition") vmArg("-XX:+AllowEnhancedClassRedefinition")
vmArg("-XX:HotswapAgent=fatjar") vmArg("-XX:HotswapAgent=fatjar")
*/
} }
} }
} }

View File

@@ -5,13 +5,19 @@ import com.mojang.brigadier.builder.ArgumentBuilder
import com.mojang.brigadier.builder.LiteralArgumentBuilder import com.mojang.brigadier.builder.LiteralArgumentBuilder
import com.mojang.brigadier.builder.RequiredArgumentBuilder import com.mojang.brigadier.builder.RequiredArgumentBuilder
import com.mojang.brigadier.context.CommandContext import com.mojang.brigadier.context.CommandContext
import moe.nea.notenoughupdates.util.iterate
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource
import java.lang.reflect.ParameterizedType import java.lang.reflect.ParameterizedType
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource
import moe.nea.notenoughupdates.util.iterate
typealias DefaultSource = FabricClientCommandSource typealias DefaultSource = FabricClientCommandSource
inline val <T : CommandContext<*>> T.context get() = this
operator fun <T : Any, C : CommandContext<*>> C.get(arg: TypeSafeArg<T>): T {
return arg.get(this)
}
fun literal( fun literal(
name: String, name: String,
block: LiteralArgumentBuilder<DefaultSource>.() -> Unit block: LiteralArgumentBuilder<DefaultSource>.() -> Unit

View File

@@ -12,6 +12,7 @@ import moe.nea.notenoughupdates.util.ScreenUtil.setScreenLater
fun neuCommand() = literal("neu") { fun neuCommand() = literal("neu") {
thenLiteral("repo") {
thenLiteral("reload") { thenLiteral("reload") {
thenLiteral("fetch") { thenLiteral("fetch") {
thenExecute { thenExecute {
@@ -24,7 +25,6 @@ fun neuCommand() = literal("neu") {
RepoManager.reload() RepoManager.reload()
} }
} }
thenLiteral("repo") {
thenExecute { thenExecute {
setScreenLater(CottonClientScreen(repoGui())) setScreenLater(CottonClientScreen(repoGui()))
} }