From d627cfa11033bb04c4f72ed85d4c18cea470631f Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 26 May 2019 02:56:30 +0100 Subject: [PATCH] Updated Upstream (CraftBukkit) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing CraftBukkit Changes: 17da3420 Fix reading custom persistent entity data 83783357 SPIGOT-4980: Shields will not be put on cooldown when hit with an axe 8d0f3722 SPIGOT-4752: Fixed inconsistency between isChunkLoaded and chunk load/unload events 3f9f31c3 SPIGOT-4982: Armor disappearing while breaking the armor stand --- Spigot-Server-Patches/0004-MC-Utils.patch | 60 ++++++------- ...-MinecraftKey-Information-to-Objects.patch | 14 ++-- ...to-current-Chunk-for-Entity-and-Bloc.patch | 22 ++--- ...ts-for-each-Entity-Block-Entity-Type.patch | 12 +-- Spigot-Server-Patches/0009-Timings-v2.patch | 84 +++++++++---------- ...ck-and-tnt-entities-at-the-specified.patch | 6 +- ...ve-invalid-mob-spawner-tile-entities.patch | 6 +- .../0023-Entity-Origin-API.patch | 22 ++--- ...nfigurable-top-of-nether-void-damage.patch | 10 +-- ...sition-the-first-time-an-entity-is-s.patch | 10 +-- .../0053-Add-exception-reporting-event.patch | 30 +++---- ...oreboards-for-non-players-by-default.patch | 8 +- .../0065-Add-World-Util-Methods.patch | 12 +-- ...069-Use-a-Shared-Random-for-Entities.patch | 6 +- ...Location-getType-and-getBlockData-fo.patch | 14 ++-- ...75-Configurable-Chunk-Inhabited-Time.patch | 8 +- ...5-Optional-TNT-doesn-t-move-in-water.patch | 12 +-- ...tion-to-remove-corrupt-tile-entities.patch | 8 +- ...to-control-if-armour-stands-can-move.patch | 8 +- ...llow-entities-to-ride-themselves-572.patch | 6 +- ...PI-for-Reason-Source-Triggering-play.patch | 36 ++++---- ...more-aggressive-in-the-chunk-unload-.patch | 6 +- .../0149-Do-not-let-armorstands-drown.patch | 8 +- .../0164-Entity-fromMobSpawner.patch | 12 +-- ...6-PlayerNaturallySpawnCreaturesEvent.patch | 6 +- ...ld.spawnParticle-API-and-add-Builder.patch | 8 +- ...Item-entities-with-World.spawnEntity.patch | 6 +- .../0242-Expand-Explosions-API.patch | 6 +- ...6-Implement-World.getEntity-UUID-API.patch | 6 +- ...-more-information-to-Entity.toString.patch | 6 +- ...ies-option-to-debug-dupe-uuid-issues.patch | 10 +-- .../0261-Don-t-save-Proto-Chunks.patch | 12 +-- ...-anytime-entities-change-to-guarante.patch | 8 +- ...dd-some-Debug-to-Chunk-Entity-slices.patch | 12 +-- ...ead-Entities-in-entityList-iteration.patch | 22 ++--- ...ile-Entities-from-a-chunk-without-sn.patch | 13 ++- ...Allow-disabling-armour-stand-ticking.patch | 10 +-- ...ets-from-world-player-list-not-serve.patch | 6 +- ...loadChunk-int-int-false-load-unconve.patch | 6 +- .../0303-Improve-death-events.patch | 26 +++--- ...arseException-in-Entity-and-TE-names.patch | 6 +- ...t-recheck-type-after-setting-a-block.patch | 6 +- .../0322-Add-sun-related-API.patch | 12 +-- ...33-Reset-players-airTicks-on-respawn.patch | 8 +- ...entity-dismount-during-teleportation.patch | 16 ++-- ...368-Add-LivingEntity-getTargetEntity.patch | 10 +-- .../0370-Entity-getEntitySpawnReason.patch | 10 +-- .../0387-Async-Chunk-placeholder.patch | 6 +- .../0394-Duplicate-UUID-Resolve-Option.patch | 16 ++-- ...395-improve-CraftWorld-isChunkLoaded.patch | 6 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 6 +- work/CraftBukkit | 2 +- 52 files changed, 346 insertions(+), 341 deletions(-) diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index f6de93dab..e5a6437e6 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,11 +1,11 @@ -From c823984a165a1eefe3a7387eb0816ed663a311bf Mon Sep 17 00:00:00 2001 +From 9efde2e55404cac29d18d2b973d0d7f86d26c018 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils diff --git a/src/main/java/net/minecraft/server/AttributeInstance.java b/src/main/java/net/minecraft/server/AttributeInstance.java -index 2f2b10364..b1900ba36 100644 +index 2f2b103641..b1900ba364 100644 --- a/src/main/java/net/minecraft/server/AttributeInstance.java +++ b/src/main/java/net/minecraft/server/AttributeInstance.java @@ -21,8 +21,10 @@ public interface AttributeInstance { @@ -20,7 +20,7 @@ index 2f2b10364..b1900ba36 100644 void b(UUID uuid); diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index dd47e9cbe..c927d524a 100644 +index dd47e9cbe4..c927d524a8 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -120,6 +120,7 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali @@ -57,10 +57,10 @@ index dd47e9cbe..c927d524a 100644 return this.d(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2)); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 0fe575349..aa13028d0 100644 +index ca73bfbd83..26414a07a2 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -32,7 +32,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent; +@@ -25,7 +25,7 @@ import org.apache.logging.log4j.Logger; public class Chunk implements IChunkAccess { private static final Logger LOGGER = LogManager.getLogger(); @@ -69,7 +69,7 @@ index 0fe575349..aa13028d0 100644 private final ChunkSection[] sections; private final BiomeBase[] d; private final Map e; -@@ -407,6 +407,7 @@ public class Chunk implements IChunkAccess { +@@ -400,6 +400,7 @@ public class Chunk implements IChunkAccess { return this.a(blockposition, Chunk.EnumTileEntityState.CHECK); } @@ -78,7 +78,7 @@ index 0fe575349..aa13028d0 100644 public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java -index 857b2f886..bbf136614 100644 +index 857b2f8868..bbf136614c 100644 --- a/src/main/java/net/minecraft/server/ChunkCoordIntPair.java +++ b/src/main/java/net/minecraft/server/ChunkCoordIntPair.java @@ -31,7 +31,9 @@ public class ChunkCoordIntPair { @@ -93,7 +93,7 @@ index 857b2f886..bbf136614 100644 } diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java -index 8bda05515..409dc837c 100644 +index 8bda055159..409dc837c6 100644 --- a/src/main/java/net/minecraft/server/DataBits.java +++ b/src/main/java/net/minecraft/server/DataBits.java @@ -82,6 +82,7 @@ public class DataBits { @@ -105,7 +105,7 @@ index 8bda05515..409dc837c 100644 return this.a; } diff --git a/src/main/java/net/minecraft/server/DataPalette.java b/src/main/java/net/minecraft/server/DataPalette.java -index 75ba69886..45403fbe3 100644 +index 75ba698868..45403fbe30 100644 --- a/src/main/java/net/minecraft/server/DataPalette.java +++ b/src/main/java/net/minecraft/server/DataPalette.java @@ -4,10 +4,12 @@ import javax.annotation.Nullable; @@ -122,7 +122,7 @@ index 75ba69886..45403fbe3 100644 T a(int i); diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 4411d5640..28a6be7ab 100644 +index 4411d5640a..28a6be7ab0 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -8,7 +8,7 @@ import java.util.stream.Collectors; @@ -164,7 +164,7 @@ index 4411d5640..28a6be7ab 100644 this.a(); packetdataserializer.writeByte(this.i); diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java -index 4f69e2327..8f5f61f60 100644 +index 4f69e23271..8f5f61f602 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -6,6 +6,8 @@ import org.bukkit.event.entity.EntityUnleashEvent; @@ -177,7 +177,7 @@ index 4f69e2327..8f5f61f60 100644 super(entitytypes, world); } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 472063264..afa03ce6f 100644 +index 0ca7cd31f4..113532a97b 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -143,6 +143,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -189,7 +189,7 @@ index 472063264..afa03ce6f 100644 // CraftBukkit start - fire event setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2b856727d..1a33b7048 100644 +index bd515c6264..d5ffa9f0f7 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -126,6 +126,7 @@ public abstract class EntityLiving extends Entity { @@ -201,7 +201,7 @@ index 2b856727d..1a33b7048 100644 @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java -index 6ab4c78b3..76142d5dc 100644 +index 6ab4c78b35..76142d5dc2 100644 --- a/src/main/java/net/minecraft/server/EntityMonster.java +++ b/src/main/java/net/minecraft/server/EntityMonster.java @@ -4,6 +4,7 @@ import java.util.function.Predicate; @@ -213,7 +213,7 @@ index 6ab4c78b3..76142d5dc 100644 super(entitytypes, world); this.f = 5; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 8c918d0d6..56a2d7df5 100644 +index 8c918d0d68..56a2d7df5e 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -5,6 +5,7 @@ import com.mojang.datafixers.types.Type; @@ -236,7 +236,7 @@ index 8c918d0d6..56a2d7df5 100644 } diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index 4510018d6..c0d511244 100644 +index 4510018d6f..c0d5112444 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java @@ -64,6 +64,15 @@ public abstract class IAsyncTaskHandler implements Mailbox> { @@ -707,7 +707,7 @@ index fe6854d0e..2db7229e9 100644 public QueuedPacket(Packet packet, @Nullable GenericFutureListener> genericfuturelistener) { this.a = packet; diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java -index db2fe836c..0d67676f7 100644 +index db2fe836c2..0d67676f7d 100644 --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java @@ -33,6 +33,7 @@ public class PacketDataSerializer extends ByteBuf { @@ -719,7 +719,7 @@ index db2fe836c..0d67676f7 100644 for (int j = 1; j < 5; ++j) { if ((i & -1 << j * 7) == 0) { diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java -index 90223deae..63c4dbd32 100644 +index 90223deae3..63c4dbd327 100644 --- a/src/main/java/net/minecraft/server/PacketEncoder.java +++ b/src/main/java/net/minecraft/server/PacketEncoder.java @@ -42,6 +42,7 @@ public class PacketEncoder extends MessageToByteEncoder> { @@ -731,7 +731,7 @@ index 90223deae..63c4dbd32 100644 throw new SkipEncodeException(throwable); } else { diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 4e20cfba4..363ab5da1 100644 +index 4e20cfba41..363ab5da12 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -14,7 +14,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -752,7 +752,7 @@ index 4e20cfba4..363ab5da1 100644 int j = 0; ChunkSection[] achunksection = chunk.getSections(); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 68926d0de..5757dd6fb 100644 +index 68926d0de6..5757dd6fb3 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -67,9 +67,9 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -769,7 +769,7 @@ index 68926d0de..5757dd6fb 100644 private volatile int chatThrottle; private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle"); diff --git a/src/main/java/net/minecraft/server/PlayerInventory.java b/src/main/java/net/minecraft/server/PlayerInventory.java -index a5dba62ca..a088658ae 100644 +index a5dba62caf..a088658ae0 100644 --- a/src/main/java/net/minecraft/server/PlayerInventory.java +++ b/src/main/java/net/minecraft/server/PlayerInventory.java @@ -17,7 +17,7 @@ public class PlayerInventory implements IInventory, INamableTileEntity { @@ -782,7 +782,7 @@ index a5dba62ca..a088658ae 100644 public final EntityHuman player; private ItemStack carried; diff --git a/src/main/java/net/minecraft/server/PotionUtil.java b/src/main/java/net/minecraft/server/PotionUtil.java -index b3824898d..bf4172be5 100644 +index b3824898da..bf4172be52 100644 --- a/src/main/java/net/minecraft/server/PotionUtil.java +++ b/src/main/java/net/minecraft/server/PotionUtil.java @@ -110,6 +110,7 @@ public class PotionUtil { @@ -794,7 +794,7 @@ index b3824898d..bf4172be5 100644 MinecraftKey minecraftkey = IRegistry.POTION.getKey(potionregistry); diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index 4efcb8b59..60948afa4 100644 +index 4efcb8b595..60948afa4e 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -57,6 +57,7 @@ public class RegistryBlockID implements Registry { @@ -806,7 +806,7 @@ index 4efcb8b59..60948afa4 100644 return this.b.size(); } diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java -index b3799ab56..5fae5a123 100644 +index b3799ab564..5fae5a1233 100644 --- a/src/main/java/net/minecraft/server/SystemUtils.java +++ b/src/main/java/net/minecraft/server/SystemUtils.java @@ -58,7 +58,7 @@ public class SystemUtils { @@ -819,7 +819,7 @@ index b3799ab56..5fae5a123 100644 public static long getTimeMillis() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 923d8e28e..404d3d8c8 100644 +index 923d8e28e7..404d3d8c82 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -371,8 +371,9 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -835,7 +835,7 @@ index 923d8e28e..404d3d8c8 100644 return this.setTypeAndData(blockposition, fluid.getBlockData(), 3 | (flag ? 64 : 0)); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 42f7bb0f7..5d71addb0 100644 +index 42f7bb0f7d..5d71addb0c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -85,6 +85,7 @@ public final class CraftItemStack extends ItemStack { diff --git a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch index 89226c613..4ee5abbc3 100644 --- a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch +++ b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch @@ -1,4 +1,4 @@ -From 22ba5b0307cfeb19431eb4c9f2ce97278f48c977 Mon Sep 17 00:00:00 2001 +From 32e02b9ab75edabd42a8e9302fd2d063c980542d Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 01:40:13 -0400 Subject: [PATCH] Add MinecraftKey Information to Objects @@ -6,7 +6,7 @@ Subject: [PATCH] Add MinecraftKey Information to Objects Stores the reference to the objects respective MinecraftKey diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index b5f318c00..ce190d88d 100644 +index b5f318c00d..ce190d88d6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -175,7 +175,7 @@ public class PaperCommand extends Command { @@ -19,7 +19,7 @@ index b5f318c00..ce190d88d 100644 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8371631db..033cddf8e 100644 +index ed4253a490..84ba4798f7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -49,7 +49,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; @@ -31,7 +31,7 @@ index 8371631db..033cddf8e 100644 // CraftBukkit start private static final int CURRENT_LEVEL = 2; -@@ -1677,12 +1677,31 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { +@@ -1682,12 +1682,31 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { return true; } @@ -65,7 +65,7 @@ index 8371631db..033cddf8e 100644 protected abstract void a(NBTTagCompound nbttagcompound); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 56a2d7df5..98eb0d24c 100644 +index 56a2d7df5e..98eb0d24cc 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java @@ -238,6 +238,7 @@ public class EntityTypes { @@ -78,7 +78,7 @@ index 56a2d7df5..98eb0d24c 100644 } diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java new file mode 100644 -index 000000000..743142d03 +index 0000000000..743142d030 --- /dev/null +++ b/src/main/java/net/minecraft/server/KeyedObject.java @@ -0,0 +1,9 @@ @@ -92,7 +92,7 @@ index 000000000..743142d03 + } +} diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 8d868d84c..b511fe263 100644 +index 8d868d84ca..b511fe263f 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -11,7 +11,7 @@ import org.bukkit.inventory.InventoryHolder; diff --git a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch index 120fd3824..b366e0d88 100644 --- a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch +++ b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch @@ -1,4 +1,4 @@ -From 850bdbebc31a1756bdcd70dfa677cd0f3a447262 Mon Sep 17 00:00:00 2001 +From b4105584eaa5975d541fae230fb5562c59bdc4ba Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:10:36 -0400 Subject: [PATCH] Store reference to current Chunk for Entity and Block @@ -8,10 +8,10 @@ This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index aa13028d0..6d75bf220 100644 +index 26414a07a2..ce40882b17 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -36,7 +36,7 @@ public class Chunk implements IChunkAccess { +@@ -29,7 +29,7 @@ public class Chunk implements IChunkAccess { private final ChunkSection[] sections; private final BiomeBase[] d; private final Map e; @@ -20,7 +20,7 @@ index aa13028d0..6d75bf220 100644 public final World world; public final Map heightMap; private final ChunkConverter i; -@@ -62,11 +62,36 @@ public class Chunk implements IChunkAccess { +@@ -55,11 +55,36 @@ public class Chunk implements IChunkAccess { this(world, chunkcoordintpair, abiomebase, ChunkConverter.a, TickListEmpty.a(), TickListEmpty.a(), 0L, (ChunkSection[]) null, (Consumer) null); } @@ -58,7 +58,7 @@ index aa13028d0..6d75bf220 100644 this.l = Maps.newHashMap(); this.m = Maps.newHashMap(); this.n = new ShortList[16]; -@@ -361,6 +386,7 @@ public class Chunk implements IChunkAccess { +@@ -354,6 +379,7 @@ public class Chunk implements IChunkAccess { } entity.inChunk = true; @@ -66,7 +66,7 @@ index aa13028d0..6d75bf220 100644 entity.chunkX = this.loc.x; entity.chunkY = k; entity.chunkZ = this.loc.z; -@@ -372,6 +398,7 @@ public class Chunk implements IChunkAccess { +@@ -365,6 +391,7 @@ public class Chunk implements IChunkAccess { ((HeightMap) this.heightMap.get(heightmap_type)).a(along); } @@ -74,7 +74,7 @@ index aa13028d0..6d75bf220 100644 public void b(Entity entity) { this.a(entity, entity.chunkY); } -@@ -384,8 +411,12 @@ public class Chunk implements IChunkAccess { +@@ -377,8 +404,12 @@ public class Chunk implements IChunkAccess { if (i >= this.entitySlices.length) { i = this.entitySlices.length - 1; } @@ -90,7 +90,7 @@ index aa13028d0..6d75bf220 100644 @Override diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 033cddf8e..7fc4af565 100644 +index 84ba4798f7..8936bbbeef 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -133,7 +133,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -102,7 +102,7 @@ index 033cddf8e..7fc4af565 100644 public int chunkX; public int getChunkX() { return chunkX; } // Paper - OBFHELPER public int chunkY; public int getChunkY() { return chunkY; } // Paper - OBFHELPER public int chunkZ; public int getChunkZ() { return chunkZ; } // Paper - OBFHELPER -@@ -1678,6 +1678,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1683,6 +1683,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // Paper start @@ -143,7 +143,7 @@ index 033cddf8e..7fc4af565 100644 private String entityKeyString; diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index b511fe263..7546f6690 100644 +index b511fe263f..7546f6690b 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -51,6 +51,15 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -163,7 +163,7 @@ index b511fe263..7546f6690 100644 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5b72b3633..b2a16bb36 100644 +index f22959ee15..a98f6f3389 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -137,6 +137,7 @@ import net.minecraft.server.EntityZombieVillager; diff --git a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch index bcccfd1d3..e60abdb78 100644 --- a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch +++ b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch @@ -1,4 +1,4 @@ -From 4f96ee0c29856941cb17de02ffd7c007acd7ac30 Mon Sep 17 00:00:00 2001 +From b0d8c37bfea84dd51fffd1e950e359bdc819e832 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:13:59 -0400 Subject: [PATCH] Store counts for each Entity/Block Entity Type @@ -6,10 +6,10 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type Opens door for future patches to optimize performance diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 6d75bf220..937fcd7fa 100644 +index ce40882b17..7bcbe601bc 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -63,15 +63,19 @@ public class Chunk implements IChunkAccess { +@@ -56,15 +56,19 @@ public class Chunk implements IChunkAccess { } // Paper start @@ -29,7 +29,7 @@ index 6d75bf220..937fcd7fa 100644 } return replaced; } -@@ -81,6 +85,7 @@ public class Chunk implements IChunkAccess { +@@ -74,6 +78,7 @@ public class Chunk implements IChunkAccess { TileEntity removed = super.remove(key); if (removed != null) { removed.setCurrentChunk(null); @@ -37,7 +37,7 @@ index 6d75bf220..937fcd7fa 100644 } return removed; } -@@ -385,6 +390,7 @@ public class Chunk implements IChunkAccess { +@@ -378,6 +383,7 @@ public class Chunk implements IChunkAccess { k = this.entitySlices.length - 1; } @@ -45,7 +45,7 @@ index 6d75bf220..937fcd7fa 100644 entity.inChunk = true; entity.setCurrentChunk(this); // Paper entity.chunkX = this.loc.x; -@@ -416,6 +422,7 @@ public class Chunk implements IChunkAccess { +@@ -409,6 +415,7 @@ public class Chunk implements IChunkAccess { if (!this.entitySlices[i].remove(entity)) { return; } diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 281fd56a5..81dc426f5 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From 20fc8f74ff6be390fce1225aa08b949898f635cf Mon Sep 17 00:00:00 2001 +From 87f684f7a17d5cbd42d489b31ae07bafc47e8435 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 000000000..3f9fb6f90 +index 0000000000..3f9fb6f906 --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,133 @@ @@ -145,7 +145,7 @@ index 000000000..3f9fb6f90 +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 000000000..d5d3b2a20 +index 0000000000..d5d3b2a20c --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,105 @@ @@ -255,7 +255,7 @@ index 000000000..d5d3b2a20 + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5518ec1e5..0c65afccf 100644 +index 5518ec1e54..0c65afccfd 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -302,7 +302,7 @@ index 5518ec1e5..0c65afccf 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index afa9f0c1e..85a5776b0 100644 +index afa9f0c1e6..85a5776b04 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -32,6 +32,15 @@ public class Block implements IMaterial { @@ -322,18 +322,18 @@ index afa9f0c1e..85a5776b0 100644 private final float frictionFactor; protected final BlockStateList blockStateList; diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 937fcd7fa..d62c84516 100644 +index 7bcbe601bc..0d1cafe3d8 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -547,6 +547,7 @@ public class Chunk implements IChunkAccess { +@@ -540,6 +540,7 @@ public class Chunk implements IChunkAccess { server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration)); if (this.needsDecoration) { -+ try (co.aikar.timings.Timing ignored = this.world.timings.syncChunkLoadPopulateTimer.startTiming()) { // Paper ++ try (co.aikar.timings.Timing ignored = this.world.timings.syncChunkLoadPopulateTimer.startTiming()) { // Paper + this.needsDecoration = false; java.util.Random random = new java.util.Random(); random.setSeed(world.getSeed()); - long xRand = random.nextLong() / 2L * 2L + 1L; -@@ -565,6 +566,7 @@ public class Chunk implements IChunkAccess { +@@ -559,6 +560,7 @@ public class Chunk implements IChunkAccess { } } server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk)); @@ -342,10 +342,10 @@ index 937fcd7fa..d62c84516 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 4cc3e1217..cbe1353ac 100644 +index fff428c128..7a93c8eca8 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -234,7 +234,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -242,7 +242,9 @@ public class ChunkProviderServer extends IChunkProvider { } public void save(boolean flag) { @@ -355,7 +355,7 @@ index 4cc3e1217..cbe1353ac 100644 } @Override -@@ -352,9 +354,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -361,9 +363,9 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); } @@ -367,7 +367,7 @@ index 4cc3e1217..cbe1353ac 100644 } } } -@@ -368,9 +370,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -377,9 +379,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); } @@ -378,7 +378,7 @@ index 4cc3e1217..cbe1353ac 100644 @Override diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index e4c021a45..2b8148fbd 100644 +index e4c021a454..2b8148fbda 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -416,7 +416,7 @@ index e4c021a45..2b8148fbd 100644 } diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java -index 46e7737ca..a3ef94306 100644 +index 46e7737ca3..a3ef943066 100644 --- a/src/main/java/net/minecraft/server/CustomFunction.java +++ b/src/main/java/net/minecraft/server/CustomFunction.java @@ -13,12 +13,22 @@ public class CustomFunction { @@ -443,7 +443,7 @@ index 46e7737ca..a3ef94306 100644 return this.b; } diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java -index 9c9eef0ad..b42fbf2c6 100644 +index 9c9eef0ad9..b42fbf2c65 100644 --- a/src/main/java/net/minecraft/server/CustomFunctionData.java +++ b/src/main/java/net/minecraft/server/CustomFunctionData.java @@ -101,7 +101,7 @@ public class CustomFunctionData implements IResourcePackListener { @@ -456,7 +456,7 @@ index 9c9eef0ad..b42fbf2c6 100644 int j = 0; CustomFunction.c[] acustomfunction_c = customfunction.b(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index b60956218..19e2df309 100644 +index b60956218d..19e2df3098 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -31,7 +31,7 @@ import org.apache.logging.log4j.Level; @@ -509,7 +509,7 @@ index b60956218..19e2df309 100644 return waitable.get(); } catch (java.util.concurrent.ExecutionException e) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7fc4af565..e52f0610f 100644 +index 8936bbbeef..510ebc72d8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -531,7 +531,7 @@ index 7fc4af565..e52f0610f 100644 // Spigot start public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; -@@ -483,7 +484,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -487,7 +488,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public void move(EnumMoveType enummovetype, Vec3D vec3d) { @@ -539,7 +539,7 @@ index 7fc4af565..e52f0610f 100644 if (this.noclip) { this.a(this.getBoundingBox().b(vec3d)); this.recalcPosition(); -@@ -648,7 +648,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -652,7 +652,6 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.world.getMethodProfiler().exit(); } @@ -548,7 +548,7 @@ index 7fc4af565..e52f0610f 100644 protected Vec3D a(Vec3D vec3d, EnumMoveType enummovetype) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 1a33b7048..7c72fb918 100644 +index d5ffa9f0f7..d630b1be10 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -35,7 +35,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -624,7 +624,7 @@ index 1a33b7048..7c72fb918 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 64318e6e7..c76620f2b 100644 +index 64318e6e78..c76620f2b3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,5 +1,7 @@ @@ -752,7 +752,7 @@ index 64318e6e7..c76620f2b 100644 this.methodProfiler.exit(); } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 2e17358ed..e7019d8ae 100644 +index 3644b730ba..b52809e13e 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,6 +1,8 @@ @@ -764,7 +764,7 @@ index 2e17358ed..e7019d8ae 100644 import com.google.common.collect.Lists; import com.google.common.collect.Sets; import com.mojang.datafixers.DataFixer; -@@ -423,7 +425,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -410,7 +412,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { }); return completablefuture.thenComposeAsync((either) -> { @@ -773,7 +773,7 @@ index 2e17358ed..e7019d8ae 100644 try { CompletableFuture> completablefuture1 = chunkstatus.a(this.world, this.chunkGenerator, this.definedStructureManager, this.lightEngine, (ichunkaccess) -> { return this.c(playerchunk); -@@ -916,6 +918,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -897,6 +899,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { PlayerChunkMap.EntityTracker playerchunkmap_entitytracker; ObjectIterator objectiterator; @@ -781,7 +781,7 @@ index 2e17358ed..e7019d8ae 100644 for (objectiterator = this.trackedEntities.values().iterator(); objectiterator.hasNext(); playerchunkmap_entitytracker.trackerEntry.a()) { playerchunkmap_entitytracker = (PlayerChunkMap.EntityTracker) objectiterator.next(); -@@ -933,13 +936,16 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -914,13 +917,16 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { playerchunkmap_entitytracker.e = sectionposition1; } } @@ -799,7 +799,7 @@ index 2e17358ed..e7019d8ae 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5757dd6fb..a7104e966 100644 +index 5757dd6fb3..a7104e966d 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -854,7 +854,7 @@ index 5757dd6fb..a7104e966 100644 // this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index cb6d50ea7..9ba03f8ed 100644 +index cb6d50ea70..9ba03f8ed0 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -1,5 +1,8 @@ @@ -880,7 +880,7 @@ index cb6d50ea7..9ba03f8ed 100644 throw CancelledPacketHandleException.INSTANCE; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 6171b369c..bab32af46 100644 +index 6171b369c6..bab32af469 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -904,7 +904,7 @@ index 6171b369c..bab32af46 100644 public WhiteList getWhitelist() { diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java -index a99618099..972b1c0d2 100644 +index a99618099b..972b1c0d2c 100644 --- a/src/main/java/net/minecraft/server/TickListServer.java +++ b/src/main/java/net/minecraft/server/TickListServer.java @@ -25,13 +25,18 @@ public class TickListServer implements TickList { @@ -954,7 +954,7 @@ index a99618099..972b1c0d2 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 7546f6690..095ef9ba5 100644 +index 7546f6690b..095ef9ba51 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -9,11 +9,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer; @@ -973,7 +973,7 @@ index 7546f6690..095ef9ba5 100644 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(DATA_TYPE_REGISTRY); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 404d3d8c8..93fa09121 100644 +index 404d3d8c82..93fa091216 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -1040,7 +1040,7 @@ index 404d3d8c8..93fa09121 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 36c517d8f..5a0d940be 100644 +index 36c517d8f6..5a0d940bee 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,7 @@ @@ -1132,7 +1132,7 @@ index 36c517d8f..5a0d940be 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7fe76b8d5..b43888592 100644 +index 30a0c396ca..59db8018da 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1926,12 +1926,31 @@ public final class CraftServer implements Server { @@ -1169,7 +1169,7 @@ index 7fe76b8d5..b43888592 100644 org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index 38f211526..000000000 +index 38f211526b..0000000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,166 +0,0 @@ @@ -1340,7 +1340,7 @@ index 38f211526..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5b58b1a96..8980de820 100644 +index 5b58b1a96f..8980de8203 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1728,6 +1728,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1359,7 +1359,7 @@ index 5b58b1a96..8980de820 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index b90979c7b..8823f94f7 100644 +index b90979c7ba..8823f94f7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -1,5 +1,6 @@ @@ -1425,7 +1425,7 @@ index b90979c7b..8823f94f7 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 3f55381c1..0d9a46680 100644 +index 3f55381c15..0d9a466809 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -1,9 +1,11 @@ @@ -1510,7 +1510,7 @@ index 3f55381c1..0d9a46680 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b7..3d90b3426 100644 +index e52ef47b78..3d90b34268 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1522,7 +1522,7 @@ index e52ef47b7..3d90b3426 100644 this.value = value; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index bed971921..6775bf043 100644 +index bed9719216..6775bf043a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -271,6 +271,13 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -1540,7 +1540,7 @@ index bed971921..6775bf043 100644 * This helper class represents the different NBT Tags. *

diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 76b060a12..2daecf504 100644 +index 76b060a126..2daecf5049 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -30,7 +30,7 @@ import net.minecraft.server.EntityWither; diff --git a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch index 1ee73f293..b882b4bbb 100644 --- a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch +++ b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch @@ -1,4 +1,4 @@ -From cd36b4b77d0828ac52974d0ec163f700246157f6 Mon Sep 17 00:00:00 2001 +From 1435329d80816a339495ea99435f9a8df6ccaf3e Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 14:14:15 -0600 Subject: [PATCH] Drop falling block and tnt entities at the specified height @@ -24,10 +24,10 @@ index 3f734327c0..1ed58f4bba 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6127f9ba96..ffad35a61f 100644 +index 510ebc72d8..899e6af69d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1783,6 +1783,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1788,6 +1788,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.a(itemstack, 0.0F); } diff --git a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch index d3293b17e..54817485a 100644 --- a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch +++ b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch @@ -1,14 +1,14 @@ -From 9a31a787065e13ef9a984b049773edada78db672 Mon Sep 17 00:00:00 2001 +From c16942339b1862fb48630e8de20f79559dadcf94 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 15:08:03 -0600 Subject: [PATCH] Remove invalid mob spawner tile entities diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b317a9800..5a19dc756 100644 +index 0d1cafe3d8..ad2c49df52 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -501,6 +501,10 @@ public class Chunk implements IChunkAccess { +@@ -494,6 +494,10 @@ public class Chunk implements IChunkAccess { } // CraftBukkit start diff --git a/Spigot-Server-Patches/0023-Entity-Origin-API.patch b/Spigot-Server-Patches/0023-Entity-Origin-API.patch index 1e6256479..4ce0634c6 100644 --- a/Spigot-Server-Patches/0023-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0023-Entity-Origin-API.patch @@ -1,11 +1,11 @@ -From a2e424aa76b6978f878c936cf549d2c3b67c8cde Mon Sep 17 00:00:00 2001 +From 96b25316334d6d05d22da12271ce2c12b3a8da77 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 23:45:08 -0600 Subject: [PATCH] Entity Origin API diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 9a17badc2..d40b0cd3f 100644 +index 899e6af69d..de57289fee 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -163,6 +163,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -16,7 +16,7 @@ index 9a17badc2..d40b0cd3f 100644 // Spigot start public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; -@@ -1542,6 +1543,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1546,6 +1547,11 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.bukkitEntity.storeBukkitValues(nbttagcompound); } // CraftBukkit end @@ -28,8 +28,8 @@ index 9a17badc2..d40b0cd3f 100644 return nbttagcompound; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.a(throwable, "Saving entity NBT"); -@@ -1663,6 +1669,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - } +@@ -1668,6 +1674,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + this.getBukkitEntity().readBukkitValues(nbttagcompound); // CraftBukkit end + // Paper start - Restore the entity's origin location @@ -42,7 +42,7 @@ index 9a17badc2..d40b0cd3f 100644 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded"); -@@ -1740,6 +1753,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1745,6 +1758,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke protected abstract void b(NBTTagCompound nbttagcompound); @@ -51,7 +51,7 @@ index 9a17badc2..d40b0cd3f 100644 NBTTagList nbttaglist = new NBTTagList(); double[] adouble1 = adouble; diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 55591fbe0..90becdfde 100644 +index 55591fbe05..90becdfdec 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -245,6 +245,14 @@ public class EntityFallingBlock extends Entity { @@ -70,7 +70,7 @@ index 55591fbe0..90becdfde 100644 public void a(boolean flag) { diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index e3001570f..e0535604b 100644 +index e3001570f9..e0535604b6 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -104,6 +104,14 @@ public class EntityTNTPrimed extends Entity { @@ -89,7 +89,7 @@ index e3001570f..e0535604b 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index ce510c486..b7c94fe23 100644 +index ce510c4867..b7c94fe238 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -161,6 +161,7 @@ public class NBTTagList extends NBTList { @@ -101,7 +101,7 @@ index ce510c486..b7c94fe23 100644 if (i >= 0 && i < this.list.size()) { NBTBase nbtbase = (NBTBase) this.list.get(i); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5a0d940be..4710b79af 100644 +index 5a0d940bee..4710b79af7 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1095,6 +1095,11 @@ public class WorldServer extends World { @@ -117,7 +117,7 @@ index 5a0d940be..4710b79af 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index b2a16bb36..da7efb3a6 100644 +index a98f6f3389..d1d37c06bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1009,4 +1009,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch index 9bfb69a9a..686537590 100644 --- a/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch +++ b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch @@ -1,4 +1,4 @@ -From 4b6c1894e50426cb0ea92df05d1cb611b786ea4b Mon Sep 17 00:00:00 2001 +From 52d7305ce22a2ec8252da7362741f89ed31247a4 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 23:58:50 -0600 Subject: [PATCH] Configurable top of nether void damage @@ -29,10 +29,10 @@ index 1ed58f4bba..a797a57671 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7b7a437b93..fe73aef9cb 100644 +index de57289fee..fef69c7c3f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -393,9 +393,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -397,9 +397,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.fallDistance *= 0.5F; } @@ -48,7 +48,7 @@ index 7b7a437b93..fe73aef9cb 100644 if (!this.world.isClientSide) { this.setFlag(0, this.fireTicks > 0); -@@ -405,6 +411,17 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -409,6 +415,17 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.world.getMethodProfiler().exit(); } @@ -66,7 +66,7 @@ index 7b7a437b93..fe73aef9cb 100644 protected void E() { if (this.portalCooldown > 0) { --this.portalCooldown; -@@ -472,6 +489,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -476,6 +493,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.fireTicks = 0; } diff --git a/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch b/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch index d5628103c..e3d964644 100644 --- a/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch +++ b/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch @@ -1,11 +1,11 @@ -From b4da2906d6aff2d025288a6da577d42fd0249921 Mon Sep 17 00:00:00 2001 +From 9293b643974ed4899b2eb15c538ca0319a1e2ac8 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Wed, 2 Mar 2016 23:13:07 -0600 Subject: [PATCH] Send absolute position the first time an entity is seen diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 315c3d916..aaf3a54b0 100644 +index 315c3d9165..aaf3a54b08 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -77,10 +77,10 @@ index 315c3d916..aaf3a54b0 100644 this.c(); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index e7019d8ae..8c43c52e1 100644 +index b52809e13e..cf20da1685 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -1034,10 +1034,14 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1015,10 +1015,14 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private final Entity tracker; private final int trackingDistance; private SectionPosition e; @@ -97,7 +97,7 @@ index e7019d8ae..8c43c52e1 100644 this.tracker = entity; this.trackingDistance = i; this.e = SectionPosition.a(entity); -@@ -1119,7 +1123,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1100,7 +1104,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { entityplayer.removeQueue.remove(Integer.valueOf(this.tracker.getId())); // CraftBukkit end diff --git a/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch index 0b719563a..05f1bccd2 100644 --- a/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 8f6a837642c38c8fc470abddcf9e082b9cf0748d Mon Sep 17 00:00:00 2001 +From 542a784ae0d8fd10d0fbe3279d719526bd4ac836 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java new file mode 100644 -index 000000000..f699ce18c +index 0000000000..f699ce18ca --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java @@ -0,0 +1,38 @@ @@ -49,7 +49,7 @@ index 000000000..f699ce18c + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 5a19dc756..ce058e90a 100644 +index ad2c49df52..36023073e9 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -59,7 +59,7 @@ index 5a19dc756..ce058e90a 100644 import com.google.common.collect.Maps; import com.google.common.collect.Sets; import it.unimi.dsi.fastutil.longs.LongOpenHashSet; -@@ -506,10 +507,15 @@ public class Chunk implements IChunkAccess { +@@ -499,10 +500,15 @@ public class Chunk implements IChunkAccess { this.tileEntities.remove(blockposition); // Paper end } else { @@ -80,7 +80,7 @@ index 5a19dc756..ce058e90a 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index cbe1353ac..421e92cfa 100644 +index 7a93c8eca8..c3320e3c44 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -16,6 +16,9 @@ import java.util.function.BooleanSupplier; @@ -94,7 +94,7 @@ index cbe1353ac..421e92cfa 100644 public class ChunkProviderServer extends IChunkProvider { diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 1dd793d2f..61ea2818b 100644 +index 1dd793d2fb..61ea2818b1 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -1,5 +1,6 @@ @@ -121,10 +121,10 @@ index 1dd793d2f..61ea2818b 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 8c43c52e1..fb56e6ca0 100644 +index cf20da1685..7ee32d4922 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -597,6 +597,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -578,6 +578,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.world.checkSession(); } catch (ExceptionWorldConflict exceptionworldconflict) { PlayerChunkMap.LOGGER.error("Couldn't save chunk; already in use by another instance of Minecraft?", exceptionworldconflict); @@ -132,7 +132,7 @@ index 8c43c52e1..fb56e6ca0 100644 return false; } -@@ -624,6 +625,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -605,6 +606,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { return true; } catch (Exception exception) { PlayerChunkMap.LOGGER.error("Failed to save chunk {},{}", chunkcoordintpair.x, chunkcoordintpair.z, exception); @@ -141,7 +141,7 @@ index 8c43c52e1..fb56e6ca0 100644 } } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index d4a9af975..88b5aa3a5 100644 +index d4a9af975d..88b5aa3a51 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -168,7 +168,7 @@ index d4a9af975..88b5aa3a5 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 90f891bea..cbf05926a 100644 +index 90f891beae..cbf05926a6 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -8,6 +8,7 @@ import org.apache.logging.log4j.LogManager; @@ -196,7 +196,7 @@ index 90f891bea..cbf05926a 100644 } diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java -index beeb9ccb8..bb3aa4a37 100644 +index beeb9ccb8d..bb3aa4a376 100644 --- a/src/main/java/net/minecraft/server/VillageSiege.java +++ b/src/main/java/net/minecraft/server/VillageSiege.java @@ -1,5 +1,7 @@ @@ -216,7 +216,7 @@ index beeb9ccb8..bb3aa4a37 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 074944718..a50842b13 100644 +index 0749447184..a50842b13a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2,6 +2,9 @@ package net.minecraft.server; @@ -255,7 +255,7 @@ index 074944718..a50842b13 100644 return; // Paper end diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java -index 3c5b3fe10..47a4ea998 100644 +index 3c5b3fe101..47a4ea9985 100644 --- a/src/main/java/net/minecraft/server/WorldPersistentData.java +++ b/src/main/java/net/minecraft/server/WorldPersistentData.java @@ -113,6 +113,7 @@ public class WorldPersistentData { @@ -267,7 +267,7 @@ index 3c5b3fe10..47a4ea998 100644 } finally { if (pushbackinputstream != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 8823f94f7..552daf437 100644 +index 8823f94f7b..552daf4376 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -16,6 +16,9 @@ import java.util.concurrent.atomic.AtomicInteger; diff --git a/Spigot-Server-Patches/0055-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0055-Disable-Scoreboards-for-non-players-by-default.patch index c48e73a9b..ffd0d41b5 100644 --- a/Spigot-Server-Patches/0055-Disable-Scoreboards-for-non-players-by-default.patch +++ b/Spigot-Server-Patches/0055-Disable-Scoreboards-for-non-players-by-default.patch @@ -1,4 +1,4 @@ -From 22f37631cf7184718b02b44242679a71a62c4959 Mon Sep 17 00:00:00 2001 +From 6df96556955d6c64ce8268392e1c82c400137340 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 8 Mar 2016 23:25:45 -0500 Subject: [PATCH] Disable Scoreboards for non players by default @@ -25,10 +25,10 @@ index 94f5c90b3c..30f0dcfd51 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index fe73aef9cb..67199fd0ff 100644 +index fef69c7c3f..da99714450 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2208,6 +2208,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2213,6 +2213,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @Nullable public ScoreboardTeamBase getScoreboardTeam() { @@ -37,7 +37,7 @@ index fe73aef9cb..67199fd0ff 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d85172e728..e3613a8e67 100644 +index 2212f31986..2fd9ebe7ec 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -578,6 +578,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch index ce76d3686..04f1e7fc2 100644 --- a/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch @@ -1,4 +1,4 @@ -From 4f2555fc5045bbe267c0c4a186d6c8eb3ae9c1b8 Mon Sep 17 00:00:00 2001 +From 4c6f083d51eed6eac3103bbab68c9f92857b04c4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 20:16:03 -0400 Subject: [PATCH] Add World Util Methods @@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods Methods that can be used for other patches to help improve logic. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ce058e90a..ca1abd47c 100644 +index 36023073e9..4248a50142 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -366,6 +366,7 @@ public class Chunk implements IChunkAccess { +@@ -359,6 +359,7 @@ public class Chunk implements IChunkAccess { return this.world.getChunkProvider().getLightEngine(); } @@ -18,7 +18,7 @@ index ce058e90a..ca1abd47c 100644 return this.a(blockposition, i, this.world.getWorldProvider().g()); } diff --git a/src/main/java/net/minecraft/server/IWorldReader.java b/src/main/java/net/minecraft/server/IWorldReader.java -index 9a98fb4af..452b2b2d2 100644 +index 9a98fb4af5..452b2b2d28 100644 --- a/src/main/java/net/minecraft/server/IWorldReader.java +++ b/src/main/java/net/minecraft/server/IWorldReader.java @@ -38,6 +38,22 @@ public interface IWorldReader extends IIBlockAccess { @@ -45,7 +45,7 @@ index 9a98fb4af..452b2b2d2 100644 @Nullable IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a50842b13..d4be7e884 100644 +index a50842b13a..d4be7e884d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -46,7 +46,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -143,7 +143,7 @@ index a50842b13..d4be7e884 100644 return this.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4); } diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java -index 94d1c2be1..77b805f3a 100644 +index 94d1c2be11..77b805f3ae 100644 --- a/src/main/java/net/minecraft/server/WorldBorder.java +++ b/src/main/java/net/minecraft/server/WorldBorder.java @@ -19,6 +19,7 @@ public class WorldBorder { diff --git a/Spigot-Server-Patches/0069-Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/0069-Use-a-Shared-Random-for-Entities.patch index aa76ea337..803026b22 100644 --- a/Spigot-Server-Patches/0069-Use-a-Shared-Random-for-Entities.patch +++ b/Spigot-Server-Patches/0069-Use-a-Shared-Random-for-Entities.patch @@ -1,4 +1,4 @@ -From 89ff2472dac345bdfabad959e4624bfd8e1c4bcf Mon Sep 17 00:00:00 2001 +From f9f1fae13e164ae6bf3c806d2d36ddfe22c4e707 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:33:47 -0400 Subject: [PATCH] Use a Shared Random for Entities @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 67199fd0ff..bff30aac1c 100644 +index da99714450..e6e47bc574 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -54,6 +54,20 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -30,7 +30,7 @@ index 67199fd0ff..bff30aac1c 100644 static boolean isLevelAtLeast(NBTTagCompound tag, int level) { return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -185,7 +199,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -189,7 +203,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.B = Vec3D.a; this.av = 1.0F; this.aw = 1.0F; diff --git a/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index e3582c0e1..8804eac40 100644 --- a/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From 31d632b1e2cc98636c406a5133db67e2337e5f08 Mon Sep 17 00:00:00 2001 +From e030acb6a8b7237fb2c15de4a837fd5a0d82c548 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -12,7 +12,7 @@ Replace all calls to the new place to the unnecessary forward. Optimize getType and getBlockData to manually inline and optimize the calls diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 2852a17f2..7cb46d7a9 100644 +index 2852a17f23..7cb46d7a9c 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -10,6 +10,14 @@ public class BaseBlockPosition implements Comparable { @@ -31,7 +31,7 @@ index 2852a17f2..7cb46d7a9 100644 public BaseBlockPosition(int i, int j, int k) { this.a = i; diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index c927d524a..64700b97c 100644 +index c927d524a8..64700b97c0 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -339,6 +339,16 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali @@ -52,10 +52,10 @@ index c927d524a..64700b97c 100644 public MutableBlockPosition() { this(0, 0, 0); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ca1abd47c..18b062157 100644 +index 4248a50142..82361fff08 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -210,12 +210,24 @@ public class Chunk implements IChunkAccess { +@@ -203,12 +203,24 @@ public class Chunk implements IChunkAccess { return this.sections; } @@ -85,7 +85,7 @@ index ca1abd47c..18b062157 100644 IBlockData iblockdata = null; diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index 30701fd7f..43f75fc83 100644 +index 30701fd7f3..43f75fc837 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -9,7 +9,7 @@ public class ChunkSection { @@ -98,7 +98,7 @@ index 30701fd7f..43f75fc83 100644 public ChunkSection(int i) { this(i, (short) 0, (short) 0, (short) 0); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d4be7e884..aef9e2e75 100644 +index d4be7e884d..aef9e2e753 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -197,11 +197,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose diff --git a/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch b/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch index adfb09ac3..a992839f6 100644 --- a/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch +++ b/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch @@ -1,4 +1,4 @@ -From fb8660aba1c573486ae7f97952939584263c4350 Mon Sep 17 00:00:00 2001 +From e2de33a4599dd3ac387524a19120ace674d14a08 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:46:14 -0400 Subject: [PATCH] Configurable Chunk Inhabited Time @@ -11,7 +11,7 @@ For people who want all chunks to be treated equally, you can chose a fixed valu This allows to fine-tune vanilla gameplay. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 2a71381da..e43866991 100644 +index 2a71381dae..e43866991c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -229,4 +229,19 @@ public class PaperWorldConfig { @@ -35,10 +35,10 @@ index 2a71381da..e43866991 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 18b062157..c2865425d 100644 +index 82361fff08..2218552ba1 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -804,7 +804,7 @@ public class Chunk implements IChunkAccess { +@@ -806,7 +806,7 @@ public class Chunk implements IChunkAccess { @Override public long q() { diff --git a/Spigot-Server-Patches/0105-Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/0105-Optional-TNT-doesn-t-move-in-water.patch index 939f0f5f7..badf487fa 100644 --- a/Spigot-Server-Patches/0105-Optional-TNT-doesn-t-move-in-water.patch +++ b/Spigot-Server-Patches/0105-Optional-TNT-doesn-t-move-in-water.patch @@ -1,11 +1,11 @@ -From a5cc6d0bdc188837b612dbfdfe57b0b8f3fc351e Mon Sep 17 00:00:00 2001 +From 7f41234639b4cb4cf2b7ccfa93b6a1c0f7e1f2fa Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional TNT doesn't move in water diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 805aa5699..92ab55182 100644 +index 805aa56999..92ab55182f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,7 +2,6 @@ package com.destroystokyo.paper; @@ -32,10 +32,10 @@ index 805aa5699..92ab55182 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2f4e56fc5..5d11348df 100644 +index 202ad9489f..d017cc8e6a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2640,6 +2640,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2645,6 +2645,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public boolean bD() { @@ -49,7 +49,7 @@ index 2f4e56fc5..5d11348df 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index e0535604b..baeb85142 100644 +index e0535604b6..baeb85142b 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -80,7 +80,27 @@ public class EntityTNTPrimed extends Entity { @@ -94,7 +94,7 @@ index e0535604b..baeb85142 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index aaf3a54b0..afd8748da 100644 +index aaf3a54b08..afd8748da8 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -36,7 +36,7 @@ public class EntityTrackerEntry { diff --git a/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch index ebfd50e61..9eac202e9 100644 --- a/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch +++ b/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch @@ -1,11 +1,11 @@ -From 94dfb8f25bd8fce92c3befc3a08a5a8fa1e342d6 Mon Sep 17 00:00:00 2001 +From 64e061c48b6aa274b065227f41097124e74dbcdf Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 5 Oct 2016 16:27:36 -0500 Subject: [PATCH] Option to remove corrupt tile entities diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 92ab55182..eed454bf4 100644 +index 92ab55182f..eed454bf40 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -296,4 +296,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index 92ab55182..eed454bf4 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index c2865425d..7382a47d8 100644 +index 2218552ba1..1964dd5faa 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -528,6 +528,12 @@ public class Chunk implements IChunkAccess { +@@ -521,6 +521,12 @@ public class Chunk implements IChunkAccess { "Chunk coordinates: " + (this.loc.x * 16) + "," + (this.loc.z * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); diff --git a/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch index 44719111b..b42535d19 100644 --- a/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From 63c3ad6f835f1e17f8cc069274d67b20ef43ec86 Mon Sep 17 00:00:00 2001 +From 8b2735474079bee3b5f7ff822ae037878ea7de5f Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 823041f06..8c6a9ec68 100644 +index 87298320d2..ebedb41787 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -43,6 +43,7 @@ public class EntityArmorStand extends EntityLiving { @@ -16,7 +16,7 @@ index 823041f06..8c6a9ec68 100644 public EntityArmorStand(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -788,4 +789,13 @@ public class EntityArmorStand extends EntityLiving { +@@ -789,4 +790,13 @@ public class EntityArmorStand extends EntityLiving { return this.getEntityType().j().a(f); } @@ -31,7 +31,7 @@ index 823041f06..8c6a9ec68 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 2b66a08ad..124c3185b 100644 +index 2b66a08ade..124c3185bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -211,4 +211,16 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { diff --git a/Spigot-Server-Patches/0143-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0143-Don-t-allow-entities-to-ride-themselves-572.patch index 83590bca7..2936706a8 100644 --- a/Spigot-Server-Patches/0143-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0143-Don-t-allow-entities-to-ride-themselves-572.patch @@ -1,14 +1,14 @@ -From 3763f45c6d542d371acea2adcc6bbe3477d01efc Mon Sep 17 00:00:00 2001 +From 72c7052d3f51fdb340450988e62aa07e363ee434 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Sun, 8 Jan 2017 04:31:36 +0000 Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cce163769..c67028524 100644 +index 7700652e12..c649507c85 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1988,6 +1988,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1993,6 +1993,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } protected boolean addPassenger(Entity entity) { // CraftBukkit diff --git a/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 3fea0bbd2..194fb200c 100644 --- a/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From af686a8e6fec3b00d6f5bdb9609b00150e7b45ba Mon Sep 17 00:00:00 2001 +From 502dbd3de7735c337e09cf6bc8e0ab4c7768a270 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:31:46 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player @@ -8,7 +8,7 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 85a5776b0..dedb063de 100644 +index 85a5776b04..dedb063de8 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -512,13 +512,13 @@ public class Block implements IMaterial { @@ -28,7 +28,7 @@ index 85a5776b0..dedb063de 100644 } diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java -index 4144a4757..8a9c81ad6 100644 +index 4144a4757d..8a9c81ad62 100644 --- a/src/main/java/net/minecraft/server/ContainerGrindstone.java +++ b/src/main/java/net/minecraft/server/ContainerGrindstone.java @@ -81,7 +81,7 @@ public class ContainerGrindstone extends Container { @@ -41,7 +41,7 @@ index 4144a4757..8a9c81ad6 100644 world.triggerEffect(1042, blockposition, 0); diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index b3010bee5..d42d4e83e 100644 +index b3010bee5e..d42d4e83ef 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -607,7 +607,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -54,7 +54,7 @@ index b3010bee5..d42d4e83e 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index bfba08fb2..49668f2c2 100644 +index bfba08fb24..49668f2c21 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -16,9 +16,59 @@ public class EntityExperienceOrb extends Entity { @@ -134,7 +134,7 @@ index bfba08fb2..49668f2c2 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index bdd2a39f8..67f8b6841 100644 +index bdd2a39f89..67f8b68413 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -404,7 +404,7 @@ public class EntityFishingHook extends Entity { @@ -147,7 +147,7 @@ index bdd2a39f8..67f8b6841 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index fdc0a49f9..25570f1d1 100644 +index 223032e1ec..6df98f845e 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -381,7 +381,8 @@ public abstract class EntityLiving extends Entity { @@ -161,7 +161,7 @@ index fdc0a49f9..25570f1d1 100644 this.expToDrop = 0; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index 77dd4c99a..398b499bb 100644 +index 77dd4c99a6..398b499bbe 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -43,7 +43,7 @@ public class EntityThrownExpBottle extends EntityProjectileThrowable { @@ -174,7 +174,7 @@ index 77dd4c99a..398b499bb 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 7c6506a91..1b4933c07 100644 +index 7c6506a912..1b4933c077 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -512,7 +512,7 @@ public class EntityTurtle extends EntityAnimal { @@ -187,7 +187,7 @@ index 7c6506a91..1b4933c07 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 9ac9d499d..53e2266a9 100644 +index 9ac9d499d5..53e2266a99 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -426,7 +426,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation @@ -200,7 +200,7 @@ index 9ac9d499d..53e2266a9 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index fee8f97d8..8ced8722a 100644 +index fee8f97d82..8ced8722a6 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java @@ -147,7 +147,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -213,7 +213,7 @@ index fee8f97d8..8ced8722a 100644 } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index d25a05736..9d0b1ffef 100644 +index d25a05736e..9d0b1ffefa 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java @@ -117,7 +117,7 @@ public class PathfinderGoalBreed extends PathfinderGoal { @@ -226,7 +226,7 @@ index d25a05736..9d0b1ffef 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 6e90f21ea..a7411c75a 100644 +index 6e90f21ea2..a7411c75ac 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -367,7 +367,7 @@ public class PlayerInteractManager { @@ -239,7 +239,7 @@ index 6e90f21ea..a7411c75a 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index d2698e847..edc4a5c34 100644 +index d2698e847c..edc4a5c34e 100644 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java @@ -2,7 +2,7 @@ package net.minecraft.server; @@ -252,7 +252,7 @@ index d2698e847..edc4a5c34 100644 public SlotFurnaceResult(EntityHuman entityhuman, IInventory iinventory, int i, int j, int k) { diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index adb1a0913..be16fe9a9 100644 +index adb1a09133..be16fe9a9e 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -554,7 +554,7 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I @@ -265,10 +265,10 @@ index adb1a0913..be16fe9a9 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index dd31b346c..9dd375951 100644 +index 38e10017d8..842c28f311 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1609,7 +1609,7 @@ public class CraftWorld implements World { +@@ -1608,7 +1608,7 @@ public class CraftWorld implements World { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new EntityTNTPrimed(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { @@ -278,7 +278,7 @@ index dd31b346c..9dd375951 100644 entity = new EntityLightning(world, x, y, z, false); } else if (Firework.class.isAssignableFrom(clazz)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java -index 1b512cc45..fbad04567 100644 +index 1b512cc45c..fbad045675 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -20,6 +20,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { diff --git a/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index 19af92ae0..821645bd5 100644 --- a/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -1,14 +1,14 @@ -From 8e27f750c6159836be0bf755ba6759079648b833 Mon Sep 17 00:00:00 2001 +From 496893f3f0e79fcbe4e8bd1e56c9e0d87a18e468 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 7 Feb 2017 16:55:35 -0600 Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index fb56e6ca0..a93117667 100644 +index 7ee32d4922..f2b024857c 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -313,7 +313,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -310,7 +310,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // Spigot start org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; activityAccountant.startActivity(0.5); diff --git a/Spigot-Server-Patches/0149-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0149-Do-not-let-armorstands-drown.patch index a5d6b8817..c9b2366d2 100644 --- a/Spigot-Server-Patches/0149-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0149-Do-not-let-armorstands-drown.patch @@ -1,14 +1,14 @@ -From 2cf238ab74719beb6cb72b9e8826bb4a387a820d Mon Sep 17 00:00:00 2001 +From 54c7ea62a3f9f63adbf48b11b52c6f71f5b3ae8c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 18 Feb 2017 19:29:58 -0600 Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 8c6a9ec68..f8cd62199 100644 +index ebedb41787..06b274a71a 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java -@@ -797,5 +797,10 @@ public class EntityArmorStand extends EntityLiving { +@@ -798,5 +798,10 @@ public class EntityArmorStand extends EntityLiving { super.move(moveType, vec3d); } } @@ -20,7 +20,7 @@ index 8c6a9ec68..f8cd62199 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b0c9eda48..121925046 100644 +index 1603a9b5eb..91d6e3c229 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -223,6 +223,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0164-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0164-Entity-fromMobSpawner.patch index bb6f90367..61dc8645c 100644 --- a/Spigot-Server-Patches/0164-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0164-Entity-fromMobSpawner.patch @@ -1,11 +1,11 @@ -From 4a489d4824f988d677e4f09f84724af2bd6da02c Mon Sep 17 00:00:00 2001 +From e3b6f70a01b369169f8350c3e00eea145efa2c32 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 18 Jun 2017 18:17:05 -0500 Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 82cd8995f..9bec96f4a 100644 +index 5968046370..d5d86d0f1d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -184,6 +184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -16,7 +16,7 @@ index 82cd8995f..9bec96f4a 100644 protected int numCollisions = 0; // Paper public void inactiveTick() { } // Spigot end -@@ -1581,6 +1582,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1585,6 +1586,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (this.origin != null) { nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index 82cd8995f..9bec96f4a 100644 // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -1708,6 +1713,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1713,6 +1718,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (!originTag.isEmpty()) { origin = new Location(world.getWorld(), originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2)); } @@ -37,7 +37,7 @@ index 82cd8995f..9bec96f4a 100644 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 6499d27e6..2b2af2daa 100644 +index b3af4ba233..7d140a6f5a 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -133,6 +133,7 @@ public abstract class MobSpawnerAbstract { @@ -49,7 +49,7 @@ index 6499d27e6..2b2af2daa 100644 if ( entity.world.spigotConfig.nerfSpawnerMobs ) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0b7fc359d..4af2527d6 100644 +index ed496d03ae..b000bc8c71 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1047,5 +1047,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch index 0605e6981..79dacbab0 100644 --- a/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch @@ -1,4 +1,4 @@ -From 81395ec21ce58c65cc12709e50127c67098e5ee9 Mon Sep 17 00:00:00 2001 +From cc7a1c0d1bb31906629c1987144297f4119ce6f3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:36:02 -0500 Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent @@ -9,10 +9,10 @@ from triggering monster spawns on a server. Also a highly more effecient way to blanket block spawns in a world diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index a93117667..ae04198c9 100644 +index f2b024857c..ed9e2e3e18 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -712,12 +712,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -693,12 +693,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { int chunkRange = world.spigotConfig.mobSpawnRange; chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange; chunkRange = (chunkRange > 8) ? 8 : chunkRange; diff --git a/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch index 149b41a11..f7099e36d 100644 --- a/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 82c5d1a6b64929fee957b7bc54971b885ccf3338 Mon Sep 17 00:00:00 2001 +From 4f5eeec8eaa5f7aa6c737e15cc9d6edf27b5d611 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 15 Aug 2017 22:29:12 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -10,7 +10,7 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9fdc8f5b0..8bc0a8cca 100644 +index 9fdc8f5b02..8bc0a8cca8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -48,7 +48,7 @@ public class WorldServer extends World { @@ -43,10 +43,10 @@ index 9fdc8f5b0..8bc0a8cca 100644 if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9dd375951..cd3de7e1d 100644 +index 842c28f311..8ed22217da 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2038,11 +2038,17 @@ public class CraftWorld implements World { +@@ -2037,11 +2037,17 @@ public class CraftWorld implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch index bbba8c312..3ac57bfd7 100644 --- a/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From f2e74d992757da7592895b7b8329269ad0c57d6b Mon Sep 17 00:00:00 2001 +From b03c5a441be0f76f6457a3893f45a669a1d00c9c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Jun 2018 20:39:20 -0400 Subject: [PATCH] Allow spawning Item entities with World.spawnEntity @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cd3de7e1d..e9e30d3d5 100644 +index 8ed22217da..8fa9346cfe 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1305,6 +1305,10 @@ public class CraftWorld implements World { +@@ -1304,6 +1304,10 @@ public class CraftWorld implements World { if (Boat.class.isAssignableFrom(clazz)) { entity = new EntityBoat(world, x, y, z); entity.setPositionRotation(x, y, z, yaw, pitch); diff --git a/Spigot-Server-Patches/0242-Expand-Explosions-API.patch b/Spigot-Server-Patches/0242-Expand-Explosions-API.patch index b77585a21..9fc8e3fa1 100644 --- a/Spigot-Server-Patches/0242-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0242-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From cc3b39c270a8e00abd3a5646c2e8a8dd330e12bb Mon Sep 17 00:00:00 2001 +From c18eb58048bc05e38c7ad5114107e310372bc643 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e9e30d3d5..69f215ba9 100644 +index 8fa9346cfe..83a8f083af 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -754,6 +754,11 @@ public class CraftWorld implements World { +@@ -753,6 +753,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks) { return !world.createExplosion(null, x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled; } diff --git a/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch index 1382eb7cf..28936319f 100644 --- a/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From ce22206e37d5919bb32242f75de63bff94120126 Mon Sep 17 00:00:00 2001 +From 832fa176b42391c11fb25b3faf2d7f6bf1640614 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:08:14 +0200 Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 69f215ba9..9a9c5a93e 100644 +index 83a8f083af..4c67f071b1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1108,6 +1108,15 @@ public class CraftWorld implements World { +@@ -1107,6 +1107,15 @@ public class CraftWorld implements World { return list; } diff --git a/Spigot-Server-Patches/0255-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0255-add-more-information-to-Entity.toString.patch index 4aa1c24b9..9b17cfa5b 100644 --- a/Spigot-Server-Patches/0255-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0255-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From 940fc083c72e8d8dea0d86c313a5a01fe433f7fc Mon Sep 17 00:00:00 2001 +From 69ad0de1285782fe479cbfb72b06049ee9c70181 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a428ca2624..26003866d2 100644 +index d5d86d0f1d..4701cc46ef 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2437,7 +2437,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2442,7 +2442,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public String toString() { diff --git a/Spigot-Server-Patches/0256-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0256-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 0678ccef6..ec025a292 100644 --- a/Spigot-Server-Patches/0256-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0256-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From 683211e1a74f6011ac424bbed783ed5d09429951 Mon Sep 17 00:00:00 2001 +From da44e0393b8daafae8dbb629791234d94b7bafcb Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues @@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 26003866d2..54d025bf7d 100644 +index 4701cc46ef..41559d3baf 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -75,6 +75,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -19,10 +19,10 @@ index 26003866d2..54d025bf7d 100644 if (bukkitEntity == null) { bukkitEntity = CraftEntity.getEntity(world.getServer(), this); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index ae04198c95..c7bc4cc363 100644 +index ed9e2e3e18..047d6df9c1 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -874,6 +874,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -855,6 +855,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } else { PlayerChunkMap.EntityTracker playerchunkmap_entitytracker = new PlayerChunkMap.EntityTracker(entity, i, j, entitytypes.isDeltaTracking()); @@ -30,7 +30,7 @@ index ae04198c95..c7bc4cc363 100644 this.trackedEntities.put(entity.getId(), playerchunkmap_entitytracker); playerchunkmap_entitytracker.track(this.world.getPlayers()); if (entity instanceof EntityPlayer) { -@@ -916,7 +917,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -897,7 +898,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { if (playerchunkmap_entitytracker1 != null) { playerchunkmap_entitytracker1.a(); } diff --git a/Spigot-Server-Patches/0261-Don-t-save-Proto-Chunks.patch b/Spigot-Server-Patches/0261-Don-t-save-Proto-Chunks.patch index b0bcbce05..46151e7e6 100644 --- a/Spigot-Server-Patches/0261-Don-t-save-Proto-Chunks.patch +++ b/Spigot-Server-Patches/0261-Don-t-save-Proto-Chunks.patch @@ -1,4 +1,4 @@ -From c4f30faf555c8e76cf429c5229bbe21876327b87 Mon Sep 17 00:00:00 2001 +From c47e8542bbaffdfc8674841dd389cce19be740b5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jul 2018 21:21:41 -0400 Subject: [PATCH] Don't save Proto Chunks @@ -8,17 +8,17 @@ the loadChunk method refuses to acknoledge they exists, and will restart a new chunk generation process to begin with, so saving them serves no benefit. diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index c7bc4cc36..1cf516192 100644 +index 047d6df9c1..21c4b56427 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -588,6 +588,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -570,6 +570,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } - public boolean saveChunk(IChunkAccess ichunkaccess, boolean save) { + public boolean saveChunk(IChunkAccess ichunkaccess) { + if (ichunkaccess.getChunkStatus().getType() == ChunkStatus.Type.PROTOCHUNK) { return true; } // Paper - don't save proto chunks - // CraftBukkit end this.n.a(ichunkaccess.getPos()); - if (!save) { // CraftBukkit + if (!ichunkaccess.isNeedsSaving()) { + return false; -- 2.21.0 diff --git a/Spigot-Server-Patches/0265-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0265-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch index a1c26fb0c..5f2888efd 100644 --- a/Spigot-Server-Patches/0265-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch +++ b/Spigot-Server-Patches/0265-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch @@ -1,4 +1,4 @@ -From 050b9d851f88b5d429c2af21566ad1c5a00c42de Mon Sep 17 00:00:00 2001 +From 9ae42f54bcec6951749c513209a487757b2ebbe4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:18:31 -0400 Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it @@ -6,10 +6,10 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7382a47d8c..8a8c8f4e88 100644 +index 1964dd5faa..5a49b015c2 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -411,6 +411,7 @@ public class Chunk implements IChunkAccess { +@@ -404,6 +404,7 @@ public class Chunk implements IChunkAccess { entity.chunkY = k; entity.chunkZ = this.loc.z; this.entitySlices[k].add(entity); @@ -17,7 +17,7 @@ index 7382a47d8c..8a8c8f4e88 100644 } @Override -@@ -437,6 +438,7 @@ public class Chunk implements IChunkAccess { +@@ -430,6 +431,7 @@ public class Chunk implements IChunkAccess { return; } entityCounts.decrement(entity.getMinecraftKeyString()); diff --git a/Spigot-Server-Patches/0266-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0266-Add-some-Debug-to-Chunk-Entity-slices.patch index 95385950b..0d3932872 100644 --- a/Spigot-Server-Patches/0266-Add-some-Debug-to-Chunk-Entity-slices.patch +++ b/Spigot-Server-Patches/0266-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -1,4 +1,4 @@ -From 7d914605d5222acf7321f74a6bfa36d8d20ec3dc Mon Sep 17 00:00:00 2001 +From c31c302a1df2cfde830efcbb00dc7ea5400a7bf5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:44:23 -0400 Subject: [PATCH] Add some Debug to Chunk Entity slices @@ -9,10 +9,10 @@ This should hopefully avoid duplicate entities ever being created if the entity was to end up in 2 different chunk slices diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8a8c8f4e88..fd91cf8393 100644 +index 5a49b015c2..fc455e1f04 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -403,6 +403,25 @@ public class Chunk implements IChunkAccess { +@@ -396,6 +396,25 @@ public class Chunk implements IChunkAccess { if (k >= this.entitySlices.length) { k = this.entitySlices.length - 1; } @@ -38,7 +38,7 @@ index 8a8c8f4e88..fd91cf8393 100644 if (!entity.inChunk || entity.getCurrentChunk() != this) entityCounts.increment(entity.getMinecraftKeyString()); // Paper entity.inChunk = true; -@@ -411,6 +430,7 @@ public class Chunk implements IChunkAccess { +@@ -404,6 +423,7 @@ public class Chunk implements IChunkAccess { entity.chunkY = k; entity.chunkZ = this.loc.z; this.entitySlices[k].add(entity); @@ -46,7 +46,7 @@ index 8a8c8f4e88..fd91cf8393 100644 this.markDirty(); // Paper } -@@ -434,6 +454,9 @@ public class Chunk implements IChunkAccess { +@@ -427,6 +447,9 @@ public class Chunk implements IChunkAccess { } // Paper start if (entity.currentChunk != null && entity.currentChunk.get() == this) entity.setCurrentChunk(null); @@ -57,7 +57,7 @@ index 8a8c8f4e88..fd91cf8393 100644 return; } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e3b1ebe629..2484eb0ffd 100644 +index 7f6e20e4b9..a273bec565 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -67,6 +67,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0271-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0271-Ignore-Dead-Entities-in-entityList-iteration.patch index b9213a464..a0478bcde 100644 --- a/Spigot-Server-Patches/0271-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0271-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From a7f1b83ec26d41f82f0a4255f947ba8fef27f882 Mon Sep 17 00:00:00 2001 +From 608144b1f17c60148bec514354e2b9a4fdb00df7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -23,10 +23,10 @@ index ce190d88d6..352a39dcb3 100644 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index fd91cf8393..2b4ad100e0 100644 +index fc455e1f04..836b012474 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -643,6 +643,7 @@ public class Chunk implements IChunkAccess { +@@ -645,6 +645,7 @@ public class Chunk implements IChunkAccess { while (iterator.hasNext()) { Entity entity1 = (Entity) iterator.next(); @@ -34,7 +34,7 @@ index fd91cf8393..2b4ad100e0 100644 if (entity1.getBoundingBox().c(axisalignedbb) && entity1 != entity) { if (predicate == null || predicate.test(entity1)) { -@@ -680,6 +681,7 @@ public class Chunk implements IChunkAccess { +@@ -682,6 +683,7 @@ public class Chunk implements IChunkAccess { while (iterator.hasNext()) { Entity entity = (Entity) iterator.next(); @@ -42,7 +42,7 @@ index fd91cf8393..2b4ad100e0 100644 if ((entitytypes == null || entity.getEntityType() == entitytypes) && entity.getBoundingBox().c(axisalignedbb) && predicate.test(entity)) { list.add(entity); -@@ -701,6 +703,7 @@ public class Chunk implements IChunkAccess { +@@ -703,6 +705,7 @@ public class Chunk implements IChunkAccess { while (iterator.hasNext()) { T t0 = (T) iterator.next(); // CraftBukkit - decompile error @@ -51,7 +51,7 @@ index fd91cf8393..2b4ad100e0 100644 if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check list.add(t0); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2484eb0ffd..622160ff4e 100644 +index a273bec565..1d8b420272 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -126,6 +126,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -91,10 +91,10 @@ index 957ca12e4a..364f26b556 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9a9c5a93e6..20f7c44b65 100644 +index 4c67f071b1..1adced482b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -847,6 +847,7 @@ public class CraftWorld implements World { +@@ -846,6 +846,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -102,7 +102,7 @@ index 9a9c5a93e6..20f7c44b65 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -866,6 +867,7 @@ public class CraftWorld implements World { +@@ -865,6 +866,7 @@ public class CraftWorld implements World { for (Object o : world.entitiesById.values()) { if (o instanceof net.minecraft.server.Entity) { net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o; @@ -110,7 +110,7 @@ index 9a9c5a93e6..20f7c44b65 100644 Entity bukkitEntity = mcEnt.getBukkitEntity(); // Assuming that bukkitEntity isn't null -@@ -892,6 +894,7 @@ public class CraftWorld implements World { +@@ -891,6 +893,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { @@ -118,7 +118,7 @@ index 9a9c5a93e6..20f7c44b65 100644 Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity(); if (bukkitEntity == null) { -@@ -915,6 +918,7 @@ public class CraftWorld implements World { +@@ -914,6 +917,7 @@ public class CraftWorld implements World { for (Object entity: world.entitiesById.values()) { if (entity instanceof net.minecraft.server.Entity) { diff --git a/Spigot-Server-Patches/0286-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/Spigot-Server-Patches/0286-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch index f89de4e2c..2f443f4c4 100644 --- a/Spigot-Server-Patches/0286-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch +++ b/Spigot-Server-Patches/0286-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch @@ -1,26 +1,31 @@ -From 7855ba905d6a0b15bf63b0843cb124c1cd93c642 Mon Sep 17 00:00:00 2001 +From 1eaf954ce8e5c95466ed46b72f336e8b4b2c7f35 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 15 Aug 2018 01:16:34 -0400 Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 323f5bf289..f1db08c880 100644 +index 08f8d80965..011e40458e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -118,6 +118,11 @@ public class CraftChunk implements Chunk { +@@ -121,9 +121,16 @@ public class CraftChunk implements Chunk { @Override public BlockState[] getTileEntities() { ++ // Paper start + return getTileEntities(true); + } ++ + @Override + public BlockState[] getTileEntities(boolean useSnapshot) { + if (!isLoaded()) { + getWorld().getChunkAt(x, z); // Transient load for this tick + } + // Paper end int index = 0; net.minecraft.server.Chunk chunk = getHandle(); -@@ -129,7 +134,7 @@ public class CraftChunk implements Chunk { +@@ -135,7 +142,7 @@ public class CraftChunk implements Chunk { } BlockPosition position = (BlockPosition) obj; diff --git a/Spigot-Server-Patches/0287-Allow-disabling-armour-stand-ticking.patch b/Spigot-Server-Patches/0287-Allow-disabling-armour-stand-ticking.patch index 506a5b342..5eddec7fe 100644 --- a/Spigot-Server-Patches/0287-Allow-disabling-armour-stand-ticking.patch +++ b/Spigot-Server-Patches/0287-Allow-disabling-armour-stand-ticking.patch @@ -1,4 +1,4 @@ -From 26e203adbd97c6c3f06225898c3a404fafc5bf0b Mon Sep 17 00:00:00 2001 +From 6c269acf14e06741777171922a63739499f20986 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 15 Aug 2018 01:26:09 -0700 Subject: [PATCH] Allow disabling armour stand ticking @@ -20,7 +20,7 @@ index f06bb3ae19..a5b4f99901 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 00ff1e80de..5c35909eb2 100644 +index 96d9e8da88..480298a02a 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -44,6 +44,11 @@ public class EntityArmorStand extends EntityLiving { @@ -71,7 +71,7 @@ index 00ff1e80de..5c35909eb2 100644 NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Pose"); this.g(nbttagcompound1); -@@ -583,7 +596,29 @@ public class EntityArmorStand extends EntityLiving { +@@ -584,7 +597,29 @@ public class EntityArmorStand extends EntityLiving { @Override public void tick() { @@ -101,7 +101,7 @@ index 00ff1e80de..5c35909eb2 100644 Vector3f vector3f = (Vector3f) this.datawatcher.get(EntityArmorStand.c); if (!this.headPose.equals(vector3f)) { -@@ -699,31 +734,37 @@ public class EntityArmorStand extends EntityLiving { +@@ -700,31 +735,37 @@ public class EntityArmorStand extends EntityLiving { public void setHeadPose(Vector3f vector3f) { this.headPose = vector3f; this.datawatcher.set(EntityArmorStand.c, vector3f); @@ -140,7 +140,7 @@ index 00ff1e80de..5c35909eb2 100644 public Vector3f r() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d52c0d81dc..6334d3dea4 100644 +index 165e289921..2c29c8943f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2259,52 +2259,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0289-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0289-Send-nearby-packets-from-world-player-list-not-serve.patch index a96283d6d..f6c3f15a7 100644 --- a/Spigot-Server-Patches/0289-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0289-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,4 +1,4 @@ -From a0dcb1421e802ad36276cf8ace778c55f8199777 Mon Sep 17 00:00:00 2001 +From 923fa041496dc977c63af2f29150458a05748d44 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Fri, 6 Jul 2018 13:21:30 +0100 Subject: [PATCH] Send nearby packets from world player list not server list @@ -68,10 +68,10 @@ index 364f26b556..9860175ec4 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 20f7c44b65..9601d412ab 100644 +index 1adced482b..1dee895958 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1910,7 +1910,7 @@ public class CraftWorld implements World { +@@ -1909,7 +1909,7 @@ public class CraftWorld implements World { double z = loc.getZ(); PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch); diff --git a/Spigot-Server-Patches/0300-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0300-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index b8ff2ef3e..841948e0a 100644 --- a/Spigot-Server-Patches/0300-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0300-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -1,4 +1,4 @@ -From 3169b20390f624a3819d11623cf93f7c37327a49 Mon Sep 17 00:00:00 2001 +From fe89300735d0da651bef5654500576c473b2ea8a Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 2 Sep 2018 19:34:33 -0700 Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted @@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9601d412ab..ca41b6d6ba 100644 +index 1dee895958..1b2c5012e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -478,7 +478,7 @@ public class CraftWorld implements World { +@@ -477,7 +477,7 @@ public class CraftWorld implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp( "chunk load"); // Spigot diff --git a/Spigot-Server-Patches/0303-Improve-death-events.patch b/Spigot-Server-Patches/0303-Improve-death-events.patch index 3afec9244..f33a35f11 100644 --- a/Spigot-Server-Patches/0303-Improve-death-events.patch +++ b/Spigot-Server-Patches/0303-Improve-death-events.patch @@ -1,4 +1,4 @@ -From d7323cfecdc1680ee87c785390c081f120b4a12b Mon Sep 17 00:00:00 2001 +From da0c7454371fcda017493a09206a4a74bed84adf Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 21 Aug 2018 01:39:35 +0100 Subject: [PATCH] Improve death events @@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using internal code. diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java -index 20db76abd..a148cd437 100644 +index 20db76abd7..a148cd437c 100644 --- a/src/main/java/net/minecraft/server/CombatTracker.java +++ b/src/main/java/net/minecraft/server/CombatTracker.java @@ -175,6 +175,7 @@ public class CombatTracker { @@ -27,10 +27,10 @@ index 20db76abd..a148cd437 100644 int i = this.f ? 300 : 100; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e1c793aad..b060a74a1 100644 +index 69087c7ef9..efda90f6e3 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1463,6 +1463,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1467,6 +1467,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return false; } @@ -38,7 +38,7 @@ index e1c793aad..b060a74a1 100644 public void a(Entity entity, int i, DamageSource damagesource) { if (entity instanceof EntityPlayer) { CriterionTriggers.c.a((EntityPlayer) entity, this, damagesource); -@@ -2355,6 +2356,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2360,6 +2361,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.fallDistance = 0.0F; } @@ -47,10 +47,10 @@ index e1c793aad..b060a74a1 100644 protected void i(double d0, double d1, double d2) { diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 5c35909eb..19ba4e059 100644 +index 480298a02a..26302c36e9 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java -@@ -675,7 +675,8 @@ public class EntityArmorStand extends EntityLiving { +@@ -676,7 +676,8 @@ public class EntityArmorStand extends EntityLiving { @Override public void killEntity() { @@ -61,7 +61,7 @@ index 5c35909eb..19ba4e059 100644 } diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 87091d804..77643413f 100644 +index c7a744355a..2f4657596c 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -597,15 +597,25 @@ public class EntityFox extends EntityAnimal { @@ -94,7 +94,7 @@ index 87091d804..77643413f 100644 public static boolean a(EntityFox entityfox, EntityLiving entityliving) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ef24896c0..2631e9a4b 100644 +index b9fc57eae0..76aba7ea5b 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -85,7 +85,7 @@ public abstract class EntityLiving extends Entity { @@ -249,7 +249,7 @@ index ef24896c0..2631e9a4b 100644 return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index d46ddba34..0f3be967e 100644 +index 0a575456a1..251166c4fe 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -300,7 +300,7 @@ index d46ddba34..0f3be967e 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -index 73cb64e09..9f317ff2e 100644 +index 73cb64e09d..9f317ff2e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java @@ -806,6 +806,22 @@ public enum CraftSound { @@ -327,7 +327,7 @@ index 73cb64e09..9f317ff2e 100644 this.minecraftKey = minecraftKey; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0386452a8..deacc2187 100644 +index 0386452a8d..deacc21873 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1712,7 +1712,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -348,7 +348,7 @@ index 0386452a8..deacc2187 100644 public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8aeba7ca9..ee3251716 100644 +index 8aeba7ca97..ee32517163 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -722,9 +722,16 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0315-Catch-JsonParseException-in-Entity-and-TE-names.patch b/Spigot-Server-Patches/0315-Catch-JsonParseException-in-Entity-and-TE-names.patch index 8db2fec6e..59a4fd001 100644 --- a/Spigot-Server-Patches/0315-Catch-JsonParseException-in-Entity-and-TE-names.patch +++ b/Spigot-Server-Patches/0315-Catch-JsonParseException-in-Entity-and-TE-names.patch @@ -1,4 +1,4 @@ -From 091bf5c1ff4b65cdb0a60a83545e5f42724c0f46 Mon Sep 17 00:00:00 2001 +From 2b7681ed2e10af2cba8ab2edf5cf385812ff2cf9 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 22 Sep 2018 15:56:59 -0400 Subject: [PATCH] Catch JsonParseException in Entity and TE names @@ -26,10 +26,10 @@ index 4b7aefb7a7..9e568d5d15 100644 if (nbttagcompound.hasKeyOfType("TrackOutput", 1)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b060a74a1e..b1cf9b85fa 100644 +index efda90f6e3..b63a8ad985 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1647,7 +1647,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1651,7 +1651,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke this.setPosition(this.locX, this.locY, this.locZ); this.setYawPitch(this.yaw, this.pitch); if (nbttagcompound.hasKeyOfType("CustomName", 8)) { diff --git a/Spigot-Server-Patches/0318-Don-t-recheck-type-after-setting-a-block.patch b/Spigot-Server-Patches/0318-Don-t-recheck-type-after-setting-a-block.patch index 387e95177..4b224c711 100644 --- a/Spigot-Server-Patches/0318-Don-t-recheck-type-after-setting-a-block.patch +++ b/Spigot-Server-Patches/0318-Don-t-recheck-type-after-setting-a-block.patch @@ -1,4 +1,4 @@ -From c595e875930c977f0a9f09219edaababa90bb387 Mon Sep 17 00:00:00 2001 +From fbb9db3eb40780e9f85960b1456530c14a945fae Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 22:27:33 -0400 Subject: [PATCH] Don't recheck type after setting a block @@ -16,10 +16,10 @@ be having data corruption issues anyways. This provides a small boost to all setType calls. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 2b4ad100e0..4d96e4fb12 100644 +index 836b012474..12f0fe618d 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -339,7 +339,7 @@ public class Chunk implements IChunkAccess { +@@ -332,7 +332,7 @@ public class Chunk implements IChunkAccess { this.world.removeTileEntity(blockposition); } diff --git a/Spigot-Server-Patches/0322-Add-sun-related-API.patch b/Spigot-Server-Patches/0322-Add-sun-related-API.patch index ef99fe00a..9764a8f12 100644 --- a/Spigot-Server-Patches/0322-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0322-Add-sun-related-API.patch @@ -1,11 +1,11 @@ -From 0a7c840cccbb6c84d43432205ed423fb5791ac99 Mon Sep 17 00:00:00 2001 +From c702f3ecb8df067c1bb6dc1e965dcbeb81c6f970 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 11652628b..90923c753 100644 +index 11652628b1..90923c7536 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1326,6 +1326,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -17,7 +17,7 @@ index 11652628b..90923c753 100644 if (this.world.J() && !this.world.isClientSide) { float f = this.aE(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 5220ea099..70e5552cd 100644 +index 5220ea0994..70e5552cd9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -669,6 +669,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -29,10 +29,10 @@ index 5220ea099..70e5552cd 100644 return this.d < 4; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ca41b6d6b..073400f23 100644 +index 1b2c5012e9..3ebea96931 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -740,6 +740,13 @@ public class CraftWorld implements World { +@@ -739,6 +739,13 @@ public class CraftWorld implements World { } } @@ -47,7 +47,7 @@ index ca41b6d6b..073400f23 100644 public boolean createExplosion(double x, double y, double z, float power) { return createExplosion(x, y, z, power, false, true); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 53c2d154e..56c233872 100644 +index 53c2d154ed..56c233872b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -68,4 +68,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/Spigot-Server-Patches/0333-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0333-Reset-players-airTicks-on-respawn.patch index b4d1c94d3..c545e3fc4 100644 --- a/Spigot-Server-Patches/0333-Reset-players-airTicks-on-respawn.patch +++ b/Spigot-Server-Patches/0333-Reset-players-airTicks-on-respawn.patch @@ -1,14 +1,14 @@ -From 20e1ffb268c190adc3e0712329f59e8e4d73c5bf Mon Sep 17 00:00:00 2001 +From fa10811716a328f398076625fff2ac714355db91 Mon Sep 17 00:00:00 2001 From: GreenMeanie Date: Sat, 20 Oct 2018 22:34:02 -0400 Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b1cf9b85fa..91a7925dd2 100644 +index b63a8ad985..e58c68275b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2268,7 +2268,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2273,7 +2273,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } @@ -18,7 +18,7 @@ index b1cf9b85fa..91a7925dd2 100644 } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 1c1c3a9b58..e1f618684c 100644 +index bf1a38eb9e..2e068ec2d9 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1857,6 +1857,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/Spigot-Server-Patches/0344-force-entity-dismount-during-teleportation.patch b/Spigot-Server-Patches/0344-force-entity-dismount-during-teleportation.patch index 62a9e24d9..74e3011e8 100644 --- a/Spigot-Server-Patches/0344-force-entity-dismount-during-teleportation.patch +++ b/Spigot-Server-Patches/0344-force-entity-dismount-during-teleportation.patch @@ -1,4 +1,4 @@ -From 5c064b2fb3998d445755cb7ca2855cc244a5d501 Mon Sep 17 00:00:00 2001 +From d8846d1d9b36f7499c06538d5ca4d2ea56b1fc21 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 15 Nov 2018 13:38:37 +0000 Subject: [PATCH] force entity dismount during teleportation @@ -20,10 +20,10 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 91a7925dd2..c71dc36141 100644 +index e58c68275b..a9d85e71f1 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1990,12 +1990,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1995,12 +1995,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } @@ -41,7 +41,7 @@ index 91a7925dd2..c71dc36141 100644 } } -@@ -2046,7 +2049,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2051,7 +2054,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return true; // CraftBukkit } @@ -53,7 +53,7 @@ index 91a7925dd2..c71dc36141 100644 if (entity.getVehicle() == this) { throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { -@@ -2056,7 +2062,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2061,7 +2067,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { VehicleExitEvent event = new VehicleExitEvent( (Vehicle) getBukkitEntity(), @@ -62,7 +62,7 @@ index 91a7925dd2..c71dc36141 100644 ); Bukkit.getPluginManager().callEvent(event); CraftEntity craftn = (CraftEntity) entity.getBukkitEntity().getVehicle(); -@@ -2067,7 +2073,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2072,7 +2078,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } // CraftBukkit end // Spigot start @@ -91,7 +91,7 @@ index 2f614dfb6b..4bea5f1ea2 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2631e9a4ba..75608c8a1e 100644 +index 76aba7ea5b..1d8d589efb 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2661,11 +2661,13 @@ public abstract class EntityLiving extends Entity { @@ -112,7 +112,7 @@ index 2631e9a4ba..75608c8a1e 100644 this.B(entity); } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index e1f618684c..0c289f23b0 100644 +index 2e068ec2d9..a05b31f73f 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -997,11 +997,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { diff --git a/Spigot-Server-Patches/0368-Add-LivingEntity-getTargetEntity.patch b/Spigot-Server-Patches/0368-Add-LivingEntity-getTargetEntity.patch index 7e84eb7c1..2593f61f5 100644 --- a/Spigot-Server-Patches/0368-Add-LivingEntity-getTargetEntity.patch +++ b/Spigot-Server-Patches/0368-Add-LivingEntity-getTargetEntity.patch @@ -1,4 +1,4 @@ -From 26bf909ffe299621522bea37db027e0398180098 Mon Sep 17 00:00:00 2001 +From 447e8e2bd0e9666b3dea66aaba7b00b2c7c48911 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 22 Sep 2018 00:33:08 -0500 Subject: [PATCH] Add LivingEntity#getTargetEntity @@ -46,10 +46,10 @@ index b38fc50bb7..d02c77664c 100644 double[] adouble = new double[] { 1.0D}; double d0 = vec3d1.x - vec3d.x; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c71dc36141..a49d02da16 100644 +index a9d85e71f1..35ec15b392 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1443,6 +1443,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1447,6 +1447,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.c(f - 90.0F, f1); } @@ -57,7 +57,7 @@ index c71dc36141..a49d02da16 100644 public Vec3D j(float f) { if (f == 1.0F) { return new Vec3D(this.locX, this.locY + (double) this.getHeadHeight(), this.locZ); -@@ -2089,6 +2090,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2094,6 +2095,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return this.getPassengers().size() < 1; } @@ -66,7 +66,7 @@ index c71dc36141..a49d02da16 100644 return 0.0F; } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 75608c8a1e..75d845a75b 100644 +index 1d8d589efb..f55ace4bc3 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -3217,6 +3217,37 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0370-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0370-Entity-getEntitySpawnReason.patch index 9ec8b1b9c..2d3f1a43a 100644 --- a/Spigot-Server-Patches/0370-Entity-getEntitySpawnReason.patch +++ b/Spigot-Server-Patches/0370-Entity-getEntitySpawnReason.patch @@ -1,4 +1,4 @@ -From 154e3869c553cef65f52964538deb8c1a003a4c6 Mon Sep 17 00:00:00 2001 +From 6dd34e9f47eef321330d4864c3b00675f215ba02 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 00:24:52 -0400 Subject: [PATCH] Entity#getEntitySpawnReason @@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners, or DEFAULT since data was not stored. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index a49d02da16..d02e48a864 100644 +index 35ec15b392..7ded9bc6ce 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -68,6 +68,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -21,7 +21,7 @@ index a49d02da16..d02e48a864 100644 // Paper end static boolean isLevelAtLeast(NBTTagCompound tag, int level) { return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; -@@ -1588,6 +1589,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1592,6 +1593,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (this.origin != null) { nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); } @@ -31,7 +31,7 @@ index a49d02da16..d02e48a864 100644 // Save entity's from mob spawner status if (spawnedViaMobSpawner) { nbttagcompound.setBoolean("Paper.FromMobSpawner", true); -@@ -1721,6 +1725,26 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1726,6 +1730,26 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } spawnedViaMobSpawner = nbttagcompound.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status @@ -84,7 +84,7 @@ index 9c4ef2e004..1a01e5e696 100644 if (entity.dead) { // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 52f72e1471..11a3e7b699 100644 +index 1cd3448e57..15042943c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1053,5 +1053,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0387-Async-Chunk-placeholder.patch b/Spigot-Server-Patches/0387-Async-Chunk-placeholder.patch index f76d40349..2b233363a 100644 --- a/Spigot-Server-Patches/0387-Async-Chunk-placeholder.patch +++ b/Spigot-Server-Patches/0387-Async-Chunk-placeholder.patch @@ -1,4 +1,4 @@ -From defa8d3715fb01ba18a3630ad05c2c492f5e5a19 Mon Sep 17 00:00:00 2001 +From fb8cb5e9ec8a9a8b230ba0a4eaa0c084bbc96e5a Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 6 May 2019 12:29:24 -0700 Subject: [PATCH] Async Chunk placeholder @@ -6,7 +6,7 @@ Subject: [PATCH] Async Chunk placeholder Until we figure out Mojang's ticket system. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e18ae24bf8..a263d8e7fb 100644 +index 174d2d4ea0..88d179342f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -14,6 +14,7 @@ import java.util.Objects; @@ -17,7 +17,7 @@ index e18ae24bf8..a263d8e7fb 100644 import java.util.function.Predicate; import net.minecraft.server.AxisAlignedBB; import net.minecraft.server.BiomeBase; -@@ -2118,6 +2119,17 @@ public class CraftWorld implements World { +@@ -2117,6 +2118,17 @@ public class CraftWorld implements World { return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ()); } diff --git a/Spigot-Server-Patches/0394-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0394-Duplicate-UUID-Resolve-Option.patch index 5f30a3f33..0c1bc02e9 100644 --- a/Spigot-Server-Patches/0394-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0394-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 5b4fb80d3611532241ee18ba6c631e9dff8b9711 Mon Sep 17 00:00:00 2001 +From 8eed40973fd30db2d3026b433bba768bacd18e16 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -81,10 +81,10 @@ index ef882b897f..385b3ac0ce 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 2923656070..6e435d77fd 100644 +index 12f0fe618d..5340767049 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -392,6 +392,7 @@ public class Chunk implements IChunkAccess { +@@ -385,6 +385,7 @@ public class Chunk implements IChunkAccess { if (i != this.loc.x || j != this.loc.z) { Chunk.LOGGER.warn("Wrong location! ({}, {}) should be ({}, {}), {}", i, j, this.loc.x, this.loc.z, entity); entity.dead = true; @@ -93,10 +93,10 @@ index 2923656070..6e435d77fd 100644 int k = MathHelper.floor(entity.locY / 16.0D); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index d02e48a864..3b1555dd26 100644 +index 7ded9bc6ce..3c6dc5ef03 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2669,6 +2669,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2674,6 +2674,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke }); } @@ -105,7 +105,7 @@ index d02e48a864..3b1555dd26 100644 this.uniqueID = uuid; this.ap = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 1cf5161926..31fe5f5e68 100644 +index 21c4b56427..932772331a 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,5 +1,6 @@ @@ -130,7 +130,7 @@ index 1cf5161926..31fe5f5e68 100644 import java.util.concurrent.CompletableFuture; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicInteger; -@@ -502,12 +506,49 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -489,12 +493,49 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot @@ -184,7 +184,7 @@ index 1cf5161926..31fe5f5e68 100644 if (list == null) { list = Lists.newArrayList(new Entity[] { entity}); } else { -@@ -515,6 +556,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -502,6 +543,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } } } diff --git a/Spigot-Server-Patches/0395-improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/0395-improve-CraftWorld-isChunkLoaded.patch index b98febaaf..5a2faa1ac 100644 --- a/Spigot-Server-Patches/0395-improve-CraftWorld-isChunkLoaded.patch +++ b/Spigot-Server-Patches/0395-improve-CraftWorld-isChunkLoaded.patch @@ -1,4 +1,4 @@ -From 5cc9a069541bc58a4ce75b68cdc323ad8cfc9435 Mon Sep 17 00:00:00 2001 +From 3c29885d543948746aafb51438538c4b6aae0e77 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 21 May 2019 02:34:04 +0100 Subject: [PATCH] improve CraftWorld#isChunkLoaded @@ -9,7 +9,7 @@ waiting for the execution queue to get to our request; We can just query the chunk status and get a response now, vs having to wait diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a263d8e7fb..5632d3e3f7 100644 +index 88d179342f..c2e4eaf099 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -382,8 +382,7 @@ public class CraftWorld implements World { @@ -17,7 +17,7 @@ index a263d8e7fb..5632d3e3f7 100644 @Override public boolean isChunkLoaded(int x, int z) { - net.minecraft.server.Chunk chunk = world.getChunkProvider().getChunkAt(x, z, false); -- return chunk != null && chunk.loaded; +- return chunk != null; + return world.getChunkProvider().isLoaded(x, z);// Paper } diff --git a/Spigot-Server-Patches/0396-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0396-Configurable-Keep-Spawn-Loaded-range-per-world.patch index c53993148..f33ec1c10 100644 --- a/Spigot-Server-Patches/0396-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0396-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 628c3118f290f4d5bf6259de1c7a7a28b620012b Mon Sep 17 00:00:00 2001 +From 02e8f627e66a16b1ab66ebf2b9e19ead33cb6fcb Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -148,10 +148,10 @@ index 3ed12672e3..dd2133665f 100644 public LongSet getForceLoadedChunks() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5632d3e3f7..d39ef83085 100644 +index c2e4eaf099..5cf3c4108f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1749,15 +1749,21 @@ public class CraftWorld implements World { +@@ -1748,15 +1748,21 @@ public class CraftWorld implements World { @Override public void setKeepSpawnInMemory(boolean keepLoaded) { diff --git a/work/CraftBukkit b/work/CraftBukkit index c45c0a983..17da34209 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit c45c0a983b244973dbea76cbcab45479d8132dc8 +Subproject commit 17da34209f70fcd4f43d588f39e250c09f9581b2