fabric-renderer-api-v1-7.2.3+9be2a36e6f.jar
Download file
package net.fabricmc.fabric.mixin.renderer.client.block.model;
import java.util.function.Predicate;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.renderer.v1.mesh.QuadEmitter;
import net.fabricmc.fabric.api.renderer.v1.model.MeshBakedGeometry;
import net.fabricmc.fabric.api.util.TriState;
import net.minecraft.class_10801;
import net.minecraft.class_10817;
import net.minecraft.class_10889;
import net.minecraft.class_2350;
import org.jetbrains.annotations.Nullable;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@Environment(EnvType.CLIENT)
@Mixin({class_10801.class})
abstract class GeometryBakedModelMixin implements class_10889 {
@Shadow
@Final
private class_10817 comp_3750;
@Shadow
@Final
private boolean comp_3751;
public void emitQuads(QuadEmitter emitter, Predicate<@Nullable class_2350> cullTest) {
class_10817 var4 = this.comp_3750;
if (var4 instanceof MeshBakedGeometry meshBakedGeometry) {
if (this.comp_3751) {
meshBakedGeometry.getMesh().outputTo(emitter);
} else {
emitter.pushTransform((quad) -> {
if (quad.ambientOcclusion() == TriState.DEFAULT) {
quad.ambientOcclusion(TriState.FALSE);
}
return true;
});
meshBakedGeometry.getMesh().outputTo(emitter);
emitter.popTransform();
}
} else {
super.emitQuads(emitter, cullTest);
}
}
}
Download file