diff --git a/.gitmodules b/.gitmodules index 9cfc2efcd..561c0aa79 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "Paper"] path = Paper url = https://github.com/PaperMC/Paper.git - branch = master + branch = ver/1.15.2 diff --git a/Paper b/Paper index a8ffecc74..f65f95ce3 160000 --- a/Paper +++ b/Paper @@ -1 +1 @@ -Subproject commit a8ffecc741cd6aed770f7cce5309d0f6d2972e02 +Subproject commit f65f95ce3f1279c7dfe81252be877153ff4cdc99 diff --git a/current-paper b/current-paper index f499469a2..dbe07f5e5 100644 --- a/current-paper +++ b/current-paper @@ -1 +1 @@ -1.15.2--90b89764e0f3941479dd66cc0184fd7291f302d4 +1.15.2--480f9c62594fced97d580037df74124fbb6503d6 diff --git a/patches/server/0001-Tuinity-Server-Changes.patch b/patches/server/0001-Tuinity-Server-Changes.patch index 7465799b1..7d968eaef 100644 --- a/patches/server/0001-Tuinity-Server-Changes.patch +++ b/patches/server/0001-Tuinity-Server-Changes.patch @@ -1,4 +1,4 @@ -From ed82e825eb9705667b56300afc136bbc830131ae Mon Sep 17 00:00:00 2001 +From 9a351edcea938914e1369e91bab9a225be026c1a Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 14 Dec 2018 21:53:58 -0800 Subject: [PATCH] Tuinity Server Changes @@ -64,6 +64,7 @@ Subject: [PATCH] Tuinity Server Changes .../minecraft/server/TileEntityJukeBox.java | 7 + .../minecraft/server/TileEntityLectern.java | 51 +- .../minecraft/server/TileEntityPiston.java | 66 ++- + .../java/net/minecraft/server/UserCache.java | 18 +- src/main/java/net/minecraft/server/Vec3D.java | 5 +- .../net/minecraft/server/VillagePlace.java | 2 +- .../java/net/minecraft/server/VoxelShape.java | 11 +- @@ -87,7 +88,7 @@ Subject: [PATCH] Tuinity Server Changes .../bukkit/craftbukkit/util/Versioning.java | 2 +- src/main/java/org/spigotmc/AsyncCatcher.java | 2 +- .../java/org/spigotmc/WatchdogThread.java | 79 +++ - 83 files changed, 3967 insertions(+), 384 deletions(-) + 84 files changed, 3983 insertions(+), 386 deletions(-) create mode 100644 src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java create mode 100644 src/main/java/com/tuinity/tuinity/config/TuinityConfig.java create mode 100644 src/main/java/com/tuinity/tuinity/util/CachedLists.java @@ -96,7 +97,7 @@ Subject: [PATCH] Tuinity Server Changes create mode 100644 src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java diff --git a/pom.xml b/pom.xml -index e4c63bb76..66517f30f 100644 +index e4c63bb76c..66517f30fc 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,11 @@ @@ -157,7 +158,7 @@ index e4c63bb76..66517f30f 100644 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java -index dd0722397..2966c5731 100644 +index dd07223978..2966c57317 100644 --- a/src/main/java/co/aikar/timings/MinecraftTimings.java +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -43,6 +43,8 @@ public final class MinecraftTimings { @@ -170,7 +171,7 @@ index dd0722397..2966c5731 100644 private MinecraftTimings() {} diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java -index a3b41ce5f..b09981e9b 100644 +index a3b41ce5fc..b09981e9bd 100644 --- a/src/main/java/co/aikar/timings/TimingsExport.java +++ b/src/main/java/co/aikar/timings/TimingsExport.java @@ -229,7 +229,8 @@ public class TimingsExport extends Thread { @@ -184,7 +185,7 @@ index a3b41ce5f..b09981e9b 100644 new TimingsExport(listeners, parent, history).start(); diff --git a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java -index 49a38c660..255bbd6e4 100644 +index 49a38c6608..255bbd6e48 100644 --- a/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java +++ b/src/main/java/com/destroystokyo/paper/PaperVersionFetcher.java @@ -24,8 +24,8 @@ public class PaperVersionFetcher implements VersionFetcher { @@ -215,10 +216,10 @@ index 49a38c660..255bbd6e4 100644 switch (distance) { case -1: diff --git a/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java b/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java -index ce653f6b4..a08bfb4b3 100644 +index 1587424c88..9126c2e77e 100644 --- a/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java +++ b/src/main/java/com/destroystokyo/paper/server/ticklist/PaperTickList.java -@@ -189,6 +189,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -188,6 +188,7 @@ public final class PaperTickList extends TickListServer { // extend to avo } public void onChunkSetTicking(final int chunkX, final int chunkZ) { @@ -226,7 +227,7 @@ index ce653f6b4..a08bfb4b3 100644 final ArrayList> pending = this.pendingChunkTickLoad.remove(MCUtil.getCoordinateKey(chunkX, chunkZ)); if (pending == null) { return; -@@ -269,6 +270,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -282,6 +283,7 @@ public final class PaperTickList extends TickListServer { // extend to avo @Override public void tick() { @@ -234,7 +235,7 @@ index ce653f6b4..a08bfb4b3 100644 final ChunkProviderServer chunkProvider = this.world.getChunkProvider(); this.world.getMethodProfiler().enter("cleaning"); -@@ -297,6 +299,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -309,6 +311,7 @@ public final class PaperTickList extends TickListServer { // extend to avo if (toTick.tickState == STATE_TICKING) { toTick.tickState = STATE_TICKED; } // else it's STATE_CANCELLED_TICK @@ -242,7 +243,7 @@ index ce653f6b4..a08bfb4b3 100644 } else { // re-schedule eventually toTick.tickState = STATE_SCHEDULED; -@@ -414,6 +417,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -426,6 +429,7 @@ public final class PaperTickList extends TickListServer { // extend to avo } public void schedule(final BlockPosition pos, final T data, final long targetTick, final TickListPriority priority) { @@ -250,7 +251,7 @@ index ce653f6b4..a08bfb4b3 100644 final NextTickListEntry entry = new NextTickListEntry<>(pos, data, targetTick, priority); if (this.excludeFromScheduling.test(entry.getData())) { return; -@@ -473,6 +477,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -485,6 +489,7 @@ public final class PaperTickList extends TickListServer { // extend to avo @Override public List> getEntriesInBoundingBox(final StructureBoundingBox structureboundingbox, final boolean removeReturned, final boolean excludeTicked) { @@ -258,7 +259,7 @@ index ce653f6b4..a08bfb4b3 100644 if (structureboundingbox.getMinX() == structureboundingbox.getMaxX() || structureboundingbox.getMinZ() == structureboundingbox.getMaxZ()) { return Collections.emptyList(); // vanilla behaviour, check isBlockInSortof above } -@@ -529,6 +534,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -541,6 +546,7 @@ public final class PaperTickList extends TickListServer { // extend to avo @Override public void copy(StructureBoundingBox structureboundingbox, BlockPosition blockposition) { @@ -266,7 +267,7 @@ index ce653f6b4..a08bfb4b3 100644 // start copy from TickListServer // TODO check on update List> list = this.getEntriesInBoundingBox(structureboundingbox, false, false); Iterator> iterator = list.iterator(); -@@ -548,6 +554,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -560,6 +566,7 @@ public final class PaperTickList extends TickListServer { // extend to avo @Override public List> getEntriesInChunk(ChunkCoordIntPair chunkPos, boolean removeReturned, boolean excludeTicked) { @@ -274,7 +275,7 @@ index ce653f6b4..a08bfb4b3 100644 // Vanilla DOES get the entries 2 blocks out of the chunk too, but that doesn't matter since we ignore chunks // not at ticking status, and ticking status requires neighbours loaded // so with this method we will reduce scheduler churning -@@ -579,6 +586,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -591,6 +598,7 @@ public final class PaperTickList extends TickListServer { // extend to avo @Override public NBTTagList serialize(ChunkCoordIntPair chunkcoordintpair) { @@ -282,7 +283,7 @@ index ce653f6b4..a08bfb4b3 100644 // start copy from TickListServer // TODO check on update List> list = this.getEntriesInChunk(chunkcoordintpair, false, true); -@@ -588,6 +596,7 @@ public final class PaperTickList extends TickListServer { // extend to avo +@@ -600,6 +608,7 @@ public final class PaperTickList extends TickListServer { // extend to avo @Override public int getTotalScheduledEntries() { @@ -292,7 +293,7 @@ index ce653f6b4..a08bfb4b3 100644 diff --git a/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java b/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java new file mode 100644 -index 000000000..97c4100c5 +index 0000000000..97c4100c5d --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/chunk/SingleThreadChunkRegionManager.java @@ -0,0 +1,159 @@ @@ -458,7 +459,7 @@ index 000000000..97c4100c5 \ No newline at end of file diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java new file mode 100644 -index 000000000..1ae1fd750 +index 0000000000..1ae1fd7505 --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java @@ -0,0 +1,277 @@ @@ -742,7 +743,7 @@ index 000000000..1ae1fd750 \ No newline at end of file diff --git a/src/main/java/com/tuinity/tuinity/util/CachedLists.java b/src/main/java/com/tuinity/tuinity/util/CachedLists.java new file mode 100644 -index 000000000..a54f516ba +index 0000000000..a54f516ba7 --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/util/CachedLists.java @@ -0,0 +1,53 @@ @@ -801,7 +802,7 @@ index 000000000..a54f516ba +} diff --git a/src/main/java/com/tuinity/tuinity/util/TickThread.java b/src/main/java/com/tuinity/tuinity/util/TickThread.java new file mode 100644 -index 000000000..08ed24325 +index 0000000000..08ed243259 --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/util/TickThread.java @@ -0,0 +1,41 @@ @@ -849,7 +850,7 @@ index 000000000..08ed24325 \ No newline at end of file diff --git a/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java b/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java new file mode 100644 -index 000000000..e12d09645 +index 0000000000..e12d096456 --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/util/maplist/IteratorSafeOrderedReferenceSet.java @@ -0,0 +1,265 @@ @@ -1120,7 +1121,7 @@ index 000000000..e12d09645 +} diff --git a/src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java b/src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java new file mode 100644 -index 000000000..76593df29 +index 0000000000..76593df295 --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/voxel/AABBVoxelShape.java @@ -0,0 +1,246 @@ @@ -1371,7 +1372,7 @@ index 000000000..76593df29 + } +} diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java -index 1a466e929..688c5b1bd 100644 +index 1a466e9295..688c5b1bda 100644 --- a/src/main/java/net/minecraft/server/AxisAlignedBB.java +++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java @@ -13,6 +13,118 @@ public class AxisAlignedBB { @@ -1518,7 +1519,7 @@ index 1a466e929..688c5b1bd 100644 return d0 >= this.minX && d0 < this.maxX && d1 >= this.minY && d1 < this.maxY && d2 >= this.minZ && d2 < this.maxZ; } diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 0102a170d..ef6c85557 100644 +index 0102a170dc..ef6c85557c 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java @@ -61,6 +61,18 @@ public abstract class BiomeBase { @@ -1541,7 +1542,7 @@ index 0102a170d..ef6c85557 100644 if (biomebase_a.a != null && biomebase_a.b != null && biomebase_a.c != null && biomebase_a.d != null && biomebase_a.e != null && biomebase_a.f != null && biomebase_a.g != null && biomebase_a.h != null && biomebase_a.i != null) { this.n = biomebase_a.a; diff --git a/src/main/java/net/minecraft/server/BlockChest.java b/src/main/java/net/minecraft/server/BlockChest.java -index 72fb92f7c..6ea29ffc0 100644 +index 72fb92f7c3..6ea29ffc01 100644 --- a/src/main/java/net/minecraft/server/BlockChest.java +++ b/src/main/java/net/minecraft/server/BlockChest.java @@ -10,7 +10,7 @@ import javax.annotation.Nullable; @@ -1563,7 +1564,7 @@ index 72fb92f7c..6ea29ffc0 100644 if (tileentity instanceof IInventory) { InventoryUtils.dropInventory(world, blockposition, (IInventory) tileentity); diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java -index 73ac83832..8312ed779 100644 +index 73ac838321..8312ed7797 100644 --- a/src/main/java/net/minecraft/server/BlockPiston.java +++ b/src/main/java/net/minecraft/server/BlockPiston.java @@ -279,8 +279,10 @@ public class BlockPiston extends BlockDirectional { @@ -1621,7 +1622,7 @@ index 73ac83832..8312ed779 100644 --j; aiblockdata[j] = iblockdata1; diff --git a/src/main/java/net/minecraft/server/BlockPistonMoving.java b/src/main/java/net/minecraft/server/BlockPistonMoving.java -index 809ee9f9a..805fc6b88 100644 +index 809ee9f9a6..805fc6b882 100644 --- a/src/main/java/net/minecraft/server/BlockPistonMoving.java +++ b/src/main/java/net/minecraft/server/BlockPistonMoving.java @@ -21,7 +21,12 @@ public class BlockPistonMoving extends BlockTileEntity { @@ -1639,7 +1640,7 @@ index 809ee9f9a..805fc6b88 100644 @Override diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index d7beb47d9..5a360fdca 100644 +index d7beb47d9e..5a360fdca9 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -509,8 +509,35 @@ public class Chunk implements IChunkAccess { @@ -1738,7 +1739,7 @@ index d7beb47d9..5a360fdca 100644 int j = MathHelper.floor((axisalignedbb.maxY + 2.0D) / 16.0D); diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 55f9f4e6e..15f0f86a3 100644 +index 55f9f4e6e7..15f0f86a36 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -68,6 +68,7 @@ public abstract class ChunkMap extends LightEngineGraph { @@ -1750,7 +1751,7 @@ index 55f9f4e6e..15f0f86a3 100644 this.a(ChunkCoordIntPair.a, i, j, flag); } diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index 9a84d1749..e0378f486 100644 +index 9a84d1749c..e0378f486c 100644 --- a/src/main/java/net/minecraft/server/ChunkMapDistance.java +++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java @@ -31,7 +31,7 @@ public abstract class ChunkMapDistance { @@ -1927,7 +1928,7 @@ index 9a84d1749..e0378f486 100644 for (java.util.Iterator>>> iterator = this.tickets.long2ObjectEntrySet().fastIterator(); iterator.hasNext();) { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 7d50b94cb..e8bf60507 100644 +index 7d50b94cb3..e8bf60507b 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -118,7 +118,7 @@ public class ChunkProviderServer extends IChunkProvider { @@ -2313,7 +2314,7 @@ index 7d50b94cb..e8bf60507 100644 try { boolean execChunkTask = com.destroystokyo.paper.io.chunk.ChunkTaskManager.pollChunkWaitQueue() || ChunkProviderServer.this.world.asyncChunkTaskManager.pollNextChunkTask(); // Paper diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 1685237df..20b6b58bd 100644 +index 55a9b9cac2..c848ae0683 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -23,6 +23,14 @@ public class ChunkRegionLoader { @@ -2331,7 +2332,7 @@ index 1685237df..20b6b58bd 100644 // Paper start - guard against serializing mismatching coordinates // TODO Note: This needs to be re-checked each update public static ChunkCoordIntPair getChunkCoordinate(NBTTagCompound chunkData) { -@@ -375,10 +383,10 @@ public class ChunkRegionLoader { +@@ -389,10 +397,10 @@ public class ChunkRegionLoader { NBTTagCompound nbttagcompound1 = new NBTTagCompound(); nbttagcompound.setInt("DataVersion", SharedConstants.getGameVersion().getWorldVersion()); @@ -2345,7 +2346,7 @@ index 1685237df..20b6b58bd 100644 nbttagcompound1.setString("Status", ichunkaccess.getChunkStatus().d()); ChunkConverter chunkconverter = ichunkaccess.p(); diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index 4dcb111c7..2f56b12d9 100644 +index 4dcb111c70..2f56b12d93 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -95,6 +95,7 @@ public class ChunkSection { @@ -2357,7 +2358,7 @@ index 4dcb111c7..2f56b12d9 100644 return this.nonEmptyBlockCount == 0; } diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java -index 40ce30cdc..3ba8481de 100644 +index 40ce30cdc2..3ba8481de7 100644 --- a/src/main/java/net/minecraft/server/ChunkStatus.java +++ b/src/main/java/net/minecraft/server/ChunkStatus.java @@ -103,7 +103,7 @@ public class ChunkStatus { @@ -2379,7 +2380,7 @@ index 40ce30cdc..3ba8481de 100644 } diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 81362de54..599ce8062 100644 +index 81362de543..599ce8062a 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -164,6 +164,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { @@ -2391,7 +2392,7 @@ index 81362de54..599ce8062 100644 T t0 = this.h.a(this.a.a(i)); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 32cd645ab..1f1243ae8 100644 +index 32cd645abb..1f1243ae83 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -194,6 +194,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -2403,7 +2404,7 @@ index 32cd645ab..1f1243ae8 100644 this.setSpawnAnimals(dedicatedserverproperties.spawnAnimals); this.setSpawnNPCs(dedicatedserverproperties.spawnNpcs); diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java -index cf00f35a5..e54730f09 100644 +index cf00f35a5b..e54730f097 100644 --- a/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java @@ -70,7 +70,7 @@ public class EULA { @@ -2416,7 +2417,7 @@ index cf00f35a5..e54730f09 100644 throwable = throwable1; throw throwable1; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e0ab058bf..37f854764 100644 +index e0ab058bf9..37f8547640 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -137,7 +137,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -2711,7 +2712,7 @@ index e0ab058bf..37f854764 100644 public void checkDespawn() {} diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 3fc2360a1..a245cfab6 100644 +index ab6576f36e..0dcd1361a3 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2682,7 +2682,11 @@ public abstract class EntityLiving extends Entity { @@ -2738,7 +2739,7 @@ index 3fc2360a1..a245cfab6 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 5cc89c0cf..1bd703848 100644 +index 5cc89c0cf9..1bd7038484 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -72,6 +72,7 @@ public class EntityTrackerEntry { @@ -2750,7 +2751,7 @@ index 5cc89c0cf..1bd703848 100644 if (!list.equals(this.p)) { diff --git a/src/main/java/net/minecraft/server/HeightMap.java b/src/main/java/net/minecraft/server/HeightMap.java -index 29cb545a8..aa7339610 100644 +index 29cb545a86..aa73396100 100644 --- a/src/main/java/net/minecraft/server/HeightMap.java +++ b/src/main/java/net/minecraft/server/HeightMap.java @@ -119,6 +119,7 @@ public class HeightMap { @@ -2780,7 +2781,7 @@ index 29cb545a8..aa7339610 100644 this.h = heightmap_use; this.i = predicate; diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index b39554faf..41cac2741 100644 +index b39554faf2..41cac27411 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -26,6 +26,18 @@ public class IBlockData extends BlockDataAbstract implements @@ -2803,7 +2804,7 @@ index b39554faf..41cac2741 100644 super(block, immutablemap); this.d = block.a(this); diff --git a/src/main/java/net/minecraft/server/ICollisionAccess.java b/src/main/java/net/minecraft/server/ICollisionAccess.java -index 63dd5e98b..2001c2a39 100644 +index 63dd5e98b6..2001c2a396 100644 --- a/src/main/java/net/minecraft/server/ICollisionAccess.java +++ b/src/main/java/net/minecraft/server/ICollisionAccess.java @@ -43,6 +43,11 @@ public interface ICollisionAccess extends IBlockAccess { @@ -2868,7 +2869,7 @@ index 63dd5e98b..2001c2a39 100644 if (!iblockdata.isAir() && (j2 != 1 || iblockdata.f()) && (j2 != 2 || iblockdata.getBlock() == Blocks.MOVING_PISTON)) { // Paper - fast track air VoxelShape voxelshape2 = iblockdata.b((IBlockAccess) ICollisionAccess.this, blockposition_mutableblockposition, voxelshapecollision); diff --git a/src/main/java/net/minecraft/server/LightEngineStorage.java b/src/main/java/net/minecraft/server/LightEngineStorage.java -index f2575fb69..89985a61e 100644 +index f2575fb697..89985a61e4 100644 --- a/src/main/java/net/minecraft/server/LightEngineStorage.java +++ b/src/main/java/net/minecraft/server/LightEngineStorage.java @@ -23,7 +23,8 @@ public abstract class LightEngineStorage> e @@ -2891,7 +2892,7 @@ index f2575fb69..89985a61e 100644 Entry entry; long j; diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 87d580021..973bdd25c 100644 +index 87d5800211..973bdd25ca 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -48,6 +48,20 @@ public final class MCUtil { @@ -2916,10 +2917,10 @@ index 87d580021..973bdd25c 100644 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4ab657903..3c9392077 100644 +index 5c71efe494..18fb728cac 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -954,7 +954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { @@ -3048,7 +3049,7 @@ index 4ab657903..3c9392077 100644 return !this.canOversleep(); }); isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); -@@ -1233,6 +1291,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant> { @@ -3230,7 +3231,7 @@ index 32886109d..5578818a0 100644 } return true; diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 9b608d738..bf24cb0d2 100644 +index 9b608d7386..bf24cb0d2a 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -19,7 +19,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -3414,7 +3415,7 @@ index 9b608d738..bf24cb0d2 100644 } } diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java -index 4240ca81c..61e4dbcd4 100644 +index 4240ca81cb..61e4dbcd47 100644 --- a/src/main/java/net/minecraft/server/PathfinderNormal.java +++ b/src/main/java/net/minecraft/server/PathfinderNormal.java @@ -444,7 +444,11 @@ public class PathfinderNormal extends PathfinderAbstract { @@ -3451,7 +3452,7 @@ index 4240ca81c..61e4dbcd4 100644 } } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 2edb4904d..44d6f2deb 100644 +index df5996aaad..927a99abd4 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -507,6 +507,7 @@ public class PlayerChunk { @@ -3552,7 +3553,7 @@ index 2edb4904d..44d6f2deb 100644 if (chunk != null) { playerchunkmap.callbackExecutor.execute(() -> { diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 201221df6..34ec3b9d7 100644 +index 4030e23940..a28e1f5869 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -117,31 +117,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -3622,7 +3623,7 @@ index 201221df6..34ec3b9d7 100644 int chunkX = MCUtil.getChunkCoordinate(player.locX()); int chunkZ = MCUtil.getChunkCoordinate(player.locZ()); // Note: players need to be explicitly added to distance maps before they can be updated -@@ -740,6 +740,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -748,6 +748,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @Nullable private PlayerChunk a(long i, int j, @Nullable PlayerChunk playerchunk, int k) { @@ -3630,7 +3631,7 @@ index 201221df6..34ec3b9d7 100644 if (k > PlayerChunkMap.GOLDEN_TICKET && j > PlayerChunkMap.GOLDEN_TICKET) { return playerchunk; } else { -@@ -953,7 +954,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -962,7 +963,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.world, chunkPos.x, chunkPos.z, @@ -3639,7 +3640,7 @@ index 201221df6..34ec3b9d7 100644 if (!chunk.isNeedsSaving()) { return; -@@ -987,7 +988,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -996,7 +997,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { asyncSaveData = ChunkRegionLoader.getAsyncSaveData(this.world, chunk); } @@ -3648,7 +3649,7 @@ index 201221df6..34ec3b9d7 100644 asyncSaveData, chunk); chunk.setLastSaved(this.world.getTime()); -@@ -1042,6 +1043,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1051,6 +1052,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } protected boolean b() { @@ -3656,7 +3657,7 @@ index 201221df6..34ec3b9d7 100644 if (!this.updatingChunksModified) { return false; } else { -@@ -1219,7 +1221,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1228,7 +1230,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } // Paper end this.mailboxWorldGen.a(ChunkTaskQueueSorter.a(playerchunk, runnable)); // CraftBukkit - decompile error @@ -3668,7 +3669,7 @@ index 201221df6..34ec3b9d7 100644 } protected void c(ChunkCoordIntPair chunkcoordintpair) { -@@ -1447,6 +1452,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1456,6 +1461,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } public final void setViewDistance(int i) { // Paper - public @@ -3676,7 +3677,7 @@ index 201221df6..34ec3b9d7 100644 int j = MathHelper.clamp(i + 1, 3, 33); // Paper - diff on change, these make the lower view distance limit 2 and the upper 32 if (j != this.viewDistance) { -@@ -1460,6 +1466,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1469,6 +1475,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // Paper start - no-tick view distance public final void setNoTickViewDistance(int viewDistance) { @@ -3684,7 +3685,7 @@ index 201221df6..34ec3b9d7 100644 viewDistance = viewDistance == -1 ? -1 : MathHelper.clamp(viewDistance, 2, 32); this.noTickViewDistance = viewDistance; -@@ -1989,23 +1996,20 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1998,23 +2005,20 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private final void processTrackQueue() { this.world.timings.tracker1.startTiming(); try { @@ -3719,7 +3720,7 @@ index 201221df6..34ec3b9d7 100644 // Paper end - optimised tracker diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 10e3bf60f..e0da3a13b 100644 +index 03cbe720c4..67d3b4a7dc 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -323,19 +323,24 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -3798,7 +3799,7 @@ index 10e3bf60f..e0da3a13b 100644 return; } diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index eb3269e0e..d9c9d01ae 100644 +index 7ea293f38d..e698dd2260 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -13,10 +13,30 @@ public class PlayerConnectionUtils { @@ -3832,7 +3833,7 @@ index eb3269e0e..d9c9d01ae 100644 if (MinecraftServer.getServer().hasStopped() || (t0 instanceof PlayerConnection && ((PlayerConnection) t0).processedDisconnect)) return; // CraftBukkit, MC-142590 if (t0.a().isConnected()) { try (Timing ignored = timing.startTiming()) { // Paper - timings -@@ -25,6 +45,12 @@ public class PlayerConnectionUtils { +@@ -40,6 +60,12 @@ public class PlayerConnectionUtils { } else { PlayerConnectionUtils.LOGGER.debug("Ignoring packet due to disconnection: " + packet); } @@ -3846,7 +3847,7 @@ index eb3269e0e..d9c9d01ae 100644 }); throw CancelledPacketHandleException.INSTANCE; diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 6df843461..272c1f0ea 100644 +index 6df8434612..272c1f0eaf 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -20,14 +20,29 @@ public class PlayerInteractManager { @@ -3981,7 +3982,7 @@ index 6df843461..272c1f0ea 100644 this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); // CraftBukkit - SPIGOT-5196 } diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java -index 2eb14bbf8..2be0b0803 100644 +index 2eb14bbf88..2be0b0803e 100644 --- a/src/main/java/net/minecraft/server/ProtoChunk.java +++ b/src/main/java/net/minecraft/server/ProtoChunk.java @@ -179,14 +179,11 @@ public class ProtoChunk implements IChunkAccess { @@ -4017,7 +4018,7 @@ index 2eb14bbf8..2be0b0803 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index df728e2c0..a66b02baa 100644 +index df728e2c0a..a66b02baa9 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -28,14 +28,349 @@ public class RegionFile implements AutoCloseable { @@ -4580,7 +4581,7 @@ index df728e2c0..a66b02baa 100644 ((java.nio.Buffer) this.f).position(0); this.dataFile.write(this.f, 0L); diff --git a/src/main/java/net/minecraft/server/RegionFileBitSet.java b/src/main/java/net/minecraft/server/RegionFileBitSet.java -index 1ebdf73cc..cfa3ecb03 100644 +index 1ebdf73cc9..cfa3ecb031 100644 --- a/src/main/java/net/minecraft/server/RegionFileBitSet.java +++ b/src/main/java/net/minecraft/server/RegionFileBitSet.java @@ -4,18 +4,42 @@ import java.util.BitSet; @@ -4628,7 +4629,7 @@ index 1ebdf73cc..cfa3ecb03 100644 int j = 0; diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 72118a7dc..3eebeee4c 100644 +index 72118a7dcf..3eebeee4c4 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -18,6 +18,30 @@ public class RegionFileCache implements AutoCloseable { // Paper - no final @@ -4706,7 +4707,7 @@ index 72118a7dc..3eebeee4c 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCompression.java b/src/main/java/net/minecraft/server/RegionFileCompression.java -index 3382d678e..29137f495 100644 +index 3382d678e6..29137f4959 100644 --- a/src/main/java/net/minecraft/server/RegionFileCompression.java +++ b/src/main/java/net/minecraft/server/RegionFileCompression.java @@ -13,7 +13,7 @@ import javax.annotation.Nullable; @@ -4738,7 +4739,7 @@ index 3382d678e..29137f495 100644 return (InputStream) this.f.wrap(inputstream); } diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java -index c79aa4a80..36916459c 100644 +index c79aa4a80a..36916459cd 100644 --- a/src/main/java/net/minecraft/server/Ticket.java +++ b/src/main/java/net/minecraft/server/Ticket.java @@ -5,17 +5,17 @@ import java.util.Objects; @@ -4775,7 +4776,7 @@ index c79aa4a80..36916459c 100644 return j != 0L && i - this.d > j; } diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java -index 5c789b25f..4657b05a4 100644 +index 5c789b25f1..4657b05a42 100644 --- a/src/main/java/net/minecraft/server/TicketType.java +++ b/src/main/java/net/minecraft/server/TicketType.java @@ -26,7 +26,8 @@ public class TicketType { @@ -4789,7 +4790,7 @@ index 5c789b25f..4657b05a4 100644 public static TicketType a(String s, Comparator comparator) { return new TicketType<>(s, comparator, 0L); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index a8e64dfda..652ad383a 100644 +index a8e64dfdab..652ad383ab 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -12,7 +12,7 @@ import org.bukkit.inventory.InventoryHolder; @@ -4863,7 +4864,7 @@ index a8e64dfda..652ad383a 100644 private String tileEntityKeyString = null; private MinecraftKey tileEntityKey = null; diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main/java/net/minecraft/server/TileEntityBeacon.java -index df2d6c3b0..9780ee07b 100644 +index df2d6c3b07..9780ee07b2 100644 --- a/src/main/java/net/minecraft/server/TileEntityBeacon.java +++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java @@ -35,7 +35,7 @@ public class TileEntityBeacon extends TileEntity implements ITileInventory, ITic @@ -4914,7 +4915,7 @@ index df2d6c3b0..9780ee07b 100644 public void tick() { int i = this.position.getX(); diff --git a/src/main/java/net/minecraft/server/TileEntityBeehive.java b/src/main/java/net/minecraft/server/TileEntityBeehive.java -index 417152d16..42374183b 100644 +index 417152d16c..42374183b3 100644 --- a/src/main/java/net/minecraft/server/TileEntityBeehive.java +++ b/src/main/java/net/minecraft/server/TileEntityBeehive.java @@ -12,6 +12,13 @@ public class TileEntityBeehive extends TileEntity implements ITickable { @@ -4932,7 +4933,7 @@ index 417152d16..42374183b 100644 super(TileEntityTypes.BEEHIVE); } diff --git a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java -index 441157cf7..438d14dd2 100644 +index 441157cf7f..438d14dd23 100644 --- a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java +++ b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java @@ -24,7 +24,7 @@ public class TileEntityBrewingStand extends TileEntityContainer implements IWorl @@ -4983,7 +4984,7 @@ index 441157cf7..438d14dd2 100644 protected IChatBaseComponent getContainerName() { return new ChatMessage("container.brewing", new Object[0]); diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index 9a5f2da8c..50a8d59da 100644 +index 9a5f2da8c0..50a8d59da6 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -45,6 +45,22 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic @@ -5010,7 +5011,7 @@ index 9a5f2da8c..50a8d59da 100644 super(tileentitytypes); this.items = NonNullList.a(27, ItemStack.a); diff --git a/src/main/java/net/minecraft/server/TileEntityConduit.java b/src/main/java/net/minecraft/server/TileEntityConduit.java -index 07f265b29..34c191d76 100644 +index 07f265b299..34c191d769 100644 --- a/src/main/java/net/minecraft/server/TileEntityConduit.java +++ b/src/main/java/net/minecraft/server/TileEntityConduit.java @@ -16,15 +16,32 @@ public class TileEntityConduit extends TileEntity implements ITickable { @@ -5049,7 +5050,7 @@ index 07f265b29..34c191d76 100644 this(TileEntityTypes.CONDUIT); } diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index d5432bfeb..7d50b7056 100644 +index d5432bfeb7..7d50b7056a 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -30,14 +30,14 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I @@ -5096,7 +5097,7 @@ index d5432bfeb..7d50b7056 100644 this.c = recipes; } diff --git a/src/main/java/net/minecraft/server/TileEntityJukeBox.java b/src/main/java/net/minecraft/server/TileEntityJukeBox.java -index d66d9ff18..470f31083 100644 +index d66d9ff188..470f310832 100644 --- a/src/main/java/net/minecraft/server/TileEntityJukeBox.java +++ b/src/main/java/net/minecraft/server/TileEntityJukeBox.java @@ -4,6 +4,13 @@ public class TileEntityJukeBox extends TileEntity implements Clearable { @@ -5114,7 +5115,7 @@ index d66d9ff18..470f31083 100644 super(TileEntityTypes.JUKEBOX); this.a = ItemStack.a; diff --git a/src/main/java/net/minecraft/server/TileEntityLectern.java b/src/main/java/net/minecraft/server/TileEntityLectern.java -index 6c2b48bdb..c3b854b6a 100644 +index 6c2b48bdbe..c3b854b6a2 100644 --- a/src/main/java/net/minecraft/server/TileEntityLectern.java +++ b/src/main/java/net/minecraft/server/TileEntityLectern.java @@ -16,7 +16,7 @@ import org.bukkit.inventory.InventoryHolder; @@ -5191,7 +5192,7 @@ index 6c2b48bdb..c3b854b6a 100644 super(TileEntityTypes.LECTERN); this.book = ItemStack.a; diff --git a/src/main/java/net/minecraft/server/TileEntityPiston.java b/src/main/java/net/minecraft/server/TileEntityPiston.java -index d700e8281..bd0ebacf7 100644 +index d700e8281f..bd0ebacf7a 100644 --- a/src/main/java/net/minecraft/server/TileEntityPiston.java +++ b/src/main/java/net/minecraft/server/TileEntityPiston.java @@ -5,10 +5,10 @@ import java.util.List; @@ -5320,8 +5321,93 @@ index d700e8281..bd0ebacf7 100644 return nbttagcompound; } +diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java +index 39d2f83531..07fe1fca09 100644 +--- a/src/main/java/net/minecraft/server/UserCache.java ++++ b/src/main/java/net/minecraft/server/UserCache.java +@@ -62,6 +62,10 @@ public class UserCache { + return null; + } + }; ++ // Tuinity start ++ protected final java.util.concurrent.locks.ReentrantLock stateLock = new java.util.concurrent.locks.ReentrantLock(); ++ protected final java.util.concurrent.locks.ReentrantLock lookupLock = new java.util.concurrent.locks.ReentrantLock(); ++ // Tuinity end + + public UserCache(GameProfileRepository gameprofilerepository, File file) { + this.g = gameprofilerepository; +@@ -109,7 +113,7 @@ public class UserCache { + this.a(gameprofile, (Date) null); + } + +- private synchronized void a(GameProfile gameprofile, Date date) { // Paper - synchronize ++ private void a(GameProfile gameprofile, Date date) { // Paper - synchronize // Tuinity - allow better concurrency + UUID uuid = gameprofile.getId(); + + if (date == null) { +@@ -122,6 +126,7 @@ public class UserCache { + + UserCache.UserCacheEntry usercache_usercacheentry = new UserCache.UserCacheEntry(gameprofile, date); + ++ try { this.stateLock.lock(); // Tuinity - allow better concurrency + //if (this.e.containsKey(uuid)) { // Paper + UserCache.UserCacheEntry usercache_usercacheentry1 = (UserCache.UserCacheEntry) this.e.get(uuid); + if (usercache_usercacheentry1 != null) { // Paper +@@ -133,12 +138,14 @@ public class UserCache { + this.d.put(gameprofile.getName().toLowerCase(Locale.ROOT), usercache_usercacheentry); + this.e.put(uuid, usercache_usercacheentry); + this.f.addFirst(gameprofile); ++ } finally { this.stateLock.unlock(); } // Tuinity - allow better concurrency + if( !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly ) this.c(); // Spigot - skip saving if disabled + } + + @Nullable +- public synchronized GameProfile getProfile(String s) { // Paper - synchronize ++ public GameProfile getProfile(String s) { // Paper - synchronize // Tuinity start - allow better concurrency + String s1 = s.toLowerCase(Locale.ROOT); ++ boolean stateLocked = true; try { this.stateLock.lock(); // Tuinity - allow better concurrency + UserCache.UserCacheEntry usercache_usercacheentry = (UserCache.UserCacheEntry) this.d.get(s1); + + if (usercache_usercacheentry != null && (new Date()).getTime() >= usercache_usercacheentry.c.getTime()) { +@@ -154,8 +161,12 @@ public class UserCache { + gameprofile = usercache_usercacheentry.a(); + this.f.remove(gameprofile); + this.f.addFirst(gameprofile); ++ stateLocked = false; this.stateLock.unlock(); // Tuinity - allow better concurrency + } else { ++ stateLocked = false; this.stateLock.unlock(); // Tuinity - allow better concurrency ++ try { this.lookupLock.lock(); // Tuinity - allow better concurrency + gameprofile = a(this.g, s); // Spigot - use correct case for offline players ++ } finally { this.lookupLock.unlock(); } // Tuinity - allow better concurrency + if (gameprofile != null) { + this.a(gameprofile); + usercache_usercacheentry = (UserCache.UserCacheEntry) this.d.get(s1); +@@ -164,6 +175,7 @@ public class UserCache { + + if( !org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly ) this.c(); // Spigot - skip saving if disabled + return usercache_usercacheentry == null ? null : usercache_usercacheentry.a(); ++ } finally { if (stateLocked) { this.stateLock.unlock(); } } // Tuinity - allow better concurrency + } + + // Paper start +@@ -263,6 +275,7 @@ public class UserCache { + } + + private List a(int i) { ++ try { this.stateLock.lock(); // Tuinity - allow better concurrency + List list = Lists.newArrayList(); + List list1 = Lists.newArrayList(Iterators.limit(this.f.iterator(), i)); + Iterator iterator = list1.iterator(); +@@ -277,6 +290,7 @@ public class UserCache { + } + + return list; ++ } finally { this.stateLock.unlock(); } // Tuinity - allow better concurrency + } + + class UserCacheEntry { diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index 0c7f094e5..c2e4b5e8d 100644 +index 0c7f094e54..c2e4b5e8dc 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java @@ -4,7 +4,7 @@ import java.util.EnumSet; @@ -5355,7 +5441,7 @@ index 0c7f094e5..c2e4b5e8d 100644 return this.x * this.x + this.y * this.y + this.z * this.z; } diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java -index 1a5ec6152..5b52b380e 100644 +index 1a5ec6152c..5b52b380e2 100644 --- a/src/main/java/net/minecraft/server/VillagePlace.java +++ b/src/main/java/net/minecraft/server/VillagePlace.java @@ -150,7 +150,7 @@ public class VillagePlace extends RegionFileSection { @@ -5368,7 +5454,7 @@ index 1a5ec6152..5b52b380e 100644 } // Paper end diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java -index 0f95bcbcc..cb47d466c 100644 +index 0f95bcbccb..cb47d466c2 100644 --- a/src/main/java/net/minecraft/server/VoxelShape.java +++ b/src/main/java/net/minecraft/server/VoxelShape.java @@ -8,11 +8,11 @@ import javax.annotation.Nullable; @@ -5407,7 +5493,7 @@ index 0f95bcbcc..cb47d466c 100644 List list = Lists.newArrayList(); diff --git a/src/main/java/net/minecraft/server/VoxelShapeArray.java b/src/main/java/net/minecraft/server/VoxelShapeArray.java -index caf297fe9..8d68c783f 100644 +index caf297fe97..8d68c783f6 100644 --- a/src/main/java/net/minecraft/server/VoxelShapeArray.java +++ b/src/main/java/net/minecraft/server/VoxelShapeArray.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -5514,7 +5600,7 @@ index caf297fe9..8d68c783f 100644 + // Tuinity end - optimise multi-aabb shapes } diff --git a/src/main/java/net/minecraft/server/VoxelShapes.java b/src/main/java/net/minecraft/server/VoxelShapes.java -index 4b3e632a8..5e24ce485 100644 +index 4b3e632a89..5e24ce485a 100644 --- a/src/main/java/net/minecraft/server/VoxelShapes.java +++ b/src/main/java/net/minecraft/server/VoxelShapes.java @@ -17,18 +17,81 @@ public final class VoxelShapes { @@ -5627,7 +5713,7 @@ index 4b3e632a8..5e24ce485 100644 throw (IllegalArgumentException) SystemUtils.c(new IllegalArgumentException()); } else if (voxelshape == voxelshape1) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 032b7acee..6ae9ec627 100644 +index 6bca576724..0aeaf937bd 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -88,6 +88,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -5738,7 +5824,7 @@ index 032b7acee..6ae9ec627 100644 int j = MathHelper.floor((axisalignedbb.maxX + 2.0D) / 16.0D); int k = MathHelper.floor((axisalignedbb.minZ - 2.0D) / 16.0D); diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java -index 535d08ffb..079a73196 100644 +index 535d08ffb1..079a731969 100644 --- a/src/main/java/net/minecraft/server/WorldBorder.java +++ b/src/main/java/net/minecraft/server/WorldBorder.java @@ -45,12 +45,43 @@ public class WorldBorder { @@ -5810,7 +5896,7 @@ index 535d08ffb..079a73196 100644 return this.i.d(); } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 46e261b65..24cd10c96 100644 +index 46e261b651..24cd10c960 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -55,7 +55,7 @@ public class WorldServer extends World { @@ -6504,7 +6590,7 @@ index 46e261b65..24cd10c96 100644 this.tickingEntities = wasTicking; // Paper } diff --git a/src/main/java/net/minecraft/server/WorldUpgrader.java b/src/main/java/net/minecraft/server/WorldUpgrader.java -index 3030c347e..76f0f258e 100644 +index 3030c347ef..76f0f258e1 100644 --- a/src/main/java/net/minecraft/server/WorldUpgrader.java +++ b/src/main/java/net/minecraft/server/WorldUpgrader.java @@ -220,7 +220,7 @@ public class WorldUpgrader { @@ -6517,7 +6603,7 @@ index 3030c347e..76f0f258e 100644 try { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java -index b909af3d6..3c8166149 100644 +index b909af3d6f..3c81661498 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java @@ -75,7 +75,7 @@ public class CraftChunkSnapshot implements ChunkSnapshot { @@ -6530,7 +6616,7 @@ index b909af3d6..3c8166149 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 568aefdf6..760752eae 100644 +index 568aefdf69..760752eaeb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -205,7 +205,7 @@ import javax.annotation.Nullable; // Paper @@ -6586,7 +6672,7 @@ index 568aefdf6..760752eae 100644 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 73ffc3c24..32d4aa0f4 100644 +index 73ffc3c24d..32d4aa0f47 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -333,6 +333,13 @@ public class CraftWorld implements World { @@ -6637,7 +6723,7 @@ index 73ffc3c24..32d4aa0f4 100644 }, MinecraftServer.getServer()); } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 2ea6f5b7d..cce21aaf3 100644 +index 2ea6f5b7da..cce21aaf3b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -138,6 +138,13 @@ public class Main { @@ -6664,7 +6750,7 @@ index 2ea6f5b7d..cce21aaf3 100644 //Thread.sleep(TimeUnit.SECONDS.toMillis(20)); // Paper End diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 382b50d37..0ba3d963c 100644 +index 382b50d37a..0ba3d963c5 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -207,7 +207,7 @@ public class CraftBlock implements Block { @@ -6710,7 +6796,7 @@ index 382b50d37..0ba3d963c 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -index d3017db1b..8eaed6bfd 100644 +index d3017db1bd..8eaed6bfdf 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java @@ -139,7 +139,7 @@ public class CraftBlockState implements BlockState { @@ -6723,7 +6809,7 @@ index d3017db1b..8eaed6bfd 100644 public void setFlag(int flag) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index a0746a169..adba4a8a2 100644 +index a0746a1694..adba4a8a2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -44,7 +44,7 @@ public class CraftBlockData implements BlockData { @@ -6736,7 +6822,7 @@ index a0746a169..adba4a8a2 100644 public IBlockData getState() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index d16d3fe58..5a7b714cc 100644 +index d16d3fe58e..5a7b714cca 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -519,6 +519,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -6778,7 +6864,7 @@ index d16d3fe58..5a7b714cc 100644 public boolean teleport(org.bukkit.entity.Entity destination) { return teleport(destination.getLocation()); diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -index bb18740eb..b048ec8ea 100644 +index bb18740ebd..b048ec8eac 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java @@ -73,7 +73,7 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData { @@ -6791,7 +6877,7 @@ index bb18740eb..b048ec8ea 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java -index ca2be3060..2c5701376 100644 +index ca2be30609..2c57013765 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java @@ -100,9 +100,18 @@ public final class CraftScoreboardManager implements ScoreboardManager { @@ -6814,7 +6900,7 @@ index ca2be3060..2c5701376 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java -index f72c13bed..50f855b93 100644 +index f72c13beda..50f855b931 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java +++ b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java @@ -119,6 +119,32 @@ public class UnsafeList extends AbstractList implements List, RandomAcc @@ -6851,7 +6937,7 @@ index f72c13bed..50f855b93 100644 public void clear() { // Create new array to reset memory usage to initial capacity diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java -index 674096cab..001b1e519 100644 +index 674096cab1..001b1e5197 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -11,7 +11,7 @@ public final class Versioning { @@ -6864,7 +6950,7 @@ index 674096cab..001b1e519 100644 if (stream != null) { diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java -index 9f7d2ef93..c3ac1a46c 100644 +index 9f7d2ef932..c3ac1a46c3 100644 --- a/src/main/java/org/spigotmc/AsyncCatcher.java +++ b/src/main/java/org/spigotmc/AsyncCatcher.java @@ -10,7 +10,7 @@ public class AsyncCatcher @@ -6877,7 +6963,7 @@ index 9f7d2ef93..c3ac1a46c 100644 throw new IllegalStateException( "Asynchronous " + reason + "!" ); } diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java -index 513c1041c..7c1ef532d 100644 +index 513c1041c3..7c1ef532d7 100644 --- a/src/main/java/org/spigotmc/WatchdogThread.java +++ b/src/main/java/org/spigotmc/WatchdogThread.java @@ -61,6 +61,84 @@ public class WatchdogThread extends Thread diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index 4de689a2c..b860d8e3d 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -1,4 +1,4 @@ -From e2ba591861d7dd7532a3a9e8669ce81dc81ef8d9 Mon Sep 17 00:00:00 2001 +From 28f317b4d7ef2e4daec41659c7ed3e8d231a8a73 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 4 May 2019 01:02:11 -0500 Subject: [PATCH] Rebrand @@ -15,7 +15,7 @@ Subject: [PATCH] Rebrand create mode 100644 src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java diff --git a/pom.xml b/pom.xml -index 66517f30f..097c736bc 100644 +index 66517f30fc..097c736bc3 100644 --- a/pom.xml +++ b/pom.xml @@ -1,11 +1,11 @@ @@ -95,7 +95,7 @@ index 66517f30f..097c736bc 100644 diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java -index 74ed02fa9..c1280478e 100644 +index 74ed02fa92..c1280478ee 100644 --- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole { @@ -108,10 +108,10 @@ index 74ed02fa9..c1280478e 100644 .completer(new ConsoleCommandCompleter(this.server)) ); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3c9392077..28d92cbce 100644 +index 18fb728cac..e0db0cb1fd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1630,7 +1630,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 6 Feb 2020 19:53:59 -0600 Subject: [PATCH] Ridables @@ -116,7 +116,7 @@ Subject: [PATCH] Ridables create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java -index 688c5b1bd..b35bac0e2 100644 +index 688c5b1bda..b35bac0e20 100644 --- a/src/main/java/net/minecraft/server/AxisAlignedBB.java +++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java @@ -216,6 +216,7 @@ public class AxisAlignedBB { @@ -136,7 +136,7 @@ index 688c5b1bd..b35bac0e2 100644 return this.grow(d0, d0, d0); } diff --git a/src/main/java/net/minecraft/server/ControllerLookDolphin.java b/src/main/java/net/minecraft/server/ControllerLookDolphin.java -index 1d9ba04da..2bade947e 100644 +index 1d9ba04daa..2bade947ee 100644 --- a/src/main/java/net/minecraft/server/ControllerLookDolphin.java +++ b/src/main/java/net/minecraft/server/ControllerLookDolphin.java @@ -1,6 +1,6 @@ @@ -157,7 +157,7 @@ index 1d9ba04da..2bade947e 100644 this.d = false; this.a.aK = this.a(this.a.aK, this.h() + 20.0F, this.b); diff --git a/src/main/java/net/minecraft/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java -index a5c4cbb67..efe6afde9 100644 +index a5c4cbb67f..efe6afde9b 100644 --- a/src/main/java/net/minecraft/server/ControllerMove.java +++ b/src/main/java/net/minecraft/server/ControllerMove.java @@ -6,9 +6,9 @@ public class ControllerMove { @@ -174,7 +174,7 @@ index a5c4cbb67..efe6afde9 100644 public ControllerMove(EntityInsentient entityinsentient) { diff --git a/src/main/java/net/minecraft/server/DamageSource.java b/src/main/java/net/minecraft/server/DamageSource.java -index 816d301f1..f7344d3ae 100644 +index 816d301f1c..f7344d3aec 100644 --- a/src/main/java/net/minecraft/server/DamageSource.java +++ b/src/main/java/net/minecraft/server/DamageSource.java @@ -57,6 +57,7 @@ public class DamageSource { @@ -199,7 +199,7 @@ index 816d301f1..f7344d3ae 100644 this.C = true; return this; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 37f854764..dc72ee435 100644 +index 37f8547640..dc72ee435b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -79,7 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -354,7 +354,7 @@ index 37f854764..dc72ee435 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java -index 3d27f0964..822316a65 100644 +index 3d27f0964a..822316a65f 100644 --- a/src/main/java/net/minecraft/server/EntityAgeable.java +++ b/src/main/java/net/minecraft/server/EntityAgeable.java @@ -86,7 +86,7 @@ public abstract class EntityAgeable extends EntityCreature { @@ -367,7 +367,7 @@ index 3d27f0964..822316a65 100644 } diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java -index 34239160b..592408bac 100644 +index 34239160be..592408bac9 100644 --- a/src/main/java/net/minecraft/server/EntityBat.java +++ b/src/main/java/net/minecraft/server/EntityBat.java @@ -14,9 +14,44 @@ public class EntityBat extends EntityAmbient { @@ -458,7 +458,7 @@ index 34239160b..592408bac 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java -index dd1d246ae..f0f83baac 100644 +index dd1d246aeb..f0f83baac8 100644 --- a/src/main/java/net/minecraft/server/EntityBee.java +++ b/src/main/java/net/minecraft/server/EntityBee.java @@ -36,9 +36,7 @@ public class EntityBee extends EntityAnimal implements EntityBird { @@ -639,7 +639,7 @@ index dd1d246ae..f0f83baac 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityBlaze.java b/src/main/java/net/minecraft/server/EntityBlaze.java -index da6a3fa2c..d02130e0d 100644 +index da6a3fa2c8..d02130e0d1 100644 --- a/src/main/java/net/minecraft/server/EntityBlaze.java +++ b/src/main/java/net/minecraft/server/EntityBlaze.java @@ -10,6 +10,7 @@ public class EntityBlaze extends EntityMonster { @@ -729,7 +729,7 @@ index da6a3fa2c..d02130e0d 100644 if (this.c <= 0) { this.c = 100; diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java -index b3bdc194a..8b9222d77 100644 +index b3bdc194ab..8b9222d778 100644 --- a/src/main/java/net/minecraft/server/EntityCat.java +++ b/src/main/java/net/minecraft/server/EntityCat.java @@ -42,6 +42,23 @@ public class EntityCat extends EntityTameableAnimal { @@ -823,7 +823,7 @@ index b3bdc194a..8b9222d77 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityCaveSpider.java b/src/main/java/net/minecraft/server/EntityCaveSpider.java -index 23ced2c7b..5b86b36f6 100644 +index 23ced2c7bb..5b86b36f6a 100644 --- a/src/main/java/net/minecraft/server/EntityCaveSpider.java +++ b/src/main/java/net/minecraft/server/EntityCaveSpider.java @@ -8,6 +8,23 @@ public class EntityCaveSpider extends EntitySpider { @@ -851,7 +851,7 @@ index 23ced2c7b..5b86b36f6 100644 protected void initAttributes() { super.initAttributes(); diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java -index 65795fc89..5505b7ee9 100644 +index 65795fc896..5505b7ee94 100644 --- a/src/main/java/net/minecraft/server/EntityChicken.java +++ b/src/main/java/net/minecraft/server/EntityChicken.java @@ -17,9 +17,27 @@ public class EntityChicken extends EntityAnimal { @@ -891,7 +891,7 @@ index 65795fc89..5505b7ee9 100644 this.forceDrops = true; // CraftBukkit this.a((IMaterial) Items.EGG); diff --git a/src/main/java/net/minecraft/server/EntityCod.java b/src/main/java/net/minecraft/server/EntityCod.java -index 1e3782122..0153a821e 100644 +index 1e3782122a..0153a821ee 100644 --- a/src/main/java/net/minecraft/server/EntityCod.java +++ b/src/main/java/net/minecraft/server/EntityCod.java @@ -6,6 +6,23 @@ public class EntityCod extends EntityFishSchool { @@ -919,7 +919,7 @@ index 1e3782122..0153a821e 100644 protected ItemStack l() { return new ItemStack(Items.COD_BUCKET); diff --git a/src/main/java/net/minecraft/server/EntityComplexPart.java b/src/main/java/net/minecraft/server/EntityComplexPart.java -index a0b35c869..144e89f22 100644 +index a0b35c8699..144e89f224 100644 --- a/src/main/java/net/minecraft/server/EntityComplexPart.java +++ b/src/main/java/net/minecraft/server/EntityComplexPart.java @@ -47,4 +47,11 @@ public class EntityComplexPart extends Entity { @@ -935,7 +935,7 @@ index a0b35c869..144e89f22 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index 2c8bbf20a..723a9fa1e 100644 +index 2c8bbf20ae..723a9fa1ee 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -11,9 +11,27 @@ public class EntityCow extends EntityAnimal { @@ -967,7 +967,7 @@ index 2c8bbf20a..723a9fa1e 100644 this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.25D, RecipeItemStack.a(Items.WHEAT), false)); diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 45dfc8104..48fd8e716 100644 +index 45dfc8104a..48fd8e716b 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -23,16 +23,35 @@ public class EntityCreeper extends EntityMonster { @@ -1083,7 +1083,7 @@ index 45dfc8104..48fd8e716 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java -index ce78586ea..81570b37b 100644 +index ce78586ea0..81570b37bb 100644 --- a/src/main/java/net/minecraft/server/EntityDolphin.java +++ b/src/main/java/net/minecraft/server/EntityDolphin.java @@ -1,5 +1,12 @@ @@ -1234,7 +1234,7 @@ index ce78586ea..81570b37b 100644 this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D)); } diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java -index 77885f67f..63f5969b1 100644 +index 77885f67ff..63f5969b10 100644 --- a/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java @@ -19,6 +19,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { @@ -1297,7 +1297,7 @@ index 77885f67f..63f5969b1 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 7daebfdab..54b63395f 100644 +index 7daebfdab5..54b63395f6 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -46,6 +46,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -1454,7 +1454,7 @@ index 7daebfdab..54b63395f 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index 212636dcb..de30ce483 100644 +index 212636dcb2..de30ce483f 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -27,9 +27,27 @@ public class EntityEnderman extends EntityMonster { @@ -1553,7 +1553,7 @@ index 212636dcb..de30ce483 100644 if (iblockdata2 != null && this.a(world, blockposition, iblockdata2, iblockdata, iblockdata1, blockposition1)) { // CraftBukkit start - Place event diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java -index e4bd2796a..5eaf1920b 100644 +index e4bd2796a4..5eaf1920b2 100644 --- a/src/main/java/net/minecraft/server/EntityEndermite.java +++ b/src/main/java/net/minecraft/server/EntityEndermite.java @@ -12,13 +12,32 @@ public class EntityEndermite extends EntityMonster { @@ -1590,7 +1590,7 @@ index e4bd2796a..5eaf1920b 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); } diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java -index b030fe957..179a26129 100644 +index b030fe9577..179a261296 100644 --- a/src/main/java/net/minecraft/server/EntityEvoker.java +++ b/src/main/java/net/minecraft/server/EntityEvoker.java @@ -12,10 +12,28 @@ public class EntityEvoker extends EntityIllagerWizard { @@ -1655,7 +1655,7 @@ index b030fe957..179a26129 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java -index b853fd0d9..b8d786fad 100644 +index b853fd0d9b..b8d786fad5 100644 --- a/src/main/java/net/minecraft/server/EntityFish.java +++ b/src/main/java/net/minecraft/server/EntityFish.java @@ -72,9 +72,10 @@ public abstract class EntityFish extends EntityWaterAnimal { @@ -1709,7 +1709,7 @@ index b853fd0d9..b8d786fad 100644 this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D)); } diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 82a32d5db..4f53090d3 100644 +index 82a32d5dbf..4f53090d3d 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -55,6 +55,23 @@ public class EntityFox extends EntityAnimal { @@ -1847,7 +1847,7 @@ index 82a32d5db..4f53090d3 100644 } diff --git a/src/main/java/net/minecraft/server/EntityGhast.java b/src/main/java/net/minecraft/server/EntityGhast.java -index e1c2540d1..46841df71 100644 +index e1c2540d14..46841df718 100644 --- a/src/main/java/net/minecraft/server/EntityGhast.java +++ b/src/main/java/net/minecraft/server/EntityGhast.java @@ -14,11 +14,47 @@ public class EntityGhast extends EntityFlying implements IMonster { @@ -1930,7 +1930,7 @@ index e1c2540d1..46841df71 100644 if (this.j-- <= 0) { this.j += this.i.getRandom().nextInt(5) + 2; diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java -index d9e5eaad1..ff8a41a53 100644 +index d9e5eaad12..ff8a41a539 100644 --- a/src/main/java/net/minecraft/server/EntityGiantZombie.java +++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java @@ -4,8 +4,33 @@ public class EntityGiantZombie extends EntityMonster { @@ -1968,7 +1968,7 @@ index d9e5eaad1..ff8a41a53 100644 protected float b(EntityPose entitypose, EntitySize entitysize) { return 10.440001F; diff --git a/src/main/java/net/minecraft/server/EntityGuardian.java b/src/main/java/net/minecraft/server/EntityGuardian.java -index e69cb334f..97040872b 100644 +index e69cb334fb..97040872bc 100644 --- a/src/main/java/net/minecraft/server/EntityGuardian.java +++ b/src/main/java/net/minecraft/server/EntityGuardian.java @@ -24,15 +24,39 @@ public class EntityGuardian extends EntityMonster { @@ -2069,7 +2069,7 @@ index e69cb334f..97040872b 100644 Vec3D vec3d = new Vec3D(this.b - this.i.locX(), this.c - this.i.locY(), this.d - this.i.locZ()); double d0 = vec3d.f(); diff --git a/src/main/java/net/minecraft/server/EntityGuardianElder.java b/src/main/java/net/minecraft/server/EntityGuardianElder.java -index 7484bfeea..f231340d9 100644 +index 7484bfeea0..f231340d90 100644 --- a/src/main/java/net/minecraft/server/EntityGuardianElder.java +++ b/src/main/java/net/minecraft/server/EntityGuardianElder.java @@ -16,6 +16,23 @@ public class EntityGuardianElder extends EntityGuardian { @@ -2097,7 +2097,7 @@ index 7484bfeea..f231340d9 100644 public void initAttributes() { super.initAttributes(); diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java -index a6fb4ba5b..98b1e9375 100644 +index a6fb4ba5b9..98b1e93759 100644 --- a/src/main/java/net/minecraft/server/EntityHorse.java +++ b/src/main/java/net/minecraft/server/EntityHorse.java @@ -19,6 +19,13 @@ public class EntityHorse extends EntityHorseAbstract { @@ -2115,7 +2115,7 @@ index a6fb4ba5b..98b1e9375 100644 protected void initDatawatcher() { super.initDatawatcher(); diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java -index c56efe035..f31cb0554 100644 +index c56efe035a..f31cb05542 100644 --- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java +++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java @@ -38,12 +38,32 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven @@ -2161,7 +2161,7 @@ index c56efe035..f31cb0554 100644 } diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java -index 9a52decdc..64d80081f 100644 +index 9a52decdca..64d80081f7 100644 --- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java +++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java @@ -6,6 +6,13 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract { @@ -2179,7 +2179,7 @@ index 9a52decdc..64d80081f 100644 protected SoundEffect getSoundAmbient() { super.getSoundAmbient(); diff --git a/src/main/java/net/minecraft/server/EntityHorseMule.java b/src/main/java/net/minecraft/server/EntityHorseMule.java -index 4dd4d91eb..a9f26efe6 100644 +index 4dd4d91eba..a9f26efe66 100644 --- a/src/main/java/net/minecraft/server/EntityHorseMule.java +++ b/src/main/java/net/minecraft/server/EntityHorseMule.java @@ -6,6 +6,13 @@ public class EntityHorseMule extends EntityHorseChestedAbstract { @@ -2197,7 +2197,7 @@ index 4dd4d91eb..a9f26efe6 100644 protected SoundEffect getSoundAmbient() { super.getSoundAmbient(); diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java -index 290cb9337..7bf76e5a0 100644 +index 290cb9337c..7bf76e5a0b 100644 --- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java +++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java @@ -12,6 +12,18 @@ public class EntityHorseSkeleton extends EntityHorseAbstract { @@ -2238,7 +2238,7 @@ index 290cb9337..7bf76e5a0 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java -index 5782a25ec..c87fc523f 100644 +index 5782a25ecd..c87fc523f1 100644 --- a/src/main/java/net/minecraft/server/EntityHorseZombie.java +++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java @@ -8,6 +8,18 @@ public class EntityHorseZombie extends EntityHorseAbstract { @@ -2268,7 +2268,7 @@ index 5782a25ec..c87fc523f 100644 + protected void ez() { if (world.purpurConfig.zombieHorseCanSwim) goalSelector.a(0, new PathfinderGoalFloat(this)); } // Purpur } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 7df24be46..27cfc6654 100644 +index 7df24be46e..27cfc6654e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -374,9 +374,21 @@ public abstract class EntityHuman extends EntityLiving { @@ -2295,7 +2295,7 @@ index 7df24be46..27cfc6654 100644 this.setSneaking(false); } else { diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java -index 81b7cd06f..3e6722cfc 100644 +index 81b7cd06f2..3e6722cfce 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -19,10 +19,28 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan @@ -2336,7 +2336,7 @@ index 81b7cd06f..3e6722cfc 100644 this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300)); this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300)); diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 5aca7a913..cbbbc875b 100644 +index 5aca7a9131..cbbbc875be 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -28,7 +28,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -2428,7 +2428,7 @@ index 5aca7a913..cbbbc875b 100644 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java -index 7f6a56776..288a043fb 100644 +index 7f6a567760..288a043fbd 100644 --- a/src/main/java/net/minecraft/server/EntityIronGolem.java +++ b/src/main/java/net/minecraft/server/EntityIronGolem.java @@ -17,8 +17,26 @@ public class EntityIronGolem extends EntityGolem { @@ -2483,7 +2483,7 @@ index 7f6a56776..288a043fb 100644 float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F; diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index a245cfab6..14dc1318a 100644 +index 0dcd1361a3..a3db0e92df 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -75,7 +75,7 @@ public abstract class EntityLiving extends Entity { @@ -2556,7 +2556,7 @@ index a245cfab6..14dc1318a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java -index 193dbfc5f..c5f87cbdd 100644 +index 193dbfc5f6..c5f87cbdd2 100644 --- a/src/main/java/net/minecraft/server/EntityLlama.java +++ b/src/main/java/net/minecraft/server/EntityLlama.java @@ -16,7 +16,46 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn @@ -2646,7 +2646,7 @@ index 193dbfc5f..c5f87cbdd 100644 return i == -1 ? null : EnumColor.fromColorIndex(i); diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java -index 4cebd67e8..08c4ca3f3 100644 +index 4cebd67e85..08c4ca3f36 100644 --- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java +++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java @@ -11,6 +11,23 @@ public class EntityLlamaTrader extends EntityLlama { @@ -2687,7 +2687,7 @@ index 4cebd67e8..08c4ca3f3 100644 @Override public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) { diff --git a/src/main/java/net/minecraft/server/EntityMagmaCube.java b/src/main/java/net/minecraft/server/EntityMagmaCube.java -index 1fdc248ba..a5a36af21 100644 +index 1fdc248ba8..a5a36af217 100644 --- a/src/main/java/net/minecraft/server/EntityMagmaCube.java +++ b/src/main/java/net/minecraft/server/EntityMagmaCube.java @@ -8,6 +8,23 @@ public class EntityMagmaCube extends EntitySlime { @@ -2715,7 +2715,7 @@ index 1fdc248ba..a5a36af21 100644 protected void initAttributes() { super.initAttributes(); diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 8b199971b..53bc31287 100644 +index 8b199971bd..53bc312870 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -19,6 +19,23 @@ public class EntityMushroomCow extends EntityCow { @@ -2743,7 +2743,7 @@ index 8b199971b..53bc31287 100644 public float a(BlockPosition blockposition, IWorldReader iworldreader) { return iworldreader.getType(blockposition.down()).getBlock() == Blocks.MYCELIUM ? 10.0F : iworldreader.w(blockposition) - 0.5F; diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index d9a7b8ac1..8fdf34857 100644 +index d9a7b8ac1e..8fdf348573 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -16,6 +16,23 @@ public class EntityOcelot extends EntityAnimal { @@ -2786,7 +2786,7 @@ index d9a7b8ac1..8fdf34857 100644 this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, false, false, EntityTurtle.bw)); } diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java -index f50ed1908..87ed9a8ca 100644 +index f50ed19080..87ed9a8ca0 100644 --- a/src/main/java/net/minecraft/server/EntityPanda.java +++ b/src/main/java/net/minecraft/server/EntityPanda.java @@ -46,6 +46,23 @@ public class EntityPanda extends EntityAnimal { @@ -2932,7 +2932,7 @@ index f50ed1908..87ed9a8ca 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java -index 94e57a2d8..7ba2f3a35 100644 +index 94e57a2d85..7ba2f3a351 100644 --- a/src/main/java/net/minecraft/server/EntityParrot.java +++ b/src/main/java/net/minecraft/server/EntityParrot.java @@ -62,12 +62,83 @@ public class EntityParrot extends EntityPerchable implements EntityBird { @@ -3033,7 +3033,7 @@ index 94e57a2d8..7ba2f3a35 100644 this.goalSelector.a(2, this.goalSit); this.goalSelector.a(2, new PathfinderGoalFollowOwner(this, 1.0D, 5.0F, 1.0F, true)); diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java -index 96b4912c4..777bc95ee 100644 +index 96b4912c48..777bc95eef 100644 --- a/src/main/java/net/minecraft/server/EntityPhantom.java +++ b/src/main/java/net/minecraft/server/EntityPhantom.java @@ -22,6 +22,40 @@ public class EntityPhantom extends EntityFlying implements IMonster { @@ -3220,7 +3220,7 @@ index 96b4912c4..777bc95ee 100644 EntityPhantom.this.yaw += 180.0F; this.j = 0.1F; diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index 8d277566e..e6a7f8ef3 100644 +index 8d277566e9..e6a7f8ef37 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -19,9 +19,27 @@ public class EntityPig extends EntityAnimal { @@ -3291,7 +3291,7 @@ index 8d277566e..e6a7f8ef3 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java -index 9dd028b55..fb9ef88ea 100644 +index 9dd028b558..fb9ef88ea3 100644 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java @@ -17,6 +17,23 @@ public class EntityPigZombie extends EntityZombie { @@ -3319,7 +3319,7 @@ index 9dd028b55..fb9ef88ea 100644 public void setLastDamager(@Nullable EntityLiving entityliving) { super.setLastDamager(entityliving); diff --git a/src/main/java/net/minecraft/server/EntityPillager.java b/src/main/java/net/minecraft/server/EntityPillager.java -index 0357c9da9..98a657cec 100644 +index 0357c9da93..98a657cece 100644 --- a/src/main/java/net/minecraft/server/EntityPillager.java +++ b/src/main/java/net/minecraft/server/EntityPillager.java @@ -13,15 +13,34 @@ public class EntityPillager extends EntityIllagerAbstract implements ICrossbow, @@ -3358,7 +3358,7 @@ index 0357c9da9..98a657cec 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)); diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index fe1e9ea61..51bae05ec 100644 +index fe1e9ea616..51bae05ec9 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1313,6 +1313,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -3378,7 +3378,7 @@ index fe1e9ea61..51bae05ec 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java -index f8e29a02d..0a3906bde 100644 +index f8e29a02d3..0a3906bde0 100644 --- a/src/main/java/net/minecraft/server/EntityPolarBear.java +++ b/src/main/java/net/minecraft/server/EntityPolarBear.java @@ -17,6 +17,23 @@ public class EntityPolarBear extends EntityAnimal { @@ -3470,7 +3470,7 @@ index f8e29a02d..0a3906bde 100644 public d() { diff --git a/src/main/java/net/minecraft/server/EntityPufferFish.java b/src/main/java/net/minecraft/server/EntityPufferFish.java -index 98af9a223..d0e3e251e 100644 +index 98af9a2235..d0e3e251e1 100644 --- a/src/main/java/net/minecraft/server/EntityPufferFish.java +++ b/src/main/java/net/minecraft/server/EntityPufferFish.java @@ -17,6 +17,23 @@ public class EntityPufferFish extends EntityFish { @@ -3507,7 +3507,7 @@ index 98af9a223..d0e3e251e 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index 2ed2d0b6b..9040ab1c5 100644 +index 2ed2d0b6bb..9040ab1c54 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java @@ -26,9 +26,27 @@ public class EntityRabbit extends EntityAnimal { @@ -3662,7 +3662,7 @@ index 2ed2d0b6b..9040ab1c5 100644 this.d = flag; } diff --git a/src/main/java/net/minecraft/server/EntityRavager.java b/src/main/java/net/minecraft/server/EntityRavager.java -index fd25ce102..98d182a4c 100644 +index fd25ce1026..98d182a4ce 100644 --- a/src/main/java/net/minecraft/server/EntityRavager.java +++ b/src/main/java/net/minecraft/server/EntityRavager.java @@ -20,14 +20,33 @@ public class EntityRavager extends EntityRaider { @@ -3700,7 +3700,7 @@ index fd25ce102..98d182a4c 100644 this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(4, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); diff --git a/src/main/java/net/minecraft/server/EntitySalmon.java b/src/main/java/net/minecraft/server/EntitySalmon.java -index 6be29f307..189515b0f 100644 +index 6be29f3078..189515b0ff 100644 --- a/src/main/java/net/minecraft/server/EntitySalmon.java +++ b/src/main/java/net/minecraft/server/EntitySalmon.java @@ -6,6 +6,23 @@ public class EntitySalmon extends EntityFishSchool { @@ -3728,7 +3728,7 @@ index 6be29f307..189515b0f 100644 public int es() { return 5; diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java -index f63528ca3..43eefa46c 100644 +index f63528ca3e..43eefa46c2 100644 --- a/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java @@ -55,10 +55,28 @@ public class EntitySheep extends EntityAnimal { @@ -3761,7 +3761,7 @@ index f63528ca3..43eefa46c 100644 this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D)); this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false)); diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java -index 0d2ceff6f..46379588c 100644 +index 0d2ceff6f2..46379588c1 100644 --- a/src/main/java/net/minecraft/server/EntityShulker.java +++ b/src/main/java/net/minecraft/server/EntityShulker.java @@ -32,6 +32,23 @@ public class EntityShulker extends EntityGolem implements IMonster { @@ -3811,7 +3811,7 @@ index 0d2ceff6f..46379588c 100644 @Override public boolean a() { diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java -index 08c2a22f7..dff20567b 100644 +index 08c2a22f7a..dff20567b3 100644 --- a/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java @@ -11,13 +11,32 @@ public class EntitySilverfish extends EntityMonster { @@ -3856,7 +3856,7 @@ index 08c2a22f7..dff20567b 100644 public void g() { diff --git a/src/main/java/net/minecraft/server/EntitySkeleton.java b/src/main/java/net/minecraft/server/EntitySkeleton.java -index 0e78d5c62..8e6efeb7b 100644 +index 0e78d5c62c..8e6efeb7b7 100644 --- a/src/main/java/net/minecraft/server/EntitySkeleton.java +++ b/src/main/java/net/minecraft/server/EntitySkeleton.java @@ -6,6 +6,23 @@ public class EntitySkeleton extends EntitySkeletonAbstract { @@ -3884,7 +3884,7 @@ index 0e78d5c62..8e6efeb7b 100644 protected SoundEffect getSoundAmbient() { return SoundEffects.ENTITY_SKELETON_AMBIENT; diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index 3c95c0428..8bc4e8515 100644 +index 3c95c0428b..8bc4e85156 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -28,12 +28,14 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -3903,7 +3903,7 @@ index 3c95c0428..8bc4e8515 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true)); diff --git a/src/main/java/net/minecraft/server/EntitySkeletonStray.java b/src/main/java/net/minecraft/server/EntitySkeletonStray.java -index 2eb53864f..a930fb840 100644 +index 2eb53864f2..a930fb8401 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonStray.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonStray.java @@ -8,6 +8,23 @@ public class EntitySkeletonStray extends EntitySkeletonAbstract { @@ -3931,7 +3931,7 @@ index 2eb53864f..a930fb840 100644 return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition)); } diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java -index 98e042424..8aa0a6699 100644 +index 98e042424c..8aa0a6699f 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java @@ -9,6 +9,23 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract { @@ -3959,7 +3959,7 @@ index 98e042424..8aa0a6699 100644 protected SoundEffect getSoundAmbient() { return SoundEffects.ENTITY_WITHER_SKELETON_AMBIENT; diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index 2efc18df9..1469e3b23 100644 +index 2efc18df94..1469e3b23c 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -32,12 +32,31 @@ public class EntitySlime extends EntityInsentient implements IMonster { @@ -4036,7 +4036,7 @@ index 2efc18df9..1469e3b23 100644 } else { this.h = ControllerMove.Operation.WAIT; diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java -index dee55c5de..65d746899 100644 +index dee55c5dea..65d7468997 100644 --- a/src/main/java/net/minecraft/server/EntitySnowman.java +++ b/src/main/java/net/minecraft/server/EntitySnowman.java @@ -13,12 +13,31 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity { @@ -4098,7 +4098,7 @@ index dee55c5de..65d746899 100644 } diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java -index d02db5659..d3708a7b0 100644 +index d02db56595..d3708a7b0e 100644 --- a/src/main/java/net/minecraft/server/EntitySpider.java +++ b/src/main/java/net/minecraft/server/EntitySpider.java @@ -11,14 +11,33 @@ public class EntitySpider extends EntityMonster { @@ -4136,7 +4136,7 @@ index d02db5659..d3708a7b0 100644 this.targetSelector.a(2, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityHuman.class)); this.targetSelector.a(3, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityIronGolem.class)); diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index 92efe4e7f..b967135ac 100644 +index 92efe4e7f5..b967135ac3 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -25,10 +25,28 @@ public class EntitySquid extends EntityWaterAnimal { @@ -4245,7 +4245,7 @@ index 92efe4e7f..b967135ac 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityTameableAnimal.java b/src/main/java/net/minecraft/server/EntityTameableAnimal.java -index 9b2eea71c..d55c6cb33 100644 +index 9b2eea71cc..d55c6cb339 100644 --- a/src/main/java/net/minecraft/server/EntityTameableAnimal.java +++ b/src/main/java/net/minecraft/server/EntityTameableAnimal.java @@ -135,6 +135,7 @@ public abstract class EntityTameableAnimal extends EntityAnimal { @@ -4257,7 +4257,7 @@ index 9b2eea71c..d55c6cb33 100644 return entityliving == this.getOwner(); } diff --git a/src/main/java/net/minecraft/server/EntityTropicalFish.java b/src/main/java/net/minecraft/server/EntityTropicalFish.java -index ef8f373be..992978463 100644 +index ef8f373bea..992978463d 100644 --- a/src/main/java/net/minecraft/server/EntityTropicalFish.java +++ b/src/main/java/net/minecraft/server/EntityTropicalFish.java @@ -19,6 +19,23 @@ public class EntityTropicalFish extends EntityFishSchool { @@ -4285,7 +4285,7 @@ index ef8f373be..992978463 100644 protected void initDatawatcher() { super.initDatawatcher(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index b24a5100b..469549206 100644 +index b24a5100b4..4695492068 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -27,6 +27,23 @@ public class EntityTurtle extends EntityAnimal { @@ -4433,7 +4433,7 @@ index b24a5100b..469549206 100644 if (this.h == ControllerMove.Operation.MOVE_TO && !this.i.getNavigation().m()) { double d0 = this.b - this.i.locX(); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 0f04bcc8b..5a7494947 100644 +index 0f04bcc8b7..5a7494947c 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -259,6 +259,12 @@ public class EntityTypes { @@ -4450,7 +4450,7 @@ index 0f04bcc8b..5a7494947 100644 if (this.bg == null) { this.bg = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this)); diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java -index cf274666c..d919f44ab 100644 +index cf274666c7..d919f44ab8 100644 --- a/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java @@ -19,6 +19,50 @@ public class EntityVex extends EntityMonster { @@ -4564,7 +4564,7 @@ index cf274666c..d919f44ab 100644 Vec3D vec3d = new Vec3D(this.b - EntityVex.this.locX(), this.c - EntityVex.this.locY(), this.d - EntityVex.this.locZ()); double d0 = vec3d.f(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 7da267d28..5b0de0d9d 100644 +index 7da267d287..5b0de0d9d8 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -68,6 +68,28 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -4597,7 +4597,7 @@ index 7da267d28..5b0de0d9d 100644 public BehaviorController getBehaviorController() { return (BehaviorController) super.getBehaviorController(); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index 2ad8dba5c..4e9c5e84a 100644 +index 2ad8dba5c0..4e9c5e84a9 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java @@ -20,6 +20,23 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -4633,7 +4633,7 @@ index 2ad8dba5c..4e9c5e84a 100644 this.goalSelector.a(1, new PathfinderGoalAvoidTarget<>(this, EntityZombie.class, 8.0F, 0.5D, 0.5D)); this.goalSelector.a(1, new PathfinderGoalAvoidTarget<>(this, EntityEvoker.class, 12.0F, 0.5D, 0.5D)); diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index c974c02e9..6ba920134 100644 +index c974c02e92..6ba920134a 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -17,14 +17,33 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -4671,7 +4671,7 @@ index c974c02e9..6ba920134 100644 this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index 1432d3f6b..447387bd7 100644 +index 1432d3f6bf..447387bd78 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -24,6 +24,23 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { @@ -4714,7 +4714,7 @@ index 1432d3f6b..447387bd7 100644 this.targetSelector.a(2, this.bz); this.targetSelector.a(3, this.bA); diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index 2f466af4d..8c1fa3717 100644 +index 2f466af4d5..8c1fa37178 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -18,7 +18,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity { @@ -4847,7 +4847,7 @@ index 2f466af4d..8c1fa3717 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java -index eec1e26b6..47f0b2df6 100644 +index eec1e26b6e..47f0b2df6c 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -30,10 +30,28 @@ public class EntityWolf extends EntityTameableAnimal { @@ -5021,7 +5021,7 @@ index eec1e26b6..47f0b2df6 100644 private final EntityWolf j; diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 07ebc1d81..8d1f04415 100644 +index 6989c04696..bfc14e0fc9 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -44,11 +44,30 @@ public class EntityZombie extends EntityMonster { @@ -5056,7 +5056,7 @@ index 07ebc1d81..8d1f04415 100644 } diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java -index da8446d05..db252ba4e 100644 +index da8446d05d..db252ba4e0 100644 --- a/src/main/java/net/minecraft/server/EntityZombieHusk.java +++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java @@ -8,6 +8,23 @@ public class EntityZombieHusk extends EntityZombie { @@ -5084,7 +5084,7 @@ index da8446d05..db252ba4e 100644 return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition)); } diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index 8082fa617..ebbfcb75a 100644 +index b1818d269a..3f73ef332a 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -25,6 +25,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo @@ -5112,7 +5112,7 @@ index 8082fa617..ebbfcb75a 100644 protected void initDatawatcher() { super.initDatawatcher(); diff --git a/src/main/java/net/minecraft/server/FoodInfo.java b/src/main/java/net/minecraft/server/FoodInfo.java -index b35fe21a6..5b0f35c73 100644 +index b35fe21a6d..5b0f35c730 100644 --- a/src/main/java/net/minecraft/server/FoodInfo.java +++ b/src/main/java/net/minecraft/server/FoodInfo.java @@ -30,6 +30,7 @@ public class FoodInfo { @@ -5124,7 +5124,7 @@ index b35fe21a6..5b0f35c73 100644 return this.c; } diff --git a/src/main/java/net/minecraft/server/ItemDye.java b/src/main/java/net/minecraft/server/ItemDye.java -index da49f6e5a..7b5d60264 100644 +index da49f6e5ae..7b5d602649 100644 --- a/src/main/java/net/minecraft/server/ItemDye.java +++ b/src/main/java/net/minecraft/server/ItemDye.java @@ -42,6 +42,7 @@ public class ItemDye extends Item { @@ -5136,7 +5136,7 @@ index da49f6e5a..7b5d60264 100644 return this.b; } diff --git a/src/main/java/net/minecraft/server/MathHelper.java b/src/main/java/net/minecraft/server/MathHelper.java -index c4aa38ddf..3d52a396e 100644 +index c4aa38ddf1..3d52a396e6 100644 --- a/src/main/java/net/minecraft/server/MathHelper.java +++ b/src/main/java/net/minecraft/server/MathHelper.java @@ -263,6 +263,7 @@ public class MathHelper { @@ -5156,7 +5156,7 @@ index c4aa38ddf..3d52a396e 100644 return f1 + f * (f2 - f1); } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java -index e07c7674a..3c077b687 100644 +index e07c7674a5..3c077b6870 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java @@ -4,8 +4,8 @@ import java.util.EnumSet; @@ -5179,7 +5179,7 @@ index e07c7674a..3c077b687 100644 this.a.a(-1); } else if (this.a.h((Entity) this.b) > 49.0D) { diff --git a/src/main/java/net/minecraft/server/ProjectileHelper.java b/src/main/java/net/minecraft/server/ProjectileHelper.java -index 1b796ba5b..7dbe3500e 100644 +index 1b796ba5b3..7dbe3500e9 100644 --- a/src/main/java/net/minecraft/server/ProjectileHelper.java +++ b/src/main/java/net/minecraft/server/ProjectileHelper.java @@ -15,6 +15,7 @@ public final class ProjectileHelper { @@ -5191,7 +5191,7 @@ index 1b796ba5b..7dbe3500e 100644 return a(entity, flag, false, (Entity) null, raytrace_blockcollisionoption, false, predicate, axisalignedbb); } diff --git a/src/main/java/net/minecraft/server/Vec3D.java b/src/main/java/net/minecraft/server/Vec3D.java -index c2e4b5e8d..3838b3b3a 100644 +index c2e4b5e8dc..3838b3b3a5 100644 --- a/src/main/java/net/minecraft/server/Vec3D.java +++ b/src/main/java/net/minecraft/server/Vec3D.java @@ -27,6 +27,7 @@ public class Vec3D implements IPosition { @@ -5219,7 +5219,7 @@ index c2e4b5e8d..3838b3b3a 100644 return new Vec3D(this.x * d0, this.y * d1, this.z * d2); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index bdb12d16f..ad3b81a11 100644 +index 4d615578d5..ffbca43018 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1020,6 +1020,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -5230,7 +5230,7 @@ index bdb12d16f..ad3b81a11 100644 public boolean a(AxisAlignedBB axisalignedbb, Material material) { int i = MathHelper.floor(axisalignedbb.minX); int j = MathHelper.f(axisalignedbb.maxX); -@@ -1665,4 +1666,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1667,4 +1668,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @Override public BiomeManager d() { return this.biomeManager; } @@ -5242,7 +5242,7 @@ index bdb12d16f..ad3b81a11 100644 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index eda37fa43..69f99a993 100644 +index eda37fa43f..69f99a993d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -64,4 +64,603 @@ public class PurpurWorldConfig { @@ -5851,7 +5851,7 @@ index eda37fa43..69f99a993 100644 } diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java new file mode 100644 -index 000000000..828e1b873 +index 0000000000..828e1b8730 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java @@ -0,0 +1,75 @@ @@ -5932,7 +5932,7 @@ index 000000000..828e1b873 +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java new file mode 100644 -index 000000000..0a5d6d46c +index 0000000000..0a5d6d46c2 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java @@ -0,0 +1,86 @@ @@ -6024,7 +6024,7 @@ index 000000000..0a5d6d46c +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java new file mode 100644 -index 000000000..349125070 +index 0000000000..3491250704 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java @@ -0,0 +1,53 @@ @@ -6083,7 +6083,7 @@ index 000000000..349125070 +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java new file mode 100644 -index 000000000..f75375936 +index 0000000000..f753759361 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlyingWithSpacebar.java @@ -0,0 +1,61 @@ @@ -6150,7 +6150,7 @@ index 000000000..f75375936 +} diff --git a/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java new file mode 100644 -index 000000000..e75e58067 +index 0000000000..e75e580670 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDWater.java @@ -0,0 +1,43 @@ @@ -6199,7 +6199,7 @@ index 000000000..e75e58067 +} diff --git a/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java new file mode 100644 -index 000000000..7189cc569 +index 0000000000..7189cc569f --- /dev/null +++ b/src/main/java/net/pl3x/purpur/entity/DolphinSpit.java @@ -0,0 +1,119 @@ @@ -6324,7 +6324,7 @@ index 000000000..7189cc569 +} diff --git a/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java new file mode 100644 -index 000000000..f9e680efd +index 0000000000..f9e680efd2 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java @@ -0,0 +1,126 @@ @@ -6456,7 +6456,7 @@ index 000000000..f9e680efd +} diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java new file mode 100644 -index 000000000..6e50344c0 +index 0000000000..6e50344c07 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java @@ -0,0 +1,21 @@ @@ -6483,7 +6483,7 @@ index 000000000..6e50344c0 +} diff --git a/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java new file mode 100644 -index 000000000..9bb9da22a +index 0000000000..9bb9da22aa --- /dev/null +++ b/src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHorseHasRider.java @@ -0,0 +1,21 @@ @@ -6509,7 +6509,7 @@ index 000000000..9bb9da22a + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5a7b714cc..ab414917d 100644 +index 5a7b714cca..ab414917d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1089,4 +1089,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -6545,7 +6545,7 @@ index 5a7b714cc..ab414917d 100644 + // Purpur end } diff --git a/src/main/resources/purpur.lang b/src/main/resources/purpur.lang -index 0967ef424..7125c0477 100644 +index 0967ef424b..7125c0477e 100644 --- a/src/main/resources/purpur.lang +++ b/src/main/resources/purpur.lang @@ -1 +1,3 @@ diff --git a/patches/server/0010-Logger-settings-suppressing-pointless-logs.patch b/patches/server/0010-Logger-settings-suppressing-pointless-logs.patch index bfe45183b..57f932694 100644 --- a/patches/server/0010-Logger-settings-suppressing-pointless-logs.patch +++ b/patches/server/0010-Logger-settings-suppressing-pointless-logs.patch @@ -1,4 +1,4 @@ -From ff8ebf864e0f3f5d70b43bfbe7353e347897442b Mon Sep 17 00:00:00 2001 +From c5227c4906cc6401135baf07951bb2d88a267c9e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 19 Oct 2019 00:52:12 -0500 Subject: [PATCH] Logger settings (suppressing pointless logs) @@ -12,10 +12,10 @@ Subject: [PATCH] Logger settings (suppressing pointless logs) 5 files changed, 15 insertions(+) diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java -index c41e13847..44331cea7 100644 +index 4d12edf4f3..a8c9db1c6a 100644 --- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java +++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java -@@ -162,6 +162,7 @@ public class AdvancementDataPlayer { +@@ -166,6 +166,7 @@ public class AdvancementDataPlayer { if (advancement == null) { // CraftBukkit start if (entry.getKey().getNamespace().equals("minecraft")) { @@ -24,7 +24,7 @@ index c41e13847..44331cea7 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/GenericAttributes.java b/src/main/java/net/minecraft/server/GenericAttributes.java -index 469e293c2..ca58302cf 100644 +index 469e293c25..ca58302cf7 100644 --- a/src/main/java/net/minecraft/server/GenericAttributes.java +++ b/src/main/java/net/minecraft/server/GenericAttributes.java @@ -79,6 +79,7 @@ public class GenericAttributes { @@ -36,7 +36,7 @@ index 469e293c2..ca58302cf 100644 } else { a(attributeinstance, nbttagcompound); diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureConfigured.java b/src/main/java/net/minecraft/server/WorldGenFeatureConfigured.java -index 73402f2b5..1c2320cc5 100644 +index 73402f2b5a..1c2320cc54 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureConfigured.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureConfigured.java @@ -47,6 +47,7 @@ public class WorldGenFeatureConfigured(WorldGenerator.NO_OP, WorldGenFeatureEmptyConfiguration.e); } diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 2673de821..d6f82d119 100644 +index 2673de8212..d6f82d119e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -128,6 +128,17 @@ public class PurpurConfig { @@ -70,7 +70,7 @@ index 2673de821..d6f82d119 100644 getString("settings.timings.url", "https://timings.pl3x.net"); } diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java -index 049e9f98d..1d179cd5b 100644 +index 049e9f98de..1d179cd5bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java @@ -254,6 +254,7 @@ public final class CraftLegacy { diff --git a/patches/server/0033-Signs-allow-color-codes.patch b/patches/server/0033-Signs-allow-color-codes.patch index efcfbcd15..5df42cd53 100644 --- a/patches/server/0033-Signs-allow-color-codes.patch +++ b/patches/server/0033-Signs-allow-color-codes.patch @@ -1,4 +1,4 @@ -From 724e01f51f459443dd24030bbe0e7d73f142ac3d Mon Sep 17 00:00:00 2001 +From 2048ad4e2a5a38809dedaeeae5c1560b8ebe75b1 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 6 Jun 2019 17:40:30 -0500 Subject: [PATCH] Signs allow color codes @@ -11,7 +11,7 @@ Subject: [PATCH] Signs allow color codes 4 files changed, 26 insertions(+) diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 51bae05ec..b781aa3ae 100644 +index 51bae05ec9..b781aa3ae0 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1153,6 +1153,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -23,10 +23,10 @@ index 51bae05ec..b781aa3ae 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index e0da3a13b..8a5059b4f 100644 +index 67d3b4a7dc..2f422f9f30 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2646,6 +2646,14 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2649,6 +2649,14 @@ public class PlayerConnection implements PacketListenerPlayIn { } } // Paper end @@ -42,7 +42,7 @@ index e0da3a13b..8a5059b4f 100644 } SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines); diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index 099d98e04..4cdbb6409 100644 +index 099d98e04c..4cdbb6409d 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -89,6 +89,21 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // @@ -68,7 +68,7 @@ index 099d98e04..4cdbb6409 100644 @Override public PacketPlayOutTileEntityData getUpdatePacket() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f8992136a..94744c78b 100644 +index f8992136a7..94744c78ba 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -76,8 +76,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0044-Make-the-GUI-better.patch b/patches/server/0044-Make-the-GUI-better.patch index b7b71f05a..0530328c0 100644 --- a/patches/server/0044-Make-the-GUI-better.patch +++ b/patches/server/0044-Make-the-GUI-better.patch @@ -1,4 +1,4 @@ -From c7bf2097ea8720ae860d8ad95a6a989a91094161 Mon Sep 17 00:00:00 2001 +From 17f243f6f3221fc2cbb5066608ea0a87bbc71138 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 16 Jan 2020 14:59:16 -0600 Subject: [PATCH] Make the GUI better @@ -40,7 +40,7 @@ Subject: [PATCH] Make the GUI better create mode 100644 src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 3190c709a..7f2db5f0b 100644 +index 3190c709af..7f2db5f0b0 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -8,6 +8,8 @@ import com.mojang.authlib.GameProfileRepository; @@ -88,10 +88,10 @@ index 3190c709a..7f2db5f0b 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 28d92cbce..da8c98356 100644 +index e0db0cb1fd..dfd4a7ec06 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1435,6 +1435,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 23 Jul 2019 10:07:16 -0500 Subject: [PATCH] Implement lagging threshold @@ -10,7 +10,7 @@ Subject: [PATCH] Implement lagging threshold 3 files changed, 14 insertions(+) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index da8c98356..3568e076e 100644 +index dfd4a7ec06..a5387c20ae 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -184,6 +184,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 11 Oct 2019 00:17:39 -0500 Subject: [PATCH] Alternative Keepalive Handling @@ -10,7 +10,7 @@ Subject: [PATCH] Alternative Keepalive Handling 3 files changed, 33 insertions(+) diff --git a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java -index 8e93f1540..470f92c4f 100644 +index 8e93f1540b..470f92c4fb 100644 --- a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java +++ b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java @@ -22,6 +22,7 @@ public class PacketPlayInKeepAlive implements Packet { @@ -22,7 +22,7 @@ index 8e93f1540..470f92c4f 100644 return this.a; } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 148beb1b6..82faee937 100644 +index 576b3c5940..f7babe1af6 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -75,6 +75,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -55,7 +55,7 @@ index 148beb1b6..82faee937 100644 if (this.isPendingPing()) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info -@@ -2683,6 +2699,17 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2686,6 +2702,17 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInKeepAlive packetplayinkeepalive) { @@ -74,7 +74,7 @@ index 148beb1b6..82faee937 100644 if (this.awaitingKeepAlive && packetplayinkeepalive.b() == this.h) { int i = (int) (SystemUtils.getMonotonicMillis() - this.lastKeepAlive); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 72ad9dce7..ed2a31277 100644 +index 72ad9dce7d..ed2a312773 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -144,6 +144,11 @@ public class PurpurConfig { diff --git a/patches/server/0068-Add-5-second-tps-average-in-tps.patch b/patches/server/0068-Add-5-second-tps-average-in-tps.patch index 29867e50e..612327b19 100644 --- a/patches/server/0068-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0068-Add-5-second-tps-average-in-tps.patch @@ -1,4 +1,4 @@ -From e803339774dfdcd4aa5f27f6dcb231bd5932704b Mon Sep 17 00:00:00 2001 +From d8cee4758248a1461a20216641d26422f15f3250 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 28 Jul 2019 01:27:37 -0500 Subject: [PATCH] Add 5 second tps average in /tps @@ -10,7 +10,7 @@ Subject: [PATCH] Add 5 second tps average in /tps 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3568e076e..f23fdd5f2 100644 +index a5387c20ae..555b4920c3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -183,7 +183,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 19 Oct 2019 01:42:50 -0500 Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases @@ -9,10 +9,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ad3b81a11..b24191d81 100644 +index ffbca43018..25818bf900 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1472,8 +1472,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1474,8 +1474,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return blockposition; } @@ -25,7 +25,7 @@ index ad3b81a11..b24191d81 100644 public boolean a(EntityHuman entityhuman, BlockPosition blockposition) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3d27028e8..85922aaa9 100644 +index 8b50034361..bf3e24fc99 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -391,12 +391,16 @@ public class CraftWorld implements World { diff --git a/patches/server/0088-UPnP-Port-Forwarding-Service.patch b/patches/server/0088-UPnP-Port-Forwarding-Service.patch index f5db87def..ccb82a635 100644 --- a/patches/server/0088-UPnP-Port-Forwarding-Service.patch +++ b/patches/server/0088-UPnP-Port-Forwarding-Service.patch @@ -1,4 +1,4 @@ -From cbe470f55a4b73c26d920e28b5a34244ccbfb9cf Mon Sep 17 00:00:00 2001 +From dd1db1bb351658ef5b4dd5dbf1e1640b172e7d05 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Wed, 22 Jan 2020 20:13:40 -0600 Subject: [PATCH] UPnP Port Forwarding Service @@ -14,7 +14,7 @@ Subject: [PATCH] UPnP Port Forwarding Service create mode 100644 src/main/java/net/pl3x/purpur/gui/info/UPnPComponent.java diff --git a/pom.xml b/pom.xml -index 097c736bc..adf7f78da 100644 +index 097c736bc3..adf7f78dab 100644 --- a/pom.xml +++ b/pom.xml @@ -55,6 +55,12 @@ @@ -42,7 +42,7 @@ index 097c736bc..adf7f78da 100644 diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 7f2db5f0b..5cfb6fd3d 100644 +index 7f2db5f0b0..5cfb6fd3d6 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -242,6 +242,31 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -78,7 +78,7 @@ index 7f2db5f0b..5cfb6fd3d 100644 // this.a((PlayerList) (new DedicatedPlayerList(this))); // Spigot - moved up server.loadPlugins(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f23fdd5f2..d9e5eda9b 100644 +index 555b4920c3..94e1ca897c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -187,6 +187,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 18 Feb 2020 20:07:08 -0600 Subject: [PATCH] Add option to disable saving projectiles to disk @@ -15,10 +15,10 @@ Subject: [PATCH] Add option to disable saving projectiles to disk 8 files changed, 58 insertions(+) diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 20b6b58bd..6278b8d45 100644 +index c848ae0683..35651a62c6 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -@@ -476,6 +476,7 @@ public class ChunkRegionLoader { +@@ -490,6 +490,7 @@ public class ChunkRegionLoader { while (iterator1.hasNext()) { Entity entity = (Entity) iterator1.next(); @@ -27,7 +27,7 @@ index 20b6b58bd..6278b8d45 100644 // Paper start if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 92b77ce34..4fb6a3fd7 100644 +index 92b77ce34a..4fb6a3fd71 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1775,6 +1775,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -44,7 +44,7 @@ index 92b77ce34..4fb6a3fd7 100644 String s = this.getSaveID(); diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index e66f6b300..ae44f878f 100644 +index e66f6b3006..ae44f878ff 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -68,6 +68,13 @@ public abstract class EntityArrow extends Entity implements IProjectile { @@ -62,7 +62,7 @@ index e66f6b300..ae44f878f 100644 this.av = soundeffect; } diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java -index 7ebd7da1c..74f8257ec 100644 +index 7ebd7da1c5..74f8257ecd 100644 --- a/src/main/java/net/minecraft/server/EntityEnderSignal.java +++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java @@ -19,6 +19,13 @@ public class EntityEnderSignal extends Entity { @@ -80,7 +80,7 @@ index 7ebd7da1c..74f8257ec 100644 if (itemstack.getItem() != Items.ENDER_EYE || itemstack.hasTag()) { this.getDataWatcher().set(EntityEnderSignal.b, SystemUtils.a(itemstack.cloneItemStack(), (itemstack1) -> { // Purpur - decompile error diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java -index 5c3731f68..ce3168e5d 100644 +index 5c3731f68a..ce3168e5de 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java @@ -21,6 +21,13 @@ public class EntityFireworks extends Entity implements IProjectile { @@ -98,7 +98,7 @@ index 5c3731f68..ce3168e5d 100644 @Override public void inactiveTick() { diff --git a/src/main/java/net/minecraft/server/EntityLlamaSpit.java b/src/main/java/net/minecraft/server/EntityLlamaSpit.java -index b7a92e100..b95ee50a4 100644 +index b7a92e1002..b95ee50a4e 100644 --- a/src/main/java/net/minecraft/server/EntityLlamaSpit.java +++ b/src/main/java/net/minecraft/server/EntityLlamaSpit.java @@ -19,6 +19,13 @@ public class EntityLlamaSpit extends Entity implements IProjectile { @@ -116,7 +116,7 @@ index b7a92e100..b95ee50a4 100644 public void tick() { super.tick(); diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index f5c8074dc..674f2ccc7 100644 +index f5c8074dcf..674f2ccc7f 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java @@ -35,6 +35,13 @@ public abstract class EntityProjectile extends Entity implements IProjectile { @@ -134,7 +134,7 @@ index f5c8074dc..674f2ccc7 100644 float f5 = -MathHelper.sin(f1 * 0.017453292F) * MathHelper.cos(f * 0.017453292F); float f6 = -MathHelper.sin((f + f2) * 0.017453292F); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d4b4dfdd3..51585a7d8 100644 +index d4b4dfdd3b..51585a7d80 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -164,6 +164,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0098-Configurable-server-mod-name.patch b/patches/server/0098-Configurable-server-mod-name.patch index 44494ee5f..e984375f8 100644 --- a/patches/server/0098-Configurable-server-mod-name.patch +++ b/patches/server/0098-Configurable-server-mod-name.patch @@ -1,4 +1,4 @@ -From 9fd9d6cc9145840f9407ba06cac930d39d480d94 Mon Sep 17 00:00:00 2001 +From 5afee15fe9e9eb080b3588c71e600c7370d6ddaa Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 21 Mar 2020 11:47:39 -0500 Subject: [PATCH] Configurable server mod name @@ -9,10 +9,10 @@ Subject: [PATCH] Configurable server mod name 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d9e5eda9b..d91d3a82c 100644 +index 94e1ca897c..591b0457b4 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1648,7 +1648,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Thu, 26 Mar 2020 19:06:22 -0500 Subject: [PATCH] Configurable TPS Catchup @@ -9,10 +9,10 @@ Subject: [PATCH] Configurable TPS Catchup 2 files changed, 12 insertions(+) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d91d3a82c..40da7a05c 100644 +index 591b0457b4..e457909961 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -988,6 +988,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 2 May 2020 20:55:44 -0500 Subject: [PATCH] Player invulnerabilities @@ -12,7 +12,7 @@ Subject: [PATCH] Player invulnerabilities 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 3e0e49dbb..e73b33721 100644 +index 3e0e49dbb6..e73b337219 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -137,6 +137,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -75,10 +75,10 @@ index 3e0e49dbb..e73b33721 100644 public Scoreboard getScoreboard() { return getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 82faee937..86715ff3c 100644 +index f7babe1af6..1490b0367c 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1548,6 +1548,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1551,6 +1551,7 @@ public class PlayerConnection implements PacketListenerPlayIn { PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer()); // Paper start PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()]; @@ -87,7 +87,7 @@ index 82faee937..86715ff3c 100644 this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus)); // Paper end diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index af2cdbf4d..5cacea602 100644 +index 815e64afbe..fa3d672b8f 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -828,6 +828,8 @@ public abstract class PlayerList { @@ -100,7 +100,7 @@ index af2cdbf4d..5cacea602 100644 return entityplayer1; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index efdc176e6..81969d2dc 100644 +index efdc176e64..81969d2dc9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -209,6 +209,8 @@ public class PurpurWorldConfig { @@ -122,7 +122,7 @@ index efdc176e6..81969d2dc 100644 playerSleepCondition = getString("gameplay-mechanics.player.sleep.condition", playerSleepCondition); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e15c12387..137699c3e 100644 +index e15c123878..137699c3e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2102,5 +2102,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0124-YAPFA-Disable-mojang-profiler.patch b/patches/server/0124-YAPFA-Disable-mojang-profiler.patch index 5152957eb..580220dea 100644 --- a/patches/server/0124-YAPFA-Disable-mojang-profiler.patch +++ b/patches/server/0124-YAPFA-Disable-mojang-profiler.patch @@ -1,4 +1,4 @@ -From 1b1a21c1dc6b4bbfbe85b0743ee29c22385882f9 Mon Sep 17 00:00:00 2001 +From 4389a089cff8d154ad33e185b1e3537558bd03da Mon Sep 17 00:00:00 2001 From: tr7zw Date: Thu, 5 Mar 2020 23:08:01 +0100 Subject: [PATCH] YAPFA - Disable mojang profiler @@ -13,7 +13,7 @@ Subject: [PATCH] YAPFA - Disable mojang profiler create mode 100644 src/main/java/net/pl3x/purpur/GameProfilerNoop.java diff --git a/src/main/java/net/minecraft/server/CommandDebug.java b/src/main/java/net/minecraft/server/CommandDebug.java -index f0d72ea39..e38a68406 100644 +index f0d72ea39d..e38a684060 100644 --- a/src/main/java/net/minecraft/server/CommandDebug.java +++ b/src/main/java/net/minecraft/server/CommandDebug.java @@ -22,6 +22,7 @@ public class CommandDebug { @@ -43,7 +43,7 @@ index f0d72ea39..e38a68406 100644 throw CommandDebug.b.create(); } else { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 40da7a05c..6928d2492 100644 +index e457909961..00ef619260 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -80,7 +80,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant