Custom @ExpectPlatform Package Extension

By default, Architectury Transformer expects the implementation of @ExpectPlatform at the platform name (or “fabric” on quilt). For example, a class on a.b.c.Foo expects a.b.c.fabric.FooImpl, a.b.c.forge.FooImpl, and a.b.c.neoforge.FooImpl.

Changing this may be useful for creating a Forge-like sub-project, where MinecraftForge and NeoForge both share the same package name.

Applying Custom Extension

NeoForge is displayed here as an example, this radioactively applies to any compile targets.

On common/build.gradle:

architectury {
  common("fabric", "forge", "neoforge") { // The different compile targets you have
    // Change the expected package of the neoforge target to "newpackage"
    it.platformPackage "neoforge", "newpackage"
  }
}

On neoforge/build.gradle:

architectury {
  [..]
  neoForge {
    platformPackage = "newPackage"
  }
}