Merge remote-tracking branch 'origin/main' into 1.18
This commit is contained in:
commit
e38babe3c2
|
|
@ -42,19 +42,23 @@ public class EntityDataIDSyncHandler {
|
||||||
List<Field> fieldsToSync = new ArrayList<>();
|
List<Field> fieldsToSync = new ArrayList<>();
|
||||||
for(Class<? extends Entity> eClass : entityPoolMap.keySet()) {
|
for(Class<? extends Entity> eClass : entityPoolMap.keySet()) {
|
||||||
fieldsToSync.clear();
|
fieldsToSync.clear();
|
||||||
Field[] classFields = eClass.getDeclaredFields();
|
try {
|
||||||
for(Field field : classFields) {
|
Field[] classFields = eClass.getDeclaredFields();
|
||||||
if(!Modifier.isStatic(field.getModifiers()))
|
for(Field field : classFields) {
|
||||||
continue;
|
if(!Modifier.isStatic(field.getModifiers()))
|
||||||
field.setAccessible(true);
|
continue;
|
||||||
Object o = field.get(null);
|
field.setAccessible(true);
|
||||||
if(o != null && EntityDataAccessor.class.isAssignableFrom(o.getClass())) {
|
Object o = field.get(null);
|
||||||
fieldsToSync.add(field);
|
if(o != null && EntityDataAccessor.class.isAssignableFrom(o.getClass())) {
|
||||||
|
fieldsToSync.add(field);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
for(Field field : fieldsToSync) {
|
||||||
for(Field field : fieldsToSync) {
|
int id = ((EntityDataAccessor<?>)field.get(null)).id;
|
||||||
int id = ((EntityDataAccessor<?>)field.get(null)).id;
|
fieldsToSyncMap.computeIfAbsent(eClass, k -> new ArrayList<>()).add(Pair.of(field.getName(), id));
|
||||||
fieldsToSyncMap.computeIfAbsent(eClass, k -> new ArrayList<>()).add(Pair.of(field.getName(), id));
|
}
|
||||||
|
} catch(Throwable e) {
|
||||||
|
ModernFix.LOGGER.error("Skipping entity ID sync for {}: {}", eClass.getName(), e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user