Skip to content

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

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][Serverthread/ERROR]: Failedtoloadfunctionaj:error/zzz/summon/animation_arg/invalid_animationjava.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchat component: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].colorat position 31: ...","color":<--[HERE]
atjava.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)~[?:?]atjava.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)~[?:?]atjava.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)~[?:?]atjava.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)~[?:?]Causedby: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition31: ...","color":<--[HERE]
atig.a(SourceFile:80)~[minecraft-1.21.1-client.jar:?]atalf.a(SourceFile:89)~[minecraft-1.21.1-client.jar:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)~[?:?]...6more[18:47:03][Serverthread/ERROR]: Failedtoloadfunctionaj:error/zzz/summon/animation_arg/no_negativejava.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchat component: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].colorat position 31: ...","color":<--[HERE]
atjava.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)~[?:?]atjava.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)~[?:?]atjava.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)~[?:?]atjava.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)~[?:?]Causedby: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition31: ...","color":<--[HERE]
atig.a(SourceFile:80)~[minecraft-1.21.1-client.jar:?]atalf.a(SourceFile:89)~[minecraft-1.21.1-client.jar:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)~[?:?]...6more[18:47:03][Serverthread/ERROR]: Failedtoloadfunctionaj:error/zzz/summon/zzz/variant_arg/no_variants_warningjava.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchat component: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].colorat position 31: ...","color":<--[HERE]
atjava.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)~[?:?]atjava.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)~[?:?]atjava.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)~[?:?]atjava.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)~[?:?]Causedby: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition31: ...","color":<--[HERE]
atig.a(SourceFile:80)~[minecraft-1.21.1-client.jar:?]atalf.a(SourceFile:89)~[minecraft-1.21.1-client.jar:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)~[?:?]...6more[18:47:03][Serverthread/ERROR]: Failedtoloadfunctionaj:error/zzz/summon/animation_arg/if_emptyjava.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchat component: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].colorat position 31: ...","color":<--[HERE]
atjava.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)~[?:?]atjava.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)~[?:?]atjava.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)~[?:?]atjava.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)~[?:?]Causedby: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition31: ...","color":<--[HERE]
atig.a(SourceFile:80)~[minecraft-1.21.1-client.jar:?]atalf.a(SourceFile:89)~[minecraft-1.21.1-client.jar:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)~[?:?]...6more[18:47:03][Serverthread/ERROR]: Failedtoloadfunctionaj:error/as_rootjava.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition108: ...","color":<--[HERE]atjava.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)~[?:?]atjava.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)~[?:?]atjava.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)~[?:?]atjava.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)~[?:?]Causedby: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition108: ...","color":<--[HERE]
atig.a(SourceFile:80)~[minecraft-1.21.1-client.jar:?]atalf.a(SourceFile:89)~[minecraft-1.21.1-client.jar:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)~[?:?]...6more[18:47:03][Serverthread/ERROR]: Failedtoloadfunctionaj:error/movejava.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition31: ...","color":<--[HERE]atjava.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)~[?:?]atjava.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)~[?:?]atjava.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)~[?:?]atjava.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)~[?:?]Causedby: java.lang.IllegalArgumentException: Whilstparsingcommandonline2: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column21path$[0].coloratposition31: ...","color":<--[HERE]
atig.a(SourceFile:80)~[minecraft-1.21.1-client.jar:?]atalf.a(SourceFile:89)~[minecraft-1.21.1-client.jar:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)~[?:?]...6more[18:47:03][Serverthread/ERROR]: Failedtoloadfunctionaj:error/remove_animation_objectivesjava.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilstparsingcommandonline3: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column12path$[0][0].coloratposition22: ...[{"color":<--[HERE]atjava.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)~[?:?]atjava.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)~[?:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)~[?:?]atjava.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)~[?:?]atjava.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)~[?:?]atjava.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)~[?:?]Causedby: java.lang.IllegalArgumentException: Whilstparsingcommandonline3: Invalidchatcomponent: UseJsonReader.setLenient(true)toacceptmalformedJSONatline1column12path$[0][0].coloratposition22: ...[{"color":<--[HERE]atig.a(SourceFile:80)~[minecraft-1.21.1-client.jar:?]atalf.a(SourceFile:89)~[minecraft-1.21.1-client.jar:?]atjava.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)~[?:?]
... 6more

🔄️ 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