From 8c5570bfe6ab93855e24e6924fac1105fe8342ff Mon Sep 17 00:00:00 2001 From: nea Date: Tue, 15 Aug 2023 19:34:56 +0200 Subject: Add ursa client --- src/main/kotlin/moe/nea/firmament/commands/dsl.kt | 9 +++++++-- src/main/kotlin/moe/nea/firmament/commands/rome.kt | 11 +++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'src/main/kotlin/moe/nea/firmament/commands') diff --git a/src/main/kotlin/moe/nea/firmament/commands/dsl.kt b/src/main/kotlin/moe/nea/firmament/commands/dsl.kt index 01a3458..d6eaf85 100644 --- a/src/main/kotlin/moe/nea/firmament/commands/dsl.kt +++ b/src/main/kotlin/moe/nea/firmament/commands/dsl.kt @@ -16,6 +16,9 @@ import java.lang.reflect.ParameterizedType import java.lang.reflect.Type import java.lang.reflect.TypeVariable import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource +import kotlinx.coroutines.launch +import moe.nea.firmament.Firmament +import moe.nea.firmament.util.MinecraftDispatcher import moe.nea.firmament.util.iterate @@ -105,9 +108,11 @@ fun > T.thenLiteral( fun > T.then(node: ArgumentBuilder, block: T.() -> Unit): T = then(node).also(block) -fun > T.thenExecute(block: CommandContext.() -> Unit): T = +fun > T.thenExecute(block: suspend CommandContext.() -> Unit): T = executes { - block(it) + Firmament.coroutineScope.launch(MinecraftDispatcher) { + block(it) + } 1 } diff --git a/src/main/kotlin/moe/nea/firmament/commands/rome.kt b/src/main/kotlin/moe/nea/firmament/commands/rome.kt index 4465459..221c7c1 100644 --- a/src/main/kotlin/moe/nea/firmament/commands/rome.kt +++ b/src/main/kotlin/moe/nea/firmament/commands/rome.kt @@ -8,8 +8,10 @@ package moe.nea.firmament.commands import com.mojang.brigadier.CommandDispatcher import com.mojang.brigadier.arguments.StringArgumentType.string +import io.ktor.client.statement.* import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource import net.minecraft.text.Text +import moe.nea.firmament.apis.UrsaManager import moe.nea.firmament.features.inventory.storageoverlay.StorageOverlayScreen import moe.nea.firmament.features.world.FairySouls import moe.nea.firmament.gui.config.AllConfigsGui @@ -135,6 +137,15 @@ fun firmamentCommand() = literal("firmament") { } } } + thenLiteral("callUrsa") { + thenArgument("path", string()) { path -> + thenExecute { + source.sendFeedback(Text.translatable("firmament.ursa.debugrequest.start")) + val text = UrsaManager.request(this[path].split("/")).bodyAsText() + source.sendFeedback(Text.translatable("firmament.ursa.debugrequest.result", text)) + } + } + } } } -- cgit