

However, Yarn mappings place classes in various packages which sometimes creates illegal access violations due to the access rules of protected and package-private members. With official (obfuscated) names and intermediary names, most classes are placed in the same package. Package access hacks might be applied to Minecraft classes depending on the mappings in the current environment. The annotation can be applied to mod classes to avoid class loading issues.

On Minecraft classes, this is used to simulate which classes and members that are available in the targeted runtime development environment. It also involves removing interface implementations on classes annotated with where the environment does not match. This involves completely removing classes, methods and fields annotated with annotations where the environment does not match. With Knot, these classes are delegated to the default classloader for isolation and performance.įabric Loader will perform side stripping on mod classes and Minecraft classes depending on the physical side that is launched.

Other classes, those belonging to other libraries, cannot be transformed. Classes belonging to a mod or Minecraft are loaded with a class loader that applies transformations to classes before they are loaded. Fabric Loader depends on a custom class loader to transform some classes at runtime.
