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
f275e9cb9c
commit
cb15cfa4f8
16 changed files with 339 additions and 229 deletions
|
@ -1,4 +1,4 @@
|
|||
From 14de9d711e280f43a4c18b4f295eef6407d99f80 Mon Sep 17 00:00:00 2001
|
||||
From a3cb7f33acca0c854544f6d17d0e9407b1cd418e Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Mon, 28 Mar 2016 20:55:47 -0400
|
||||
Subject: [PATCH] MC Utils
|
||||
|
@ -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 +1,68 @@
|
||||
|
@ -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 +1,162 @@
|
||||
|
@ -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 +1,172 @@
|
||||
|
@ -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 +1,129 @@
|
||||
|
@ -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 +1,128 @@
|
||||
|
@ -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 +1,128 @@
|
||||
|
@ -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 +1,230 @@
|
||||
|
@ -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 +1,409 @@
|
||||
|
@ -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 +1,175 @@
|
||||
|
@ -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 +1,27 @@
|
||||
|
@ -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 +1,24 @@
|
||||
|
@ -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 +1,287 @@
|
||||
|
@ -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 +1,67 @@
|
||||
|
@ -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
|
||||
@@ -186,6 +186,7 @@ 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
|
||||
@@ -14,6 +14,18 @@ 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
|
||||
@@ -78,6 +78,7 @@ 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
|
||||
@@ -120,6 +120,7 @@ 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
|
||||
@@ -25,7 +25,7 @@ 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
|
||||
@@ -8,7 +8,7 @@ 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
|
||||
@@ -31,7 +31,9 @@ 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
|
||||
@@ -23,7 +23,7 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
|
@ -2469,7 +2469,7 @@ index 32c496fa8..940bcf6ab 100644
|
|||
private final LightEngineThreaded lightEngine;
|
||||
private final ChunkProviderServer.a serverThreadQueue;
|
||||
public final PlayerChunkMap playerChunkMap;
|
||||
@@ -35,6 +35,167 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -35,6 +35,169 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
private final ChunkStatus[] cacheStatus = new ChunkStatus[4];
|
||||
private final IChunkAccess[] cacheChunk = new IChunkAccess[4];
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -2637,7 +2639,7 @@ index 32c496fa8..940bcf6ab 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;
|
||||
this.serverThreadQueue = new ChunkProviderServer.a(worldserver);
|
||||
@@ -77,6 +238,49 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
@@ -77,6 +240,49 @@ public class ChunkProviderServer extends IChunkProvider {
|
||||
this.cacheChunk[0] = ichunkaccess;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
@@ -83,6 +83,7 @@ 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
|
||||
@@ -4,10 +4,12 @@ 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
|
||||
@@ -11,7 +11,7 @@ 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
|
||||
@@ -6,6 +6,8 @@ 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
|
||||
@@ -146,6 +146,7 @@ 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
|
||||
@@ -129,6 +129,7 @@ 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
|
||||
@@ -5,6 +5,7 @@ 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
|
||||
@@ -87,6 +87,8 @@ 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
|
||||
@@ -4,6 +4,7 @@ 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
|
||||
@@ -68,6 +68,15 @@ 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
|
||||
@@ -9,10 +9,24 @@ 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
|
||||
@@ -22,7 +22,7 @@ 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
|
||||
@@ -4,6 +4,7 @@ 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
|
||||
@@ -37,10 +37,19 @@ 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 +1,414 @@
|
||||
|
@ -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
|
||||
@@ -60,7 +60,7 @@ 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
|
||||
@@ -159,6 +159,7 @@ 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
|
||||
@@ -33,6 +33,7 @@ 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
|
||||
@@ -42,6 +42,7 @@ 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
|
||||
@@ -17,7 +17,7 @@ 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
|
||||
@@ -19,9 +19,9 @@ 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
|
||||
@@ -99,6 +99,35 @@ 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
|
||||
@@ -67,9 +67,9 @@ 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
|
||||
@@ -17,7 +17,7 @@ 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
|
||||
@@ -110,6 +110,7 @@ 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
|
||||
@@ -80,6 +80,18 @@ 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
|
||||
@@ -88,6 +88,7 @@ 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
|
||||
@@ -108,6 +108,26 @@ 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
|
||||
@@ -57,6 +57,7 @@ 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
|
||||
@@ -58,7 +58,7 @@ 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
|
||||
@@ -21,6 +21,7 @@ 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
|
||||
@@ -22,6 +22,7 @@ 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
|
||||
@@ -973,6 +973,7 @@ 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
|
||||
@@ -85,6 +85,7 @@ 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
|
||||
@@ -196,4 +196,22 @@ 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
|
||||
@@ -17,7 +17,7 @@ import java.util.RandomAccess;
|
||||
|
@ -4032,5 +4034,5 @@ index 1aec70a1f..f72c13bed 100644
|
|||
private int initialCapacity;
|
||||
|
||||
--
|
||||
2.26.0
|
||||
2.25.1
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue