From 83d82e5cf301af4ebe99b1d686f0f99313975834 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Tue, 4 Aug 2020 16:08:06 -0500 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appears to apply and compile correctly Paper Changes: 9788250b1 Clean up a lot of obfuscation helpers and impls 58a745eba Fix scoreboard vanilla colors not working in chat --- Paper | 2 +- .../server/0001-Tuinity-Server-Changes.patch | 139 ++++++++---------- .../server/0058-Controllable-Minecarts.patch | 16 +- ...g-mends-most-damages-equipment-first.patch | 23 ++- .../0093-Configurable-jockey-options.patch | 18 +-- .../0097-Add-phantom-spawning-options.patch | 16 +- ...-Add-allow-water-in-end-world-option.patch | 4 +- patches/server/0104-Entity-lifespan.patch | 8 +- patches/server/0105-Ridables.patch | 12 +- ...ch => 0114-Fix-death-message-colors.patch} | 2 +- ...d-vanilla-colors-not-working-in-chat.patch | 19 --- ...-vanilla-scoreboard-colors-patch-to.patch} | 4 +- ...tch => 0116-Populator-seed-controls.patch} | 4 +- ...-Add-vindicator-johnny-spawn-chance.patch} | 0 ...t.patch => 0118-DragonEggPlaceEvent.patch} | 2 +- 15 files changed, 114 insertions(+), 155 deletions(-) rename patches/server/{0115-Fix-death-message-colors.patch => 0114-Fix-death-message-colors.patch} (98%) delete mode 100644 patches/server/0114-Fix-scoreboard-vanilla-colors-not-working-in-chat.patch rename patches/server/{0116-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch => 0115-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch} (97%) rename patches/server/{0117-Populator-seed-controls.patch => 0116-Populator-seed-controls.patch} (98%) rename patches/server/{0118-Add-vindicator-johnny-spawn-chance.patch => 0117-Add-vindicator-johnny-spawn-chance.patch} (100%) rename patches/server/{0119-DragonEggPlaceEvent.patch => 0118-DragonEggPlaceEvent.patch} (97%) diff --git a/Paper b/Paper index 3cf2c52d9..9788250b1 160000 --- a/Paper +++ b/Paper @@ -1 +1 @@ -Subproject commit 3cf2c52d9559d450acd19af42e5ba539f16b3851 +Subproject commit 9788250b1090713057c6ca39827f52c463fee11c diff --git a/patches/server/0001-Tuinity-Server-Changes.patch b/patches/server/0001-Tuinity-Server-Changes.patch index 766565cc1..9f3d0cf4b 100644 --- a/patches/server/0001-Tuinity-Server-Changes.patch +++ b/patches/server/0001-Tuinity-Server-Changes.patch @@ -1623,19 +1623,19 @@ index ed9b2f9adf..d54bf71409 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/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 1842e69839..dab89b0c69 100644 +index 3b0c8971c6..4816493c6a 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -16,9 +16,9 @@ public class BaseBlockPosition implements Comparable { return IntStream.of(new int[]{baseblockposition.getX(), baseblockposition.getY(), baseblockposition.getZ()}); }); public static final BaseBlockPosition ZERO = new BaseBlockPosition(0, 0, 0); -- private int a; -- private int b; -- private int e; -+ protected int a; // Tuinity - private->protected - diff on change, this is the x coordinate -+ protected int b; // Tuinity - private->protected - diff on change, this is the y coordinate -+ protected int e; // Tuinity - private->protected - diff on change, this is the z coordinate +- private int a;public final void setX(final int x) { this.a = x; } // Paper - OBFHELPER +- private int b;public final void setY(final int y) { this.b = y; } // Paper - OBFHELPER +- private int e;public final void setZ(final int z) { this.e = z; } // Paper - OBFHELPER ++ protected int a;public final void setX(final int x) { this.a = x; } // Paper - OBFHELPER // Tuinity - private->protected ++ protected int b;public final void setY(final int y) { this.b = y; } // Paper - OBFHELPER // Tuinity - private->protected ++ protected int e;public final void setZ(final int z) { this.e = z; } // Paper - OBFHELPER // Tuinity - private->protected // Paper start public boolean isValidLocation() { @@ -1682,7 +1682,7 @@ index db198811dd..52ebdfcc03 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.j != null) { this.m = biomebase_a.a; diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java -index ff770a3b0e..12027ecad7 100644 +index 7b0cc78334..a53e096515 100644 --- a/src/main/java/net/minecraft/server/BlockBase.java +++ b/src/main/java/net/minecraft/server/BlockBase.java @@ -176,8 +176,8 @@ public abstract class BlockBase { @@ -1902,19 +1902,17 @@ index 4bf66420f5..bf76615d72 100644 @Override diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 8c2a4b57ab..7ff4948a47 100644 +index a2ee39b7ef..7bdefff433 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java -@@ -386,11 +386,11 @@ public class BlockPosition extends BaseBlockPosition { - return super.a(enumblockrotation).immutableCopy(); +@@ -387,10 +387,10 @@ public class BlockPosition extends BaseBlockPosition { } -- public BlockPosition.MutableBlockPosition setValues(int i, int j, int k) { return d(i, j, k);} // Paper - OBFHELPER + public final BlockPosition.MutableBlockPosition setValues(int i, int j, int k) { return d(i, j, k);} // Paper - OBFHELPER - public BlockPosition.MutableBlockPosition d(int i, int j, int k) { - this.o(i); - this.p(j); - this.q(k); -+ public final BlockPosition.MutableBlockPosition setValues(int i, int j, int k) { return d(i, j, k);} // Paper - OBFHELPER // Tuinity + public final BlockPosition.MutableBlockPosition d(int i, int j, int k) { // Tuinity + ((BaseBlockPosition)this).a = i; // Tuinity - force inline + ((BaseBlockPosition)this).b = j; // Tuinity - force inline @@ -1959,52 +1957,35 @@ index 8c2a4b57ab..7ff4948a47 100644 } public BlockPosition.MutableBlockPosition c(EnumDirection enumdirection, int i) { -@@ -445,22 +454,31 @@ public class BlockPosition extends BaseBlockPosition { +@@ -445,21 +454,19 @@ public class BlockPosition extends BaseBlockPosition { } } -- public final void setX(final int x) { super.o(x); } // Paper - OBFHELPER +- /* // Paper start - comment out useless overrides @Override - @Override -- public void o(int i) { -- super.o(i); + // Tuinity start -+ public final void setX(int value) { -+ ((BaseBlockPosition)this).a = value; -+ } -+ public final void setY(int value) { -+ ((BaseBlockPosition)this).b = value; + public void o(int i) { +- super.o(i); ++ setX(i); } -+ public final void setZ(int value) { -+ ((BaseBlockPosition)this).e = value; -+ } + +- @Override + public void p(int i) { +- super.p(i); ++ setY(i); + } + + public void q(int i) { +- super.q(i); ++ setZ(i); + } +- */ // Paper end + // Tuinity end -- public final void setY(final int y) { super.p(y); } // Paper - OBFHELPER -- @Override -- public void p(int i) { -- super.p(i); -+ // Tuinity - moved up -+ public final void o(int i) { // Tuinity -+ ((BaseBlockPosition)this).a = i; // need cast thanks to name conflict - } - -- public final void setZ(final int z) { super.q(z); } // Paper - OBFHELPER -- @Override -- public void q(int i) { -- super.q(i); -+ // Tuinity - moved up -+ public final void p(int i) { // Tuinity -+ ((BaseBlockPosition)this).b = i; // Tuinity -+ } -+ -+ // Tuinity - moved up -+ public final void q(int i) { // Tuinity -+ ((BaseBlockPosition)this).e = i; // Tuinity - } - @Override + public BlockPosition immutableCopy() { diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 84dc89d961..09b8f9a3f6 100644 +index 7e8e154733..9d313fdefe 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -375,7 +375,7 @@ public class Chunk implements IChunkAccess { @@ -2112,7 +2093,7 @@ index 84dc89d961..09b8f9a3f6 100644 int j = MathHelper.floor((axisalignedbb.maxY + 2.0D) / 16.0D); diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index 893c0085bc..d83d3b54d3 100644 +index eaed04f786..25086275f4 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 { @@ -2740,7 +2721,7 @@ index ac58fcb798..742c59cb05 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 8d45588ecf..4ab7419855 100644 +index 3588fe1001..cf54336b86 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -96,6 +96,7 @@ public class ChunkSection { @@ -2752,7 +2733,7 @@ index 8d45588ecf..4ab7419855 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 36c2651229..dd8a3dc4fe 100644 +index 7948b915bf..7e32a2eab9 100644 --- a/src/main/java/net/minecraft/server/ChunkStatus.java +++ b/src/main/java/net/minecraft/server/ChunkStatus.java @@ -109,7 +109,7 @@ public class ChunkStatus { @@ -2774,7 +2755,7 @@ index 36c2651229..dd8a3dc4fe 100644 } diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java -index 235c9ec37c..dba3c407c1 100644 +index e65fe633f5..ed817893e6 100644 --- a/src/main/java/net/minecraft/server/DataBits.java +++ b/src/main/java/net/minecraft/server/DataBits.java @@ -52,6 +52,7 @@ public class DataBits { @@ -2802,7 +2783,7 @@ index 235c9ec37c..dba3c407c1 100644 //Validate.inclusiveBetween(0L, (long) (this.e - 1), (long) i); // Paper int j = this.b(i); diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 1cb45f97b6..e60ad41b22 100644 +index 95ef962868..73163b417a 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -163,6 +163,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { @@ -2839,7 +2820,7 @@ index 550232cb38..229c3b0f0c 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 9c4b02d776..3db19a9bab 100644 +index 5a8bcd91dc..db62601ea7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -3118,7 +3099,7 @@ index 9c4b02d776..3db19a9bab 100644 int j = MathHelper.floor(d1); int k = MathHelper.floor(d2); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b5c595a4b5..8a773d7de4 100644 +index 1a61bc7c8a..b114346837 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2832,7 +2832,11 @@ public abstract class EntityLiving extends Entity { @@ -3364,7 +3345,7 @@ index b98e60772b..e0bbfe1422 100644 while (objectiterator.hasNext()) { entry = (Entry) objectiterator.next(); diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index e9cedbc8b6..a29d54c775 100644 +index 87810f007a..8238306d9b 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 { @@ -3389,7 +3370,7 @@ index e9cedbc8b6..a29d54c775 100644 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 67a6fc68c6..bb54a4aa71 100644 +index 3130c68e73..d6b1cb8c48 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -987,7 +987,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant> { @@ -4022,7 +4003,7 @@ index c14cdb6024..8ec21eb955 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 0c70689f52..5fecf514ee 100644 +index 5c5ee28f23..46d8beae87 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -119,31 +119,28 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @@ -4132,7 +4113,7 @@ index 0c70689f52..5fecf514ee 100644 } // Paper start - Chunk Prioritization public void queueHolderUpdate(PlayerChunk playerchunk) { -@@ -754,6 +780,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -753,6 +779,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { @Nullable private PlayerChunk a(long i, int j, @Nullable PlayerChunk playerchunk, int k) { @@ -4140,7 +4121,7 @@ index 0c70689f52..5fecf514ee 100644 if (k > PlayerChunkMap.GOLDEN_TICKET && j > PlayerChunkMap.GOLDEN_TICKET) { return playerchunk; } else { -@@ -776,6 +803,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -775,6 +802,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { playerchunk.a(j); } else { playerchunk = new PlayerChunk(new ChunkCoordIntPair(i), j, this.lightEngine, this.p, this); @@ -4148,7 +4129,7 @@ index 0c70689f52..5fecf514ee 100644 } this.updatingChunks.put(i, playerchunk); -@@ -967,7 +995,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -966,7 +994,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } com.destroystokyo.paper.io.PaperFileIOThread.Holder.INSTANCE.scheduleSave(this.world, chunkPos.x, chunkPos.z, @@ -4157,7 +4138,7 @@ index 0c70689f52..5fecf514ee 100644 if (!chunk.isNeedsSaving()) { return; -@@ -1001,7 +1029,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1000,7 +1028,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { asyncSaveData = ChunkRegionLoader.getAsyncSaveData(this.world, chunk); } @@ -4166,7 +4147,7 @@ index 0c70689f52..5fecf514ee 100644 asyncSaveData, chunk); chunk.setLastSaved(this.world.getTime()); -@@ -1040,6 +1068,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1039,6 +1067,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.lightEngine.a(ichunkaccess.getPos()); this.lightEngine.queueUpdate(); this.worldLoadListener.a(ichunkaccess.getPos(), (ChunkStatus) null); @@ -4174,7 +4155,7 @@ index 0c70689f52..5fecf514ee 100644 } } -@@ -1056,6 +1085,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1055,6 +1084,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } protected boolean b() { @@ -4182,7 +4163,7 @@ index 0c70689f52..5fecf514ee 100644 if (!this.updatingChunksModified) { return false; } else { -@@ -1243,7 +1273,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1242,7 +1272,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } // Paper end this.mailboxWorldGen.a(ChunkTaskQueueSorter.a(playerchunk, runnable)); @@ -4194,7 +4175,7 @@ index 0c70689f52..5fecf514ee 100644 } protected void c(ChunkCoordIntPair chunkcoordintpair) { -@@ -1495,6 +1528,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1494,6 +1527,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } public void setViewDistance(int i) { // Paper - public @@ -4202,7 +4183,7 @@ index 0c70689f52..5fecf514ee 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) { -@@ -1508,6 +1542,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1507,6 +1541,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // Paper start - no-tick view distance public final void setNoTickViewDistance(int viewDistance) { @@ -4210,7 +4191,7 @@ index 0c70689f52..5fecf514ee 100644 viewDistance = viewDistance == -1 ? -1 : MathHelper.clamp(viewDistance, 2, 32); this.noTickViewDistance = viewDistance; -@@ -2034,23 +2069,20 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -2033,23 +2068,20 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private final void processTrackQueue() { this.world.timings.tracker1.startTiming(); try { @@ -4245,7 +4226,7 @@ index 0c70689f52..5fecf514ee 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 19be6a93cf..bf603ba34f 100644 +index 84b9c31cc1..82a5658425 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -322,19 +322,24 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -4569,7 +4550,7 @@ index 3b03c28ee5..6ac9f437e8 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 93797395c3..6928b1730f 100644 +index 939b518266..7f2382a895 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 { @@ -6293,7 +6274,7 @@ index 1fa7061f7a..52aee91d2d 100644 return voxelshape != b() && voxelshape1 != b() ? (voxelshape.isEmpty() && voxelshape1.isEmpty() ? false : !c(b(), b(voxelshape, voxelshape1, OperatorBoolean.OR), OperatorBoolean.ONLY_FIRST)) : true; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 5f81997db7..4a956f3681 100644 +index a173d2562e..21f34b82f0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -94,6 +94,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @@ -6370,7 +6351,7 @@ index 5f81997db7..4a956f3681 100644 IBlockData iblockdata = newBlock; IBlockData iblockdata1 = oldBlock; IBlockData iblockdata2 = actualBlock; -@@ -941,6 +970,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -936,6 +965,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return; // Paper end } @@ -6378,7 +6359,7 @@ index 5f81997db7..4a956f3681 100644 } // Paper start - Prevent armor stands from doing entity lookups @Override -@@ -1036,7 +1066,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1031,7 +1061,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { while (iterator.hasNext()) { TileEntity tileentity1 = (TileEntity) iterator.next(); @@ -6387,7 +6368,7 @@ index 5f81997db7..4a956f3681 100644 tileentity1.an_(); iterator.remove(); } -@@ -1125,6 +1155,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1120,6 +1150,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public List getHardCollidingEntities(@Nullable Entity entity, AxisAlignedBB axisalignedbb, Predicate predicate) { // copied from below List list = Lists.newArrayList(); @@ -6399,7 +6380,7 @@ index 5f81997db7..4a956f3681 100644 int i = MathHelper.floor((axisalignedbb.minX - 2.0D) / 16.0D); int j = MathHelper.floor((axisalignedbb.maxX + 2.0D) / 16.0D); int k = MathHelper.floor((axisalignedbb.minZ - 2.0D) / 16.0D); -@@ -1148,8 +1183,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1143,8 +1178,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable { @Override public List getEntities(@Nullable Entity entity, AxisAlignedBB axisalignedbb, @Nullable Predicate predicate) { @@ -7441,7 +7422,7 @@ index 6282a05ae8..d434bd93bc 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 ca0ca5e407..e8bbe1545e 100644 +index ca0ca5e407..87e634482d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -336,6 +336,14 @@ public class CraftWorld implements World { @@ -7479,7 +7460,7 @@ index ca0ca5e407..e8bbe1545e 100644 org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot if (isChunkLoaded(x, z)) { world.getChunkProvider().removeTicket(TicketType.PLUGIN, new ChunkCoordIntPair(x, z), 0, Unit.INSTANCE); // Paper -+ ((ChunkMapDistance)world.getChunkProvider().playerChunkMap.getChunkMapDistanceManager()).removeTickets(ChunkCoordIntPair.pair(x, z), TicketType.DELAYED_UNLOAD); // Tuinity - delay chunk unloads - let plugins override ++ ((ChunkMapDistance)world.getChunkProvider().playerChunkMap.chunkDistanceManager).removeTickets(ChunkCoordIntPair.pair(x, z), TicketType.DELAYED_UNLOAD); // Tuinity - delay chunk unloads - let plugins override } return true; diff --git a/patches/server/0058-Controllable-Minecarts.patch b/patches/server/0058-Controllable-Minecarts.patch index 429d71cd2..6c1c0d0f7 100644 --- a/patches/server/0058-Controllable-Minecarts.patch +++ b/patches/server/0058-Controllable-Minecarts.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Controllable Minecarts diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 7ff4948a4..82f3f275d 100644 +index 7bdefff433..a90ade6897 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java -@@ -33,6 +33,12 @@ public class BlockPosition extends BaseBlockPosition { - private static final int l = BlockPosition.h; - private static final int m = BlockPosition.h + BlockPosition.g; +@@ -35,6 +35,12 @@ public class BlockPosition extends BaseBlockPosition { + private static final int m = 38; + // Paper end + // Purpur start + public BlockPosition(Entity entity) { @@ -22,7 +22,7 @@ index 7ff4948a4..82f3f275d 100644 super(i, j, k); } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 653071979..581b50a0f 100644 +index 85899e385a..efb997bcf3 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -98,9 +98,9 @@ public abstract class EntityLiving extends Entity { @@ -39,7 +39,7 @@ index 653071979..581b50a0f 100644 protected double bc; protected double bd; diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 6e038905e..cdbe1a32e 100644 +index 6e038905ea..cdbe1a32e0 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -432,12 +432,50 @@ public abstract class EntityMinecartAbstract extends Entity { @@ -94,7 +94,7 @@ index 6e038905e..cdbe1a32e 100644 this.setMot(new Vec3D(this.getMot().x * this.derailedX, this.getMot().y * this.derailedY, this.getMot().z * this.derailedZ)); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java -index dc7decb06..0da16c200 100644 +index dc7decb060..0da16c2006 100644 --- a/src/main/java/net/minecraft/server/ItemMinecart.java +++ b/src/main/java/net/minecraft/server/ItemMinecart.java @@ -103,8 +103,10 @@ public class ItemMinecart extends Item { @@ -119,7 +119,7 @@ index dc7decb06..0da16c200 100644 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 70e504ff3..276131adc 100644 +index 70e504ff30..276131adc7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -1,5 +1,7 @@ diff --git a/patches/server/0086-Mending-mends-most-damages-equipment-first.patch b/patches/server/0086-Mending-mends-most-damages-equipment-first.patch index 377d9dcb9..264d4a97b 100644 --- a/patches/server/0086-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0086-Mending-mends-most-damages-equipment-first.patch @@ -5,13 +5,14 @@ Subject: [PATCH] Mending mends most damages equipment first diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java -index 92ceb8bb7..1acfea287 100644 +index 7a4768c32c..b3e03e5c09 100644 --- a/src/main/java/net/minecraft/server/EnchantmentManager.java +++ b/src/main/java/net/minecraft/server/EnchantmentManager.java -@@ -251,9 +251,33 @@ public class EnchantmentManager { +@@ -251,7 +251,30 @@ public class EnchantmentManager { return getEnchantmentLevel(Enchantments.CHANNELING, itemstack) > 0; } +- public static @javax.annotation.Nonnull ItemStack getRandomEquippedItemWithEnchant(Enchantment enchantment, EntityLiving entityliving) { Entry entry = b(enchantment, entityliving); return entry != null ? entry.getValue() : ItemStack.NULL_ITEM; } // Paper - OBFHELPER + // Purpur start + @Nullable + public static Entry getMostDamagedEquipment(Enchantment enchantment, EntityLiving entityliving) { @@ -35,16 +36,12 @@ index 92ceb8bb7..1acfea287 100644 + } + // Purpur end + - // Paper - OBFHELPER - public static @javax.annotation.Nonnull ItemStack getRandomEquippedItemWithEnchant(Enchantment enchantment, EntityLiving entityliving) { -- Entry entry = b(enchantment, entityliving); -+ Entry entry = enchantment == Enchantments.MENDING && entityliving.world.purpurConfig.useBetterMending ? getMostDamagedEquipment(enchantment, entityliving) : b(enchantment, entityliving); // Purpur -+ - return entry != null ? entry.getValue() : ItemStack.NULL_ITEM; - } - @Nullable ++ public static @javax.annotation.Nonnull ItemStack getRandomEquippedItemWithEnchant(Enchantment enchantment, EntityLiving entityliving) { Entry entry = enchantment == Enchantments.MENDING && entityliving.world.purpurConfig.useBetterMending ? getMostDamagedEquipment(enchantment, entityliving) : b(enchantment, entityliving); return entry != null ? entry.getValue() : ItemStack.NULL_ITEM; } // Paper - OBFHELPER + @Nullable public static Entry b(Enchantment enchantment, EntityLiving entityliving) { + return a(enchantment, entityliving, (itemstack) -> { + return true; diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 2396b4d6f..0124fa547 100644 +index f01a8743ab..1b53fd43bb 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -220,7 +220,7 @@ public class EntityExperienceOrb extends Entity { @@ -57,7 +54,7 @@ index 2396b4d6f..0124fa547 100644 if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index c246942ce..d40c7ce09 100644 +index c246942ce8..d40c7ce09c 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -418,10 +418,19 @@ public final class ItemStack { @@ -81,7 +78,7 @@ index c246942ce..d40c7ce09 100644 return this.tag == null ? 0 : this.tag.getInt("Damage"); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 15e2d9dd0..993ad17ec 100644 +index 15e2d9dd0f..993ad17eca 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -110,6 +110,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0093-Configurable-jockey-options.patch b/patches/server/0093-Configurable-jockey-options.patch index 1ad981ad5..426b1eed3 100644 --- a/patches/server/0093-Configurable-jockey-options.patch +++ b/patches/server/0093-Configurable-jockey-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable jockey options diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java -index e6425bdf1..6fc8d1213 100644 +index e6425bdf1a..6fc8d1213a 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 { @@ -33,7 +33,7 @@ index e6425bdf1..6fc8d1213 100644 protected void m() { this.goalSelector.a(1, new EntityDrowned.c(this, 1.0D)); diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java -index a69c3897c..fdd13b2ba 100644 +index a69c3897c2..fdd13b2ba6 100644 --- a/src/main/java/net/minecraft/server/EntityPigZombie.java +++ b/src/main/java/net/minecraft/server/EntityPigZombie.java @@ -21,6 +21,23 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable { @@ -61,7 +61,7 @@ index a69c3897c..fdd13b2ba 100644 public void setAngerTarget(@Nullable UUID uuid) { this.by = uuid; diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 00b89746f..9f117b20e 100644 +index 661111e502..d8fb6afa6a 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -3,6 +3,7 @@ package net.minecraft.server; @@ -93,7 +93,7 @@ index 00b89746f..9f117b20e 100644 @Override protected void initPathfinder() { if (world.purpurConfig.zombieTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Purpur -@@ -460,19 +475,20 @@ public class EntityZombie extends EntityMonster { +@@ -459,19 +474,20 @@ public class EntityZombie extends EntityMonster { if (object instanceof EntityZombie.GroupDataZombie) { EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object; @@ -120,7 +120,7 @@ index 00b89746f..9f117b20e 100644 EntityChicken entitychicken1 = (EntityChicken) EntityTypes.CHICKEN.a(this.world); entitychicken1.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F); -@@ -480,6 +496,7 @@ public class EntityZombie extends EntityMonster { +@@ -479,6 +495,7 @@ public class EntityZombie extends EntityMonster { entitychicken1.setChickenJockey(true); this.startRiding(entitychicken1); generatoraccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit @@ -128,7 +128,7 @@ index 00b89746f..9f117b20e 100644 } } } -@@ -582,7 +599,7 @@ public class EntityZombie extends EntityMonster { +@@ -581,7 +598,7 @@ public class EntityZombie extends EntityMonster { public static class GroupDataZombie implements GroupDataEntity { @@ -138,7 +138,7 @@ index 00b89746f..9f117b20e 100644 public GroupDataZombie(boolean flag, boolean flag1) { diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java -index 143b9123e..2daff8562 100644 +index 143b9123e0..2daff85620 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 { @@ -166,7 +166,7 @@ index 143b9123e..2daff8562 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 9b920332b..cd796f5b8 100644 +index 9b920332bd..cd796f5b86 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -27,6 +27,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo @@ -194,7 +194,7 @@ index 9b920332b..cd796f5b8 100644 protected void initDatawatcher() { super.initDatawatcher(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9de724686..3e067c832 100644 +index 9de7246862..3e067c832f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -258,6 +258,15 @@ public class PurpurWorldConfig { diff --git a/patches/server/0097-Add-phantom-spawning-options.patch b/patches/server/0097-Add-phantom-spawning-options.patch index 07a09afc8..1930bfa7d 100644 --- a/patches/server/0097-Add-phantom-spawning-options.patch +++ b/patches/server/0097-Add-phantom-spawning-options.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add phantom spawning options diff --git a/src/main/java/net/minecraft/server/DifficultyDamageScaler.java b/src/main/java/net/minecraft/server/DifficultyDamageScaler.java -index 75745af34..84c0ec1b5 100644 +index 75745af343..84c0ec1b50 100644 --- a/src/main/java/net/minecraft/server/DifficultyDamageScaler.java +++ b/src/main/java/net/minecraft/server/DifficultyDamageScaler.java @@ -13,6 +13,7 @@ public class DifficultyDamageScaler { @@ -25,7 +25,7 @@ index 75745af34..84c0ec1b5 100644 return this.b > f; } diff --git a/src/main/java/net/minecraft/server/EnumDifficulty.java b/src/main/java/net/minecraft/server/EnumDifficulty.java -index e0e72779c..386eae71a 100644 +index e0e72779c0..386eae71a1 100644 --- a/src/main/java/net/minecraft/server/EnumDifficulty.java +++ b/src/main/java/net/minecraft/server/EnumDifficulty.java @@ -19,6 +19,7 @@ public enum EnumDifficulty { @@ -37,7 +37,7 @@ index e0e72779c..386eae71a 100644 return this.f; } diff --git a/src/main/java/net/minecraft/server/IBlockLightAccess.java b/src/main/java/net/minecraft/server/IBlockLightAccess.java -index 3f187f349..c678e6fe9 100644 +index 3f187f3494..c678e6fe96 100644 --- a/src/main/java/net/minecraft/server/IBlockLightAccess.java +++ b/src/main/java/net/minecraft/server/IBlockLightAccess.java @@ -12,6 +12,7 @@ public interface IBlockLightAccess extends IBlockAccess { @@ -49,7 +49,7 @@ index 3f187f349..c678e6fe9 100644 return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.H(); } diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java -index bf4fa1710..ac1ea2f0c 100644 +index bf4fa17101..ac1ea2f0c1 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java +++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java @@ -1,85 +1,99 @@ @@ -221,7 +221,7 @@ index bf4fa1710..ac1ea2f0c 100644 } } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 0a25523f3..e8637244c 100644 +index 0a25523f3c..e8637244ce 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -385,6 +385,7 @@ public final class SpawnerCreature { @@ -233,10 +233,10 @@ index 0a25523f3..e8637244c 100644 return iblockdata.r(iblockaccess, blockposition) ? false : (iblockdata.isPowerSource() ? false : (!fluid.isEmpty() ? false : (iblockdata.a((Tag) TagsBlock.PREVENT_MOB_SPAWNING_INSIDE) ? false : !entitytypes.a(iblockdata)))); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ad58307f1..d4abe2d9c 100644 +index dd5a80c769..e6c03ffc2f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1501,6 +1501,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1496,6 +1496,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { return new DifficultyDamageScaler(this.getDifficulty(), this.getDayTime(), i, f); } @@ -245,7 +245,7 @@ index ad58307f1..d4abe2d9c 100644 public int c() { return this.d; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e6b41ab92..80d772e02 100644 +index e6b41ab924..80d772e021 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -329,10 +329,34 @@ public class PurpurWorldConfig { diff --git a/patches/server/0101-Add-allow-water-in-end-world-option.patch b/patches/server/0101-Add-allow-water-in-end-world-option.patch index 2c706f0a0..deb57fe2b 100644 --- a/patches/server/0101-Add-allow-water-in-end-world-option.patch +++ b/patches/server/0101-Add-allow-water-in-end-world-option.patch @@ -49,10 +49,10 @@ index 120bf8436f..848a185c04 100644 return true; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ac54b1df11..60ae7117f8 100644 +index 7bcc852100..4682de9f11 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1573,4 +1573,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { +@@ -1568,4 +1568,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public final boolean isDebugWorld() { return this.debugWorld; } diff --git a/patches/server/0104-Entity-lifespan.patch b/patches/server/0104-Entity-lifespan.patch index ee0fe826a..9b7ea5caa 100644 --- a/patches/server/0104-Entity-lifespan.patch +++ b/patches/server/0104-Entity-lifespan.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 8def5fbfb..d447eb796 100644 +index 2a60f08530..e276a59203 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -53,7 +53,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -82,7 +82,7 @@ index 8def5fbfb..d447eb796 100644 } @Override -@@ -1513,7 +1545,7 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -1511,7 +1543,7 @@ public abstract class EntityInsentient extends EntityLiving { this.a((EntityLiving) this, entity); this.z(entity); } @@ -92,7 +92,7 @@ index 8def5fbfb..d447eb796 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 194256e51..cb2358872 100644 +index f3694b065f..786ffacb2d 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -2135,6 +2135,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -104,7 +104,7 @@ index 194256e51..cb2358872 100644 event = new PlayerInteractEntityEvent((Player) this.getPlayer(), entity.getBukkitEntity(), (packetplayinuseentity.c() == EnumHand.OFF_HAND) ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND); } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2f5bc77e0..4e8a6992a 100644 +index 2f5bc77e03..4e8a6992ab 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -101,6 +101,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0105-Ridables.patch b/patches/server/0105-Ridables.patch index 2da2f7f53..e774d6742 100644 --- a/patches/server/0105-Ridables.patch +++ b/patches/server/0105-Ridables.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ridables diff --git a/src/main/java/net/minecraft/server/ControllerMove.java b/src/main/java/net/minecraft/server/ControllerMove.java -index ac6f9d9e52..d874b177b4 100644 +index 6393ff765f..9515926b22 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 { @@ -22,7 +22,7 @@ index ac6f9d9e52..d874b177b4 100644 public ControllerMove(EntityInsentient entityinsentient) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2d49816311..d14e4b1eef 100644 +index ae26a83873..446ba7b232 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -1126,7 +1126,7 @@ index 0e23aa91d5..892ba2e59a 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 d447eb7960..4d56c97347 100644 +index e276a59203..9cab9e43a6 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -67,8 +67,8 @@ public abstract class EntityInsentient extends EntityLiving { @@ -1172,7 +1172,7 @@ index d447eb7960..4d56c97347 100644 } public boolean ew() { -@@ -1591,4 +1595,45 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -1589,4 +1593,45 @@ public abstract class EntityInsentient extends EntityLiving { this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit this.unleash(true, false); } @@ -1270,7 +1270,7 @@ index ab0731c2a0..2da50ef495 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 4a8dd3010e..ab64c04919 100644 +index d11e3369d8..2e3c0250b8 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -458,7 +458,7 @@ public abstract class EntityLiving extends Entity { @@ -2425,7 +2425,7 @@ index 28adbbebd1..c0b5476ff7 100644 this.eM(); } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 9f117b20e2..5189795ce6 100644 +index d8fb6afa6a..9620368426 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -46,6 +46,16 @@ public class EntityZombie extends EntityMonster { diff --git a/patches/server/0115-Fix-death-message-colors.patch b/patches/server/0114-Fix-death-message-colors.patch similarity index 98% rename from patches/server/0115-Fix-death-message-colors.patch rename to patches/server/0114-Fix-death-message-colors.patch index 787bcf76a..4b08f808c 100644 --- a/patches/server/0115-Fix-death-message-colors.patch +++ b/patches/server/0114-Fix-death-message-colors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix death message colors diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ef6ac7929..2c45fd0b7 100644 +index 5c74bbdc4e..e9a3dc4e27 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -662,7 +662,24 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/patches/server/0114-Fix-scoreboard-vanilla-colors-not-working-in-chat.patch b/patches/server/0114-Fix-scoreboard-vanilla-colors-not-working-in-chat.patch deleted file mode 100644 index fc2084e8c..000000000 --- a/patches/server/0114-Fix-scoreboard-vanilla-colors-not-working-in-chat.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Sun, 19 Jul 2020 13:32:00 -0500 -Subject: [PATCH] Fix scoreboard vanilla colors not working in chat - - -diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index cb2358872..bc4a4ee2c 100644 ---- a/src/main/java/net/minecraft/server/PlayerConnection.java -+++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1930,7 +1930,7 @@ public class PlayerConnection implements PacketListenerPlayIn { - if (this.player.getWorld().paperConfig.useVanillaScoreboardColoring) { - IChatBaseComponent nameFromTeam = ScoreboardTeam.a(this.player.getScoreboardTeam(), ((CraftPlayer) player).getHandle().getDisplayName()); - // Explicitly add a RESET here, vanilla uses components for this now... -- displayName = CraftChatMessage.fromComponent(nameFromTeam) + org.bukkit.ChatColor.RESET; -+ displayName = new net.md_5.bungee.api.chat.TextComponent(net.md_5.bungee.chat.ComponentSerializer.parse(IChatBaseComponent.ChatSerializer.componentToJson(nameFromTeam))).toLegacyText() + org.bukkit.ChatColor.RESET; // Purpur - } - - s = String.format(event.getFormat(), displayName, event.getMessage()); diff --git a/patches/server/0116-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch b/patches/server/0115-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch similarity index 97% rename from patches/server/0116-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch rename to patches/server/0115-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch index 62eda722b..9d3260810 100644 --- a/patches/server/0116-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch +++ b/patches/server/0115-Duplicate-paper-s-vanilla-scoreboard-colors-patch-to.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Duplicate paper's vanilla scoreboard colors patch to sync diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index bc4a4ee2c..706ae2bef 100644 +index 786ffacb2d..09d66c218f 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1895,7 +1895,15 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -33,5 +33,5 @@ index bc4a4ee2c..706ae2bef 100644 - IChatBaseComponent nameFromTeam = ScoreboardTeam.a(this.player.getScoreboardTeam(), ((CraftPlayer) player).getHandle().getDisplayName()); + IChatBaseComponent nameFromTeam = ScoreboardTeam.a(this.player.getScoreboardTeam(), this.player.getDisplayName()); // Purpur - why are we casting bukkit player back to nms player when we already have a nms player... // Explicitly add a RESET here, vanilla uses components for this now... - displayName = new net.md_5.bungee.api.chat.TextComponent(net.md_5.bungee.chat.ComponentSerializer.parse(IChatBaseComponent.ChatSerializer.componentToJson(nameFromTeam))).toLegacyText() + org.bukkit.ChatColor.RESET; // Purpur + displayName = new net.md_5.bungee.api.chat.TextComponent(net.md_5.bungee.chat.ComponentSerializer.parse(IChatBaseComponent.ChatSerializer.componentToJson(nameFromTeam))).toLegacyText() + org.bukkit.ChatColor.RESET; } diff --git a/patches/server/0117-Populator-seed-controls.patch b/patches/server/0116-Populator-seed-controls.patch similarity index 98% rename from patches/server/0117-Populator-seed-controls.patch rename to patches/server/0116-Populator-seed-controls.patch index 34aa01e3e..3d1a3b119 100644 --- a/patches/server/0117-Populator-seed-controls.patch +++ b/patches/server/0116-Populator-seed-controls.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Populator seed controls diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java -index 1c7b858ed..9257da968 100644 +index 1c7b858ed5..9257da9680 100644 --- a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java +++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java @@ -249,6 +249,11 @@ public final class TuinityConfig { @@ -41,7 +41,7 @@ index 1c7b858ed..9257da968 100644 } \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 9259ba1af..37359b1cd 100644 +index 9259ba1af5..37359b1cd2 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java @@ -350,6 +350,10 @@ public class BiomeBase { diff --git a/patches/server/0118-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0117-Add-vindicator-johnny-spawn-chance.patch similarity index 100% rename from patches/server/0118-Add-vindicator-johnny-spawn-chance.patch rename to patches/server/0117-Add-vindicator-johnny-spawn-chance.patch diff --git a/patches/server/0119-DragonEggPlaceEvent.patch b/patches/server/0118-DragonEggPlaceEvent.patch similarity index 97% rename from patches/server/0119-DragonEggPlaceEvent.patch rename to patches/server/0118-DragonEggPlaceEvent.patch index a9d587369..ae2b1ef1e 100644 --- a/patches/server/0119-DragonEggPlaceEvent.patch +++ b/patches/server/0118-DragonEggPlaceEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] DragonEggPlaceEvent diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java -index ecd6af04d4..1cdfedde58 100644 +index cff39b25a3..5f1afd76ce 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java @@ -359,7 +359,13 @@ public class EnderDragonBattle {