--- a/com/mojang/math/OctahedralGroup.java
+++ b/com/mojang/math/OctahedralGroup.java
@@ -123,6 +_,12 @@
         }
     );
 
+    static {
+        for (OctahedralGroup octahedralGroup : values()) {
+            octahedralGroup.initializeRotationDirections(); // Paper - Avoid Lazy Initialization for Enum Fields
+        }
+    }
+
     private OctahedralGroup(final String name, final SymmetricGroup3 permutation, final boolean invertX, final boolean invertY, final boolean invertZ) {
         this.name = name;
         this.invertX = invertX;
@@ -160,7 +_,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 = Util.makeEnumMap(Direction.class, direction1 -> {
                 Direction.Axis axis = direction1.getAxis();
@@ -171,6 +_,11 @@
             });
         }
 
+    // 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);
     }
 
