VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.render.chunk.cull;
import net.minecraft.class_2350;
import net.minecraft.class_3532;
import net.vulkanmod.render.vertex.format.I32_SNorm;
import org.joml.Vector3f;
public enum QuadFacing {
X_POS,
Y_POS,
Z_POS,
X_NEG,
Z_NEG,
UNDEFINED,
Y_NEG;
public static final QuadFacing[] VALUES = values();
public static final int COUNT = VALUES.length;
public static QuadFacing fromDirection(class_2350 direction) {
QuadFacing var10000;
switch (direction) {
case field_11033 -> var10000 = Y_NEG;
case field_11036 -> var10000 = Y_POS;
case field_11043 -> var10000 = Z_NEG;
case field_11035 -> var10000 = Z_POS;
case field_11039 -> var10000 = X_NEG;
case field_11034 -> var10000 = X_POS;
default -> throw new MatchException((String)null, (Throwable)null);
}
return var10000;
}
public static QuadFacing fromNormal(int packedNormal) {
float x = I32_SNorm.unpackX(packedNormal);
float y = I32_SNorm.unpackY(packedNormal);
float z = I32_SNorm.unpackZ(packedNormal);
return fromNormal(x, y, z);
}
public static QuadFacing fromNormal(Vector3f normal) {
return fromNormal(normal.x(), normal.y(), normal.z());
}
public static QuadFacing fromNormal(float x, float y, float z) {
float absX = Math.abs(x);
float absY = Math.abs(y);
float absZ = Math.abs(z);
float sum = absX + absY + absZ;
if (class_3532.method_15347(sum, 1.0F)) {
if (class_3532.method_15347(absX, 1.0F)) {
return x > 0.0F ? X_POS : X_NEG;
}
if (class_3532.method_15347(absY, 1.0F)) {
return y > 0.0F ? Y_POS : Y_NEG;
}
if (class_3532.method_15347(absZ, 1.0F)) {
return z > 0.0F ? Z_POS : Z_NEG;
}
}
return UNDEFINED;
}
// $FF: synthetic method
private static QuadFacing[] $values() {
return new QuadFacing[]{X_POS, Y_POS, Z_POS, X_NEG, Z_NEG, UNDEFINED, Y_NEG};
}
}
Download file