fabric-renderer-api-v1-7.2.3+9be2a36e6f.jar
Download file
package net.fabricmc.fabric.impl.renderer;
import java.util.List;
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.mesh.ShadeMode;
import net.fabricmc.fabric.api.renderer.v1.model.ModelHelper;
import net.fabricmc.fabric.api.util.TriState;
import net.minecraft.class_10889;
import net.minecraft.class_2350;
import net.minecraft.class_777;
import org.jetbrains.annotations.Nullable;
@Environment(EnvType.CLIENT)
public class VanillaBlockModelPartEncoder {
public static void emitQuads(class_10889 part, QuadEmitter emitter, Predicate<@Nullable class_2350> cullTest) {
TriState ao = part.comp_3751() ? TriState.DEFAULT : TriState.FALSE;
for(int i = 0; i <= 6; ++i) {
class_2350 cullFace = ModelHelper.faceFromIndex(i);
if (!cullTest.test(cullFace)) {
List<class_777> quads = part.method_68509(cullFace);
int quadCount = quads.size();
for(int j = 0; j < quadCount; ++j) {
class_777 q = (class_777)quads.get(j);
emitter.cullFace(cullFace);
emitter.fromBakedQuad(q);
emitter.ambientOcclusion(ao);
emitter.shadeMode(ShadeMode.VANILLA);
emitter.emit();
}
}
}
}
}
Download file