Class MinecraftClassMerger

java.lang.Object
net.fabricmc.loom.configuration.providers.minecraft.MinecraftClassMerger

public class MinecraftClassMerger extends Object
  • Constructor Details

    • MinecraftClassMerger

      public MinecraftClassMerger()
  • Method Details

    • merge

      public byte[] merge(byte[] classClient, byte[] classServer)
    • mergeAccess

      @VisibleForTesting public static int mergeAccess(int clientAccess, int serverAccess)
      When merging 2 members with differing access we pick the least permissive access. This ensures that the mod is compiled against the "worst case" access level. At runtime fabric-loader will make all methods public, meaning it doesn't cause an issue in dev envs. If a mod needs to uses one of these members it should use an access widener.

      Allow merging private final members as the final modifier is irrelevant for private members.

    • formatMethodAccessFlags

      @VisibleForTesting public static String formatMethodAccessFlags(int access)