diff options
Diffstat (limited to 'src/main/kotlin/moe/nea/notenoughupdates/commands')
-rw-r--r-- | src/main/kotlin/moe/nea/notenoughupdates/commands/dsl.kt | 10 | ||||
-rw-r--r-- | src/main/kotlin/moe/nea/notenoughupdates/commands/rome.kt | 20 |
2 files changed, 18 insertions, 12 deletions
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 : CommandContext<*>> T.context get() = this +operator fun <T : Any, C : CommandContext<*>> C.get(arg: TypeSafeArg<T>): T { + return arg.get(this) +} + fun literal( name: String, block: LiteralArgumentBuilder<DefaultSource>.() -> 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,20 +12,20 @@ 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())) } } |