From 31be68c0d90ac1e9d8da256dab482a577c8e65c1 Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Tue, 31 Jan 2023 12:54:33 -0500 Subject: [PATCH] Updated Upstream (MikuServer) --- ...51-MikuServer-Some-crash-issue-fixes.patch | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 patches/server/0051-MikuServer-Some-crash-issue-fixes.patch diff --git a/patches/server/0051-MikuServer-Some-crash-issue-fixes.patch b/patches/server/0051-MikuServer-Some-crash-issue-fixes.patch new file mode 100644 index 00000000..f7d321ec --- /dev/null +++ b/patches/server/0051-MikuServer-Some-crash-issue-fixes.patch @@ -0,0 +1,44 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: wangxyper +Date: Tue, 31 Jan 2023 09:17:46 +0800 +Subject: [PATCH] MikuServer: Some crash issue fixes + +Original license: MIT +Original project: https://github.com/MikuMC/MikuServer + +diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java +index 07b2cd85956dda47ed0a026cd837c5b9498213ac..7bcf64908bbd49131524e227b4f5ac274c175a55 100644 +--- a/src/main/java/net/minecraft/server/level/ChunkMap.java ++++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +@@ -1500,7 +1500,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + final Entity entity; + private final int range; + SectionPos lastSectionPos; +- public final Set seenBy = new ReferenceOpenHashSet<>(); // Paper - optimise map impl ++ public final Set seenBy = ReferenceSets.synchronize(new ReferenceOpenHashSet<>()); // Paper - optimise map impl //MikuServer + + public TrackedEntity(Entity entity, int i, int j, boolean flag) { + this.serverEntity = new ServerEntity(ChunkMap.this.level, entity, j, flag, this::broadcast, this.seenBy); // CraftBukkit +diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java +index 004091f2026f3c58d9bce49f1b07f6441df8da8a..7999e27d5dc86ff5d3d827fa2de1307317b46c70 100644 +--- a/src/main/java/net/minecraft/world/entity/player/Inventory.java ++++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java +@@ -4,6 +4,9 @@ import com.google.common.collect.ImmutableList; + import java.util.Iterator; + import java.util.List; + import java.util.function.Predicate; ++ ++import it.unimi.dsi.fastutil.objects.ObjectArrayList; ++import it.unimi.dsi.fastutil.objects.ObjectLists; + import net.minecraft.CrashReport; + import net.minecraft.CrashReportCategory; + import net.minecraft.ReportedException; +@@ -49,7 +52,7 @@ public class Inventory implements Container, Nameable { + private int timesChanged; + + // CraftBukkit start - add fields and methods +- public List transaction = new java.util.ArrayList(); ++ public List transaction = ObjectLists.synchronize(new ObjectArrayList<>()); + private int maxStack = MAX_STACK; + + public List getContents() {