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