mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-01 17:01:56 +01:00
Improve Async Login so pending connections dont get exposed
We still keep vanilla process of waiting for existing session to be removed before logging in by storing a separate map of pending. also fire the callback using executor incase further recursion causes any trouble
This commit is contained in:
parent
58876facfa
commit
9c59e219f6
16 changed files with 272 additions and 162 deletions
|
@ -2399,7 +2399,7 @@ index 0000000000..2b20c159f6
|
|||
+
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 262055fccd..68bac9a3c0 100644
|
||||
index 5e4f3612ba..5b10562369 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
|
|
@ -25,7 +25,7 @@ This successfully fixed a reoccurring and highly reproduceable crash
|
|||
for heightmaps.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 59568224..fd84807a 100644
|
||||
index 15bd3cacb3..2d4d7250f2 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -50,7 +50,7 @@ index 59568224..fd84807a 100644
|
|||
} finally {
|
||||
playerChunkMap.callbackExecutor.run();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index c38d31fa..e19342eb 100644
|
||||
index c38d31fafe..e19342eb89 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
|
|
@ -8,7 +8,7 @@ This patch also adds a chunk status cache on region files (note that
|
|||
its only purpose is to cache the status on DISK)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index d41316c4..262055fc 100644
|
||||
index 0dd873a5dd..5e4f3612ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -43,7 +43,7 @@ index d41316c4..262055fc 100644
|
|||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index 83bcef7e..47e074a1 100644
|
||||
index 83bcef7e64..47e074a122 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkRegionLoader {
|
||||
|
@ -65,7 +65,7 @@ index 83bcef7e..47e074a1 100644
|
|||
if (nbttagcompound != null) {
|
||||
ChunkStatus chunkstatus = ChunkStatus.a(nbttagcompound.getCompound("Level").getString("Status"));
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||
index efdf611e..134a4f0b 100644
|
||||
index efdf611e66..134a4f0b7d 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkStatus.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkStatus {
|
||||
|
@ -95,7 +95,7 @@ index efdf611e..134a4f0b 100644
|
|||
return (ChunkStatus) IRegistry.CHUNK_STATUS.get(MinecraftKey.a(s));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IChunkLoader.java b/src/main/java/net/minecraft/server/IChunkLoader.java
|
||||
index f0a052ee..2f95174f 100644
|
||||
index f0a052eec2..2f95174fcc 100644
|
||||
--- a/src/main/java/net/minecraft/server/IChunkLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/IChunkLoader.java
|
||||
@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
|
||||
|
@ -108,7 +108,7 @@ index f0a052ee..2f95174f 100644
|
|||
@Nullable
|
||||
private PersistentStructureLegacy c;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index 3d255b19..040d4b41 100644
|
||||
index 3d255b1964..040d4b41ea 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunk {
|
||||
|
@ -132,7 +132,7 @@ index 3d255b19..040d4b41 100644
|
|||
|
||||
public CompletableFuture<Either<IChunkAccess, PlayerChunk.Failure>> getStatusFutureUnchecked(ChunkStatus chunkstatus) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 18c71609..57b1341b 100644
|
||||
index 18c71609c0..57b1341b5a 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
@ -201,7 +201,7 @@ index 18c71609..57b1341b 100644
|
|||
// Spigot start
|
||||
return isOutsideOfRange(chunkcoordintpair, false);
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
index 6b543f89..d37abf2c 100644
|
||||
index 6b543f89d4..d37abf2cf3 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
|
||||
|
@ -250,7 +250,7 @@ index 6b543f89..d37abf2c 100644
|
|||
this.c();
|
||||
} finally {
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
index b3d1bb5f..e07ae985 100644
|
||||
index b3d1bb5fd8..e07ae98540 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
@@ -0,0 +0,0 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
|
@ -280,7 +280,7 @@ index b3d1bb5f..e07ae985 100644
|
|||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 661a89c5..a71bb865 100644
|
||||
index 661a89c5d6..a71bb86508 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -0,0 +0,0 @@ import java.util.Objects;
|
||||
|
|
|
@ -16,7 +16,7 @@ lots of chunks already.
|
|||
This massively reduces the lag spikes from sync chunk gens.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 4af75a95..8d4b227e 100644
|
||||
index 5fea6e56d5..bcf59beed6 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -59,7 +59,7 @@ index 4af75a95..8d4b227e 100644
|
|||
return ichunkaccess1;
|
||||
}, (playerchunk_failure) -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index 04b97cec..568fbbd5 100644
|
||||
index 04b97cec29..568fbbd5f2 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunk {
|
||||
|
@ -197,7 +197,7 @@ index 04b97cec..568fbbd5 100644
|
|||
|
||||
private void d(int i) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 92c9ab43..c38d31fa 100644
|
||||
index 92c9ab43d7..c38d31fafe 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
|
|
@ -18,9 +18,17 @@ index 96a47dd1c2..96ebe0b226 100644
|
|||
|
||||
public void setPositionRotation(BlockPosition blockposition, float f, float f1) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 686fd4cbad..84c6e5b614 100644
|
||||
index 686fd4cbad..079ddc714e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
public String locale = null; // CraftBukkit - lowercase // Paper - default to null
|
||||
public PlayerConnection playerConnection;
|
||||
+ public NetworkManager networkManager; // Paper
|
||||
public final MinecraftServer server;
|
||||
public final PlayerInteractManager playerInteractManager;
|
||||
public final Deque<Integer> removeQueue = new ArrayDeque<>(); // Paper
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
public boolean joining = true;
|
||||
public boolean sentListPacket = false;
|
||||
|
@ -29,6 +37,28 @@ index 686fd4cbad..84c6e5b614 100644
|
|||
public Integer clientViewDistance;
|
||||
// CraftBukkit end
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
index f1222fcb2b..28f48f2252 100644
|
||||
--- a/src/main/java/net/minecraft/server/LoginListener.java
|
||||
+++ b/src/main/java/net/minecraft/server/LoginListener.java
|
||||
@@ -0,0 +0,0 @@ public class LoginListener implements PacketLoginInListener {
|
||||
}
|
||||
// Paper end
|
||||
} else if (this.g == LoginListener.EnumProtocolState.DELAY_ACCEPT) {
|
||||
- EntityPlayer entityplayer = this.server.getPlayerList().a(this.i.getId());
|
||||
+ EntityPlayer entityplayer = this.server.getPlayerList().getActivePlayer(this.i.getId()); // Paper
|
||||
|
||||
if (entityplayer == null) {
|
||||
this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT;
|
||||
@@ -0,0 +0,0 @@ public class LoginListener implements PacketLoginInListener {
|
||||
}
|
||||
|
||||
this.networkManager.sendPacket(new PacketLoginOutSuccess(this.i));
|
||||
- EntityPlayer entityplayer = this.server.getPlayerList().a(this.i.getId());
|
||||
+ EntityPlayer entityplayer = this.server.getPlayerList().getActivePlayer(this.i.getId()); // Paper
|
||||
|
||||
if (entityplayer != null) {
|
||||
this.g = LoginListener.EnumProtocolState.DELAY_ACCEPT;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 7929fcc800..c3710b73af 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
|
@ -42,19 +72,55 @@ index 7929fcc800..c3710b73af 100644
|
|||
this.player.lastX = this.player.locX();
|
||||
this.player.lastY = this.player.locY();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index ec45c30dd3..ddecbc0a28 100644
|
||||
index ec45c30dd3..eaba3cbf06 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
this.players.add(entityplayer);
|
||||
this.playersByName.put(entityplayer.getName().toLowerCase(java.util.Locale.ROOT), entityplayer); // Spigot
|
||||
this.j.put(entityplayer.getUniqueID(), entityplayer);
|
||||
private static final SimpleDateFormat g = new SimpleDateFormat("yyyy-MM-dd 'at' HH:mm:ss z");
|
||||
private final MinecraftServer server;
|
||||
public final List<EntityPlayer> players = new java.util.concurrent.CopyOnWriteArrayList(); // CraftBukkit - ArrayList -> CopyOnWriteArrayList: Iterator safety
|
||||
- private final Map<UUID, EntityPlayer> j = Maps.newHashMap();
|
||||
+ private final Map<UUID, EntityPlayer> j = Maps.newHashMap();Map<UUID, EntityPlayer> getUUIDMap() { return j; } // Paper - OBFHELPER
|
||||
private final GameProfileBanList k;
|
||||
private final IpBanList l;
|
||||
private final OpList operators;
|
||||
private final WhiteList whitelist;
|
||||
+ private final Map<UUID, EntityPlayer> pendingPlayers = Maps.newHashMap(); // Paper
|
||||
// CraftBukkit start
|
||||
// private final Map<UUID, ServerStatisticManager> o;
|
||||
// private final Map<UUID, AdvancementDataPlayer> p;
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void a(NetworkManager networkmanager, EntityPlayer entityplayer) {
|
||||
+ EntityPlayer prev = pendingPlayers.put(entityplayer.getUniqueID(), entityplayer);// Paper
|
||||
+ if (prev != null) {
|
||||
+ disconnectPendingPlayer(prev);
|
||||
+ }
|
||||
+ entityplayer.networkManager = networkmanager; // Paper
|
||||
entityplayer.loginTime = System.currentTimeMillis(); // Paper
|
||||
GameProfile gameprofile = entityplayer.getProfile();
|
||||
UserCache usercache = this.server.getUserCache();
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
if (nbttagcompound != null && nbttagcompound.hasKey("bukkit")) {
|
||||
NBTTagCompound bukkit = nbttagcompound.getCompound("bukkit");
|
||||
s = bukkit.hasKeyOfType("lastKnownName", 8) ? bukkit.getString("lastKnownName") : s;
|
||||
- }
|
||||
+ }String lastKnownName = s; // Paper
|
||||
if (nbttagcompound == null) entityplayer.moveToSpawn(worldserver); // Paper - only move to spawn on first login, otherwise, stay where you are....
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
entityplayer.B().a(entityplayer);
|
||||
this.sendScoreboard(worldserver.getScoreboard(), entityplayer);
|
||||
this.server.invalidatePingSample();
|
||||
+ // Paper start - async load spawn in chunk
|
||||
+ WorldServer finalWorldserver = worldserver;
|
||||
+ int chunkX = loc.getBlockX() >> 4;
|
||||
+ int chunkZ = loc.getBlockZ() >> 4;
|
||||
+ worldserver.getChunkProvider().getTickingChunkAsync(chunkX, chunkZ, (chunk -> { // use ticking - as it has at least 1 neighbours loaded
|
||||
+ postChunkLoadJoin(entityplayer, finalWorldserver, playerconnection, nbttagcompound, networkmanager.getSocketAddress().toString(), joinMessage);
|
||||
+ postChunkLoadJoin(entityplayer, finalWorldserver, networkmanager, playerconnection, nbttagcompound, networkmanager.getSocketAddress().toString(),
|
||||
+ lastKnownName);
|
||||
+ }));
|
||||
+ // boost the priorities
|
||||
+ worldserver.asyncChunkTaskManager.raisePriority(chunkX, chunkZ, com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGHEST_PRIORITY);
|
||||
|
@ -62,21 +128,35 @@ index ec45c30dd3..ddecbc0a28 100644
|
|||
+ for (int cz = -1; cz <= 1; cz++) {
|
||||
+ if (cx == 0 && cz == 0) continue;
|
||||
+ // we have to directly request it otherwise the task won't be started yet to boost priority
|
||||
+ worldserver.getChunkProvider().getFullChunkAsync(chunkX + cx, chunkZ + cz, (c) -> {});
|
||||
+ worldserver.getChunkProvider().getFullChunkAsync(chunkX + cx, chunkZ + cz, null);
|
||||
+ worldserver.asyncChunkTaskManager.raisePriority(chunkX + cx, chunkZ + cz, com.destroystokyo.paper.io.PrioritizedTaskQueue.HIGHEST_PRIORITY);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ private void postChunkLoadJoin(EntityPlayer entityplayer, WorldServer worldserver, PlayerConnection playerconnection, NBTTagCompound nbttagcompound, String s1, String joinMessage) {
|
||||
+ if (!entityplayer.playerConnection.networkManager.isConnected()) {
|
||||
+
|
||||
+ EntityPlayer getActivePlayer(UUID uuid) {
|
||||
+ EntityPlayer player = this.getUUIDMap().get(uuid);
|
||||
+ return player != null ? player : pendingPlayers.get(uuid);
|
||||
+ }
|
||||
+
|
||||
+ void disconnectPendingPlayer(EntityPlayer entityplayer) {
|
||||
+ ChatMessage msg = new ChatMessage("multiplayer.disconnect.duplicate_login", new Object[0]);
|
||||
+ entityplayer.networkManager.sendPacket(new PacketPlayOutKickDisconnect(msg), (future) -> {
|
||||
+ entityplayer.networkManager.close(msg);
|
||||
+ entityplayer.networkManager = null;
|
||||
+ });
|
||||
+ }
|
||||
+
|
||||
+ private void postChunkLoadJoin(EntityPlayer entityplayer, WorldServer worldserver, NetworkManager networkmanager, PlayerConnection playerconnection, NBTTagCompound nbttagcompound, String s1, String s) {
|
||||
+ pendingPlayers.remove(entityplayer.getUniqueID(), entityplayer);
|
||||
+ if (!networkmanager.isConnected()) {
|
||||
+ return;
|
||||
+ }
|
||||
+ entityplayer.didPlayerJoinEvent = true;
|
||||
+ // Paper end
|
||||
// this.sendAll(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, new EntityPlayer[]{entityplayer})); // CraftBukkit - replaced with loop below
|
||||
ChatMessage chatmessage;
|
||||
|
||||
// Paper start - correctly register player BEFORE PlayerJoinEvent, so the entity is valid and doesn't require tick delay hacks
|
||||
if (entityplayer.getProfile().getName().equalsIgnoreCase(s)) {
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
|
||||
protected void savePlayerFile(EntityPlayer entityplayer) {
|
||||
|
@ -94,6 +174,20 @@ index ec45c30dd3..ddecbc0a28 100644
|
|||
entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
|
||||
|
||||
if (server.isMainThread()) entityplayer.playerTick();// SPIGOT-924 // Paper - don't tick during emergency shutdowns (Watchdog)
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
// this.p.remove(uuid);
|
||||
// CraftBukkit end
|
||||
}
|
||||
+ // Paper start
|
||||
+ entityplayer1 = pendingPlayers.get(uuid);
|
||||
+ if (entityplayer1 == entityplayer) {
|
||||
+ pendingPlayers.remove(uuid);
|
||||
+ }
|
||||
+ entityplayer.networkManager = null;
|
||||
+ // Paper end
|
||||
|
||||
// CraftBukkit start
|
||||
// this.sendAll(new PacketPlayOutPlayerInfo(EnumPlayerInfoAction.REMOVE_PLAYER, new EntityPlayer[]{entityplayer}));
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
cserver.getScoreboardManager().removePlayer(entityplayer.getBukkitEntity());
|
||||
// CraftBukkit end
|
||||
|
@ -103,4 +197,18 @@ index ec45c30dd3..ddecbc0a28 100644
|
|||
}
|
||||
|
||||
// CraftBukkit start - Whole method, SocketAddress to LoginListener, added hostname to signature, return EntityPlayer
|
||||
@@ -0,0 +0,0 @@ public abstract class PlayerList {
|
||||
list.add(entityplayer);
|
||||
}
|
||||
}
|
||||
+ // Paper start - check pending players too
|
||||
+ entityplayer = pendingPlayers.get(uuid);
|
||||
+ if (entityplayer != null) {
|
||||
+ this.pendingPlayers.remove(uuid);
|
||||
+ disconnectPendingPlayer(entityplayer);
|
||||
+ }
|
||||
+ // Paper end
|
||||
|
||||
Iterator iterator = list.iterator();
|
||||
|
||||
--
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] MC Utils
|
|||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/concurrent/WeakSeqLock.java b/src/main/java/com/destroystokyo/paper/util/concurrent/WeakSeqLock.java
|
||||
new file mode 100644
|
||||
index 000000000..4029dc68c
|
||||
index 0000000000..4029dc68cf
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/concurrent/WeakSeqLock.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -80,7 +80,7 @@ index 000000000..4029dc68c
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/map/QueuedChangesMapLong2Int.java b/src/main/java/com/destroystokyo/paper/util/map/QueuedChangesMapLong2Int.java
|
||||
new file mode 100644
|
||||
index 000000000..59868f37d
|
||||
index 0000000000..59868f37d1
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/map/QueuedChangesMapLong2Int.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -248,7 +248,7 @@ index 000000000..59868f37d
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/map/QueuedChangesMapLong2Object.java b/src/main/java/com/destroystokyo/paper/util/map/QueuedChangesMapLong2Object.java
|
||||
new file mode 100644
|
||||
index 000000000..07685b6bd
|
||||
index 0000000000..07685b6bd5
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/map/QueuedChangesMapLong2Object.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -426,7 +426,7 @@ index 000000000..07685b6bd
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/maplist/ChunkList.java b/src/main/java/com/destroystokyo/paper/util/maplist/ChunkList.java
|
||||
new file mode 100644
|
||||
index 000000000..4eac05778
|
||||
index 0000000000..4eac057786
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/maplist/ChunkList.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -561,7 +561,7 @@ index 000000000..4eac05778
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/maplist/EntityList.java b/src/main/java/com/destroystokyo/paper/util/maplist/EntityList.java
|
||||
new file mode 100644
|
||||
index 000000000..cdda74564
|
||||
index 0000000000..cdda74564c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/maplist/EntityList.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -695,7 +695,7 @@ index 000000000..cdda74564
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/maplist/IBlockDataList.java b/src/main/java/com/destroystokyo/paper/util/maplist/IBlockDataList.java
|
||||
new file mode 100644
|
||||
index 000000000..84ef8d9ec
|
||||
index 0000000000..84ef8d9eca
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/maplist/IBlockDataList.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -829,7 +829,7 @@ index 000000000..84ef8d9ec
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/math/IntegerUtil.java b/src/main/java/com/destroystokyo/paper/util/math/IntegerUtil.java
|
||||
new file mode 100644
|
||||
index 000000000..c3b936f54
|
||||
index 0000000000..c3b936f54b
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/math/IntegerUtil.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1065,7 +1065,7 @@ index 000000000..c3b936f54
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/misc/AreaMap.java b/src/main/java/com/destroystokyo/paper/util/misc/AreaMap.java
|
||||
new file mode 100644
|
||||
index 000000000..f625da9f0
|
||||
index 0000000000..f625da9f09
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/misc/AreaMap.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1480,7 +1480,7 @@ index 000000000..f625da9f0
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/misc/DistanceTrackingAreaMap.java b/src/main/java/com/destroystokyo/paper/util/misc/DistanceTrackingAreaMap.java
|
||||
new file mode 100644
|
||||
index 000000000..3f86c1ad4
|
||||
index 0000000000..3f86c1ad43
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/misc/DistanceTrackingAreaMap.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1661,7 +1661,7 @@ index 000000000..3f86c1ad4
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/misc/PlayerAreaMap.java b/src/main/java/com/destroystokyo/paper/util/misc/PlayerAreaMap.java
|
||||
new file mode 100644
|
||||
index 000000000..8a552a87a
|
||||
index 0000000000..8a552a87ab
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/misc/PlayerAreaMap.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1694,7 +1694,7 @@ index 000000000..8a552a87a
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/misc/PlayerDistanceTrackingAreaMap.java b/src/main/java/com/destroystokyo/paper/util/misc/PlayerDistanceTrackingAreaMap.java
|
||||
new file mode 100644
|
||||
index 000000000..0292afc52
|
||||
index 0000000000..0292afc522
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/misc/PlayerDistanceTrackingAreaMap.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1724,7 +1724,7 @@ index 000000000..0292afc52
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/misc/PooledLinkedHashSets.java b/src/main/java/com/destroystokyo/paper/util/misc/PooledLinkedHashSets.java
|
||||
new file mode 100644
|
||||
index 000000000..e51104e65
|
||||
index 0000000000..e51104e65a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/misc/PooledLinkedHashSets.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -2017,7 +2017,7 @@ index 000000000..e51104e65
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/set/OptimizedSmallEnumSet.java b/src/main/java/com/destroystokyo/paper/util/set/OptimizedSmallEnumSet.java
|
||||
new file mode 100644
|
||||
index 000000000..9df0006c1
|
||||
index 0000000000..9df0006c1a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/set/OptimizedSmallEnumSet.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -2089,7 +2089,7 @@ index 000000000..9df0006c1
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
index 4f60b931a..f427953a8 100644
|
||||
index 4f60b931a1..f427953a83 100644
|
||||
--- a/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
+++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java
|
||||
@@ -0,0 +0,0 @@ public class AxisAlignedBB {
|
||||
|
@ -2101,7 +2101,7 @@ index 4f60b931a..f427953a8 100644
|
|||
return this.a(axisalignedbb.minX, axisalignedbb.minY, axisalignedbb.minZ, axisalignedbb.maxX, axisalignedbb.maxY, axisalignedbb.maxZ);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockAccessAir.java b/src/main/java/net/minecraft/server/BlockAccessAir.java
|
||||
index eff6ebcd3..30cbfc8ea 100644
|
||||
index eff6ebcd30..30cbfc8eac 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockAccessAir.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockAccessAir.java
|
||||
@@ -0,0 +0,0 @@ public enum BlockAccessAir implements IBlockAccess {
|
||||
|
@ -2124,7 +2124,7 @@ index eff6ebcd3..30cbfc8ea 100644
|
|||
public IBlockData getType(BlockPosition blockposition) {
|
||||
return Blocks.AIR.getBlockData();
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
||||
index 1cf97cefc..2040f1834 100644
|
||||
index 1cf97cefc9..2040f18349 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java
|
||||
@@ -0,0 +0,0 @@ public abstract class BlockDataAbstract<O, S> implements IBlockDataHolder<S> {
|
||||
|
@ -2136,7 +2136,7 @@ index 1cf97cefc..2040f1834 100644
|
|||
return this.d.containsKey(iblockstate);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index c88a62f6b..5dbd3e60f 100644
|
||||
index c88a62f6b7..5dbd3e60fe 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
@@ -0,0 +0,0 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
|
||||
|
@ -2191,7 +2191,7 @@ index c88a62f6b..5dbd3e60f 100644
|
|||
this.d = i;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 55373cae0..c50fe1c24 100644
|
||||
index 55373cae07..c50fe1c245 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ import org.apache.logging.log4j.Logger;
|
||||
|
@ -2408,7 +2408,7 @@ index 55373cae0..c50fe1c24 100644
|
|||
// CraftBukkit end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkCache.java b/src/main/java/net/minecraft/server/ChunkCache.java
|
||||
index 11c4d23ba..53c15c1c0 100644
|
||||
index 11c4d23ba9..53c15c1c0b 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkCache.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkCache implements IBlockAccess, ICollisionAccess {
|
||||
|
@ -2442,7 +2442,7 @@ index 11c4d23ba..53c15c1c0 100644
|
|||
@Override
|
||||
public TileEntity getTileEntity(BlockPosition blockposition) {
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
|
||||
index 260644bf0..f2a19acd8 100644
|
||||
index 260644bf0b..f2a19acd84 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkCoordIntPair {
|
||||
|
@ -2457,7 +2457,7 @@ index 260644bf0..f2a19acd8 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 32c496fa8..940bcf6ab 100644
|
||||
index 32c496fa88..ba2af2abe2 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -2615,7 +2615,9 @@ index 32c496fa8..940bcf6ab 100644
|
|||
+
|
||||
+ try {
|
||||
+ if (onLoad != null) {
|
||||
+ onLoad.accept(either == null ? null : either.left().orElse(null)); // indicate failure to the callback.
|
||||
+ playerChunkMap.callbackExecutor.execute(() -> {
|
||||
+ onLoad.accept(either == null ? null : either.left().orElse(null)); // indicate failure to the callback.
|
||||
+ });
|
||||
+ }
|
||||
+ } catch (Throwable thr) {
|
||||
+ if (thr instanceof ThreadDeath) {
|
||||
|
@ -2688,7 +2690,7 @@ index 32c496fa8..940bcf6ab 100644
|
|||
@Override
|
||||
public IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag) {
|
||||
diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java
|
||||
index 7ca3a1d0c..2edd9b871 100644
|
||||
index 7ca3a1d0c5..2edd9b8714 100644
|
||||
--- a/src/main/java/net/minecraft/server/DataBits.java
|
||||
+++ b/src/main/java/net/minecraft/server/DataBits.java
|
||||
@@ -0,0 +0,0 @@ public class DataBits {
|
||||
|
@ -2700,7 +2702,7 @@ index 7ca3a1d0c..2edd9b871 100644
|
|||
return this.a;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/DataPalette.java b/src/main/java/net/minecraft/server/DataPalette.java
|
||||
index 75ba69886..45403fbe3 100644
|
||||
index 75ba698868..45403fbe30 100644
|
||||
--- a/src/main/java/net/minecraft/server/DataPalette.java
|
||||
+++ b/src/main/java/net/minecraft/server/DataPalette.java
|
||||
@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
|
||||
|
@ -2717,7 +2719,7 @@ index 75ba69886..45403fbe3 100644
|
|||
T a(int i);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
||||
index 774a8f543..d5f5a5187 100644
|
||||
index 774a8f5434..d5f5a51872 100644
|
||||
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
||||
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
|
||||
@@ -0,0 +0,0 @@ import java.util.stream.Collectors;
|
||||
|
@ -2759,7 +2761,7 @@ index 774a8f543..d5f5a5187 100644
|
|||
this.a();
|
||||
packetdataserializer.writeByte(this.i);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java
|
||||
index fe69161e5..b40c8d2f8 100644
|
||||
index fe69161e5b..b40c8d2f83 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCreature.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.event.entity.EntityUnleashEvent;
|
||||
|
@ -2772,7 +2774,7 @@ index fe69161e5..b40c8d2f8 100644
|
|||
super(entitytypes, world);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index bdfb17385..0b06fa2b6 100644
|
||||
index bdfb173853..0b06fa2b66 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
|
@ -2784,7 +2786,7 @@ index bdfb17385..0b06fa2b6 100644
|
|||
// CraftBukkit start - fire event
|
||||
setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 3b1bcf349..1f350e335 100644
|
||||
index 3b1bcf3495..1f350e3352 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
|
||||
|
@ -2796,7 +2798,7 @@ index 3b1bcf349..1f350e335 100644
|
|||
@Override
|
||||
public float getBukkitYaw() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java
|
||||
index 00c3b666d..e5322fbae 100644
|
||||
index 00c3b666d7..e5322fbae5 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMonster.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMonster.java
|
||||
@@ -0,0 +0,0 @@ import java.util.function.Predicate;
|
||||
|
@ -2808,7 +2810,7 @@ index 00c3b666d..e5322fbae 100644
|
|||
super(entitytypes, world);
|
||||
this.f = 5;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index ce4821092..57ce9bde6 100644
|
||||
index ce48210922..57ce9bde64 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
@ -2830,7 +2832,7 @@ index ce4821092..57ce9bde6 100644
|
|||
this.displayName = this.getName();
|
||||
this.canPickUpLoot = true;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
index 29e776ca1..4328273b1 100644
|
||||
index 29e776ca19..4328273b1f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
@@ -0,0 +0,0 @@ import com.mojang.datafixers.DataFixUtils;
|
||||
|
@ -2853,7 +2855,7 @@ index 29e776ca1..4328273b1 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
||||
index 1890c760f..7e5ece9d5 100644
|
||||
index 1890c760f9..7e5ece9d50 100644
|
||||
--- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
||||
+++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
|
||||
@@ -0,0 +0,0 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
|
||||
|
@ -2873,7 +2875,7 @@ index 1890c760f..7e5ece9d5 100644
|
|||
this.d.add(r0);
|
||||
LockSupport.unpark(this.getThread());
|
||||
diff --git a/src/main/java/net/minecraft/server/IBlockAccess.java b/src/main/java/net/minecraft/server/IBlockAccess.java
|
||||
index 3b0877080..0dff02352 100644
|
||||
index 3b08770801..0dff023529 100644
|
||||
--- a/src/main/java/net/minecraft/server/IBlockAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IBlockAccess.java
|
||||
@@ -0,0 +0,0 @@ public interface IBlockAccess {
|
||||
|
@ -2902,7 +2904,7 @@ index 3b0877080..0dff02352 100644
|
|||
return this.getType(blockposition).h();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IOWorker.java b/src/main/java/net/minecraft/server/IOWorker.java
|
||||
index c5658c077..b90baef0f 100644
|
||||
index c5658c0779..b90baef0f5 100644
|
||||
--- a/src/main/java/net/minecraft/server/IOWorker.java
|
||||
+++ b/src/main/java/net/minecraft/server/IOWorker.java
|
||||
@@ -0,0 +0,0 @@ public class IOWorker implements AutoCloseable {
|
||||
|
@ -2915,7 +2917,7 @@ index c5658c077..b90baef0f 100644
|
|||
private boolean g = true;
|
||||
private CompletableFuture<Void> h = new CompletableFuture();
|
||||
diff --git a/src/main/java/net/minecraft/server/IWorldReader.java b/src/main/java/net/minecraft/server/IWorldReader.java
|
||||
index ba315131e..cbe2aa4c0 100644
|
||||
index ba315131e1..cbe2aa4c0a 100644
|
||||
--- a/src/main/java/net/minecraft/server/IWorldReader.java
|
||||
+++ b/src/main/java/net/minecraft/server/IWorldReader.java
|
||||
@@ -0,0 +0,0 @@ import javax.annotation.Nullable;
|
||||
|
@ -2927,7 +2929,7 @@ index ba315131e..cbe2aa4c0 100644
|
|||
IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index 75308712d..aa7501d36 100644
|
||||
index 75308712d0..aa7501d366 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.event.world.StructureGrowEvent;
|
||||
|
@ -2987,7 +2989,7 @@ index 75308712d..aa7501d36 100644
|
|||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
new file mode 100644
|
||||
index 000000000..9fb9a96cc
|
||||
index 0000000000..9fb9a96ccb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -3406,7 +3408,7 @@ index 000000000..9fb9a96cc
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||
index e85b24a32..75604dbc6 100644
|
||||
index e85b24a327..75604dbc69 100644
|
||||
--- a/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||
+++ b/src/main/java/net/minecraft/server/NBTTagCompound.java
|
||||
@@ -0,0 +0,0 @@ public class NBTTagCompound implements NBTBase {
|
||||
|
@ -3435,7 +3437,7 @@ index e85b24a32..75604dbc6 100644
|
|||
return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least"));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
index 6700582e3..3ccf16636 100644
|
||||
index 6700582e36..3ccf166366 100644
|
||||
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
@@ -0,0 +0,0 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
|
@ -3467,7 +3469,7 @@ index 6700582e3..3ccf16636 100644
|
|||
public QueuedPacket(Packet<?> packet, @Nullable GenericFutureListener<? extends Future<? super Void>> genericfuturelistener) {
|
||||
this.a = packet;
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java
|
||||
index 81b6f4581..d9574a9ac 100644
|
||||
index 81b6f4581f..d9574a9ace 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketDataSerializer.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java
|
||||
@@ -0,0 +0,0 @@ public class PacketDataSerializer extends ByteBuf {
|
||||
|
@ -3479,7 +3481,7 @@ index 81b6f4581..d9574a9ac 100644
|
|||
for (int j = 1; j < 5; ++j) {
|
||||
if ((i & -1 << j * 7) == 0) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java
|
||||
index 90223deae..63c4dbd32 100644
|
||||
index 90223deae3..63c4dbd327 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketEncoder.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketEncoder.java
|
||||
@@ -0,0 +0,0 @@ public class PacketEncoder extends MessageToByteEncoder<Packet<?>> {
|
||||
|
@ -3491,7 +3493,7 @@ index 90223deae..63c4dbd32 100644
|
|||
throw new SkipEncodeException(throwable);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
||||
index 677e3e5f6..3a1d0deb0 100644
|
||||
index 677e3e5f68..3a1d0deb0d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
|
||||
|
@ -3512,7 +3514,7 @@ index 677e3e5f6..3a1d0deb0 100644
|
|||
int j = 0;
|
||||
ChunkSection[] achunksection = chunk.getSections();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index 5c5bf010d..6e9f402fb 100644
|
||||
index 5c5bf010d0..6e9f402fb0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunk {
|
||||
|
@ -3702,7 +3704,7 @@ index 5c5bf010d..6e9f402fb 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 7ad30548e..93d838ec2 100644
|
||||
index 7ad30548e2..93d838ec2d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
@ -3751,7 +3753,7 @@ index 7ad30548e..93d838ec2 100644
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 0c496ee0a..6a681d694 100644
|
||||
index 0c496ee0a0..6a681d694e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
@ -3768,7 +3770,7 @@ index 0c496ee0a..6a681d694 100644
|
|||
private volatile int chatThrottle;
|
||||
private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle");
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerInventory.java b/src/main/java/net/minecraft/server/PlayerInventory.java
|
||||
index 08768a3c8..d103cfaac 100644
|
||||
index 08768a3c87..d103cfaace 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerInventory.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerInventory.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerInventory implements IInventory, INamableTileEntity {
|
||||
|
@ -3781,7 +3783,7 @@ index 08768a3c8..d103cfaac 100644
|
|||
public final EntityHuman player;
|
||||
private ItemStack carried;
|
||||
diff --git a/src/main/java/net/minecraft/server/PotionUtil.java b/src/main/java/net/minecraft/server/PotionUtil.java
|
||||
index b3824898d..bf4172be5 100644
|
||||
index b3824898da..bf4172be52 100644
|
||||
--- a/src/main/java/net/minecraft/server/PotionUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/PotionUtil.java
|
||||
@@ -0,0 +0,0 @@ public class PotionUtil {
|
||||
|
@ -3793,7 +3795,7 @@ index b3824898d..bf4172be5 100644
|
|||
MinecraftKey minecraftkey = IRegistry.POTION.getKey(potionregistry);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java
|
||||
index 6e65306a2..39339fa27 100644
|
||||
index 6e65306a27..39339fa275 100644
|
||||
--- a/src/main/java/net/minecraft/server/ProtoChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/ProtoChunk.java
|
||||
@@ -0,0 +0,0 @@ public class ProtoChunk implements IChunkAccess {
|
||||
|
@ -3816,7 +3818,7 @@ index 6e65306a2..39339fa27 100644
|
|||
public IBlockData getType(BlockPosition blockposition) {
|
||||
int i = blockposition.getY();
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
index 7b6e0e86b..187c4e0f5 100644
|
||||
index 7b6e0e86b0..187c4e0f58 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
@@ -0,0 +0,0 @@ public class RegionFile implements AutoCloseable {
|
||||
|
@ -3828,7 +3830,7 @@ index 7b6e0e86b..187c4e0f5 100644
|
|||
public synchronized DataInputStream a(ChunkCoordIntPair chunkcoordintpair) throws IOException {
|
||||
int i = this.getOffset(chunkcoordintpair);
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java
|
||||
index 8c123f265..9d0e8c2d4 100644
|
||||
index 8c123f265e..9d0e8c2d43 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java
|
||||
@@ -0,0 +0,0 @@ public class RegionLimitedWorldAccess implements GeneratorAccess {
|
||||
|
@ -3859,7 +3861,7 @@ index 8c123f265..9d0e8c2d4 100644
|
|||
public IBlockData getType(BlockPosition blockposition) {
|
||||
return this.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4).getType(blockposition);
|
||||
diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java
|
||||
index 4efcb8b59..60948afa4 100644
|
||||
index 4efcb8b595..60948afa4e 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegistryBlockID.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegistryBlockID.java
|
||||
@@ -0,0 +0,0 @@ public class RegistryBlockID<T> implements Registry<T> {
|
||||
|
@ -3871,7 +3873,7 @@ index 4efcb8b59..60948afa4 100644
|
|||
return this.b.size();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java
|
||||
index 7b92ecfff..7e224ebef 100644
|
||||
index 7b92ecfff9..7e224ebeff 100644
|
||||
--- a/src/main/java/net/minecraft/server/SystemUtils.java
|
||||
+++ b/src/main/java/net/minecraft/server/SystemUtils.java
|
||||
@@ -0,0 +0,0 @@ public class SystemUtils {
|
||||
|
@ -3884,7 +3886,7 @@ index 7b92ecfff..7e224ebef 100644
|
|||
|
||||
public static long getTimeMillis() {
|
||||
diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java
|
||||
index f82db93f8..75ab9f185 100644
|
||||
index f82db93f88..75ab9f185b 100644
|
||||
--- a/src/main/java/net/minecraft/server/TicketType.java
|
||||
+++ b/src/main/java/net/minecraft/server/TicketType.java
|
||||
@@ -0,0 +0,0 @@ public class TicketType<T> {
|
||||
|
@ -3896,7 +3898,7 @@ index f82db93f8..75ab9f185 100644
|
|||
public static <T> TicketType<T> a(String s, Comparator<T> comparator) {
|
||||
return new TicketType<>(s, comparator, 0L);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 2e1eabba1..2a4fa455f 100644
|
||||
index 2e1eabba14..2a4fa455ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot
|
||||
|
@ -3960,7 +3962,7 @@ index 2e1eabba1..2a4fa455f 100644
|
|||
|
||||
return this.setTypeAndData(blockposition, fluid.getBlockData(), 3 | (flag ? 64 : 0));
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index d5014abc9..8a5ac6f69 100644
|
||||
index d5014abc9d..8a5ac6f69b 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
|
@ -3980,7 +3982,7 @@ index d5014abc9..8a5ac6f69 100644
|
|||
|
||||
this.getScoreboard().a(entity);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
index e181df6f4..4a9132c70 100644
|
||||
index e181df6f4d..4a9132c701 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
|
||||
@@ -0,0 +0,0 @@ public final class CraftItemStack extends ItemStack {
|
||||
|
@ -3992,7 +3994,7 @@ index e181df6f4..4a9132c70 100644
|
|||
/**
|
||||
* Mirror
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
||||
index d8358a0f0..d0b813008 100644
|
||||
index d8358a0f03..d0b813008c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
||||
@@ -0,0 +0,0 @@ public class DummyGeneratorAccess implements GeneratorAccess {
|
||||
|
@ -4019,7 +4021,7 @@ index d8358a0f0..d0b813008 100644
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java
|
||||
index 1aec70a1f..f72c13bed 100644
|
||||
index 1aec70a1f1..f72c13beda 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java
|
||||
@@ -0,0 +0,0 @@ import java.util.RandomAccess;
|
||||
|
|
|
@ -43,7 +43,7 @@ sets the excessive tick delay to the specified ticks (defaults to
|
|||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java b/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java
|
||||
new file mode 100644
|
||||
index 00000000..ce653f6b
|
||||
index 0000000000..ce653f6b4b
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -671,7 +671,7 @@ index 00000000..ce653f6b
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/server/ticklist/TickListServerInterval.java b/src/main/java/com/destroystokyo/paper/server/ticklist/TickListServerInterval.java
|
||||
new file mode 100644
|
||||
index 00000000..13cf1a55
|
||||
index 0000000000..13cf1a55a9
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/server/ticklist/TickListServerInterval.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -718,7 +718,7 @@ index 00000000..13cf1a55
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/set/LinkedSortedSet.java b/src/main/java/com/destroystokyo/paper/util/set/LinkedSortedSet.java
|
||||
new file mode 100644
|
||||
index 00000000..118988c3
|
||||
index 0000000000..118988c39e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/set/LinkedSortedSet.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -865,7 +865,7 @@ index 00000000..118988c3
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index e650a2e4..2d07d350 100644
|
||||
index e650a2e48d..2d07d350d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
@@ -0,0 +0,0 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
|
||||
|
@ -877,7 +877,7 @@ index e650a2e4..2d07d350 100644
|
|||
return this.b(baseblockposition.getX(), baseblockposition.getY(), baseblockposition.getZ());
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 12fa1013..5c45756c 100644
|
||||
index 57e797cd86..2e63f64783 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -895,7 +895,7 @@ index 12fa1013..5c45756c 100644
|
|||
public ChunkProviderServer(WorldServer worldserver, File file, DataFixer datafixer, DefinedStructureManager definedstructuremanager, Executor executor, ChunkGenerator<?> chunkgenerator, int i, WorldLoadListener worldloadlistener, Supplier<WorldPersistentData> supplier) {
|
||||
this.world = worldserver;
|
||||
diff --git a/src/main/java/net/minecraft/server/NextTickListEntry.java b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
||||
index 33cfeabd..2287e47d 100644
|
||||
index 33cfeabdee..2287e47d1b 100644
|
||||
--- a/src/main/java/net/minecraft/server/NextTickListEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/NextTickListEntry.java
|
||||
@@ -0,0 +0,0 @@ import java.util.Comparator;
|
||||
|
@ -966,7 +966,7 @@ index 33cfeabd..2287e47d 100644
|
|||
public String toString() {
|
||||
return this.e + ": " + this.a + ", " + this.b + ", " + this.c + ", " + this.f;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index 74e6b8b9..04b97cec 100644
|
||||
index 74e6b8b973..04b97cec29 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunk {
|
||||
|
@ -981,7 +981,7 @@ index 74e6b8b9..04b97cec 100644
|
|||
}
|
||||
});
|
||||
diff --git a/src/main/java/net/minecraft/server/StructureBoundingBox.java b/src/main/java/net/minecraft/server/StructureBoundingBox.java
|
||||
index dbb565e7..185658e2 100644
|
||||
index dbb565e74d..185658e230 100644
|
||||
--- a/src/main/java/net/minecraft/server/StructureBoundingBox.java
|
||||
+++ b/src/main/java/net/minecraft/server/StructureBoundingBox.java
|
||||
@@ -0,0 +0,0 @@ import com.google.common.base.MoreObjects;
|
||||
|
@ -1020,7 +1020,7 @@ index dbb565e7..185658e2 100644
|
|||
return baseblockposition.getX() >= this.a && baseblockposition.getX() <= this.d && baseblockposition.getZ() >= this.c && baseblockposition.getZ() <= this.f && baseblockposition.getY() >= this.b && baseblockposition.getY() <= this.e;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java
|
||||
index f533860b..3f1aa5ce 100644
|
||||
index f533860bbe..3f1aa5ced6 100644
|
||||
--- a/src/main/java/net/minecraft/server/TickListServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/TickListServer.java
|
||||
@@ -0,0 +0,0 @@ public class TickListServer<T> implements TickList<T> {
|
||||
|
@ -1143,7 +1143,7 @@ index f533860b..3f1aa5ce 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index ed41c814..9d35d650 100644
|
||||
index 95860454da..b74f701b9e 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
|
|
|
@ -7,7 +7,7 @@ bypass the need to get a player chunk, then get the either,
|
|||
then unwrap it...
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index d0602743..12fa1013 100644
|
||||
index 29197d6c8d..57e797cd86 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -65,7 +65,7 @@ index d0602743..12fa1013 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 79d8c7ba..28b6c9a0 100644
|
||||
index 2d51ca9224..5036348abf 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, AutoCloseable {
|
||||
|
|
|
@ -9,7 +9,7 @@ so inline where possible, and avoid the abstraction of the
|
|||
Either class.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 8d4b227e..59568224 100644
|
||||
index bcf59beed6..15bd3cacb3 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
|
|
@ -13,7 +13,7 @@ This should result in siginificant memory use reduction and improved GC behavior
|
|||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/map/Long2ObjectLinkedOpenHashMapFastCopy.java b/src/main/java/com/destroystokyo/paper/util/map/Long2ObjectLinkedOpenHashMapFastCopy.java
|
||||
new file mode 100644
|
||||
index 00000000..e0ad725b
|
||||
index 0000000000..e0ad725b2e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/map/Long2ObjectLinkedOpenHashMapFastCopy.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -50,7 +50,7 @@ index 00000000..e0ad725b
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 5c45756c..1c0a7f40 100644
|
||||
index 2e63f64783..3d79e756d9 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -63,7 +63,7 @@ index 5c45756c..1c0a7f40 100644
|
|||
|
||||
if (optional.isPresent()) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
index d9941b38..71ab65e0 100644
|
||||
index d9941b38ca..71ab65e00f 100644
|
||||
--- a/src/main/java/net/minecraft/server/MCUtil.java
|
||||
+++ b/src/main/java/net/minecraft/server/MCUtil.java
|
||||
@@ -0,0 +0,0 @@ public final class MCUtil {
|
||||
|
@ -76,7 +76,7 @@ index d9941b38..71ab65e0 100644
|
|||
List<PlayerChunk> allChunks = new ArrayList<>(visibleChunks.values());
|
||||
List<EntityPlayer> players = world.players;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index e1e4ea79..e61ddeb1 100644
|
||||
index e1e4ea793a..e61ddeb1ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
@ -213,7 +213,7 @@ index e1e4ea79..e61ddeb1 100644
|
|||
while (objectbidirectionaliterator.hasNext()) {
|
||||
Entry<PlayerChunk> entry = (Entry) objectbidirectionaliterator.next();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 051506fc..630d6470 100644
|
||||
index 051506fce8..630d6470a4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.server.GameRules;
|
||||
|
|
|
@ -9,7 +9,7 @@ from triggering monster spawns on a server.
|
|||
Also a highly more effecient way to blanket block spawns in a world
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 554013a9..05534126 100644
|
||||
index 3d4d0d57c5..1d5245ab5b 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -29,7 +29,7 @@ index 554013a9..05534126 100644
|
|||
Optional<Chunk> optional = ((Either) playerchunk.b().getNow(PlayerChunk.UNLOADED_CHUNK)).left();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 95e09e35..d8721ab2 100644
|
||||
index 95e09e3519..d8721ab2f8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -48,7 +48,7 @@ index 95e09e35..d8721ab2 100644
|
|||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<EntityPlayer> cachedSingleHashSet; // Paper
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 936fc4f6..fcf229ad 100644
|
||||
index 936fc4f6b9..fcf229ad5d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
|
|
@ -11,7 +11,7 @@ it must be enabled by setting the startup flag -Dpaper.debug-sync-loads=true
|
|||
To get a debug log for sync loads, the command is /paper syncloadinfo
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
||||
index af810987..dfe92780 100644
|
||||
index af81098784..dfe92780ad 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -91,7 +91,7 @@ index af810987..dfe92780 100644
|
|||
if (args.length < 2 || args[1].equals("*")) {
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/io/SyncLoadFinder.java b/src/main/java/com/destroystokyo/paper/io/SyncLoadFinder.java
|
||||
new file mode 100644
|
||||
index 00000000..59aec103
|
||||
index 0000000000..59aec10329
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/io/SyncLoadFinder.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -268,7 +268,7 @@ index 00000000..59aec103
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 68bac9a3..dd4bb664 100644
|
||||
index 5b10562369..db0925f993 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -280,7 +280,7 @@ index 68bac9a3..dd4bb664 100644
|
|||
this.serverThreadQueue.awaitTasks(completablefuture::isDone);
|
||||
com.destroystokyo.paper.io.chunk.ChunkTaskManager.popChunkWait(); // Paper - async chunk debug
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 90f60dfd..48c75af8 100644
|
||||
index 311685180f..568e04faa3 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, AutoCloseable {
|
||||
|
@ -311,7 +311,7 @@ index 90f60dfd..48c75af8 100644
|
|||
if (chunk != null) {
|
||||
chunk.a(oclass, axisalignedbb, list, predicate);
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index b967f6a1..0d25529b 100644
|
||||
index 3db0ad0a46..5f2c425129 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
|
|
|
@ -33,7 +33,7 @@ In a view distance of 15, chunk loading performance was visually faster on the c
|
|||
Flying at high speed in spectator mode was able to keep up with chunk loading (as long as they are already generated)
|
||||
|
||||
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
index 69e26a82..434833d5 100644
|
||||
index 69e26a8267..434833d50e 100644
|
||||
--- a/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
@@ -0,0 +0,0 @@ import java.util.Map;
|
||||
|
@ -45,7 +45,7 @@ index 69e26a82..434833d5 100644
|
|||
public static final Timing commandFunctionsTimer = Timings.ofSafe("Command Functions");
|
||||
public static final Timing connectionTimer = Timings.ofSafe("Connection Handler");
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 1c0a7f40..4af75a95 100644
|
||||
index 3d79e756d9..5fea6e56d5 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -121,7 +121,7 @@ index 1c0a7f40..4af75a95 100644
|
|||
protected boolean executeNext() {
|
||||
// CraftBukkit start - process pending Chunk loadCallback() and unloadCallback() after each run task
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index e35bacac..2f424e6e 100644
|
||||
index e35bacac71..2f424e6e8b 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
@ -163,7 +163,7 @@ index e35bacac..2f424e6e 100644
|
|||
protected TickTask postToMainThread(Runnable runnable) {
|
||||
return new TickTask(this.ticks, runnable);
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index e61ddeb1..92c9ab43 100644
|
||||
index e61ddeb1ff..92c9ab43d7 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
@ -176,7 +176,7 @@ index e61ddeb1..92c9ab43 100644
|
|||
});
|
||||
};
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 969c6aad..4b9b79a9 100644
|
||||
index 33de08a8ac..4a63536dee 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
|
|
|
@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2
|
|||
|
||||
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
new file mode 100644
|
||||
index 000000000..69e26a826
|
||||
index 0000000000..69e26a8267
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -153,7 +153,7 @@ index 000000000..69e26a826
|
|||
+}
|
||||
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
|
||||
new file mode 100644
|
||||
index 000000000..27ce4a828
|
||||
index 0000000000..27ce4a828e
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -284,7 +284,7 @@ index 000000000..27ce4a828
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index b6d470e59..f402a29b0 100644
|
||||
index b6d470e594..f402a29b09 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -0,0 +0,0 @@ import java.util.concurrent.TimeUnit;
|
||||
|
@ -331,7 +331,7 @@ index b6d470e59..f402a29b0 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index cd72a9c84..5de881371 100644
|
||||
index cd72a9c845..5de881371a 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -0,0 +0,0 @@ public class Block implements IMaterial {
|
||||
|
@ -351,7 +351,7 @@ index cd72a9c84..5de881371 100644
|
|||
private final float frictionFactor;
|
||||
private final float f;
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 2b6fe2e01..87c5e09a5 100644
|
||||
index 2b6fe2e01d..87c5e09a59 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
@ -371,7 +371,7 @@ index 2b6fe2e01..87c5e09a5 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 940bcf6ab..5bc7e86ef 100644
|
||||
index ba2af2abe2..a653ce4ce5 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -468,7 +468,7 @@ index 940bcf6ab..5bc7e86ef 100644
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index e16d30f2c..4af5a230b 100644
|
||||
index e16d30f2ca..4af5a230ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -506,7 +506,7 @@ index e16d30f2c..4af5a230b 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java
|
||||
index 8d7a6d240..707bd2600 100644
|
||||
index 8d7a6d2403..707bd2600d 100644
|
||||
--- a/src/main/java/net/minecraft/server/CustomFunction.java
|
||||
+++ b/src/main/java/net/minecraft/server/CustomFunction.java
|
||||
@@ -0,0 +0,0 @@ public class CustomFunction {
|
||||
|
@ -533,7 +533,7 @@ index 8d7a6d240..707bd2600 100644
|
|||
return this.b;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java
|
||||
index ba40d5fbb..ee42e1dfa 100644
|
||||
index ba40d5fbb5..ee42e1dfa4 100644
|
||||
--- a/src/main/java/net/minecraft/server/CustomFunctionData.java
|
||||
+++ b/src/main/java/net/minecraft/server/CustomFunctionData.java
|
||||
@@ -0,0 +0,0 @@ public class CustomFunctionData implements IResourcePackListener {
|
||||
|
@ -546,7 +546,7 @@ index ba40d5fbb..ee42e1dfa 100644
|
|||
int k = 0;
|
||||
CustomFunction.c[] acustomfunction_c = customfunction.b();
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 9eed98e37..d6646d7e6 100644
|
||||
index 9eed98e379..d6646d7e61 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -0,0 +0,0 @@ import java.util.List;
|
||||
|
@ -634,7 +634,7 @@ index 9eed98e37..d6646d7e6 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 2890e8121..e9d0a4eb9 100644
|
||||
index 2890e8121d..e9d0a4eb90 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.command.CommandSender;
|
||||
|
@ -673,7 +673,7 @@ index 2890e8121..e9d0a4eb9 100644
|
|||
|
||||
protected BlockPosition ag() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 1f350e335..35e3f1c78 100644
|
||||
index 1f350e3352..35e3f1c78d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
|
@ -749,7 +749,7 @@ index 1f350e335..35e3f1c78 100644
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index b4a0bd795..456d03be2 100644
|
||||
index b4a0bd7951..456d03be22 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.CraftServer;
|
||||
|
@ -938,7 +938,7 @@ index b4a0bd795..456d03be2 100644
|
|||
this.methodProfiler.exit();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 93d838ec2..2a6955f85 100644
|
||||
index 93d838ec2d..2a6955f855 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1021,7 +1021,7 @@ index 93d838ec2..2a6955f85 100644
|
|||
|
||||
protected void broadcast(Entity entity, Packet<?> packet) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 6a681d694..914366afc 100644
|
||||
index 6a681d694e..914366afcd 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.inventory.CraftingInventory;
|
||||
|
@ -1076,7 +1076,7 @@ index 6a681d694..914366afc 100644
|
|||
// this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s);
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
index 2c671629a..eb3269e0e 100644
|
||||
index 2c671629a4..eb3269e0ea 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
@@ -0,0 +0,0 @@ package net.minecraft.server;
|
||||
|
@ -1103,7 +1103,7 @@ index 2c671629a..eb3269e0e 100644
|
|||
PlayerConnectionUtils.LOGGER.debug("Ignoring packet due to disconnection: " + packet);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 94ed83baf..f28be11ee 100644
|
||||
index 94ed83baf0..f28be11eee 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1127,7 +1127,7 @@ index 94ed83baf..f28be11ee 100644
|
|||
|
||||
public WhiteList getWhitelist() {
|
||||
diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java
|
||||
index 00bbd34b6..f533860bb 100644
|
||||
index 00bbd34b6a..f533860bbe 100644
|
||||
--- a/src/main/java/net/minecraft/server/TickListServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/TickListServer.java
|
||||
@@ -0,0 +0,0 @@ public class TickListServer<T> implements TickList<T> {
|
||||
|
@ -1177,7 +1177,7 @@ index 00bbd34b6..f533860bb 100644
|
|||
this.g.clear();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
index 820180ab3..fa6400dcc 100644
|
||||
index 820180ab3f..fa6400dccd 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntity.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer;
|
||||
|
@ -1196,7 +1196,7 @@ index 820180ab3..fa6400dcc 100644
|
|||
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
|
||||
public CraftPersistentDataContainer persistentDataContainer;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 2a4fa455f..f572c5f22 100644
|
||||
index 2a4fa455ff..f572c5f227 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1252,7 +1252,7 @@ index 2a4fa455f..f572c5f22 100644
|
|||
CrashReport crashreport = CrashReport.a(throwable, "Ticking entity");
|
||||
CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked");
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 8a5ac6f69..6810d49b1 100644
|
||||
index 8a5ac6f69b..6810d49b17 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1397,7 +1397,7 @@ index 8a5ac6f69..6810d49b1 100644
|
|||
|
||||
// CraftBukkit start - moved from MinecraftServer.saveChunks
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 8d1f066f0..f3eacb181 100644
|
||||
index 8d1f066f00..f3eacb1819 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -0,0 +0,0 @@ public final class CraftServer implements Server {
|
||||
|
@ -1434,7 +1434,7 @@ index 8d1f066f0..f3eacb181 100644
|
|||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
|
||||
deleted file mode 100644
|
||||
index 2bd22a369..000000000
|
||||
index 2bd22a3698..0000000000
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
|
||||
+++ /dev/null
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1601,7 +1601,7 @@ index 2bd22a369..000000000
|
|||
- }
|
||||
-}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 4fed5dc92..d7a4e50f2 100644
|
||||
index 4fed5dc92f..d7a4e50f23 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -1620,7 +1620,7 @@ index 4fed5dc92..d7a4e50f2 100644
|
|||
|
||||
public Player.Spigot spigot()
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||
index b90979c7b..8823f94f7 100644
|
||||
index b90979c7ba..8823f94f7b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1686,7 +1686,7 @@ index b90979c7b..8823f94f7 100644
|
|||
|
||||
private boolean isReady(final int currentTick) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
|
||||
index 3f55381c1..0d9a46680 100644
|
||||
index 3f55381c15..0d9a466809 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -1771,7 +1771,7 @@ index 3f55381c1..0d9a46680 100644
|
|||
- // Spigot end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
|
||||
index e52ef47b7..3d90b3426 100644
|
||||
index e52ef47b78..3d90b34268 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
|
||||
@@ -0,0 +0,0 @@ import org.bukkit.util.CachedServerIcon;
|
||||
|
@ -1783,7 +1783,7 @@ index e52ef47b7..3d90b3426 100644
|
|||
this.value = value;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index 68728b4d8..02f330053 100644
|
||||
index 68728b4d86..02f3300533 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -0,0 +0,0 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
|
@ -1801,7 +1801,7 @@ index 68728b4d8..02f330053 100644
|
|||
* This helper class represents the different NBT Tags.
|
||||
* <p>
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index ca7789b5e..442383969 100644
|
||||
index ca7789b5e0..4423839697 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -0,0 +0,0 @@ import net.minecraft.server.EntityWither;
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] implement optional per player mob spawns
|
|||
|
||||
|
||||
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
|
||||
index 30bafb21..c9a3ba4b 100644
|
||||
index 30bafb214b..c9a3ba4bfb 100644
|
||||
--- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java
|
||||
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
|
||||
@@ -0,0 +0,0 @@ public class WorldTimingsHandler {
|
||||
|
@ -25,7 +25,7 @@ index 30bafb21..c9a3ba4b 100644
|
|||
poiUnload = Timings.ofSafe(name + "Chunk unload - POI");
|
||||
chunkUnload = Timings.ofSafe(name + "Chunk unload - Chunk");
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 9d9260ad..fd3dbea6 100644
|
||||
index 9d9260ad07..fd3dbea628 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||
|
@ -40,7 +40,7 @@ index 9d9260ad..fd3dbea6 100644
|
|||
}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java b/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java
|
||||
new file mode 100644
|
||||
index 00000000..9ebd7ecb
|
||||
index 0000000000..9ebd7ecb7a
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/PlayerMobDistanceMap.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -299,7 +299,7 @@ index 00000000..9ebd7ecb
|
|||
+}
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java b/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java
|
||||
new file mode 100644
|
||||
index 00000000..4f13d3ff
|
||||
index 0000000000..4f13d3ff83
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/com/destroystokyo/paper/util/PooledHashSets.java
|
||||
@@ -0,0 +0,0 @@
|
||||
|
@ -545,7 +545,7 @@ index 00000000..4f13d3ff
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index dd4bb664..d0602743 100644
|
||||
index db0925f993..29197d6c8d 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -599,7 +599,7 @@ index dd4bb664..d0602743 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 82a80e34..3d0316e9 100644
|
||||
index 82a80e34a5..3d0316e93c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -0,0 +0,0 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
@ -631,7 +631,7 @@ index 82a80e34..3d0316e9 100644
|
|||
return this.cs;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
index 8427ee2e..0f04bcc8 100644
|
||||
index 8427ee2ee8..0f04bcc8b7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
@@ -0,0 +0,0 @@ public class EntityTypes<T extends Entity> {
|
||||
|
@ -643,7 +643,7 @@ index 8427ee2e..0f04bcc8 100644
|
|||
return this.bb;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 7e5fa016..f564502f 100644
|
||||
index 7e5fa016c7..f564502f81 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
@ -682,7 +682,7 @@ index 7e5fa016..f564502f 100644
|
|||
|
||||
private static double a(ChunkCoordIntPair chunkcoordintpair, Entity entity) {
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index fdac5bb3..58bbf2f9 100644
|
||||
index fdac5bb3a2..58bbf2f9d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -0,0 +0,0 @@ package net.minecraft.server;
|
||||
|
@ -755,7 +755,7 @@ index fdac5bb3..58bbf2f9 100644
|
|||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 149600ae..b164ee89 100644
|
||||
index f9aed78188..fd8ca2a510 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] incremental chunk saving
|
|||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 071e5e7f..48676152 100644
|
||||
index 071e5e7f72..4867615215 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||
|
@ -29,7 +29,7 @@ index 071e5e7f..48676152 100644
|
|||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
|
||||
index 23cc0c36..d6637f3d 100644
|
||||
index 23cc0c360f..d6637f3ddf 100644
|
||||
--- a/src/main/java/net/minecraft/server/Chunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/Chunk.java
|
||||
@@ -0,0 +0,0 @@ public class Chunk implements IChunkAccess {
|
||||
|
@ -42,7 +42,7 @@ index 23cc0c36..d6637f3d 100644
|
|||
private long inhabitedTime;
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index c7e86488..d41316c4 100644
|
||||
index b7a2cd7342..0dd873a5dd 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -62,7 +62,7 @@ index c7e86488..d41316c4 100644
|
|||
public void close() throws IOException {
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index e9841ef5..7ca4a7cc 100644
|
||||
index e9841ef58d..7ca4a7cca8 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -0,0 +0,0 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
@ -108,7 +108,7 @@ index e9841ef5..7ca4a7cc 100644
|
|||
this.methodProfiler.enter("snooper");
|
||||
if (((DedicatedServer) this).getDedicatedServerProperties().snooperEnabled && !this.snooper.d() && this.ticks > 100) { // Spigot
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
index a640cb38..3d255b19 100644
|
||||
index a640cb3845..3d255b1964 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunk {
|
||||
|
@ -175,7 +175,7 @@ index a640cb38..3d255b19 100644
|
|||
public void a(ProtoChunkExtension protochunkextension) {
|
||||
for (int i = 0; i < this.statusFutures.length(); ++i) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index cdab5ab6..18c71609 100644
|
||||
index cdab5ab6be..18c71609c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
@ -261,7 +261,7 @@ index cdab5ab6..18c71609 100644
|
|||
return PlayerChunk.getChunkState(playerchunk.getTicketLevel());
|
||||
});
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 389c9d03..62c22750 100644
|
||||
index 389c9d03a1..62c2275098 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -0,0 +0,0 @@ public class WorldServer extends World {
|
||||
|
|
Loading…
Reference in a new issue