From 0ae3b1c14e547712f830d2d17567d104093640bc Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 13 Nov 2018 23:21:32 -0500 Subject: [PATCH] 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 --- .../0125-EntityTransformedEvent.patch | 15 ++- ...figurable-baby-zombie-movement-speed.patch | 12 +- ...chunks-are-slime-spawn-chunks-toggle.patch | 10 +- ...70-Optimized-Light-Level-Comparisons.patch | 16 +-- .../0141-Add-EntityZapEvent.patch | 25 ++--- ...9-Add-source-to-PlayerExpChangeEvent.patch | 10 +- .../0152-Add-ProjectileCollideEvent.patch | 16 +-- ...figurable-Cartographer-Treasure-Maps.patch | 10 +- ...PI-for-Reason-Source-Triggering-play.patch | 30 ++--- ...ent-consumeArrow-and-getArrowItem-AP.patch | 14 +-- ...leHitEvent-to-include-the-BlockFace-.patch | 8 +- .../0282-InventoryCloseEvent-Reason-API.patch | 22 ++-- ...2-Vanished-players-don-t-have-rights.patch | 16 +-- .../0306-EntityTransformedEvent.patch | 54 +++++---- .../0338-Slime-Pathfinder-Events.patch | 28 ++--- ...348-Don-t-double-add-golems-to-world.patch | 8 +- .../0355-Improve-death-events.patch | 26 ++--- ...1-Async-Chunk-Loading-and-Generation.patch | 72 ++++++------ ...-after-profile-lookups-if-not-needed.patch | 30 ++--- ...-Use-EntityTypes-for-living-entities.patch | 106 +++++++++--------- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 23 files changed, 264 insertions(+), 270 deletions(-) diff --git a/Spigot-API-Patches/0125-EntityTransformedEvent.patch b/Spigot-API-Patches/0125-EntityTransformedEvent.patch index 63d15b53c..cc5639281 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 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 + *

+ * 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 f774df1af..5dbbbf01a 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 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 bC = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.i); private static final DataWatcherObject bD = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b); private static final DataWatcherObject 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 0e01889ca..32c06388f 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 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 bca0da3d4..d1baf2512 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 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 1d3e5a450..c61882ac6 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 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 520f279ee..0694a79b5 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 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 9ef562af2..5761a282e 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 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 5204bce3d..bd1d78702 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 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 8defc91cb..221e818f5 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 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 d91b5dc58..c8d0ac283 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 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 847382841..0a01b6d9f 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 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 ce2802145..286a9e8c0 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 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 9e31ad195..a6b5a323e 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 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 fc947f82d..bfa15ea7f 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 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 ea5f6058f..387b7a963 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 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 e3c7b1a0a..27eb1635d 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 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 382023c4f..6c7125ee1 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 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 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 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 3ec505ed0..e047face2 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 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 { @@ -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() { 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 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 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, 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 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 request : Iterables.partition(criteria, ENTRIES_PER_PAGE)) { - int failCount = 0; + + for (final List 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 1a4b344ce..dde04d717 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 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 { @@ -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 index 3aee9dbd0..0828ce366 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 3aee9dbd0894558ae1178a50872d66592bbdfd1e +Subproject commit 0828ce3661af80456dc28fc7f2637c687a488988 diff --git a/work/CraftBukkit b/work/CraftBukkit index 17ff1e046..c2035aa1d 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 17ff1e04679d5826f7d574fecc1a97820d5579d1 +Subproject commit c2035aa1d045bfa22fde511c50283b2494cca00e diff --git a/work/Spigot b/work/Spigot index 947a8e7fd..5696c83c1 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 947a8e7fd81890a6769baee0faa9987ae649f815 +Subproject commit 5696c83c1ad798cfedfcf8bfce60649ea0a74d15