Inconsistent structure between fabric and forge subprojects, mixin rules don't apply to platform specific code
mrmangohands opened this issue ยท 1 comments
Bug Description
Currently fabric specific mixins are located under the sodium.mixin.fabric
package while neoforge ones are under sodium.neoforge.mixin
. Neither of these layouts let mixin rules from common apply to mixins in the subprojects. Either the mixin rule system would need to be updated to apply automatically to matching subpackages in the subprojects, or both could just use sodium.mixin
as the base, with a neoforge
, fabric
, or generically platform
bottom level subpackage. So for example instead of sodium.mixin.fabric.core.WindowMixin
you could have sodium.mixin.core.fabric.WindowMixin
.
We should decide which of the 3 layouts we'd like to go with. The first and third options can be combined if desired. Packages that have a match in common or the other platform could use a bottom level platform package, and either everything else or just the Mixins that provide platform specific APIs could use the top level one.