diff --git a/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/MergeEntityData.java b/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/MergeEntityData.java index b13e3dc..1c18e1f 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/MergeEntityData.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/MergeEntityData.java @@ -9,7 +9,7 @@ import java.util.List; public final class MergeEntityData { private final Entity entity; - private List connected = new ObjectArrayList<>(); + private final List connected = new ObjectArrayList<>(); private int count = 1; private MergeLevel mergeLevel = MergeLevel.NONE; @@ -17,10 +17,17 @@ public final class MergeEntityData { this.entity = entity; } + private void updateEntityHandles(Entity entity) { + for (MergeEntityData entityData : this.connected) { + entityData.entity.updateBukkitHandle(entity); + } + } + public void mergeWith(@NotNull MergeEntityData mergeEntityData) { this.connected.add(mergeEntityData); this.connected.addAll(mergeEntityData.connected); this.count += mergeEntityData.getCount(); + mergeEntityData.updateEntityHandles(this.entity); mergeEntityData.setCount(0); }