mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-16 06:30:46 +01:00
72d0717d5d
A recent commit has been made that caused patches to be out of order, rebuilding
80 lines
No EOL
3.4 KiB
Diff
80 lines
No EOL
3.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: willies952002 <admin@domnian.com>
|
|
Date: Mon, 30 Jul 2018 02:42:49 -0400
|
|
Subject: [PATCH] World EntityHuman Lookup Optimizations
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index 82f4f00a7..b0053e5e6 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
private final List<TileEntity> c = Lists.newArrayList();
|
|
private final Set<TileEntity> tileEntityListUnload = Sets.newHashSet(); // Paper
|
|
public final List<EntityHuman> players = Lists.newArrayList();
|
|
+ public final Map<String, EntityHuman> playersByName = Maps.newHashMap(); // Paper - World EntityHuman Lookup Optimizations
|
|
public final List<Entity> k = Lists.newArrayList();
|
|
protected final IntHashMap<Entity> entitiesById = new IntHashMap();
|
|
private final long G = 16777215L;
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
EntityHuman entityhuman = (EntityHuman) entity;
|
|
|
|
this.players.add(entityhuman);
|
|
+ this.playersByName.put(entityhuman.getName(), entityhuman);
|
|
+ // Paper end
|
|
this.everyoneSleeping();
|
|
}
|
|
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
entity.die();
|
|
if (entity instanceof EntityHuman) {
|
|
this.players.remove(entity);
|
|
+ this.playersByName.remove(entity.getName()); // Paper - World EntityHuman Lookup Optimizations
|
|
// Spigot start
|
|
for ( Object o : worldMaps.d )
|
|
{
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
entity.die();
|
|
if (entity instanceof EntityHuman) {
|
|
this.players.remove(entity);
|
|
+ this.playersByName.remove(entity.getName()); // Paper - World EntityHuman Lookup Optimizations
|
|
this.everyoneSleeping();
|
|
}
|
|
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
|
|
@Nullable
|
|
public EntityHuman a(String s) {
|
|
+ // Paper start - World EntityHuman Lookup Optimizations
|
|
+ /*
|
|
for (int i = 0; i < this.players.size(); ++i) {
|
|
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
|
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
}
|
|
|
|
return null;
|
|
+ */
|
|
+ return this.playersByName.get(s);
|
|
+ // Paper end
|
|
}
|
|
|
|
@Nullable
|
|
public EntityHuman b(UUID uuid) {
|
|
+ // Paper start - World EntityHuman Lookup Optimizations
|
|
+ /*
|
|
for (int i = 0; i < this.players.size(); ++i) {
|
|
EntityHuman entityhuman = (EntityHuman) this.players.get(i);
|
|
|
|
@@ -0,0 +0,0 @@ public abstract class World implements GeneratorAccess, IIBlockAccess, AutoClose
|
|
}
|
|
|
|
return null;
|
|
+ */
|
|
+ Entity entity = ((WorldServer)this).entitiesByUUID.get(uuid);
|
|
+ return entity instanceof EntityHuman ? (EntityHuman) entity : null;
|
|
+ // Paper end
|
|
}
|
|
|
|
public void checkSession() throws ExceptionWorldConflict {
|
|
--
|