getResource

open fun getResource(name: String): URL

Unconditionally child-first, unlike getResource's parent-first default — and unlike loadClass, which stays parent-first for whole namespaces. KotlinJars locates kotlin-stdlib / -script-runtime / -reflect via Class.getResource("<marker>.class") (JvmStatic / ScriptTemplateWithArgs / KClasses), which routes through THIS loader. Parent-first hands back Forge's copy of the marker, whose class lives under a securejarhandler union: URI that KotlinJars cannot turn into a File → "Unable to find kotlin stdlib". Our urls hold only the kotlin stack + repl.impl (+ the mod jar), so MC/JDK resources still fall through to the parent.

getResources (plural) is left parent-first: it feeds service/plugin discovery that reads URL CONTENT (never File), where a union: URL is harmless.