Skip to content

🐛 Tellraw commands don't get generated properly on versions below 1.21.5 #496

@KayAspect

Description

@KayAspect

🛑 Before you Start

  • I have searched existing bug reports for my problem.
  • I have read the F-A-Q.
  • I am using the latest version of Animated Java
  • I will only report a single bug in this report. If I have found multiple bugs, I will create a separate report for each one.

🗣️ Describe the bug

Various elements get generated without quotes, breaking the function since the SNBT format isn't introduced until 1.21.5

Example:

Taken from zzz/summon/animation_arg/no_negative.mcfunction

tellraw @a [{"text":"","color":red},[{"color":gray,"text":"\n "},{"color":"#00aced","text":"ᴀɴɪᴍᴀᴛᴇᴅ ᴊᴀᴠᴀ"},{"color":dark_gray,"italic":true,"text":"\n (aj:error)"},"\n → "],"ᴇʀʀᴏʀ: ",{"text":"Frame cannot be negative","underlined":true},"\n\n ",{"text":frame,"color":yellow},{"text":" must be a non-negative integer."},"\n"]

When it should be:
tellraw @a [{"text":"","color":"red"},[{"color":"gray","text":"\n "},{"color":"#00aced","text":"ᴀɴɪᴍᴀᴛᴇᴅ ᴊᴀᴠᴀ"},{"color":"dark_gray","italic":true,"text":"\n (aj:error)"},"\n → "],"ᴇʀʀᴏʀ: ",{"text":"Frame cannot be negative","underlined":true},"\n\n ",{"text":"frame","color":"yellow"},{"text":" must be a non-negative integer."},"\n"]

⚠️ Error Message

[18:47:03] [Server thread/ERROR]: Failed to load function aj:error/zzz/summon/animation_arg/invalid_animation
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at ig.a(SourceFile:80) ~[minecraft-1.21.1-client.jar:?]
	at alf.a(SourceFile:89) ~[minecraft-1.21.1-client.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
[18:47:03] [Server thread/ERROR]: Failed to load function aj:error/zzz/summon/animation_arg/no_negative
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at ig.a(SourceFile:80) ~[minecraft-1.21.1-client.jar:?]
	at alf.a(SourceFile:89) ~[minecraft-1.21.1-client.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
[18:47:03] [Server thread/ERROR]: Failed to load function aj:error/zzz/summon/zzz/variant_arg/no_variants_warning
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at ig.a(SourceFile:80) ~[minecraft-1.21.1-client.jar:?]
	at alf.a(SourceFile:89) ~[minecraft-1.21.1-client.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
[18:47:03] [Server thread/ERROR]: Failed to load function aj:error/zzz/summon/animation_arg/if_empty
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at ig.a(SourceFile:80) ~[minecraft-1.21.1-client.jar:?]
	at alf.a(SourceFile:89) ~[minecraft-1.21.1-client.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
[18:47:03] [Server thread/ERROR]: Failed to load function aj:error/as_root
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 108: ...","color":<--[HERE]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 108: ...","color":<--[HERE]
	at ig.a(SourceFile:80) ~[minecraft-1.21.1-client.jar:?]
	at alf.a(SourceFile:89) ~[minecraft-1.21.1-client.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
[18:47:03] [Server thread/ERROR]: Failed to load function aj:error/move
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 2: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 21 path $[0].color at position 31: ...","color":<--[HERE]
	at ig.a(SourceFile:80) ~[minecraft-1.21.1-client.jar:?]
	at alf.a(SourceFile:89) ~[minecraft-1.21.1-client.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more
[18:47:03] [Server thread/ERROR]: Failed to load function aj:error/remove_animation_objectives
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 3: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 12 path $[0][0].color at position 22: ...[{"color":<--[HERE]
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770) ~[?:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) ~[?:?]
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) ~[?:?]
Caused by: java.lang.IllegalArgumentException: Whilst parsing command on line 3: Invalid chat component: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 12 path $[0][0].color at position 22: ...[{"color":<--[HERE]
	at ig.a(SourceFile:80) ~[minecraft-1.21.1-client.jar:?]
	at alf.a(SourceFile:89) ~[minecraft-1.21.1-client.jar:?]
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) ~[?:?]
	... 6 more

🔄️ How to Reproduce

Export with the Target Minecraft Version being below 1.21.5

✅ Expected Behavior

They get generated with quotes

💡 Solutions & Alternatives

No response

🟩 Minecraft Version

1.21.1

🟦 Blockbench Version

5.1.4

💻 Operating System

Windows

📃 Installed Blockbench Plugins

No response

⛰️ Minecraft Environment

No response

Metadata

Metadata

Assignees

Labels

🐛 BugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions