From 7779a176bf2f9f2635d65dcb5fe867f70afc3589 Mon Sep 17 00:00:00 2001 From: Samsuik Date: Sun, 26 Oct 2025 00:37:12 +0100 Subject: [PATCH] Fix tracked merge history npe --- .../sakura/entity/merge/TrackedMergeHistory.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/TrackedMergeHistory.java b/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/TrackedMergeHistory.java index bff94a2..f837466 100644 --- a/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/TrackedMergeHistory.java +++ b/sakura-server/src/main/java/me/samsuik/sakura/entity/merge/TrackedMergeHistory.java @@ -55,9 +55,13 @@ public final class TrackedMergeHistory { @Contract("_, false -> _; _, true -> !null") private @Nullable PositionHistory getHistory(final Entity entity, final boolean create) { final long position = entity.getPackedOriginPosition(); - return this.historyMap.computeIfAbsent(position, p -> { - return create ? new PositionHistory(entity.level().getGameTime()) : null; - }); + PositionHistory history = this.historyMap.get(position); + //noinspection ConstantValue + if (create && history == null) { + history = new PositionHistory(entity.level().getGameTime()); + this.historyMap.put(position, history); + } + return history; } private static final class PositionHistory {