--- a/com/mojang/math/OctahedralGroup.java
+++ b/com/mojang/math/OctahedralGroup.java
@@ -110,6 +110,7 @@
         this.permutation = axisTransformation;
         this.transformation = new Matrix3f().scaling(flipX ? -1.0F : 1.0F, flipY ? -1.0F : 1.0F, flipZ ? -1.0F : 1.0F);
         this.transformation.mul(axisTransformation.transformation());
+        this.initializeRotationDirections(); // Paper - Avoid Lazy Initialization for Enum Fields
     }
 
     private BooleanList packInversions() {
@@ -138,7 +139,7 @@
         return this.name;
     }
 
-    public Direction rotate(Direction direction) {
+    public void initializeRotationDirections() { // Paper - Avoid Lazy Initialization for Enum Fields
         if (this.rotatedDirections == null) {
             this.rotatedDirections = Maps.newEnumMap(Direction.class);
             Direction.Axis[] axiss = Direction.Axis.values();
@@ -153,6 +154,10 @@
             }
         }
 
+    // Paper start - Avoid Lazy Initialization for Enum Fields
+    }
+    public Direction rotate(Direction direction) {
+    // Paper end - Avoid Lazy Initialization for Enum Fields
         return this.rotatedDirections.get(direction);
     }
 
