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

optimize tracker (#323)

* optimize tracker

* optimize scaledRange

* cleanup

* fix loop

* fix loop

* optimize AttributeMap

* optimize TrackedEntity#seenBy

* revert packDirty

* cleanup
This commit is contained in:
hayanesuru
2025-05-17 21:10:27 +09:00
committed by GitHub
parent 42fe940854
commit ff9e4f506b
10 changed files with 750 additions and 192 deletions

View File

@@ -0,0 +1,27 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: hayanesuru <hayanesuru@outlook.jp>
Date: Sat, 17 May 2025 19:03:31 +0900
Subject: [PATCH] optimize SynchedEntityData#packDirty
diff --git a/net/minecraft/network/syncher/SynchedEntityData.java b/net/minecraft/network/syncher/SynchedEntityData.java
index 3d90f9f1ac1bd281edf6bb0f93ea821657d5bd2f..546c36d0bc14b8db49245ff162be3dbc4d680da6 100644
--- a/net/minecraft/network/syncher/SynchedEntityData.java
+++ b/net/minecraft/network/syncher/SynchedEntityData.java
@@ -84,7 +84,15 @@ public class SynchedEntityData {
return null;
} else {
this.isDirty = false;
- List<SynchedEntityData.DataValue<?>> list = new ArrayList<>();
+ // Leaf start
+ int cap = 0;
+ for (SynchedEntityData.DataItem<?> dataItem : this.itemsById) {
+ if (dataItem.isDirty()) {
+ cap += 1;
+ }
+ }
+ ArrayList<SynchedEntityData.DataValue<?>> list = new ArrayList<>(cap);
+ // Leaf end
for (SynchedEntityData.DataItem<?> dataItem : this.itemsById) {
if (dataItem.isDirty()) {