From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Martijn Muijsers Date: Thu, 1 Dec 2022 14:40:03 +0100 Subject: [PATCH] Use linked map for entity trackers License: MIT (https://opensource.org/licenses/MIT) Gale - https://galemc.org This patch is based on the following mixin: "com/ishland/vmp/mixins/entitytracker/MixinThreadedAnvilChunkStorage.java" By: ishland As part of: VMP (https://github.com/RelativityMC/VMP-fabric) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/net/minecraft/server/level/ChunkMap.java b/net/minecraft/server/level/ChunkMap.java index bbd21c296e0b9bb000a9c47be1ec27ea553d3b40..63eaf8a4aa462a94d12535dbfabe74fe02314c5c 100644 --- a/net/minecraft/server/level/ChunkMap.java +++ b/net/minecraft/server/level/ChunkMap.java @@ -136,7 +136,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider private final AtomicInteger tickingGenerated = new AtomicInteger(); private final String storageName; private final PlayerMap playerMap = new PlayerMap(); - public final Int2ObjectMap entityMap = new Int2ObjectOpenHashMap<>(); + public final Int2ObjectMap entityMap = new it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap<>(); // Gale - VMP - use linked map for entity trackers - provides faster iteration private final Long2ByteMap chunkTypeCache = new Long2ByteOpenHashMap(); private final Long2LongMap nextChunkSaveTime = new Long2LongOpenHashMap(); private final LongSet chunksToEagerlySave = new LongLinkedOpenHashSet();