aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-01-20 04:37:33 +0100
committernea <nea@nea.moe>2023-01-20 04:37:33 +0100
commit81b5f58574d5ea9116f4ef0bb0c0e095f83e21a0 (patch)
tree3a96bfa2da128b6672dcdb77e707c81f9fab93b9 /src/main
parentf85c449ed586c7ced780423943e55bfa5abaeb0f (diff)
downloadfirmament-81b5f58574d5ea9116f4ef0bb0c0e095f83e21a0.tar.gz
firmament-81b5f58574d5ea9116f4ef0bb0c0e095f83e21a0.tar.bz2
firmament-81b5f58574d5ea9116f4ef0bb0c0e095f83e21a0.zip
Restructure commands
Diffstat (limited to 'src/main')
-rw-r--r--src/main/kotlin/moe/nea/notenoughupdates/commands/dsl.kt10
-rw-r--r--src/main/kotlin/moe/nea/notenoughupdates/commands/rome.kt20
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()))
}
}