KubeJS

KubeJS

69M Downloads

Painter API failed to parse scientific notation numbers, which cause client crashes

xXStrayXx opened this issue ยท 0 comments

commented

Minecraft Version

1.20.1

KubeJS Version

2001.6.5-build.14

Rhino Version

2001.2.3-build.6

Architectury Version

9.2.14

Forge/Fabric Version

Forge 47.3.0

Describe your issue

When the number in javascript is small (or big) enough, the formation gave to painter is processed into scientific notation number shaped as N.NNNe+NN (n refer to number)
In this context, the ratio (refering to the ratio of health and max health) could be in scientific notation state when the 'boss' have health low enough but not dead.
But the painter api process the N.NNNe+NN as (N.NNNe) (identifier) + (plus) NN (int). And when painter api found that N.NNNe is not defined (of course it isn't) it raises a client 'java.lang.IllegalStateException' which causes the client to crash instantly.
This could cause some weird border situation giltches that are hard to prevent or fix in javascript.

Crash report/logs

crash-2024-10-23_12.12.26-client.txt
boss.js.txt