From 81b5f58574d5ea9116f4ef0bb0c0e095f83e21a0 Mon Sep 17 00:00:00 2001 From: nea Date: Fri, 20 Jan 2023 04:37:33 +0100 Subject: Restructure commands --- .../kotlin/moe/nea/notenoughupdates/commands/dsl.kt | 10 ++++++++-- .../kotlin/moe/nea/notenoughupdates/commands/rome.kt | 20 ++++++++++---------- 2 files changed, 18 insertions(+), 12 deletions(-) (limited to 'src/main') diff --git a/src/main/kotlin/moe/nea/notenoughupdates/commands/dsl.kt b/src/main/kotlin/moe/nea/notenoughupdates/commands/dsl.kt index c21eab8..6190d88 100644 --- a/src/main/kotlin/moe/nea/notenoughupdates/commands/dsl.kt +++ b/src/main/kotlin/moe/nea/notenoughupdates/commands/dsl.kt @@ -5,13 +5,19 @@ import com.mojang.brigadier.builder.ArgumentBuilder import com.mojang.brigadier.builder.LiteralArgumentBuilder import com.mojang.brigadier.builder.RequiredArgumentBuilder 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 net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource +import moe.nea.notenoughupdates.util.iterate typealias DefaultSource = FabricClientCommandSource + +inline val > T.context get() = this +operator fun > C.get(arg: TypeSafeArg): T { + return arg.get(this) +} + fun literal( name: String, block: LiteralArgumentBuilder.() -> Unit diff --git a/src/main/kotlin/moe/nea/notenoughupdates/commands/rome.kt b/src/main/kotlin/moe/nea/notenoughupdates/commands/rome.kt index 99af49a..a60073a 100644 --- a/src/main/kotlin/moe/nea/notenoughupdates/commands/rome.kt +++ b/src/main/kotlin/moe/nea/notenoughupdates/commands/rome.kt @@ -12,19 +12,19 @@ import moe.nea.notenoughupdates.util.ScreenUtil.setScreenLater fun neuCommand() = literal("neu") { - thenLiteral("reload") { - thenLiteral("fetch") { + thenLiteral("repo") { + thenLiteral("reload") { + thenLiteral("fetch") { + thenExecute { + source.sendFeedback(Text.translatable("notenoughupdates.repo.reload.network")) // TODO better reporting + RepoManager.launchAsyncUpdate() + } + } thenExecute { - source.sendFeedback(Text.translatable("notenoughupdates.repo.reload.network")) // TODO better reporting - RepoManager.launchAsyncUpdate() + source.sendFeedback(Text.translatable("notenoughupdates.repo.reload.disk")) + RepoManager.reload() } } - thenExecute { - source.sendFeedback(Text.translatable("notenoughupdates.repo.reload.disk")) - RepoManager.reload() - } - } - thenLiteral("repo") { thenExecute { setScreenLater(CottonClientScreen(repoGui())) } -- cgit