diff --git a/src/main/java/com/gregtechceu/gtceu/api/sync_system/ClassSyncData.java b/src/main/java/com/gregtechceu/gtceu/api/sync_system/ClassSyncData.java index cf648d12ba9..3a0f902bbd3 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/sync_system/ClassSyncData.java +++ b/src/main/java/com/gregtechceu/gtceu/api/sync_system/ClassSyncData.java @@ -80,8 +80,9 @@ private ClassSyncData(Class clazz) { for (Field field : clazz.getDeclaredFields()) { - boolean hasSaveField = field.isAnnotationPresent(SaveField.class); - boolean hasClientSync = field.isAnnotationPresent(SyncToClient.class); + boolean isSyncManaged = ISyncManaged.class.isAssignableFrom(field.getType()); + boolean hasSaveField = field.isAnnotationPresent(SaveField.class) || isSyncManaged; + boolean hasClientSync = field.isAnnotationPresent(SyncToClient.class) || isSyncManaged; if (!hasSaveField && !hasClientSync) continue; if (Modifier.isStatic(field.getModifiers()))