diff --git a/main/src/main/java/net/citizensnpcs/util/NMS.java b/main/src/main/java/net/citizensnpcs/util/NMS.java
index dd9b03793..77bcb9c50 100644
--- a/main/src/main/java/net/citizensnpcs/util/NMS.java
+++ b/main/src/main/java/net/citizensnpcs/util/NMS.java
@@ -66,6 +66,10 @@ public class NMS {
     }
 
     public static Field getField(Class<?> clazz, String field) {
+        return getField(clazz, field, true);
+    }
+
+    public static Field getField(Class<?> clazz, String field, boolean log) {
         if (clazz == null)
             return null;
         Field f = null;
@@ -73,20 +77,28 @@ public class NMS {
             f = clazz.getDeclaredField(field);
             f.setAccessible(true);
         } catch (Exception e) {
-            Messaging.logTr(Messages.ERROR_GETTING_FIELD, field, e.getLocalizedMessage());
+            if (log) {
+                Messaging.logTr(Messages.ERROR_GETTING_FIELD, field, e.getLocalizedMessage());
+            }
         }
         return f;
     }
 
     public static Field getFinalField(Class<?> clazz, String field) {
-        Field f = getField(clazz, field);
+        return getFinalField(clazz, field, true);
+    }
+
+    public static Field getFinalField(Class<?> clazz, String field, boolean log) {
+        Field f = getField(clazz, field, log);
         if (f == null) {
             return null;
         }
         try {
             MODIFIERS_FIELD.setInt(f, f.getModifiers() & ~Modifier.FINAL);
         } catch (Exception e) {
-            Messaging.logTr(Messages.ERROR_GETTING_FIELD, field, e.getLocalizedMessage());
+            if (log) {
+                Messaging.logTr(Messages.ERROR_GETTING_FIELD, field, e.getLocalizedMessage());
+            }
             return null;
         }
         return f;
diff --git a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java
index bd744a998..23f7d1b75 100644
--- a/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java
+++ b/v1_13_R2/src/main/java/net/citizensnpcs/nms/v1_13_R2/util/NMSImpl.java
@@ -1017,7 +1017,10 @@ public class NMSImpl implements NMSBridge {
     public void shutdown() {
         if (ENTITY_REGISTRY == null)
             return;
-        Field field = NMS.getFinalField(EntityTypes.class, "REGISTRY");
+        Field field = NMS.getFinalField(EntityTypes.class, "REGISTRY", false);
+        if (field == null) {
+            field = NMS.getFinalField(IRegistry.class, "ENTITY_TYPE");
+        }
         try {
             field.set(null, ENTITY_REGISTRY.getWrapped());
         } catch (Exception e) {
@@ -1592,7 +1595,10 @@ public class NMSImpl implements NMSBridge {
 
     static {
         try {
-            Field field = NMS.getFinalField(EntityTypes.class, "REGISTRY");
+            Field field = NMS.getFinalField(EntityTypes.class, "REGISTRY", false);
+            if (field == null) {
+                field = NMS.getFinalField(IRegistry.class, "ENTITY_TYPE");
+            }
             ENTITY_REGISTRY = new CustomEntityRegistry((RegistryMaterials<EntityTypes<?>>) field.get(null));
             field.set(null, ENTITY_REGISTRY);
         } catch (Exception e) {