mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2025-01-27 10:31:37 +01:00
Create 0027-Optimize-TileEntity-loading.patch
This commit is contained in:
parent
7b82d69191
commit
f9e971311a
71
patches/server/0027-Optimize-TileEntity-loading.patch
Normal file
71
patches/server/0027-Optimize-TileEntity-loading.patch
Normal file
@ -0,0 +1,71 @@
|
||||
From 2bb2f43c34ce219ab0fa4adb901b2774b0584d5d Mon Sep 17 00:00:00 2001
|
||||
From: tr7zw <tr7zw@live.de>
|
||||
Date: Fri, 17 Jul 2020 01:10:17 +0200
|
||||
Subject: [PATCH] Optimize TileEntity loading
|
||||
|
||||
---
|
||||
.../mods/lithium/common/util/collections/HashedList.java | 5 ++---
|
||||
src/main/java/net/minecraft/server/World.java | 7 +++++--
|
||||
2 files changed, 7 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java b/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
|
||||
index a2e3e96e1e..1725fc7284 100644
|
||||
--- a/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
|
||||
+++ b/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
|
||||
@@ -1,11 +1,10 @@
|
||||
package me.jellysquid.mods.lithium.common.util.collections;
|
||||
|
||||
-import it.unimi.dsi.fastutil.objects.ObjectArraySet;
|
||||
-
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* Wraps a {@link List} with a hash table which provides O(1) lookups for {@link Collection#contains(Object)}.
|
||||
+ * Uses a hashset so some issues can happen if the same entry get's added multiple times! (Doesn't matter for this usecase)
|
||||
*
|
||||
* @see https://github.com/jellysquid3/lithium-fabric/blob/1.16.x/fabric/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
|
||||
*/
|
||||
@@ -163,6 +162,6 @@ public class HashedList<T> implements List<T> {
|
||||
}
|
||||
|
||||
public static <T> HashedList<T> wrapper(List<T> list) {
|
||||
- return new HashedList<>(list, new ObjectArraySet<>(list));
|
||||
+ return new HashedList<>(list, new HashSet<>(list));
|
||||
}
|
||||
}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 4a956f3681..98196c11e6 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -2,6 +2,8 @@ package net.minecraft.server;
|
||||
|
||||
import co.aikar.timings.Timing;
|
||||
import co.aikar.timings.Timings;
|
||||
+import me.jellysquid.mods.lithium.common.util.collections.HashedList;
|
||||
+
|
||||
import com.destroystokyo.paper.antixray.ChunkPacketBlockController; // Paper - Anti-Xray
|
||||
import com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray; // Paper - Anti-Xray
|
||||
import com.destroystokyo.paper.event.server.ServerExceptionEvent;
|
||||
@@ -10,6 +12,7 @@ import com.google.common.base.MoreObjects;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.mojang.serialization.Codec;
|
||||
import java.io.IOException;
|
||||
+import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
@@ -42,8 +45,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public static final ResourceKey<World> THE_END = ResourceKey.a(IRegistry.ae, new MinecraftKey("the_end"));
|
||||
private static final EnumDirection[] a = EnumDirection.values();
|
||||
//public final List<TileEntity> tileEntityList = Lists.newArrayList(); // Paper - remove unused list
|
||||
- public final List<TileEntity> tileEntityListTick = Lists.newArrayList();
|
||||
- protected final List<TileEntity> tileEntityListPending = Lists.newArrayList();
|
||||
+ public final List<TileEntity> tileEntityListTick = HashedList.wrapper(Lists.newArrayList()); // YAPFA
|
||||
+ protected final List<TileEntity> tileEntityListPending = HashedList.wrapper(Lists.newArrayList()); // YAPFA
|
||||
protected final java.util.Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet();
|
||||
public final Thread serverThread;
|
||||
private final boolean debugWorld;
|
||||
--
|
||||
2.25.1.windows.1
|
||||
|
Loading…
Reference in New Issue
Block a user