9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-19 15:09:25 +00:00

remove MultithreadedTracker lambda

This commit is contained in:
hayanesuru
2025-05-22 23:15:10 +09:00
parent e5da1b1038
commit 727a0827bc

View File

@@ -32,6 +32,15 @@ public class MultithreadedTracker {
private static long lastWarnMillis = System.currentTimeMillis(); private static long lastWarnMillis = System.currentTimeMillis();
private static ThreadPoolExecutor TRACKER_EXECUTOR = null; private static ThreadPoolExecutor TRACKER_EXECUTOR = null;
private record SendChanges(Object[] entities, int size) implements Runnable {
@Override
public void run() {
for (int i = 0; i < size; i++) {
((ServerEntity) entities[i]).sendDirtyEntityData();
}
}
}
private MultithreadedTracker() { private MultithreadedTracker() {
} }
@@ -90,7 +99,7 @@ public class MultithreadedTracker {
} }
} }
if (!sendDirty.isEmpty()) { if (!sendDirty.isEmpty()) {
level.getServer().execute(() -> sendDirty.forEach(ServerEntity::sendDirtyEntityData)); level.getServer().execute(new SendChanges(sendDirty.elements(), sendDirty.size()));
} }
}); });
} }
@@ -131,6 +140,7 @@ public class MultithreadedTracker {
sendChanges.run(); sendChanges.run();
} }
ReferenceArrayList<ServerEntity> sendDirty = new ReferenceArrayList<>(); ReferenceArrayList<ServerEntity> sendDirty = new ReferenceArrayList<>();
for (final Entity entity : trackerEntitiesRaw) { for (final Entity entity : trackerEntitiesRaw) {
if (entity == null) continue; if (entity == null) continue;
@@ -144,7 +154,7 @@ public class MultithreadedTracker {
} }
} }
if (!sendDirty.isEmpty()) { if (!sendDirty.isEmpty()) {
level.getServer().execute(() -> sendDirty.forEach(ServerEntity::sendDirtyEntityData)); level.getServer().execute(new SendChanges(sendDirty.elements(), sendDirty.size()));
} }
}); });
} }