aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorZach Brown <[email protected]>2018-11-13 23:21:32 -0500
committerZach Brown <[email protected]>2018-11-13 23:35:43 -0500
commit0ae3b1c14e547712f830d2d17567d104093640bc (patch)
tree9c858d543afec2cfcca256f1947527968915d209
parent7c8937d0c6009a560f0791aec5f9194ba0221921 (diff)
downloadPaper-0ae3b1c14e547712f830d2d17567d104093640bc.tar.gz
Paper-0ae3b1c14e547712f830d2d17567d104093640bc.zip
Update upstream B/CB/S
--- work/Bukkit Submodule work/Bukkit 3aee9dbd0..0828ce366: > Add SpawnReason.SHEARING > SPIGOT-4339: Add EntityTransformEvent --- work/CraftBukkit Submodule work/CraftBukkit 17ff1e046..c2035aa1d: > Add some missing CreatureSpawnEvent.SpawnReason calls > SPIGOT-4339: Add EntityTransformEvent --- work/Spigot Submodule work/Spigot 947a8e7fd..5696c83c1: > Rebuild patches
-rw-r--r--Spigot-API-Patches/0125-EntityTransformedEvent.patch15
-rw-r--r--Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch12
-rw-r--r--Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch10
-rw-r--r--Spigot-Server-Patches/0070-Optimized-Light-Level-Comparisons.patch16
-rw-r--r--Spigot-Server-Patches/0141-Add-EntityZapEvent.patch25
-rw-r--r--Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch10
-rw-r--r--Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch16
-rw-r--r--Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch10
-rw-r--r--Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch30
-rw-r--r--Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch14
-rw-r--r--Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch8
-rw-r--r--Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch22
-rw-r--r--Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch16
-rw-r--r--Spigot-Server-Patches/0306-EntityTransformedEvent.patch54
-rw-r--r--Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch28
-rw-r--r--Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch8
-rw-r--r--Spigot-Server-Patches/0355-Improve-death-events.patch26
-rw-r--r--Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch72
-rw-r--r--Spigot-Server-Patches/0399-Don-t-sleep-after-profile-lookups-if-not-needed.patch30
-rw-r--r--Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch106
m---------work/Bukkit0
m---------work/CraftBukkit10
m---------work/Spigot0
23 files changed, 266 insertions, 272 deletions
diff --git a/Spigot-API-Patches/0125-EntityTransformedEvent.patch b/Spigot-API-Patches/0125-EntityTransformedEvent.patch
index 63d15b53ca..cc56392813 100644
--- a/Spigot-API-Patches/0125-EntityTransformedEvent.patch
+++ b/Spigot-API-Patches/0125-EntityTransformedEvent.patch
@@ -1,4 +1,4 @@
-From dc559042b4464ebcd414f6160768d15753e49a12 Mon Sep 17 00:00:00 2001
+From 5209ff5cba1819570522bccc6319375b8c531146 Mon Sep 17 00:00:00 2001
From: Anthony MacAllister <[email protected]>
Date: Thu, 26 Jul 2018 15:28:53 -0400
Subject: [PATCH] EntityTransformedEvent
@@ -6,10 +6,10 @@ Subject: [PATCH] EntityTransformedEvent
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
new file mode 100644
-index 000000000..d9e5cab95
+index 00000000..12194f1f
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/event/entity/EntityTransformedEvent.java
-@@ -0,0 +1,85 @@
+@@ -0,0 +1,92 @@
+package com.destroystokyo.paper.event.entity;
+
+
@@ -17,12 +17,15 @@ index 000000000..d9e5cab95
+import org.bukkit.event.Cancellable;
+import org.bukkit.event.HandlerList;
+import org.bukkit.event.entity.EntityEvent;
++import org.bukkit.event.entity.EntityTransformEvent;
+
+/**
+ * Fired when an entity transforms into another entity
+ * <p>
+ * If the event is cancelled, the entity will not transform
++ * @deprecated Bukkit has added {@link EntityTransformEvent}, you should start using that
+ */
++@Deprecated
+public class EntityTransformedEvent extends EntityEvent implements Cancellable {
+ private static final HandlerList handlers = new HandlerList();
+ private boolean cancelled;
@@ -39,14 +42,18 @@ index 000000000..d9e5cab95
+ * The entity after it has transformed
+ *
+ * @return Transformed entity
++ * @deprecated see {@link EntityTransformEvent#getTransformedEntity()}
+ */
++ @Deprecated
+ public Entity getTransformed() {
+ return transformed;
+ }
+
+ /**
+ * @return The reason for the transformation
++ * @deprecated see {@link EntityTransformEvent#getTransformReason()}
+ */
++ @Deprecated
+ public TransformedReason getReason() {
+ return reason;
+ }
@@ -96,5 +103,5 @@ index 000000000..d9e5cab95
+ }
+}
--
-2.19.0
+2.17.1
diff --git a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch
index f774df1af6..5dbbbf01a3 100644
--- a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch
+++ b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch
@@ -1,11 +1,11 @@
-From 1489de856ef53bf78de04ff8cfd68de7d17b344c Mon Sep 17 00:00:00 2001
+From c2a3971992e2776208a372c02253f0821908b163 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 1 Mar 2016 13:09:16 -0600
Subject: [PATCH] Configurable baby zombie movement speed
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 098bd3fba..55d8e74f8 100644
+index 098bd3fb..55d8e74f 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -73,4 +73,10 @@ public class PaperWorldConfig {
@@ -20,10 +20,10 @@ index 098bd3fba..55d8e74f8 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 80a6ef416..af01286da 100644
+index 24ee8d81..03886a4f 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
-@@ -17,7 +17,7 @@ public class EntityZombie extends EntityMonster {
+@@ -19,7 +19,7 @@ public class EntityZombie extends EntityMonster {
protected static final IAttribute c = (new AttributeRanged((IAttribute) null, "zombie.spawnReinforcements", 0.0D, 0.0D, 1.0D)).a("Spawn Reinforcements Chance");
private static final UUID a = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836");
@@ -32,7 +32,7 @@ index 80a6ef416..af01286da 100644
private static final DataWatcherObject<Boolean> bC = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Integer> bD = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b);
private static final DataWatcherObject<Boolean> bE = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.i);
-@@ -128,9 +128,9 @@ public class EntityZombie extends EntityMonster {
+@@ -130,9 +130,9 @@ public class EntityZombie extends EntityMonster {
if (this.world != null && !this.world.isClientSide) {
AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED);
@@ -45,5 +45,5 @@ index 80a6ef416..af01286da 100644
}
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch b/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch
index 0e01889cab..32c06388f5 100644
--- a/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch
+++ b/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch
@@ -1,11 +1,11 @@
-From 7772db378d231dfad0f3aff06c04b9e90407ec5f Mon Sep 17 00:00:00 2001
+From 44d13e9cc8d7e214cd1d6f469624be152fdcf3bc Mon Sep 17 00:00:00 2001
From: vemacs <[email protected]>
Date: Thu, 3 Mar 2016 01:19:22 -0600
Subject: [PATCH] All chunks are slime spawn chunks toggle
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index e28d5b19a3..3528b674fc 100644
+index e28d5b19..3528b674 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -180,4 +180,9 @@ public class PaperWorldConfig {
@@ -19,10 +19,10 @@ index e28d5b19a3..3528b674fc 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
-index 9e0df95607..238f3c7926 100644
+index 2a602c64..e913accd 100644
--- a/src/main/java/net/minecraft/server/EntitySlime.java
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
-@@ -252,7 +252,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -260,7 +260,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition);
@@ -32,5 +32,5 @@ index 9e0df95607..238f3c7926 100644
if (this.random.nextInt(10) == 0 && flag1 && this.locY < 40.0D) {
return super.a(generatoraccess, flag);
--
-2.19.0
+2.17.1
diff --git a/Spigot-Server-Patches/0070-Optimized-Light-Level-Comparisons.patch b/Spigot-Server-Patches/0070-Optimized-Light-Level-Comparisons.patch
index bca0da3d4c..d1baf25126 100644
--- a/Spigot-Server-Patches/0070-Optimized-Light-Level-Comparisons.patch
+++ b/Spigot-Server-Patches/0070-Optimized-Light-Level-Comparisons.patch
@@ -1,4 +1,4 @@
-From 653965bbc4a247fd0a288d53fdae56fe80318b26 Mon Sep 17 00:00:00 2001
+From e6cbd59cc5e1a9a30dc857d211e159684ae7a236 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 18 Mar 2016 21:22:56 -0400
Subject: [PATCH] Optimized Light Level Comparisons
@@ -8,7 +8,7 @@ Use an optimized method to test if a block position meets a desired light level.
This method benefits from returning as soon as the desired light level matches.
diff --git a/src/main/java/net/minecraft/server/BlockCrops.java b/src/main/java/net/minecraft/server/BlockCrops.java
-index 1506c9ede..6ae6fc3ec 100644
+index 1506c9ed..6ae6fc3e 100644
--- a/src/main/java/net/minecraft/server/BlockCrops.java
+++ b/src/main/java/net/minecraft/server/BlockCrops.java
@@ -44,7 +44,7 @@ public class BlockCrops extends BlockPlant implements IBlockFragilePlantElement
@@ -21,7 +21,7 @@ index 1506c9ede..6ae6fc3ec 100644
if (i < this.e()) {
diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java
-index 42478d1fe..7426d14cb 100644
+index 42478d1f..7426d14c 100644
--- a/src/main/java/net/minecraft/server/BlockSapling.java
+++ b/src/main/java/net/minecraft/server/BlockSapling.java
@@ -30,7 +30,7 @@ public class BlockSapling extends BlockPlant implements IBlockFragilePlantElemen
@@ -34,7 +34,7 @@ index 42478d1fe..7426d14cb 100644
world.captureTreeGeneration = true;
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/BlockStem.java b/src/main/java/net/minecraft/server/BlockStem.java
-index dd309030e..7cddfc380 100644
+index dd309030..7cddfc38 100644
--- a/src/main/java/net/minecraft/server/BlockStem.java
+++ b/src/main/java/net/minecraft/server/BlockStem.java
@@ -27,7 +27,7 @@ public class BlockStem extends BlockPlant implements IBlockFragilePlantElement {
@@ -47,7 +47,7 @@ index dd309030e..7cddfc380 100644
if (random.nextInt((int) ((100.0F / (this == Blocks.PUMPKIN_STEM ? world.spigotConfig.pumpkinModifier : world.spigotConfig.melonModifier)) * (25.0F / f)) + 1) == 0) { // Spigot
diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java
-index 2485b0fb0..8781dea88 100644
+index 2485b0fb..8781dea8 100644
--- a/src/main/java/net/minecraft/server/EntityMonster.java
+++ b/src/main/java/net/minecraft/server/EntityMonster.java
@@ -64,8 +64,18 @@ public abstract class EntityMonster extends EntityCreature implements IMonster {
@@ -72,10 +72,10 @@ index 2485b0fb0..8781dea88 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index af01286da..173e14760 100644
+index 03886a4f..02bebf72 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
-@@ -268,7 +268,7 @@ public class EntityZombie extends EntityMonster {
+@@ -275,7 +275,7 @@ public class EntityZombie extends EntityMonster {
int j1 = j + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
int k1 = k + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
@@ -85,5 +85,5 @@ index af01286da..173e14760 100644
if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D) && this.world.a_(entityzombie, entityzombie.getBoundingBox()) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()) && !this.world.containsLiquid(entityzombie.getBoundingBox())) {
this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch
index 1d3e5a4506..c61882ac6a 100644
--- a/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch
+++ b/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch
@@ -1,14 +1,14 @@
-From 68f216feefc87cad63d09fd0df7d2cbdb74bba20 Mon Sep 17 00:00:00 2001
+From f9dfbe2ee581c4cb0e2ced04369baef917ab4d20 Mon Sep 17 00:00:00 2001
From: AlphaBlend <[email protected]>
Date: Sun, 16 Oct 2016 23:19:30 -0700
Subject: [PATCH] Add EntityZapEvent
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
-index fecc7e154d..b405e63e81 100644
+index 6bf914c9..23668ada 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java
-@@ -152,6 +152,12 @@ public class EntityPig extends EntityAnimal {
+@@ -155,6 +155,12 @@ public class EntityPig extends EntityAnimal {
if (!this.world.isClientSide && !this.dead) {
EntityPigZombie entitypigzombie = new EntityPigZombie(this.world);
@@ -22,10 +22,10 @@ index fecc7e154d..b405e63e81 100644
if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) {
return;
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index 5e52349064..8195412806 100644
+index ab77d07b..7debc4d2 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -610,6 +610,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
+@@ -612,6 +612,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
if (!this.world.isClientSide && !this.dead) {
EntityWitch entitywitch = new EntityWitch(this.world);
@@ -38,20 +38,11 @@ index 5e52349064..8195412806 100644
entitywitch.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
entitywitch.prepare(this.world.getDamageScaler(new BlockPosition(entitywitch)), (GroupDataEntity) null, (NBTTagCompound) null);
entitywitch.setNoAI(this.isNoAI());
-@@ -618,7 +624,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
- entitywitch.setCustomNameVisible(this.getCustomNameVisible());
- }
-
-- this.world.addEntity(entitywitch);
-+ this.world.addEntity(entitywitch, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // Paper - Added lightning spawn reason for this entity
- this.die();
- }
- }
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 5ff75877a7..323e4002fb 100644
+index 75bdad81..2132b09c 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -770,6 +770,14 @@ public class CraftEventFactory {
+@@ -780,6 +780,14 @@ public class CraftEventFactory {
return event;
}
@@ -67,5 +58,5 @@ index 5ff75877a7..323e4002fb 100644
HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power);
horse.getBukkitEntity().getServer().getPluginManager().callEvent(event);
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch
index 520f279eed..0694a79b55 100644
--- a/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch
+++ b/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch
@@ -1,11 +1,11 @@
-From cad681c39d0d0453c3b773fbe7c98507a15843af Mon Sep 17 00:00:00 2001
+From d53c165894e3dd093c4faa9079bb810ba30828ba Mon Sep 17 00:00:00 2001
From: AlphaBlend <[email protected]>
Date: Thu, 8 Sep 2016 08:48:33 -0700
Subject: [PATCH] Add source to PlayerExpChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index 3155ed9487..1e25ade7cf 100644
+index 3155ed94..1e25ade7 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -185,7 +185,7 @@ public class EntityExperienceOrb extends Entity {
@@ -18,7 +18,7 @@ index 3155ed9487..1e25ade7cf 100644
this.die();
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 323e4002fb..c225c9e352 100644
+index 2132b09c..45cba844 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -50,6 +50,7 @@ import org.bukkit.entity.Player;
@@ -29,7 +29,7 @@ index 323e4002fb..c225c9e352 100644
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.Event.Result;
-@@ -739,6 +740,17 @@ public class CraftEventFactory {
+@@ -749,6 +750,17 @@ public class CraftEventFactory {
return event;
}
@@ -48,5 +48,5 @@ index 323e4002fb..c225c9e352 100644
return handleBlockGrowEvent(world, pos, block, 3);
}
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch
index 9ef562af24..5761a282e2 100644
--- a/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch
+++ b/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch
@@ -1,11 +1,11 @@
-From be0245f09cbeffaa9e636950ad38f6fb747872b5 Mon Sep 17 00:00:00 2001
+From 06a84941ec9371f358d482d79aa3b42ff924e3d0 Mon Sep 17 00:00:00 2001
From: Techcable <[email protected]>
Date: Fri, 16 Dec 2016 21:25:39 -0600
Subject: [PATCH] Add ProjectileCollideEvent
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
-index 230a23d95d..66e574bd3a 100644
+index 230a23d9..66e574bd 100644
--- a/src/main/java/net/minecraft/server/EntityArrow.java
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
@@ -195,6 +195,16 @@ public abstract class EntityArrow extends Entity implements IProjectile {
@@ -26,7 +26,7 @@ index 230a23d95d..66e574bd3a 100644
this.a(movingobjectposition);
this.impulse = true;
diff --git a/src/main/java/net/minecraft/server/EntityFireball.java b/src/main/java/net/minecraft/server/EntityFireball.java
-index 3e3619d79f..58cc4824cf 100644
+index 3e3619d7..58cc4824 100644
--- a/src/main/java/net/minecraft/server/EntityFireball.java
+++ b/src/main/java/net/minecraft/server/EntityFireball.java
@@ -68,6 +68,15 @@ public abstract class EntityFireball extends Entity {
@@ -46,7 +46,7 @@ index 3e3619d79f..58cc4824cf 100644
this.a(movingobjectposition);
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
-index ad42f8ea67..e33ecfcda7 100644
+index ad42f8ea..e33ecfcd 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -245,6 +245,16 @@ public class EntityFishingHook extends Entity {
@@ -67,7 +67,7 @@ index ad42f8ea67..e33ecfcda7 100644
vec3d1 = new Vec3D(movingobjectposition.pos.x, movingobjectposition.pos.y, movingobjectposition.pos.z);
}
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
-index ee402d4140..fc8c0cab55 100644
+index ee402d41..fc8c0cab 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -144,6 +144,15 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
@@ -87,10 +87,10 @@ index ee402d4140..fc8c0cab55 100644
if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.a()).getBlock() == Blocks.NETHER_PORTAL) {
this.e(movingobjectposition.a());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index c225c9e352..cbf3356985 100644
+index 45cba844..36cad95a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -874,6 +874,16 @@ public class CraftEventFactory {
+@@ -884,6 +884,16 @@ public class CraftEventFactory {
return CraftItemStack.asNMSCopy(bitem);
}
@@ -108,5 +108,5 @@ index c225c9e352..cbf3356985 100644
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch b/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch
index 5204bce3d3..bd1d787023 100644
--- a/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch
+++ b/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch
@@ -1,4 +1,4 @@
-From 5d9e532c8ca78b64531e4ed45574da9f12805cd7 Mon Sep 17 00:00:00 2001
+From 2c22266aa38f8acbc5c924eb3bc3a861acf4988d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 20 Dec 2016 15:26:27 -0500
Subject: [PATCH] Configurable Cartographer Treasure Maps
@@ -9,7 +9,7 @@ Also allow turning off treasure maps all together as they can eat up Map ID's
which are limited in quantity.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 5e51aef84c..5d152af154 100644
+index 5e51aef8..5d152af1 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -345,4 +345,14 @@ public class PaperWorldConfig {
@@ -28,10 +28,10 @@ index 5e51aef84c..5d152af154 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index 5aebdba56c..f03092f4d1 100644
+index 7debc4d2..229eda02 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -755,6 +755,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
+@@ -762,6 +762,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
public void a(IMerchant imerchant, MerchantRecipeList merchantrecipelist, Random random) {
int i = this.a.a(random);
World world = imerchant.getWorld();
@@ -40,5 +40,5 @@ index 5aebdba56c..f03092f4d1 100644
if (blockposition != null) {
--
-2.19.0
+2.17.1
diff --git a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
index 8defc91cbb..221e818f50 100644
--- a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
+++ b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
@@ -1,4 +1,4 @@
-From 81bce8cfb6769d7e35c26f0b79f226e78ff8b41f Mon Sep 17 00:00:00 2001
+From cc1e9d639dc2301f5e003d1fa64dbe53aa842a19 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
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 bb8b450ac4..163ce42c61 100644
+index bb8b450a..163ce42c 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -454,13 +454,13 @@ public class Block implements IMaterial {
@@ -28,7 +28,7 @@ index bb8b450ac4..163ce42c61 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
-index 69c8e245bd..8993fe1add 100644
+index 69c8e245..8993fe1a 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -618,7 +618,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo
@@ -41,7 +41,7 @@ index 69c8e245bd..8993fe1add 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index 1e25ade7cf..3e2312b866 100644
+index 1e25ade7..3e2312b8 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -15,9 +15,59 @@ public class EntityExperienceOrb extends Entity {
@@ -120,7 +120,7 @@ index 1e25ade7cf..3e2312b866 100644
public void d(EntityHuman entityhuman) {
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
-index e33ecfcda7..b164aff93f 100644
+index e33ecfcd..b164aff9 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -467,7 +467,7 @@ public class EntityFishingHook extends Entity {
@@ -133,7 +133,7 @@ index e33ecfcda7..b164aff93f 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 b2b575d0e8..48bb14805e 100644
+index b2b575d0..48bb1480 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -354,7 +354,8 @@ public abstract class EntityLiving extends Entity {
@@ -147,7 +147,7 @@ index b2b575d0e8..48bb14805e 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 a5e1939e05..e73dba09a6 100644
+index a5e1939e..e73dba09 100644
--- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
+++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
@@ -36,7 +36,7 @@ public class EntityThrownExpBottle extends EntityProjectile {
@@ -160,10 +160,10 @@ index a5e1939e05..e73dba09a6 100644
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index f05a1483ff..70f54b1fb9 100644
+index 229eda02..78a549b0 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -411,7 +411,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
+@@ -413,7 +413,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
}
if (merchantrecipe.j()) {
@@ -173,7 +173,7 @@ index f05a1483ff..70f54b1fb9 100644
if (this.tradingPlayer instanceof EntityPlayer) {
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
-index 4a128f707b..b870964674 100644
+index 4a128f70..b8709646 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
@@ -122,7 +122,7 @@ public class PathfinderGoalBreed extends PathfinderGoal {
@@ -186,7 +186,7 @@ index 4a128f707b..b870964674 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
-index c8cfa3abe4..aa7780eff5 100644
+index c8cfa3ab..aa7780ef 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -390,7 +390,7 @@ public class PlayerInteractManager {
@@ -199,7 +199,7 @@ index c8cfa3abe4..aa7780eff5 100644
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
-index 22c47c63c7..52e296d468 100644
+index 22c47c63..52e296d4 100644
--- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java
+++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
@@ -9,7 +9,7 @@ import org.bukkit.event.inventory.FurnaceExtractEvent;
@@ -221,7 +221,7 @@ index 22c47c63c7..52e296d468 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 3a30349f4e..e1c09452b7 100644
+index 3a30349f..e1c09452 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1339,7 +1339,7 @@ public class CraftWorld implements World {
@@ -234,7 +234,7 @@ index 3a30349f4e..e1c09452b7 100644
// not sure what this can do
if (LightningStrike.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 3a09cab3d4..3302af0e45 100644
+index 3a09cab3..3302af0e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
@@ -18,6 +18,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {
@@ -257,5 +257,5 @@ index 3a09cab3d4..3302af0e45 100644
public EntityExperienceOrb getHandle() {
return (EntityExperienceOrb) entity;
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
index d91b5dc582..c8d0ac283d 100644
--- a/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
+++ b/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
@@ -1,4 +1,4 @@
-From 20386d12c045710997309c429716729ecba9fb8c Mon Sep 17 00:00:00 2001
+From c0417136a7ddae5c2979f04638b1a1333c1782c4 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 15 Jun 2013 19:51:17 -0400
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
@@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
Adds ability to get what arrow was shot, and control if it should be consumed.
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
-index f3fca99bcf..9ef0c22de3 100644
+index f3fca99b..9ef0c22d 100644
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
@@ -160,7 +160,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
@@ -19,7 +19,7 @@ index f3fca99bcf..9ef0c22de3 100644
event.getProjectile().remove();
return;
diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java
-index b0f7649b82..152b179ce1 100644
+index b0f7649b..152b179c 100644
--- a/src/main/java/net/minecraft/server/ItemBow.java
+++ b/src/main/java/net/minecraft/server/ItemBow.java
@@ -57,6 +57,7 @@ public class ItemBow extends Item {
@@ -58,10 +58,10 @@ index b0f7649b82..152b179ce1 100644
if (itemstack1.isEmpty()) {
entityhuman.inventory.f(itemstack1);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index cbf3356985..65544c1bb2 100644
+index 36cad95a..246bd118 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -304,7 +304,7 @@ public class CraftEventFactory {
+@@ -314,7 +314,7 @@ public class CraftEventFactory {
/**
* EntityShootBowEvent
*/
@@ -70,7 +70,7 @@ index cbf3356985..65544c1bb2 100644
LivingEntity shooter = (LivingEntity) who.getBukkitEntity();
CraftItemStack itemInHand = CraftItemStack.asCraftMirror(itemstack);
Arrow arrow = (Arrow) entityArrow.getBukkitEntity();
-@@ -313,7 +313,7 @@ public class CraftEventFactory {
+@@ -323,7 +323,7 @@ public class CraftEventFactory {
itemInHand = null;
}
@@ -80,5 +80,5 @@ index cbf3356985..65544c1bb2 100644
return event;
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch
index 8473828410..0a01b6d9ff 100644
--- a/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch
+++ b/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch
@@ -1,4 +1,4 @@
-From bd67d12c59ebdc3c413e0720f60be09cee775342 Mon Sep 17 00:00:00 2001
+From 0beca9cb188e31784710a1483c321cf24f989d37 Mon Sep 17 00:00:00 2001
From: Brokkonaut <[email protected]>
Date: Sat, 30 Jun 2018 05:45:39 +0200
Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
@@ -6,10 +6,10 @@ Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 65544c1bb2..2e39a988bc 100644
+index 246bd118..a7d335d3 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -898,7 +898,7 @@ public class CraftEventFactory {
+@@ -908,7 +908,7 @@ public class CraftEventFactory {
hitBlock = entity.getBukkitEntity().getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
}
@@ -19,5 +19,5 @@ index 65544c1bb2..2e39a988bc 100644
return event;
}
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch
index ce2802145c..286a9e8c0b 100644
--- a/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch
+++ b/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch
@@ -1,4 +1,4 @@
-From eea9dc9ae3dbf89daf49cfe290eec61f955b3b5c Mon Sep 17 00:00:00 2001
+From 01886d150f7cb93a7d3f89fa13c0b1ac3e0f2637 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 3 Jul 2018 21:56:23 -0400
Subject: [PATCH] InventoryCloseEvent Reason API
@@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
to "confirm" things based on if it was player triggered close or not.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 44f37f50a7..864691f873 100644
+index 44f37f50..864691f8 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -931,7 +931,7 @@ public class Chunk implements IChunkAccess {
@@ -29,7 +29,7 @@ index 44f37f50a7..864691f873 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index 1d97a5442c..d510ef63d1 100644
+index 1d97a544..d510ef63 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -161,7 +161,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -56,7 +56,7 @@ index 1d97a5442c..d510ef63d1 100644
this.activeContainer = this.defaultContainer;
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index edef46ac31..9dcf29609a 100644
+index edef46ac..9dcf2960 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -347,7 +347,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -110,7 +110,7 @@ index edef46ac31..9dcf29609a 100644
this.m();
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 5bbd09aa77..fc4c1e1bf5 100644
+index 233e9b30..7e7e6b68 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2035,7 +2035,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable {
@@ -123,7 +123,7 @@ index 5bbd09aa77..fc4c1e1bf5 100644
this.player.m();
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index f97b5b8af0..813f6d1fd3 100644
+index f97b5b8a..813f6d1f 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -423,7 +423,7 @@ public abstract class PlayerList {
@@ -136,7 +136,7 @@ index f97b5b8af0..813f6d1fd3 100644
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game");
cserver.getPluginManager().callEvent(playerQuitEvent);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index 7070917547..c9cbf69798 100644
+index 70709175..c9cbf697 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -417,8 +417,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
@@ -155,7 +155,7 @@ index 7070917547..c9cbf69798 100644
public boolean isBlocking() {
return getHandle().isBlocking();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 8699cc72f1..0f1d700c73 100644
+index 8699cc72..0f1d700c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -740,7 +740,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -168,10 +168,10 @@ index 8699cc72f1..0f1d700c73 100644
// Check if the fromWorld and toWorld are the same.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 2e39a988bc..265b266325 100644
+index a7d335d3..630a43bc 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -988,8 +988,19 @@ public class CraftEventFactory {
+@@ -998,8 +998,19 @@ public class CraftEventFactory {
return event;
}
@@ -193,5 +193,5 @@ index 2e39a988bc..265b266325 100644
human.activeContainer.transferTo(human.defaultContainer, human.getBukkitEntity());
}
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch
index 9e31ad195d..a6b5a323e1 100644
--- a/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch
+++ b/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch
@@ -1,11 +1,11 @@
-From add993d4185e2c2d86cf87815920d20878a795fa Mon Sep 17 00:00:00 2001
+From 0db6c0e06db178998371bbb76962c9413b67d72f Mon Sep 17 00:00:00 2001
From: Hugo Manrique <[email protected]>
Date: Mon, 23 Jul 2018 14:22:26 +0200
Subject: [PATCH] Vanished players don't have rights
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index e0cd7bd857..801c3fb8e0 100644
+index e0cd7bd8..801c3fb8 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -94,7 +94,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -18,7 +18,7 @@ index e0cd7bd857..801c3fb8e0 100644
protected int k;
private Entity vehicle;
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
-index 1cecccef23..c77d7c16c6 100644
+index 1cecccef..c77d7c16 100644
--- a/src/main/java/net/minecraft/server/ItemBlock.java
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -70,7 +70,8 @@ public class ItemBlock extends Item {
@@ -32,7 +32,7 @@ index 1cecccef23..c77d7c16c6 100644
BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), CraftBlockData.fromData(iblockdata), defaultReturn);
blockactioncontext.getWorld().getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java
-index 1ea8464aeb..35b08a5f99 100644
+index 1ea8464a..35b08a5f 100644
--- a/src/main/java/net/minecraft/server/VoxelShape.java
+++ b/src/main/java/net/minecraft/server/VoxelShape.java
@@ -24,6 +24,7 @@ public abstract class VoxelShape {
@@ -44,7 +44,7 @@ index 1ea8464aeb..35b08a5f99 100644
if (this.isEmpty()) {
throw new UnsupportedOperationException("No bounds for empty shape.");
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index fa94e41f0f..ad1011a22a 100644
+index fa94e41f..ad1011a2 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1595,6 +1595,37 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc
@@ -86,10 +86,10 @@ index fa94e41f0f..ad1011a22a 100644
if (voxelshape.isEmpty()) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 265b266325..f5fa6b13e1 100644
+index 630a43bc..da779ecb 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -879,6 +879,14 @@ public class CraftEventFactory {
+@@ -889,6 +889,14 @@ public class CraftEventFactory {
Projectile projectile = (Projectile) entity.getBukkitEntity();
org.bukkit.entity.Entity collided = position.entity.getBukkitEntity();
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);
@@ -105,5 +105,5 @@ index 265b266325..f5fa6b13e1 100644
return event;
}
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0306-EntityTransformedEvent.patch b/Spigot-Server-Patches/0306-EntityTransformedEvent.patch
index fc947f82d9..bfa15ea7fe 100644
--- a/Spigot-Server-Patches/0306-EntityTransformedEvent.patch
+++ b/Spigot-Server-Patches/0306-EntityTransformedEvent.patch
@@ -1,69 +1,65 @@
-From a1a853328369baa51f52f6b5f052b9d18e6418ab Mon Sep 17 00:00:00 2001
+From 5b600d2b9415bea339241a122bbf8ab97ce2c103 Mon Sep 17 00:00:00 2001
From: Anthony MacAllister <[email protected]>
Date: Thu, 26 Jul 2018 15:30:03 -0400
Subject: [PATCH] EntityTransformedEvent
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
-index 5b856aea2..13a6ddac5 100644
+index 709dfb07..8ba9f3bb 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
-@@ -43,7 +43,7 @@ public class EntityMushroomCow extends EntityCow {
- if (this.hasCustomName()) {
- entitycow.setCustomName(this.getCustomName());
+@@ -53,6 +53,7 @@ public class EntityMushroomCow extends EntityCow {
+ if (CraftEventFactory.callEntityTransformEvent(this, entitycow, EntityTransformEvent.TransformReason.SHEARED).isCancelled()) {
+ return false;
}
--
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entitycow.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.SHEARED).callEvent()) return false; // Paper
- this.world.addEntity(entitycow);
+ this.world.addEntity(entitycow, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SHEARED);
+ // CraftBukkit end
- for (int i = 0; i < 5; ++i) {
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index 70f54b1fb..c7d6aa238 100644
+index 78a549b0..868d2483 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -623,7 +623,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
- entitywitch.setCustomName(this.getCustomName());
- entitywitch.setCustomNameVisible(this.getCustomNameVisible());
+@@ -630,6 +630,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
+ if (CraftEventFactory.callEntityTransformEvent(this, entitywitch, EntityTransformEvent.TransformReason.LIGHTNING).isCancelled()) {
+ return;
}
--
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entitywitch.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.LIGHTNING).callEvent()) return; // Paper
- this.world.addEntity(entitywitch, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // Paper - Added lightning spawn reason for this entity
+ this.world.addEntity(entitywitch, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING);
+ // CraftBukkit end
this.die();
- }
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 173e14760..72b95078e 100644
+index 02bebf72..4b326bf6 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
-@@ -239,7 +239,7 @@ public class EntityZombie extends EntityMonster {
- entityzombie.setCustomName(this.getCustomName());
- entityzombie.setCustomNameVisible(this.getCustomNameVisible());
+@@ -247,6 +247,7 @@ public class EntityZombie extends EntityMonster {
+ return;
}
--
+ // CraftBukkit end
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityzombie.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.DROWNED).callEvent()) return; // Paper
this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.DROWNED); // CraftBukkit - added spawn reason
this.die();
}
-@@ -398,6 +398,7 @@ public class EntityZombie extends EntityMonster {
- entityzombievillager.setCustomNameVisible(entityvillager.getCustomNameVisible());
+@@ -410,6 +411,7 @@ public class EntityZombie extends EntityMonster {
+ return;
}
-
+ // CraftBukkit end
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityvillager.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.INFECTED).callEvent()) return; // Paper
this.world.addEntity(entityzombievillager, CreatureSpawnEvent.SpawnReason.INFECTION); // CraftBukkit - add SpawnReason
this.world.a((EntityHuman) null, 1026, new BlockPosition(this), 0);
}
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
-index 4edad8bb6..39de69fa7 100644
+index cbbd2197..0e5dd111 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
-@@ -130,7 +130,7 @@ public class EntityZombieVillager extends EntityZombie {
- entityvillager.setCustomName(this.getCustomName());
- entityvillager.setCustomNameVisible(this.getCustomNameVisible());
+@@ -140,6 +140,7 @@ public class EntityZombieVillager extends EntityZombie {
+ return;
}
--
+ // CraftBukkit end
+ if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityvillager.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.CURED).callEvent()) return; // Paper
this.world.addEntity(entityvillager, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CURED); // CraftBukkit - add SpawnReason
if (this.bD != null) {
EntityHuman entityhuman = this.world.b(this.bD);
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch b/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch
index ea5f6058f6..387b7a9639 100644
--- a/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch
+++ b/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch
@@ -1,11 +1,11 @@
-From 6110250bffd564f51fada4f6be67f4475c670555 Mon Sep 17 00:00:00 2001
+From 3d06b85ae5fd05a8885801d0a8d94dd2c907b4ef Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 24 Aug 2018 08:18:42 -0500
Subject: [PATCH] Slime Pathfinder Events
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
-index 238f3c792..2737a7d69 100644
+index e913accd..54c5f746 100644
--- a/src/main/java/net/minecraft/server/EntitySlime.java
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
@@ -1,6 +1,14 @@
@@ -21,9 +21,9 @@ index 238f3c792..2737a7d69 100644
+import org.bukkit.entity.Slime;
+// Paper end
// CraftBukkit start
- import org.bukkit.event.entity.SlimeSplitEvent;
- // CraftBukkit end
-@@ -57,6 +65,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+ import org.bukkit.craftbukkit.event.CraftEventFactory;
+ import org.bukkit.event.entity.EntityTransformEvent;
+@@ -59,6 +67,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
super.b(nbttagcompound);
nbttagcompound.setInt("Size", this.getSize() - 1);
nbttagcompound.setBoolean("wasOnGround", this.bD);
@@ -31,7 +31,7 @@ index 238f3c792..2737a7d69 100644
}
public void a(NBTTagCompound nbttagcompound) {
-@@ -69,6 +78,11 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -71,6 +80,11 @@ public class EntitySlime extends EntityInsentient implements IMonster {
this.setSize(i + 1, false);
this.bD = nbttagcompound.getBoolean("wasOnGround");
@@ -43,7 +43,7 @@ index 238f3c792..2737a7d69 100644
}
public boolean dy() {
-@@ -308,7 +322,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -316,7 +330,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
public boolean a() {
@@ -52,7 +52,7 @@ index 238f3c792..2737a7d69 100644
}
public void e() {
-@@ -327,7 +341,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -335,7 +349,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
public boolean a() {
@@ -61,7 +61,7 @@ index 238f3c792..2737a7d69 100644
}
public void e() {
-@@ -351,13 +365,17 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -359,13 +373,17 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
public boolean a() {
@@ -81,7 +81,7 @@ index 238f3c792..2737a7d69 100644
}
((EntitySlime.ControllerMoveSlime) this.a.getControllerMove()).a(this.b, false);
-@@ -377,7 +395,15 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -385,7 +403,15 @@ public class EntitySlime extends EntityInsentient implements IMonster {
public boolean a() {
EntityLiving entityliving = this.a.getGoalTarget();
@@ -98,7 +98,7 @@ index 238f3c792..2737a7d69 100644
}
public void c() {
-@@ -388,13 +414,28 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -396,13 +422,28 @@ public class EntitySlime extends EntityInsentient implements IMonster {
public boolean b() {
EntityLiving entityliving = this.a.getGoalTarget();
@@ -128,7 +128,7 @@ index 238f3c792..2737a7d69 100644
}
static class ControllerMoveSlime extends ControllerMove {
-@@ -452,4 +493,15 @@ public class EntitySlime extends EntityInsentient implements IMonster {
+@@ -460,4 +501,15 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
}
}
@@ -145,7 +145,7 @@ index 238f3c792..2737a7d69 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
-index 18e7ef80a..8403c1e01 100644
+index 18e7ef80..8403c1e0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
@@ -33,4 +33,14 @@ public class CraftSlime extends CraftMob implements Slime {
@@ -164,5 +164,5 @@ index 18e7ef80a..8403c1e01 100644
+ // Paper end
}
--
-2.19.0
+2.17.1
diff --git a/Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch b/Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch
index e3c7b1a0a5..27eb1635d2 100644
--- a/Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch
+++ b/Spigot-Server-Patches/0348-Don-t-double-add-golems-to-world.patch
@@ -1,4 +1,4 @@
-From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001
+From ab28a18613d51ddb9df2fb4e6d947c734d63090f Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 30 Aug 2018 20:56:26 -0400
Subject: [PATCH] Don't double add golems to world
@@ -6,18 +6,18 @@ Subject: [PATCH] Don't double add golems to world
spawnCreature adds to world now
diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java
-index 7ac07ac07ac0..7ac07ac07ac0 100644
+index fc671801..7caae1d7 100644
--- a/src/main/java/net/minecraft/server/Village.java
+++ b/src/main/java/net/minecraft/server/Village.java
@@ -83,7 +83,7 @@ public class Village {
if (entityirongolem != null) {
if (entityirongolem.a((GeneratorAccess) this.a, false) && entityirongolem.a((IWorldReader) this.a)) {
-- this.a.addEntity(entityirongolem);
+- this.a.addEntity(entityirongolem, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.VILLAGE_DEFENSE); // CraftBukkit
+ //this.a.addEntity(entityirongolem); // Paper - already is in the world
return entityirongolem;
}
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0355-Improve-death-events.patch b/Spigot-Server-Patches/0355-Improve-death-events.patch
index 382023c4fe..6c7125ee14 100644
--- a/Spigot-Server-Patches/0355-Improve-death-events.patch
+++ b/Spigot-Server-Patches/0355-Improve-death-events.patch
@@ -1,4 +1,4 @@
-From 5e82f4f46a56b6fe2e0d835e64fc2161eb6881ae Mon Sep 17 00:00:00 2001
+From a991a542b14435b8f707a4cd6708d8c4c71332f8 Mon Sep 17 00:00:00 2001
From: Phoenix616 <[email protected]>
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 9a74601b0..6e60d15cc 100644
+index 9a74601b..6e60d15c 100644
--- a/src/main/java/net/minecraft/server/CombatTracker.java
+++ b/src/main/java/net/minecraft/server/CombatTracker.java
@@ -163,6 +163,7 @@ public class CombatTracker {
@@ -27,7 +27,7 @@ index 9a74601b0..6e60d15cc 100644
int i = this.f ? 300 : 100;
if (this.g && (!this.b.isAlive() || this.b.ticksLived - this.c > i)) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 665c85ca4..8abd71dfc 100644
+index 665c85ca..8abd71df 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1539,6 +1539,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -55,7 +55,7 @@ index 665c85ca4..8abd71dfc 100644
return SoundCategory.NEUTRAL;
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index d8939420c..3a77a112f 100644
+index d2b20888..965ace8d 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -656,7 +656,8 @@ public class EntityArmorStand extends EntityLiving {
@@ -69,7 +69,7 @@ index d8939420c..3a77a112f 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 2aedfa808..83d648fff 100644
+index 2aedfa80..83d648ff 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -76,14 +76,14 @@ public abstract class EntityLiving extends Entity {
@@ -207,7 +207,7 @@ index 2aedfa808..83d648fff 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 9dcf29609..720eb9184 100644
+index 9dcf2960..720eb918 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 {
@@ -258,7 +258,7 @@ index 9dcf29609..720eb9184 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java
-index 17fab031b..ee8219e3b 100644
+index 17fab031..ee8219e3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java
@@ -674,6 +674,22 @@ public enum CraftSound {
@@ -285,7 +285,7 @@ index 17fab031b..ee8219e3b 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 8be0a47ba..f56ef6f71 100644
+index 8be0a47b..f56ef6f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1711,7 +1711,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -306,10 +306,10 @@ index 8be0a47ba..f56ef6f71 100644
public void injectScaledMaxHealth(Collection<AttributeInstance> 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 396a37f69..11ff21fcf 100644
+index e592dfb4..c70890cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -485,9 +485,16 @@ public class CraftEventFactory {
+@@ -495,9 +495,16 @@ public class CraftEventFactory {
public static EntityDeathEvent callEntityDeathEvent(EntityLiving victim, List<org.bukkit.inventory.ItemStack> drops) {
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
@@ -326,7 +326,7 @@ index 396a37f69..11ff21fcf 100644
victim.expToDrop = event.getDroppedExp();
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
-@@ -503,8 +510,15 @@ public class CraftEventFactory {
+@@ -513,8 +520,15 @@ public class CraftEventFactory {
CraftPlayer entity = victim.getBukkitEntity();
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
event.setKeepInventory(keepInventory);
@@ -342,7 +342,7 @@ index 396a37f69..11ff21fcf 100644
victim.keepLevel = event.getKeepLevel();
victim.newLevel = event.getNewLevel();
-@@ -525,6 +539,31 @@ public class CraftEventFactory {
+@@ -535,6 +549,31 @@ public class CraftEventFactory {
return event;
}
@@ -375,5 +375,5 @@ index 396a37f69..11ff21fcf 100644
* Server methods
*/
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch b/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch
index 3ec505ed0f..e047face24 100644
--- a/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch
+++ b/Spigot-Server-Patches/0371-Async-Chunk-Loading-and-Generation.patch
@@ -1,4 +1,4 @@
-From bdc5584b6bb6c8327a5b5ad80ead1c02624f78cc Mon Sep 17 00:00:00 2001
+From 757279573b390c1ee00f7e33b2c7c3bc89ede9be Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 21 Jul 2018 16:55:04 -0400
Subject: [PATCH] Async Chunk Loading and Generation
@@ -43,7 +43,7 @@ reading or writing to the chunk will be safe, so plugins still
should not be touching chunks asynchronously!
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index b703e0848..73b0c2394 100644
+index b703e084..73b0c239 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -385,4 +385,57 @@ public class PaperConfig {
@@ -106,7 +106,7 @@ index b703e0848..73b0c2394 100644
}
diff --git a/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java b/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java
new file mode 100644
-index 000000000..8f18c2869
+index 00000000..8f18c286
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/util/PriorityQueuedExecutor.java
@@ -0,0 +1,347 @@
@@ -458,7 +458,7 @@ index 000000000..8f18c2869
+
+}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 479a84a25..340b756bb 100644
+index 479a84a2..340b756b 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -184,6 +184,7 @@ public class Chunk implements IChunkAccess {
@@ -470,7 +470,7 @@ index 479a84a25..340b756bb 100644
Iterator iterator = protochunk.s().iterator();
diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java
-index 39ac032b0..1662e4eba 100644
+index 39ac032b..1662e4eb 100644
--- a/src/main/java/net/minecraft/server/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/ChunkMap.java
@@ -14,9 +14,17 @@ public class ChunkMap extends Long2ObjectOpenHashMap<Chunk> {
@@ -576,7 +576,7 @@ index 39ac032b0..1662e4eba 100644
public Chunk remove(Object object) {
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index e64cb8051..7a1f84886 100644
+index e64cb805..7a1f8488 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -35,12 +35,12 @@ public class ChunkProviderServer implements IChunkProvider {
@@ -726,7 +726,7 @@ index e64cb8051..7a1f84886 100644
}
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 9b4bc3ff6..4c22f6d75 100644
+index 9b4bc3ff..4c22f6d7 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -120,7 +120,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver {
@@ -753,7 +753,7 @@ index 9b4bc3ff6..4c22f6d75 100644
completion = new Supplier<NBTTagCompound>() {
public NBTTagCompound get() {
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
-index bdfc7d81f..a5c4564d6 100644
+index bdfc7d81..a5c4564d 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -24,7 +24,17 @@ public class ChunkSection {
@@ -775,7 +775,7 @@ index bdfc7d81f..a5c4564d6 100644
public IBlockData getType(int i, int j, int k) {
return this.blockIds.a(i, j, k);
diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
-index 34019bd1b..fc9091c80 100644
+index 34019bd1..fc9091c8 100644
--- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
+++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java
@@ -20,13 +20,14 @@ public class ChunkTaskScheduler extends Scheduler<ChunkCoordIntPair, ChunkStatus
@@ -846,7 +846,7 @@ index 34019bd1b..fc9091c80 100644
protected ProtoChunk a(ChunkCoordIntPair chunkcoordintpair, ChunkStatus chunkstatus, Map<ChunkCoordIntPair, ProtoChunk> map) {
diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java
-index 71a3636be..ff0fe2541 100644
+index 71a3636b..ff0fe254 100644
--- a/src/main/java/net/minecraft/server/DataPaletteBlock.java
+++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java
@@ -3,7 +3,7 @@ package net.minecraft.server;
@@ -931,7 +931,7 @@ index 71a3636be..ff0fe2541 100644
// Paper start - Anti-Xray - Support default methods
diff --git a/src/main/java/net/minecraft/server/DefinedStructureManager.java b/src/main/java/net/minecraft/server/DefinedStructureManager.java
-index 271dc41d4..bd15534c2 100644
+index 271dc41d..bd15534c 100644
--- a/src/main/java/net/minecraft/server/DefinedStructureManager.java
+++ b/src/main/java/net/minecraft/server/DefinedStructureManager.java
@@ -19,7 +19,7 @@ import org.apache.logging.log4j.Logger;
@@ -944,7 +944,7 @@ index 271dc41d4..bd15534c2 100644
private final MinecraftServer d;
private final java.nio.file.Path e;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 13c0c7ee8..552be8cd8 100644
+index 13c0c7ee..552be8cd 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -209,7 +209,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -957,7 +957,7 @@ index 13c0c7ee8..552be8cd8 100644
this.aJ = Sets.newHashSet();
this.aL = new double[] { 0.0D, 0.0D, 0.0D};
diff --git a/src/main/java/net/minecraft/server/IChunkLoader.java b/src/main/java/net/minecraft/server/IChunkLoader.java
-index 4698ee99f..dfb45cc4e 100644
+index 4698ee99..dfb45cc4 100644
--- a/src/main/java/net/minecraft/server/IChunkLoader.java
+++ b/src/main/java/net/minecraft/server/IChunkLoader.java
@@ -6,6 +6,8 @@ import javax.annotation.Nullable;
@@ -970,7 +970,7 @@ index 4698ee99f..dfb45cc4e 100644
Chunk a(GeneratorAccess generatoraccess, int i, int j, Consumer<Chunk> consumer) throws IOException;
diff --git a/src/main/java/net/minecraft/server/MathHelper.java b/src/main/java/net/minecraft/server/MathHelper.java
-index 49fba0979..9ad646f8d 100644
+index 49fba097..9ad646f8 100644
--- a/src/main/java/net/minecraft/server/MathHelper.java
+++ b/src/main/java/net/minecraft/server/MathHelper.java
@@ -142,6 +142,7 @@ public class MathHelper {
@@ -982,7 +982,7 @@ index 49fba0979..9ad646f8d 100644
fx = fx % 360.0F;
if (fx >= 180.0F) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 292547be3..5049595ab 100644
+index 292547be..5049595a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -503,6 +503,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati
@@ -1072,7 +1072,7 @@ index 292547be3..5049595ab 100644
if (true || worldserver.worldProvider.getDimensionManager() == DimensionManager.OVERWORLD || this.getAllowNether()) { // CraftBukkit
diff --git a/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java b/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java
new file mode 100644
-index 000000000..e9a38f9d9
+index 00000000..e9a38f9d
--- /dev/null
+++ b/src/main/java/net/minecraft/server/PaperAsyncChunkProvider.java
@@ -0,0 +1,655 @@
@@ -1732,7 +1732,7 @@ index 000000000..e9a38f9d9
+
+}
diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java
-index 2c7c8adf7..62c524ef3 100644
+index 2c7c8adf..62c524ef 100644
--- a/src/main/java/net/minecraft/server/PlayerChunk.java
+++ b/src/main/java/net/minecraft/server/PlayerChunk.java
@@ -29,16 +29,59 @@ public class PlayerChunk {
@@ -1834,7 +1834,7 @@ index 2c7c8adf7..62c524ef3 100644
}
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index 95baa1dc8..9f6028586 100644
+index 95baa1dc..9f602858 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -27,10 +27,10 @@ public class PlayerChunkMap {
@@ -1894,7 +1894,7 @@ index 95baa1dc8..9f6028586 100644
private void e() {
diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java
-index 9c34319b6..7149b1472 100644
+index 9c34319b..7149b147 100644
--- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java
+++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java
@@ -35,7 +35,7 @@ public class RegionLimitedWorldAccess implements GeneratorAccess {
@@ -1907,7 +1907,7 @@ index 9c34319b6..7149b1472 100644
this.m = world.getChunkProvider().getChunkGenerator().getSettings();
this.i = world.getSeaLevel();
diff --git a/src/main/java/net/minecraft/server/SchedulerBatch.java b/src/main/java/net/minecraft/server/SchedulerBatch.java
-index d868149d1..0d45d933e 100644
+index d868149d..0d45d933 100644
--- a/src/main/java/net/minecraft/server/SchedulerBatch.java
+++ b/src/main/java/net/minecraft/server/SchedulerBatch.java
@@ -9,6 +9,7 @@ public class SchedulerBatch<K, T extends SchedulerTask<K, T>, R> {
@@ -1962,7 +1962,7 @@ index d868149d1..0d45d933e 100644
}
}
diff --git a/src/main/java/net/minecraft/server/StructurePiece.java b/src/main/java/net/minecraft/server/StructurePiece.java
-index a5cf017da..def8730b8 100644
+index a5cf017d..def8730b 100644
--- a/src/main/java/net/minecraft/server/StructurePiece.java
+++ b/src/main/java/net/minecraft/server/StructurePiece.java
@@ -14,7 +14,7 @@ public abstract class StructurePiece {
@@ -1989,7 +1989,7 @@ index a5cf017da..def8730b8 100644
return null;
}
diff --git a/src/main/java/net/minecraft/server/StructureStart.java b/src/main/java/net/minecraft/server/StructureStart.java
-index 1926c902a..1117e4ae2 100644
+index 1926c902..1117e4ae 100644
--- a/src/main/java/net/minecraft/server/StructureStart.java
+++ b/src/main/java/net/minecraft/server/StructureStart.java
@@ -6,7 +6,7 @@ import java.util.List;
@@ -2038,7 +2038,7 @@ index 1926c902a..1117e4ae2 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 016d50d3c..f1495d30c 100644
+index 016d50d3..f1495d30 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -46,7 +46,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
@@ -2135,7 +2135,7 @@ index 016d50d3c..f1495d30c 100644
if (entity == null) return false;
if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper
diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java
-index fa99fe014..4f49786aa 100644
+index fa99fe01..4f49786a 100644
--- a/src/main/java/net/minecraft/server/WorldGenStronghold.java
+++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java
@@ -9,24 +9,29 @@ import java.util.Random;
@@ -2282,7 +2282,7 @@ index fa99fe014..4f49786aa 100644
}
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 6e54b71e8..a54ea5a69 100644
+index 6e54b71e..a54ea5a6 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -731,7 +731,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -2295,7 +2295,7 @@ index 6e54b71e8..a54ea5a69 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index c56511abc..648ac4d18 100644
+index c56511ab..648ac4d1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1017,8 +1017,12 @@ public final class CraftServer implements Server {
@@ -2323,7 +2323,7 @@ index c56511abc..648ac4d18 100644
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 7e6a7b0e9..ef5a7bc38 100644
+index 7e6a7b0e..ef5a7bc3 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -162,6 +162,16 @@ public class CraftWorld implements World {
@@ -2361,7 +2361,7 @@ index 7e6a7b0e9..ef5a7bc38 100644
if (isChunkLoaded(chunkCoordX + x, chunkCoordZ + z)) {
unloadChunk(chunkCoordX + x, chunkCoordZ + z);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 11ff21fcf..9d0d4d42b 100644
+index c70890cc..957ad628 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -80,6 +80,7 @@ public class CraftEventFactory {
@@ -2372,7 +2372,7 @@ index 11ff21fcf..9d0d4d42b 100644
// helper methods
private static boolean canBuild(CraftWorld world, Player player, int x, int z) {
-@@ -359,6 +360,7 @@ public class CraftEventFactory {
+@@ -369,6 +370,7 @@ public class CraftEventFactory {
CraftServer craftServer = (CraftServer) entity.getServer();
CreatureSpawnEvent event = new CreatureSpawnEvent(entity, spawnReason);
@@ -2380,7 +2380,7 @@ index 11ff21fcf..9d0d4d42b 100644
craftServer.getPluginManager().callEvent(event);
return event;
}
-@@ -1006,6 +1008,7 @@ public class CraftEventFactory {
+@@ -1016,6 +1018,7 @@ public class CraftEventFactory {
}
BlockIgniteEvent event = new BlockIgniteEvent(bukkitWorld.getBlockAt(block.getX(), block.getY(), block.getZ()), cause, igniter);
@@ -2388,7 +2388,7 @@ index 11ff21fcf..9d0d4d42b 100644
world.getServer().getPluginManager().callEvent(event);
return event;
}
-@@ -1030,6 +1033,7 @@ public class CraftEventFactory {
+@@ -1040,6 +1043,7 @@ public class CraftEventFactory {
}
BlockIgniteEvent event = new BlockIgniteEvent(bukkitWorld.getBlockAt(pos.getX(), pos.getY(), pos.getZ()), cause, bukkitIgniter);
@@ -2396,7 +2396,7 @@ index 11ff21fcf..9d0d4d42b 100644
world.getServer().getPluginManager().callEvent(event);
return event;
}
-@@ -1237,7 +1241,8 @@ public class CraftEventFactory {
+@@ -1247,7 +1251,8 @@ public class CraftEventFactory {
public static BlockPhysicsEvent callBlockPhysicsEvent(GeneratorAccess world, BlockPosition blockposition) {
org.bukkit.block.Block block = CraftBlock.at(world, blockposition);
BlockPhysicsEvent event = new BlockPhysicsEvent(block, block.getBlockData());
@@ -2406,7 +2406,7 @@ index 11ff21fcf..9d0d4d42b 100644
return event;
}
-@@ -1273,6 +1278,7 @@ public class CraftEventFactory {
+@@ -1283,6 +1288,7 @@ public class CraftEventFactory {
}
EntityPotionEffectEvent event = new EntityPotionEffectEvent((LivingEntity) entity.getBukkitEntity(), bukkitOldEffect, bukkitNewEffect, cause, action, willOverride);
@@ -2414,7 +2414,7 @@ index 11ff21fcf..9d0d4d42b 100644
Bukkit.getPluginManager().callEvent(event);
return event;
-@@ -1291,6 +1297,7 @@ public class CraftEventFactory {
+@@ -1301,6 +1307,7 @@ public class CraftEventFactory {
blockState.setData(block);
BlockFormEvent event = (entity == null) ? new BlockFormEvent(blockState.getBlock(), blockState) : new EntityBlockFormEvent(entity.getBukkitEntity(), blockState.getBlock(), blockState);
@@ -2423,7 +2423,7 @@ index 11ff21fcf..9d0d4d42b 100644
if (!event.isCancelled()) {
diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
-index 04e29f58c..5fae0c6ad 100644
+index 04e29f58..5fae0c6a 100644
--- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
+++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java
@@ -21,6 +21,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator<GeneratorSettin
@@ -2451,5 +2451,5 @@ index 04e29f58c..5fae0c6ad 100644
this.random = new Random(seed);
this.chunkManager = world.worldProvider.getChunkGenerator().getWorldChunkManager();
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0399-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/Spigot-Server-Patches/0399-Don-t-sleep-after-profile-lookups-if-not-needed.patch
index 3e7eedca06..c9351d1255 100644
--- a/Spigot-Server-Patches/0399-Don-t-sleep-after-profile-lookups-if-not-needed.patch
+++ b/Spigot-Server-Patches/0399-Don-t-sleep-after-profile-lookups-if-not-needed.patch
@@ -1,4 +1,4 @@
-From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001
+From 2b2d2fae0cfe3920b39e7773526c6fa55f3a261b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 23 Oct 2018 20:25:05 -0400
Subject: [PATCH] Don't sleep after profile lookups if not needed
@@ -7,30 +7,30 @@ Mojang was sleeping even if we had no more requests to go after
the current one finished, resulting in 100ms lost per profile lookup
diff --git a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
-index 7ac07ac07ac0..7ac07ac07ac0 100644
+index 26a74372..6ed3199c 100644
--- a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
+++ b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
@@ -42,6 +42,7 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository {
- }
-
- final int page = 0;
+ }
+
+ final int page = 0;
+ boolean hasRequested = false; // Paper
-
- for (final List<String> request : Iterables.partition(criteria, ENTRIES_PER_PAGE)) {
- int failCount = 0;
+
+ for (final List<String> request : Iterables.partition(criteria, ENTRIES_PER_PAGE)) {
+ int failCount = 0;
@@ -67,6 +68,12 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository {
- LOGGER.debug("Couldn't find profile {}", name);
- callback.onProfileLookupFailed(new GameProfile(null, name), new ProfileNotFoundException("Server did not find the requested profile"));
- }
+ LOGGER.debug("Couldn't find profile {}", name);
+ callback.onProfileLookupFailed(new GameProfile(null, name), new ProfileNotFoundException("Server did not find the requested profile"));
+ }
+ // Paper start
+ if (!hasRequested) {
+ hasRequested = true;
+ continue;
+ }
+ // Paper end
-
- try {
- Thread.sleep(DELAY_BETWEEN_PAGES);
+
+ try {
+ Thread.sleep(DELAY_BETWEEN_PAGES);
--
-2.19.1
+2.17.1
diff --git a/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch b/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch
index 1a4b344ce9..dde04d7177 100644
--- a/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch
+++ b/Spigot-Server-Patches/0401-Use-EntityTypes-for-living-entities.patch
@@ -1,11 +1,11 @@
-From 7dcc3c9f1bac403b159e33cebfb2d5ce3785679a Mon Sep 17 00:00:00 2001
+From 6ede37a22fddb3a680a3d94bd5c2ef6f8c564c2e Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Thu, 4 Oct 2018 10:08:02 -0500
Subject: [PATCH] Use EntityTypes for living entities
diff --git a/src/main/java/net/minecraft/server/BlockMonsterEggs.java b/src/main/java/net/minecraft/server/BlockMonsterEggs.java
-index 5a0cc6d05..d385f647e 100644
+index 5a0cc6d0..d385f647 100644
--- a/src/main/java/net/minecraft/server/BlockMonsterEggs.java
+++ b/src/main/java/net/minecraft/server/BlockMonsterEggs.java
@@ -35,7 +35,7 @@ public class BlockMonsterEggs extends Block {
@@ -18,7 +18,7 @@ index 5a0cc6d05..d385f647e 100644
entitysilverfish.setPositionRotation((double) blockposition.getX() + 0.5D, (double) blockposition.getY(), (double) blockposition.getZ() + 0.5D, 0.0F, 0.0F);
world.addEntity(entitysilverfish, SpawnReason.SILVERFISH_BLOCK); // CraftBukkit - add SpawnReason
diff --git a/src/main/java/net/minecraft/server/BlockPumpkinCarved.java b/src/main/java/net/minecraft/server/BlockPumpkinCarved.java
-index f7ea9f9b8..dfa3bd685 100644
+index f7ea9f9b..dfa3bd68 100644
--- a/src/main/java/net/minecraft/server/BlockPumpkinCarved.java
+++ b/src/main/java/net/minecraft/server/BlockPumpkinCarved.java
@@ -52,7 +52,7 @@ public class BlockPumpkinCarved extends BlockFacingHorizontal {
@@ -40,7 +40,7 @@ index f7ea9f9b8..dfa3bd685 100644
entityirongolem.setPlayerCreated(true);
entityirongolem.setPositionRotation((double) blockposition2.getX() + 0.5D, (double) blockposition2.getY() + 0.05D, (double) blockposition2.getZ() + 0.5D, 0.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
-index 924d15649..9e9fa7d58 100644
+index 924d1564..9e9fa7d5 100644
--- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java
+++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java
@@ -84,7 +84,7 @@ public class BlockTurtleEgg extends Block {
@@ -53,7 +53,7 @@ index 924d15649..9e9fa7d58 100644
entityturtle.setAgeRaw(-24000);
entityturtle.g(blockposition);
diff --git a/src/main/java/net/minecraft/server/BlockWitherSkull.java b/src/main/java/net/minecraft/server/BlockWitherSkull.java
-index 7904b1262..38fc40e50 100644
+index 7904b126..38fc40e5 100644
--- a/src/main/java/net/minecraft/server/BlockWitherSkull.java
+++ b/src/main/java/net/minecraft/server/BlockWitherSkull.java
@@ -52,7 +52,7 @@ public class BlockWitherSkull extends BlockSkull {
@@ -66,7 +66,7 @@ index 7904b1262..38fc40e50 100644
entitywither.setPositionRotation((double) blockposition2.getX() + 0.5D, (double) blockposition2.getY() + 0.55D, (double) blockposition2.getZ() + 0.5D, shapedetector_shapedetectorcollection.getFacing().k() == EnumDirection.EnumAxis.X ? 0.0F : 90.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
-index f4a8a4b4d..3d5801dd8 100644
+index f4a8a4b4..3d5801dd 100644
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
@@ -414,7 +414,7 @@ public class EnderDragonBattle {
@@ -79,7 +79,7 @@ index f4a8a4b4d..3d5801dd8 100644
entityenderdragon.getDragonControllerManager().setControllerPhase(DragonControllerPhase.a);
entityenderdragon.setPositionRotation(0.0D, 128.0D, 0.0D, this.d.random.nextFloat() * 360.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
-index efb728d04..3bfbf4752 100644
+index efb728d0..3bfbf475 100644
--- a/src/main/java/net/minecraft/server/EntityChicken.java
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
@@ -96,7 +96,7 @@ public class EntityChicken extends EntityAnimal {
@@ -92,7 +92,7 @@ index efb728d04..3bfbf4752 100644
public boolean f(ItemStack itemstack) {
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
-index b2e50f853..9c7bf12b8 100644
+index b2e50f85..9c7bf12b 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -88,7 +88,7 @@ public class EntityCow extends EntityAnimal {
@@ -105,7 +105,7 @@ index b2e50f853..9c7bf12b8 100644
public float getHeadHeight() {
diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java
-index c82b5f3ab..ba53e9b0b 100644
+index c82b5f3a..ba53e9b0 100644
--- a/src/main/java/net/minecraft/server/EntityEnderPearl.java
+++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java
@@ -74,7 +74,7 @@ public class EntityEnderPearl extends EntityProjectile {
@@ -118,7 +118,7 @@ index c82b5f3ab..ba53e9b0b 100644
entityendermite.a(true);
entityendermite.setPositionRotation(entityliving.locX, entityliving.locY, entityliving.locZ, entityliving.yaw, entityliving.pitch);
diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java
-index 2d9631c5d..16d94fe3f 100644
+index 2d9631c5..16d94fe3 100644
--- a/src/main/java/net/minecraft/server/EntityEvoker.java
+++ b/src/main/java/net/minecraft/server/EntityEvoker.java
@@ -221,7 +221,7 @@ public class EntityEvoker extends EntityIllagerWizard {
@@ -131,7 +131,7 @@ index 2d9631c5d..16d94fe3f 100644
entityvex.prepare(EntityEvoker.this.world.getDamageScaler(blockposition), (GroupDataEntity)null, (NBTTagCompound)null);
entityvex.a(EntityEvoker.this);
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
-index 51a07311f..f20196388 100644
+index 51a07311..f2019638 100644
--- a/src/main/java/net/minecraft/server/EntityHorse.java
+++ b/src/main/java/net/minecraft/server/EntityHorse.java
@@ -205,10 +205,10 @@ public class EntityHorse extends EntityHorseAbstract {
@@ -148,7 +148,7 @@ index 51a07311f..f20196388 100644
int i;
if (j < 4) {
diff --git a/src/main/java/net/minecraft/server/EntityHorseDonkey.java b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
-index 50c0a8277..627ba1038 100644
+index 50c0a827..627ba103 100644
--- a/src/main/java/net/minecraft/server/EntityHorseDonkey.java
+++ b/src/main/java/net/minecraft/server/EntityHorseDonkey.java
@@ -38,7 +38,7 @@ public class EntityHorseDonkey extends EntityHorseChestedAbstract {
@@ -161,7 +161,7 @@ index 50c0a8277..627ba1038 100644
return (EntityAgeable)object;
}
diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
-index ba6c0e96a..17850e857 100644
+index ba6c0e96..17850e85 100644
--- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
+++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
@@ -134,7 +134,7 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
@@ -174,7 +174,7 @@ index ba6c0e96a..17850e857 100644
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java
-index 560eac4af..4b928d2c7 100644
+index 560eac4a..4b928d2c 100644
--- a/src/main/java/net/minecraft/server/EntityHorseZombie.java
+++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java
@@ -40,7 +40,7 @@ public class EntityHorseZombie extends EntityHorseAbstract {
@@ -187,7 +187,7 @@ index 560eac4af..4b928d2c7 100644
public boolean a(EntityHuman entityhuman, EnumHand enumhand) {
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
-index 774e4d641..0cf53b69f 100644
+index 774e4d64..0cf53b69 100644
--- a/src/main/java/net/minecraft/server/EntityLlama.java
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
@@ -272,7 +272,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
@@ -200,10 +200,10 @@ index 774e4d641..0cf53b69f 100644
EntityLlama entityllama2 = (EntityLlama)entityageable;
int i = this.random.nextInt(Math.max(this.getStrength(), entityllama2.getStrength())) + 1;
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
-index 13a6ddac5..d02455b39 100644
+index 8ba9f3bb..c12b37f5 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
-@@ -35,7 +35,7 @@ public class EntityMushroomCow extends EntityCow {
+@@ -40,7 +40,7 @@ public class EntityMushroomCow extends EntityCow {
this.world.addParticle(Particles.u, this.locX, this.locY + (double) (this.length / 2.0F), this.locZ, 0.0D, 0.0D, 0.0D);
if (!this.world.isClientSide) {
this.die();
@@ -212,7 +212,7 @@ index 13a6ddac5..d02455b39 100644
entitycow.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch);
entitycow.setHealth(this.getHealth());
-@@ -61,7 +61,7 @@ public class EntityMushroomCow extends EntityCow {
+@@ -72,7 +72,7 @@ public class EntityMushroomCow extends EntityCow {
}
public EntityMushroomCow c(EntityAgeable entityageable) {
@@ -222,7 +222,7 @@ index 13a6ddac5..d02455b39 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
-index d2e25f04b..90a7e00a0 100644
+index d2e25f04..90a7e00a 100644
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
@@ -154,7 +154,7 @@ public class EntityOcelot extends EntityTameableAnimal {
@@ -244,10 +244,10 @@ index d2e25f04b..90a7e00a0 100644
entityocelot.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, 0.0F);
entityocelot.setAgeRaw(-24000);
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
-index b405e63e8..b0802e12d 100644
+index 23668ada..6295cd95 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java
-@@ -150,7 +150,7 @@ public class EntityPig extends EntityAnimal {
+@@ -153,7 +153,7 @@ public class EntityPig extends EntityAnimal {
public void onLightningStrike(EntityLightning entitylightning) {
if (!this.world.isClientSide && !this.dead) {
@@ -256,7 +256,7 @@ index b405e63e8..b0802e12d 100644
// Paper start
if (CraftEventFactory.callEntityZapEvent(this, entitylightning, entitypigzombie).isCancelled()) {
-@@ -240,7 +240,7 @@ public class EntityPig extends EntityAnimal {
+@@ -248,7 +248,7 @@ public class EntityPig extends EntityAnimal {
}
public EntityPig b(EntityAgeable entityageable) {
@@ -266,7 +266,7 @@ index b405e63e8..b0802e12d 100644
public boolean f(ItemStack itemstack) {
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
-index b9124a5b0..cb3e45f14 100644
+index b9124a5b..cb3e45f1 100644
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
@@ -15,7 +15,7 @@ public class EntityPolarBear extends EntityAnimal {
@@ -279,7 +279,7 @@ index b9124a5b0..cb3e45f14 100644
public boolean f(ItemStack var1) {
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
-index b8ca53003..747409af0 100644
+index b8ca5300..747409af 100644
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
@@ -251,7 +251,7 @@ public class EntityRabbit extends EntityAnimal {
@@ -292,7 +292,7 @@ index b8ca53003..747409af0 100644
if (this.random.nextInt(20) != 0) {
diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java
-index 4a9a9f9da..db4c3aa60 100644
+index 4a9a9f9d..db4c3aa6 100644
--- a/src/main/java/net/minecraft/server/EntitySheep.java
+++ b/src/main/java/net/minecraft/server/EntitySheep.java
@@ -264,7 +264,7 @@ public class EntitySheep extends EntityAnimal {
@@ -305,7 +305,7 @@ index 4a9a9f9da..db4c3aa60 100644
entitysheep1.setColor(this.a((EntityAnimal) this, (EntityAnimal) entitysheep));
return entitysheep1;
diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java
-index 761c94bdf..ffbd572dd 100644
+index 761c94bd..ffbd572d 100644
--- a/src/main/java/net/minecraft/server/EntitySpider.java
+++ b/src/main/java/net/minecraft/server/EntitySpider.java
@@ -111,7 +111,7 @@ public class EntitySpider extends EntityMonster {
@@ -318,7 +318,7 @@ index 761c94bdf..ffbd572dd 100644
entityskeleton.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, 0.0F);
entityskeleton.prepare(difficultydamagescaler, (GroupDataEntity) null, (NBTTagCompound) null);
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
-index 2c1db9b78..0d88314de 100644
+index 2c1db9b7..0d88314d 100644
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
@@ -218,7 +218,7 @@ public class EntityTurtle extends EntityAnimal {
@@ -331,7 +331,7 @@ index 2c1db9b78..0d88314de 100644
public boolean f(ItemStack itemstack) {
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
-index 6b6fbfd79..29d5ef4c1 100644
+index 6b6fbfd7..29d5ef4c 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -269,6 +269,7 @@ public class EntityTypes<T extends Entity> {
@@ -343,10 +343,10 @@ index 6b6fbfd79..29d5ef4c1 100644
public T a(World world) {
return this.aT.apply(world); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index c7d6aa238..5435d3980 100644
+index 868d2483..fbf78edd 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -596,7 +596,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
+@@ -598,7 +598,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
}
public EntityVillager b(EntityAgeable entityageable) {
@@ -355,7 +355,7 @@ index c7d6aa238..5435d3980 100644
entityvillager.prepare(this.world.getDamageScaler(new BlockPosition(entityvillager)), (GroupDataEntity) null, (NBTTagCompound) null);
return entityvillager;
-@@ -608,7 +608,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
+@@ -610,7 +610,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant {
public void onLightningStrike(EntityLightning entitylightning) {
if (!this.world.isClientSide && !this.dead) {
@@ -365,7 +365,7 @@ index c7d6aa238..5435d3980 100644
// Paper start
if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, entitylightning, entitywitch).isCancelled()) {
diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java
-index af9aef76f..68db6af62 100644
+index af9aef76..68db6af6 100644
--- a/src/main/java/net/minecraft/server/EntityWolf.java
+++ b/src/main/java/net/minecraft/server/EntityWolf.java
@@ -343,7 +343,7 @@ public class EntityWolf extends EntityTameableAnimal {
@@ -378,10 +378,10 @@ index af9aef76f..68db6af62 100644
if (uuid != null) {
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 72b95078e..81b15b5b1 100644
+index 4b326bf6..69a12bab 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
-@@ -214,7 +214,7 @@ public class EntityZombie extends EntityMonster {
+@@ -216,7 +216,7 @@ public class EntityZombie extends EntityMonster {
}
protected void dE() {
@@ -390,7 +390,7 @@ index 72b95078e..81b15b5b1 100644
this.world.a((EntityHuman) null, 1040, new BlockPosition((int) this.locX, (int) this.locY, (int) this.locZ), 0);
}
-@@ -261,7 +261,7 @@ public class EntityZombie extends EntityMonster {
+@@ -269,7 +269,7 @@ public class EntityZombie extends EntityMonster {
int i = MathHelper.floor(this.locX);
int j = MathHelper.floor(this.locY);
int k = MathHelper.floor(this.locZ);
@@ -399,7 +399,7 @@ index 72b95078e..81b15b5b1 100644
for (int l = 0; l < 50; ++l) {
int i1 = i + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
-@@ -385,7 +385,7 @@ public class EntityZombie extends EntityMonster {
+@@ -393,7 +393,7 @@ public class EntityZombie extends EntityMonster {
}
EntityVillager entityvillager = (EntityVillager) entityliving;
@@ -408,7 +408,7 @@ index 72b95078e..81b15b5b1 100644
entityzombievillager.u(entityvillager);
this.world.kill(entityvillager);
-@@ -444,7 +444,7 @@ public class EntityZombie extends EntityMonster {
+@@ -457,7 +457,7 @@ public class EntityZombie extends EntityMonster {
this.startRiding(entitychicken);
}
} else if ((double) this.world.random.nextFloat() < 0.05D) {
@@ -418,7 +418,7 @@ index 72b95078e..81b15b5b1 100644
entitychicken1.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, 0.0F);
entitychicken1.prepare(difficultydamagescaler, (GroupDataEntity) null, (NBTTagCompound) null);
diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java
-index 85d402965..0cca7b6d5 100644
+index 85d40296..0cca7b6d 100644
--- a/src/main/java/net/minecraft/server/EntityZombieHusk.java
+++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java
@@ -54,7 +54,7 @@ public class EntityZombieHusk extends EntityZombie {
@@ -431,10 +431,10 @@ index 85d402965..0cca7b6d5 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
-index 39de69fa7..7c37d5c86 100644
+index 0e5dd111..c11e2745 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
-@@ -114,7 +114,7 @@ public class EntityZombieVillager extends EntityZombie {
+@@ -118,7 +118,7 @@ public class EntityZombieVillager extends EntityZombie {
}
protected void dJ() {
@@ -444,7 +444,7 @@ index 39de69fa7..7c37d5c86 100644
entityvillager.u(this);
entityvillager.setProfession(this.getProfession());
diff --git a/src/main/java/net/minecraft/server/ItemArmorStand.java b/src/main/java/net/minecraft/server/ItemArmorStand.java
-index 9e4078148..a4fab5c23 100644
+index 9e407814..a4fab5c2 100644
--- a/src/main/java/net/minecraft/server/ItemArmorStand.java
+++ b/src/main/java/net/minecraft/server/ItemArmorStand.java
@@ -34,7 +34,7 @@ public class ItemArmorStand extends Item {
@@ -457,7 +457,7 @@ index 9e4078148..a4fab5c23 100644
entityarmorstand.setPositionRotation(d0 + 0.5D, d1, d2 + 0.5D, f, 0.0F);
diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
-index 413188e97..476b840ae 100644
+index 413188e9..476b840a 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
@@ -59,7 +59,7 @@ public class MobSpawnerPhantom {
@@ -470,7 +470,7 @@ index 413188e97..476b840ae 100644
entityphantom.setPositionRotation(blockposition1, 0.0F, 0.0F);
groupdataentity = entityphantom.prepare(difficultydamagescaler, groupdataentity, (NBTTagCompound) null);
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
-index d4fdcbdfd..887e4461f 100644
+index d4fdcbdf..887e4461 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
@@ -36,7 +36,7 @@ public class PathfinderGoalHorseTrap extends PathfinderGoal {
@@ -492,7 +492,7 @@ index d4fdcbdfd..887e4461f 100644
entityskeleton.prepare(difficultydamagescaler, (GroupDataEntity) null, (NBTTagCompound) null);
entityskeleton.setPosition(entityhorseabstract.locX, entityhorseabstract.locY, entityhorseabstract.locZ);
diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java
-index 560edb523..f9b58b972 100644
+index 560edb52..f9b58b97 100644
--- a/src/main/java/net/minecraft/server/VillageSiege.java
+++ b/src/main/java/net/minecraft/server/VillageSiege.java
@@ -134,7 +134,7 @@ public class VillageSiege {
@@ -505,7 +505,7 @@ index 560edb523..f9b58b972 100644
} catch (Exception exception) {
exception.printStackTrace();
diff --git a/src/main/java/net/minecraft/server/WorldGenEndCityPieces.java b/src/main/java/net/minecraft/server/WorldGenEndCityPieces.java
-index d53911594..83f55adba 100644
+index d5391159..83f55adb 100644
--- a/src/main/java/net/minecraft/server/WorldGenEndCityPieces.java
+++ b/src/main/java/net/minecraft/server/WorldGenEndCityPieces.java
@@ -174,7 +174,7 @@ public class WorldGenEndCityPieces {
@@ -527,7 +527,7 @@ index d53911594..83f55adba 100644
entityshulker.g(blockposition);
generatoraccess.addEntity(entityshulker);
diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java b/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java
-index 50fe0e16b..ceb37aab4 100644
+index 50fe0e16..ceb37aab 100644
--- a/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java
+++ b/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java
@@ -146,7 +146,7 @@ public class WorldGenFeatureOceanRuinPieces {
@@ -540,7 +540,7 @@ index 50fe0e16b..ceb37aab4 100644
entitydrowned.setPositionRotation(blockposition, 0.0F, 0.0F);
entitydrowned.prepare(generatoraccess.getDamageScaler(blockposition), (GroupDataEntity)null, (NBTTagCompound)null);
diff --git a/src/main/java/net/minecraft/server/WorldGenMonumentPieces.java b/src/main/java/net/minecraft/server/WorldGenMonumentPieces.java
-index 6ab249ee7..c9a17e332 100644
+index 6ab249ee..c9a17e33 100644
--- a/src/main/java/net/minecraft/server/WorldGenMonumentPieces.java
+++ b/src/main/java/net/minecraft/server/WorldGenMonumentPieces.java
@@ -37,7 +37,7 @@ public class WorldGenMonumentPieces {
@@ -580,7 +580,7 @@ index 6ab249ee7..c9a17e332 100644
for(WorldGenMonumentPieces.WorldGenMonumentStateTracker worldgenmonumentpieces$worldgenmonumentstatetracker4 : aworldgenmonumentpieces$worldgenmonumentstatetracker) {
if (worldgenmonumentpieces$worldgenmonumentstatetracker4 != null) {
diff --git a/src/main/java/net/minecraft/server/WorldGenVillagePieces.java b/src/main/java/net/minecraft/server/WorldGenVillagePieces.java
-index e327e2a28..c63b535ee 100644
+index e327e2a2..c63b535e 100644
--- a/src/main/java/net/minecraft/server/WorldGenVillagePieces.java
+++ b/src/main/java/net/minecraft/server/WorldGenVillagePieces.java
@@ -1656,7 +1656,7 @@ public class WorldGenVillagePieces {
@@ -602,7 +602,7 @@ index e327e2a28..c63b535ee 100644
entityvillager.setPositionRotation((double) j1 + 0.5D, (double) k1, (double) l1 + 0.5D, 0.0F, 0.0F);
entityvillager.setProfession(this.c(i1, generatoraccess.m().nextInt(6)));
diff --git a/src/main/java/net/minecraft/server/WorldGenWitchHut.java b/src/main/java/net/minecraft/server/WorldGenWitchHut.java
-index a05e0657b..7062b0cec 100644
+index a05e0657..7062b0ce 100644
--- a/src/main/java/net/minecraft/server/WorldGenWitchHut.java
+++ b/src/main/java/net/minecraft/server/WorldGenWitchHut.java
@@ -81,7 +81,7 @@ public class WorldGenWitchHut extends WorldGenScatteredPiece {
@@ -615,7 +615,7 @@ index a05e0657b..7062b0cec 100644
entitywitch.di();
entitywitch.setPositionRotation((double) i + 0.5D, (double) j, (double) k + 0.5D, 0.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/server/WorldGenWoodlandMansionPieces.java b/src/main/java/net/minecraft/server/WorldGenWoodlandMansionPieces.java
-index ee401980f..9ca9306d0 100644
+index ee401980..9ca9306d 100644
--- a/src/main/java/net/minecraft/server/WorldGenWoodlandMansionPieces.java
+++ b/src/main/java/net/minecraft/server/WorldGenWoodlandMansionPieces.java
@@ -197,7 +197,7 @@ public class WorldGenWoodlandMansionPieces {
@@ -686,7 +686,7 @@ index ee401980f..9ca9306d0 100644
entityvindicator.setPositionRotation(blockposition, 0.0F, 0.0F);
entityvindicator.prepare(generatoraccess.getDamageScaler(new BlockPosition(entityvindicator)), (GroupDataEntity)null, (NBTTagCompound)null);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 818e4c376..4f9029c33 100644
+index 818e4c37..4f9029c3 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -511,7 +511,7 @@ public class WorldServer extends World implements IAsyncTaskHandler {
@@ -699,7 +699,7 @@ index 818e4c376..4f9029c33 100644
entityhorseskeleton.s(true);
entityhorseskeleton.setAgeRaw(0);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 10fa12253..bd118f7f0 100644
+index 10fa1225..bd118f7f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -1172,153 +1172,153 @@ public class CraftWorld implements World {
@@ -915,5 +915,5 @@ index 10fa12253..bd118f7f0 100644
if (entity != null) {
--
-2.19.1
+2.17.1
diff --git a/work/Bukkit b/work/Bukkit
-Subproject 3aee9dbd0894558ae1178a50872d66592bbdfd1
+Subproject 0828ce3661af80456dc28fc7f2637c687a48898
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 17ff1e04679d5826f7d574fecc1a97820d5579d
+Subproject c2035aa1d045bfa22fde511c50283b2494cca00
diff --git a/work/Spigot b/work/Spigot
-Subproject 947a8e7fd81890a6769baee0faa9987ae649f81
+Subproject 5696c83c1ad798cfedfcf8bfce60649ea0a74d1