aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-08-10 01:20:16 +0200
committerLinnea Gräf <nea@nea.moe>2025-08-10 01:51:29 +0200
commit5d3b57fbb76c4a38094c3c1f559e314d1360d5be (patch)
tree0f44930d2cd95b6ed88d5dfbe2e225ebdb5f29bb /src/main/kotlin
parenta8ded42b5a8266cfc88f8486b3c4a559178edeb6 (diff)
downloadFirmament-5d3b57fbb76c4a38094c3c1f559e314d1360d5be.tar.gz
Firmament-5d3b57fbb76c4a38094c3c1f559e314d1360d5be.tar.bz2
Firmament-5d3b57fbb76c4a38094c3c1f559e314d1360d5be.zip
feat: Add text replacements
Diffstat (limited to 'src/main/kotlin')
-rw-r--r--src/main/kotlin/Firmament.kt1
-rw-r--r--src/main/kotlin/util/textutil.kt3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/main/kotlin/Firmament.kt b/src/main/kotlin/Firmament.kt
index b00546a..218d304 100644
--- a/src/main/kotlin/Firmament.kt
+++ b/src/main/kotlin/Firmament.kt
@@ -74,6 +74,7 @@ object Firmament {
prettyPrint = DEBUG
isLenient = true
allowTrailingComma = true
+ allowComments = true
ignoreUnknownKeys = true
encodeDefaults = true
prettyPrintIndent = if (prettyPrint) "\t" else DEFAULT_JSON_INDENT
diff --git a/src/main/kotlin/util/textutil.kt b/src/main/kotlin/util/textutil.kt
index cfda2e9..177b0af 100644
--- a/src/main/kotlin/util/textutil.kt
+++ b/src/main/kotlin/util/textutil.kt
@@ -179,10 +179,11 @@ fun Text.transformEachRecursively(function: (Text) -> Text): Text {
val c = this.content
if (c is TranslatableTextContent) {
return Text.translatableWithFallback(c.key, c.fallback, *c.args.map {
- (if (it is Text) it else Text.literal(it.toString())).transformEachRecursively(function)
+ (it as? Text ?: Text.literal(it.toString())).transformEachRecursively(function)
}.toTypedArray()).also { new ->
new.style = this.style
new.siblings.clear()
+ val new = function(new)
this.siblings.forEach { child ->
new.siblings.add(child.transformEachRecursively(function))
}