mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-09-12 23:58:20 +02:00
ff560e687c
* Update build.yml
* Remove 3rd party patches
* Add Upsteam Submodules
* Fix patches
* ?
* Fix patches
* Add Fast Init script
* Lots of stuff
also it's broke
* more broken
* fixes
* mor stuff
* gfhfgh
hg
* fix patch
* fix up script
* update submodule
* add papercut
* update tuinity
* update gitmodules
* fix var name
* fix more var stuff
* some how it's not deleting shit anymore
* should now use the branch it just made
why are we doing this again?
* now it does thing thing
* return previous so YAPFA can use it
* ok now it really does the thing
* for REAL it does the thing
* don't do the thing because it causes too many problems
* fix api
* work
* use better patching for YAPFA patches
* fix better patching
* more fixes
* new patches stuff
* remove old 3rd parry patches add removed akarin patches
* make new branch for making patches
* hopefully build patches correctly
* fix gitignore and add config patches
* remove papercut files
* fix some weirdness
* fix bug
* time to do some fixin' 👀
* New Patch System Rebased Patches
* fix full build
* exit 1
* fix
* Remove patch
* Hopefully fix compile errors
* fixes
* this might work
* don't use rej for our patches
* tmp disable cache
* some times case sensitivity is dumb
* my sanity is at an all time low :)
* dfg
* readd cahce
* fix?
* Update Upstream
* fix perms
* fix
* fix api
* Redo API
* rm folders
* fix villager brain patch
* emc explosion pref
* fixed aikar's shit
* betterfix
* fix lagggg
* Origami
* Origami Fixes
* Update readme
* test async path finding
* WIP Async Path Finding
* WIP fix async path finding
* same as bellow
* same
* update to newer funcs
* fix newer funcs
* fix author
* Updates, Fixes, and new patches
* fixes
* possibly async flying path finding
* minor asnyc pathfinding fix
* test remove non asnyc path finder
* WIP make all path finding async
* Rename everything
* Exec flag
* Rebuild hashes
* remove dupe patch
* fix?
* Fix packages, redirect config
* old nav class is now async and back
* add getchatcolor.getbyid and handle patches with a . in them better
Co-authored-by: tr7zw <tr7zw@live.de>
Co-authored-by: Unknown <unknown@example.com>
Co-authored-by: Ovydux <68059159+Ovydux@users.noreply.github.com>
66 lines
3.5 KiB
Diff
66 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: tr7zw <tr7zw@live.de>
|
|
Date: Fri, 31 Jul 2020 22:04:17 -0500
|
|
Subject: [PATCH] Optimize TileEntity loading
|
|
|
|
|
|
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 c2c19a6fbfa2a4aba21aa71789071c69a6246556..7dfd36e22a896ae440bbda6db0628c44493b44d2 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,12 +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
|
|
*/
|
|
public class HashedList<T> implements List<T> {
|
|
@@ -163,6 +161,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 2ab8412f20a77547c8bb12b927d23b2acb84965b..034ba79e67f3e4b0af4372e6942007efdd2e7096 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()); // Yatopia
|
|
+ protected final List<TileEntity> tileEntityListPending = HashedList.wrapper(Lists.newArrayList()); // Yatopia
|
|
protected final java.util.Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet();
|
|
public final Thread serverThread;
|
|
private final boolean debugWorld;
|