VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.mixin.render.block;
import net.minecraft.class_1058;
import net.minecraft.class_2350;
import net.minecraft.class_777;
import net.vulkanmod.render.chunk.build.frapi.helper.NormalHelper;
import net.vulkanmod.render.chunk.cull.QuadFacing;
import net.vulkanmod.render.model.quad.ModelQuadFlags;
import net.vulkanmod.render.model.quad.ModelQuadView;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin({class_777.class})
public class BakedQuadM implements ModelQuadView {
@Shadow
@Final
protected int[] comp_3721;
@Shadow
@Final
protected class_2350 comp_3723;
@Shadow
@Final
protected int comp_3722;
private int flags;
private int normal;
private QuadFacing facing;
@Inject(
method = {"<init>"},
at = {@At("RETURN")}
)
private void onInit(int[] vertices, int tintIndex, class_2350 face, class_1058 textureAtlasSprite, boolean shade, int lightEmission, CallbackInfo ci) {
this.flags = ModelQuadFlags.getQuadFlags(this, face);
int packedNormal = NormalHelper.computePackedNormal(this);
this.normal = packedNormal;
this.facing = QuadFacing.fromNormal(packedNormal);
}
public int getFlags() {
return this.flags;
}
public float getX(int idx) {
return Float.intBitsToFloat(this.comp_3721[vertexOffset(idx) + 0]);
}
public float getY(int idx) {
return Float.intBitsToFloat(this.comp_3721[vertexOffset(idx) + 1]);
}
public float getZ(int idx) {
return Float.intBitsToFloat(this.comp_3721[vertexOffset(idx) + 2]);
}
public int getColor(int idx) {
return this.comp_3721[vertexOffset(idx) + 3];
}
public float getU(int idx) {
return Float.intBitsToFloat(this.comp_3721[vertexOffset(idx) + 4]);
}
public float getV(int idx) {
return Float.intBitsToFloat(this.comp_3721[vertexOffset(idx) + 5]);
}
public int getColorIndex() {
return this.comp_3722;
}
public class_2350 lightFace() {
return this.comp_3723;
}
public class_2350 getFacingDirection() {
return this.comp_3723;
}
public QuadFacing getQuadFacing() {
return this.facing;
}
public int getNormal() {
return this.normal;
}
public boolean isTinted() {
return this.comp_3722 != -1;
}
private static int vertexOffset(int vertexIndex) {
return vertexIndex * 8;
}
}
Download file