At some point when adding more than one TAW that applies to the same class, Loom seems to be unable to remap code using that properly. This results in consumer mods of the one using the transitive access wideners seeing weird methods being invoked.
The following access widener file is enough to trigger this:
accessWidener v2 named
transitive-accessible field net/minecraft/client/render/WorldRenderer bufferBuilders Lnet/minecraft/client/render/BufferBuilderStorage;
transitive-accessible method net/minecraft/client/render/WorldRenderer canDrawEntityOutlines ()Z
public class ClientOnlyClass {
public static void isThisRemapped() {
MinecraftClient mc = MinecraftClient.getInstance();
VertexConsumerProvider bufferSource = mc.worldRenderer.bufferBuilders.getEntityVertexConsumers();
}
}
However it appears to consumers like this:
public class ClientOnlyClass {
public static void isThisRemapped() {
MinecraftClient mc = MinecraftClient.getInstance();
VertexConsumerProvider bufferSource = mc.worldRenderer.bufferBuilders.method_23000();
}
}
At some point when adding more than one TAW that applies to the same class, Loom seems to be unable to remap code using that properly. This results in consumer mods of the one using the transitive access wideners seeing weird methods being invoked.
The following access widener file is enough to trigger this:
I've made two minimal reproduction projects, one that publishes to mavenLocal, and one that consumes the dependency from mavenLocal. They are https://github.com/WitixinForks/fabric-taw-publisher and https://github.com/WitixinForks/fabric-taw-consumer.
The original class looks like this:
However it appears to consumers like this: