1.1 KiB
Java Object Wrappers
When the JS environment receives a Java object through a bridge, it is converted into a JavaObject
. A JavaObject
cannot be used directly in the JS environment, but it can be stored and passed back to the Java environment using another bridge.
To make interacting wit Java object easier, they are placed in a wrapper class. An example of a wrapper class is World
, it can be interacted with like any other JS object, but internally it uses its JavaObject
to execute code in the Java environment.
Casting
In Java, if you are given a LivingEntity
, you can use instanceof
to check if it is a PlayerEntity
and then cast it. However, because the JS environment only knows the class of the JavaObject
's wrapper, it can't do this. However, you can manually cast a JS object wrapper to another wrapper type using the new wrapper type's constructor, like new PlayerEntity(livingEntity);
, if this operation is not possible (ie. The LivingEntity
is not a PlayerEntity
), it will throw an Error
.