Skip to content

🐛 on_load function incorrectly generates with animation system set to "Storage" in latest preview #495

@FabianHummel

Description

@FabianHummel

🛑 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

The code for the on_load function generates with an error by containing multiple colons in the namespace of a data modify storage operation. The code that causes the issue is linked here:

https://github.com/Animated-Java/animated-java/blame/29926861d8c87167891a98c16bd85998bf3b6c22/src/systems/datapackCompiler/index.ts#L253

The storage namespace is always prefixed with animated_java which causes issues after the introduction of custom namespaces. Even the default aj namespace causes an error:

data modify storage animated_java:aj:my_blueprint/animations animation merge value # ...

Note that the generated code contains two colons in the namespace identifier. animated_java: should not exist here.

⚠️ Error Message

`java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 4: Invalid ID at position 20: ...y storage <--[HERE]`

🔄️ How to Reproduce

  1. Create a new "Datapack" project in the latest version
  2. In the Blueprint ID, enter anything including the namespace. For example: aj:my_blueprint (default aj is fine for reproducing the bug)
  3. In the datapack section, select "Storage" as the animation system
  4. Export the datapack and load it

✅ Expected Behavior

The namespace should only use the provided custom namespace like in the command on the previous line:

data remove storage aj:my_blueprint/animations animation # Here, it's fine!
data modify storage animated_java:aj:my_blueprint/animations animation merge value {0:{},1:{}} # Here, it's the wrong one

💡 Solutions & Alternatives

Probably use the same code for generating the namespace identifier for both the data remove and data modify command, so that they don't diverge and cause issues.

🟩 Minecraft Version

1.20.4

🟦 Blockbench Version

5.1.4

💻 Operating System

MacOS

📃 Installed Blockbench Plugins

  • Animated Java

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