kotlinVersionOf
KotlinVersion.CURRENT as seen through cl, packed into one int (major<<16 | minor<<8 | patch); -1 if that loader has no kotlin — reflective, so a no-kotlin game yields -1 instead of a link error. Used for the game's version via the parent.
Packed to an int because P and C are read through DIFFERENT loaders: KotlinVersion implements Comparable, but across loaders they are different classes, so compareTo between them is a ClassCastException.
The byte-wide shifts are kotlin's own packing — KotlinVersion.MAX_COMPONENT_VALUE is 255, so no component can overflow its byte, and the packed values compare in exactly version order.