aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/firmament/commands
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-08-15 19:34:56 +0200
committernea <nea@nea.moe>2023-08-15 19:38:27 +0200
commit8c5570bfe6ab93855e24e6924fac1105fe8342ff (patch)
tree71c412ffefede775f36411531fed089d21b6d49d /src/main/kotlin/moe/nea/firmament/commands
parentb32f5da88c355645a9eaf343987f10506aa25bee (diff)
downloadfirmament-8c5570bfe6ab93855e24e6924fac1105fe8342ff.tar.gz
firmament-8c5570bfe6ab93855e24e6924fac1105fe8342ff.tar.bz2
firmament-8c5570bfe6ab93855e24e6924fac1105fe8342ff.zip
Add ursa client
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/commands')
-rw-r--r--src/main/kotlin/moe/nea/firmament/commands/dsl.kt9
-rw-r--r--src/main/kotlin/moe/nea/firmament/commands/rome.kt11
2 files changed, 18 insertions, 2 deletions
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 : ArgumentBuilder<DefaultSource, T>> T.thenLiteral(
fun <T : ArgumentBuilder<DefaultSource, T>> T.then(node: ArgumentBuilder<DefaultSource, *>, block: T.() -> Unit): T =
then(node).also(block)
-fun <T : ArgumentBuilder<DefaultSource, T>> T.thenExecute(block: CommandContext<DefaultSource>.() -> Unit): T =
+fun <T : ArgumentBuilder<DefaultSource, T>> T.thenExecute(block: suspend CommandContext<DefaultSource>.() -> 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))
+ }
+ }
+ }
}
}