aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorZach Brown <[email protected]>2019-05-13 21:20:58 -0500
committerZach Brown <[email protected]>2019-05-13 21:20:58 -0500
commitd84080e6d14235a1f649a328ab968d9fbc48a141 (patch)
tree678df02a758e2415fa80559f1a57c8e3cdd11a23
parent5e7cfaf718b47be02eefa15589f9b081d3245054 (diff)
downloadPaper-d84080e6d14235a1f649a328ab968d9fbc48a141.tar.gz
Paper-d84080e6d14235a1f649a328ab968d9fbc48a141.zip
MC 1.14.1
-rw-r--r--Spigot-API-Patches/0001-POM-changes.patch24
-rw-r--r--Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch6
-rw-r--r--Spigot-API-Patches/0004-Timings-v2.patch74
-rw-r--r--Spigot-API-Patches/0006-Add-getTPS-method.patch10
-rw-r--r--Spigot-API-Patches/0014-Expose-server-CommandMap.patch10
-rw-r--r--Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch6
-rw-r--r--Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch10
-rw-r--r--Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch10
-rw-r--r--Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch10
-rw-r--r--Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch10
-rw-r--r--Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch6
-rw-r--r--Spigot-API-Patches/0165-Make-the-default-permission-message-configurable.patch10
-rw-r--r--Spigot-API-Patches/0179-Flip-some-Spigot-API-null-annotations.patch14
-rw-r--r--Spigot-Server-Patches/0001-POM-Changes.patch10
-rw-r--r--Spigot-Server-Patches/0002-Paper-config-files.patch12
-rw-r--r--Spigot-Server-Patches/0003-MC-Dev-fixes.patch69
-rw-r--r--Spigot-Server-Patches/0004-MC-Utils.patch20
-rw-r--r--Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch14
-rw-r--r--Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch29
-rw-r--r--Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch16
-rw-r--r--Spigot-Server-Patches/0009-Timings-v2.patch202
-rw-r--r--Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch6
-rw-r--r--Spigot-Server-Patches/0023-Entity-Origin-API.patch16
-rw-r--r--Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch20
-rw-r--r--Spigot-Server-Patches/0032-Disable-thunder.patch8
-rw-r--r--Spigot-Server-Patches/0033-Disable-ice-and-snow.patch8
-rw-r--r--Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch10
-rw-r--r--Spigot-Server-Patches/0040-Add-PlayerInitialSpawnEvent.patch6
-rw-r--r--Spigot-Server-Patches/0044-Optimize-Pathfinding.patch8
-rw-r--r--Spigot-Server-Patches/0049-Change-implementation-of-tile-entity-removal-list.patch6
-rw-r--r--Spigot-Server-Patches/0052-Configurable-inter-world-teleportation-safety.patch13
-rw-r--r--Spigot-Server-Patches/0053-Add-exception-reporting-event.patch44
-rw-r--r--Spigot-Server-Patches/0057-Complete-resource-pack-API.patch8
-rw-r--r--Spigot-Server-Patches/0065-Add-World-Util-Methods.patch18
-rw-r--r--Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch8
-rw-r--r--Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch8
-rw-r--r--Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch25
-rw-r--r--Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch16
-rw-r--r--Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch8
-rw-r--r--Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch8
-rw-r--r--Spigot-Server-Patches/0076-EntityPathfindEvent.patch22
-rw-r--r--Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch30
-rw-r--r--Spigot-Server-Patches/0083-Fix-reducedDebugInfo-not-initialized-on-client.patch6
-rw-r--r--Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch10
-rw-r--r--Spigot-Server-Patches/0088-Workaround-for-setting-passengers-on-players.patch6
-rw-r--r--Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch10
-rw-r--r--Spigot-Server-Patches/0091-Configurable-Player-Collision.patch16
-rw-r--r--Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch10
-rw-r--r--Spigot-Server-Patches/0099-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch10
-rw-r--r--Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch6
-rw-r--r--Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch16
-rw-r--r--Spigot-Server-Patches/0118-Chunk-registration-fixes.patch6
-rw-r--r--Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch8
-rw-r--r--Spigot-Server-Patches/0122-Add-EntityZapEvent.patch10
-rw-r--r--Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch14
-rw-r--r--Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch6
-rw-r--r--Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch44
-rw-r--r--Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch6
-rw-r--r--Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch12
-rw-r--r--Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch10
-rw-r--r--Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch6
-rw-r--r--Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch8
-rw-r--r--Spigot-Server-Patches/0183-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch30
-rw-r--r--Spigot-Server-Patches/0183-Send-attack-SoundEffects-only-to-players-who-can-see.patch (renamed from Spigot-Server-Patches/0184-Send-attack-SoundEffects-only-to-players-who-can-see.patch)6
-rw-r--r--Spigot-Server-Patches/0184-Option-for-maximum-exp-value-when-merging-orbs.patch (renamed from Spigot-Server-Patches/0185-Option-for-maximum-exp-value-when-merging-orbs.patch)6
-rw-r--r--Spigot-Server-Patches/0185-Add-PlayerArmorChangeEvent.patch (renamed from Spigot-Server-Patches/0186-Add-PlayerArmorChangeEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0186-Prevent-logins-from-being-processed-when-the-player-.patch (renamed from Spigot-Server-Patches/0187-Prevent-logins-from-being-processed-when-the-player-.patch)2
-rw-r--r--Spigot-Server-Patches/0187-use-CB-BlockState-implementations-for-captured-block.patch (renamed from Spigot-Server-Patches/0188-use-CB-BlockState-implementations-for-captured-block.patch)4
-rw-r--r--Spigot-Server-Patches/0188-API-to-get-a-BlockState-without-a-snapshot.patch (renamed from Spigot-Server-Patches/0189-API-to-get-a-BlockState-without-a-snapshot.patch)14
-rw-r--r--Spigot-Server-Patches/0189-AsyncTabCompleteEvent.patch (renamed from Spigot-Server-Patches/0190-AsyncTabCompleteEvent.patch)6
-rw-r--r--Spigot-Server-Patches/0190-Avoid-NPE-in-PathfinderGoalTempt.patch (renamed from Spigot-Server-Patches/0191-Avoid-NPE-in-PathfinderGoalTempt.patch)2
-rw-r--r--Spigot-Server-Patches/0191-PlayerPickupExperienceEvent.patch (renamed from Spigot-Server-Patches/0192-PlayerPickupExperienceEvent.patch)2
-rw-r--r--Spigot-Server-Patches/0192-ExperienceOrbMergeEvent.patch (renamed from Spigot-Server-Patches/0193-ExperienceOrbMergeEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0193-Ability-to-apply-mending-to-XP-API.patch (renamed from Spigot-Server-Patches/0194-Ability-to-apply-mending-to-XP-API.patch)10
-rw-r--r--Spigot-Server-Patches/0194-Make-max-squid-spawn-height-configurable.patch (renamed from Spigot-Server-Patches/0195-Make-max-squid-spawn-height-configurable.patch)2
-rw-r--r--Spigot-Server-Patches/0195-PreCreatureSpawnEvent.patch (renamed from Spigot-Server-Patches/0196-PreCreatureSpawnEvent.patch)8
-rw-r--r--Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch (renamed from Spigot-Server-Patches/0197-PlayerNaturallySpawnCreaturesEvent.patch)8
-rw-r--r--Spigot-Server-Patches/0197-Add-setPlayerProfile-API-for-Skulls.patch (renamed from Spigot-Server-Patches/0198-Add-setPlayerProfile-API-for-Skulls.patch)6
-rw-r--r--Spigot-Server-Patches/0198-Fill-Profile-Property-Events.patch (renamed from Spigot-Server-Patches/0199-Fill-Profile-Property-Events.patch)2
-rw-r--r--Spigot-Server-Patches/0199-PlayerAdvancementCriterionGrantEvent.patch (renamed from Spigot-Server-Patches/0200-PlayerAdvancementCriterionGrantEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0200-Add-ArmorStand-Item-Meta.patch (renamed from Spigot-Server-Patches/0201-Add-ArmorStand-Item-Meta.patch)12
-rw-r--r--Spigot-Server-Patches/0201-Extend-Player-Interact-cancellation.patch (renamed from Spigot-Server-Patches/0202-Extend-Player-Interact-cancellation.patch)2
-rw-r--r--Spigot-Server-Patches/0202-Tameable-getOwnerUniqueId-API.patch (renamed from Spigot-Server-Patches/0203-Tameable-getOwnerUniqueId-API.patch)6
-rw-r--r--Spigot-Server-Patches/0203-Toggleable-player-crits-helps-mitigate-hacked-client.patch (renamed from Spigot-Server-Patches/0204-Toggleable-player-crits-helps-mitigate-hacked-client.patch)4
-rw-r--r--Spigot-Server-Patches/0204-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch (renamed from Spigot-Server-Patches/0205-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch)2
-rw-r--r--Spigot-Server-Patches/0205-Prevent-Frosted-Ice-from-loading-holding-chunks.patch (renamed from Spigot-Server-Patches/0206-Prevent-Frosted-Ice-from-loading-holding-chunks.patch)2
-rw-r--r--Spigot-Server-Patches/0206-Disable-Explicit-Network-Manager-Flushing.patch (renamed from Spigot-Server-Patches/0207-Disable-Explicit-Network-Manager-Flushing.patch)2
-rw-r--r--Spigot-Server-Patches/0207-Implement-extended-PaperServerListPingEvent.patch (renamed from Spigot-Server-Patches/0208-Implement-extended-PaperServerListPingEvent.patch)16
-rw-r--r--Spigot-Server-Patches/0208-Improved-Async-Task-Scheduler.patch (renamed from Spigot-Server-Patches/0209-Improved-Async-Task-Scheduler.patch)6
-rw-r--r--Spigot-Server-Patches/0209-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch (renamed from Spigot-Server-Patches/0210-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch)2
-rw-r--r--Spigot-Server-Patches/0210-Player.setPlayerProfile-API.patch (renamed from Spigot-Server-Patches/0211-Player.setPlayerProfile-API.patch)14
-rw-r--r--Spigot-Server-Patches/0211-Fix-Dragon-Server-Crashes.patch (renamed from Spigot-Server-Patches/0212-Fix-Dragon-Server-Crashes.patch)4
-rw-r--r--Spigot-Server-Patches/0212-getPlayerUniqueId-API.patch (renamed from Spigot-Server-Patches/0213-getPlayerUniqueId-API.patch)4
-rw-r--r--Spigot-Server-Patches/0213-Make-player-data-saving-configurable.patch (renamed from Spigot-Server-Patches/0214-Make-player-data-saving-configurable.patch)2
-rw-r--r--Spigot-Server-Patches/0214-Make-legacy-ping-handler-more-reliable.patch (renamed from Spigot-Server-Patches/0215-Make-legacy-ping-handler-more-reliable.patch)4
-rw-r--r--Spigot-Server-Patches/0215-Call-PaperServerListPingEvent-for-legacy-pings.patch (renamed from Spigot-Server-Patches/0216-Call-PaperServerListPingEvent-for-legacy-pings.patch)6
-rw-r--r--Spigot-Server-Patches/0216-Flag-to-disable-the-channel-limit.patch (renamed from Spigot-Server-Patches/0217-Flag-to-disable-the-channel-limit.patch)6
-rw-r--r--Spigot-Server-Patches/0217-Add-method-to-open-already-placed-sign.patch (renamed from Spigot-Server-Patches/0218-Add-method-to-open-already-placed-sign.patch)4
-rw-r--r--Spigot-Server-Patches/0218-Load-version-history-at-server-start.patch (renamed from Spigot-Server-Patches/0219-Load-version-history-at-server-start.patch)4
-rw-r--r--Spigot-Server-Patches/0219-Configurable-sprint-interruption-on-attack.patch (renamed from Spigot-Server-Patches/0220-Configurable-sprint-interruption-on-attack.patch)6
-rw-r--r--Spigot-Server-Patches/0220-Fix-exploit-that-allowed-colored-signs-to-be-created.patch (renamed from Spigot-Server-Patches/0221-Fix-exploit-that-allowed-colored-signs-to-be-created.patch)4
-rw-r--r--Spigot-Server-Patches/0221-EndermanEscapeEvent.patch (renamed from Spigot-Server-Patches/0222-EndermanEscapeEvent.patch)10
-rw-r--r--Spigot-Server-Patches/0222-Enderman.teleportRandomly.patch (renamed from Spigot-Server-Patches/0223-Enderman.teleportRandomly.patch)6
-rw-r--r--Spigot-Server-Patches/0223-Block-Enderpearl-Travel-Exploit.patch (renamed from Spigot-Server-Patches/0224-Block-Enderpearl-Travel-Exploit.patch)6
-rw-r--r--Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch (renamed from Spigot-Server-Patches/0225-Expand-World.spawnParticle-API-and-add-Builder.patch)12
-rw-r--r--Spigot-Server-Patches/0225-EndermanAttackPlayerEvent.patch (renamed from Spigot-Server-Patches/0226-EndermanAttackPlayerEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0226-WitchConsumePotionEvent.patch (renamed from Spigot-Server-Patches/0227-WitchConsumePotionEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0227-WitchThrowPotionEvent.patch (renamed from Spigot-Server-Patches/0228-WitchThrowPotionEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch (renamed from Spigot-Server-Patches/0229-Allow-spawning-Item-entities-with-World.spawnEntity.patch)6
-rw-r--r--Spigot-Server-Patches/0229-WitchReadyPotionEvent.patch (renamed from Spigot-Server-Patches/0230-WitchReadyPotionEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0230-ItemStack-getMaxItemUseDuration.patch (renamed from Spigot-Server-Patches/0231-ItemStack-getMaxItemUseDuration.patch)6
-rw-r--r--Spigot-Server-Patches/0231-Implement-EntityTeleportEndGatewayEvent.patch (renamed from Spigot-Server-Patches/0232-Implement-EntityTeleportEndGatewayEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0232-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch (renamed from Spigot-Server-Patches/0233-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch)4
-rw-r--r--Spigot-Server-Patches/0233-Fix-CraftEntity-hashCode.patch (renamed from Spigot-Server-Patches/0234-Fix-CraftEntity-hashCode.patch)4
-rw-r--r--Spigot-Server-Patches/0234-Configurable-Alternative-LootPool-Luck-Formula.patch (renamed from Spigot-Server-Patches/0235-Configurable-Alternative-LootPool-Luck-Formula.patch)2
-rw-r--r--Spigot-Server-Patches/0235-Print-Error-details-when-failing-to-save-player-data.patch (renamed from Spigot-Server-Patches/0236-Print-Error-details-when-failing-to-save-player-data.patch)4
-rw-r--r--Spigot-Server-Patches/0236-Make-shield-blocking-delay-configurable.patch (renamed from Spigot-Server-Patches/0237-Make-shield-blocking-delay-configurable.patch)8
-rw-r--r--Spigot-Server-Patches/0237-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch (renamed from Spigot-Server-Patches/0238-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch)4
-rw-r--r--Spigot-Server-Patches/0238-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch (renamed from Spigot-Server-Patches/0239-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch)8
-rw-r--r--Spigot-Server-Patches/0239-PlayerReadyArrowEvent.patch (renamed from Spigot-Server-Patches/0240-PlayerReadyArrowEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0240-Fire-EntityShootBowEvent-for-Illusioner.patch (renamed from Spigot-Server-Patches/0241-Fire-EntityShootBowEvent-for-Illusioner.patch)4
-rw-r--r--Spigot-Server-Patches/0241-Implement-EntityKnockbackByEntityEvent.patch (renamed from Spigot-Server-Patches/0242-Implement-EntityKnockbackByEntityEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0242-Expand-Explosions-API.patch (renamed from Spigot-Server-Patches/0243-Expand-Explosions-API.patch)4
-rw-r--r--Spigot-Server-Patches/0243-LivingEntity-Hand-Raised-Item-Use-API.patch (renamed from Spigot-Server-Patches/0244-LivingEntity-Hand-Raised-Item-Use-API.patch)6
-rw-r--r--Spigot-Server-Patches/0244-RangedEntity-API.patch (renamed from Spigot-Server-Patches/0245-RangedEntity-API.patch)18
-rw-r--r--Spigot-Server-Patches/0245-Add-config-to-disable-ender-dragon-legacy-check.patch (renamed from Spigot-Server-Patches/0246-Add-config-to-disable-ender-dragon-legacy-check.patch)6
-rw-r--r--Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch (renamed from Spigot-Server-Patches/0247-Implement-World.getEntity-UUID-API.patch)6
-rw-r--r--Spigot-Server-Patches/0247-InventoryCloseEvent-Reason-API.patch (renamed from Spigot-Server-Patches/0248-InventoryCloseEvent-Reason-API.patch)22
-rw-r--r--Spigot-Server-Patches/0248-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch (renamed from Spigot-Server-Patches/0249-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch)16
-rw-r--r--Spigot-Server-Patches/0249-Configurable-Bed-Search-Radius.patch (renamed from Spigot-Server-Patches/0250-Configurable-Bed-Search-Radius.patch)6
-rw-r--r--Spigot-Server-Patches/0250-Vex-getSummoner-API.patch (renamed from Spigot-Server-Patches/0251-Vex-getSummoner-API.patch)6
-rw-r--r--Spigot-Server-Patches/0251-Refresh-player-inventory-when-cancelling-PlayerInter.patch (renamed from Spigot-Server-Patches/0252-Refresh-player-inventory-when-cancelling-PlayerInter.patch)4
-rw-r--r--Spigot-Server-Patches/0252-Don-t-change-the-Entity-Random-seed-for-squids.patch (renamed from Spigot-Server-Patches/0253-Don-t-change-the-Entity-Random-seed-for-squids.patch)4
-rw-r--r--Spigot-Server-Patches/0253-Re-add-vanilla-entity-warnings-for-duplicates.patch (renamed from Spigot-Server-Patches/0254-Re-add-vanilla-entity-warnings-for-duplicates.patch)6
-rw-r--r--Spigot-Server-Patches/0254-Avoid-item-merge-if-stack-size-above-max-stack-size.patch (renamed from Spigot-Server-Patches/0255-Avoid-item-merge-if-stack-size-above-max-stack-size.patch)6
-rw-r--r--Spigot-Server-Patches/0255-Use-asynchronous-Log4j-2-loggers.patch (renamed from Spigot-Server-Patches/0256-Use-asynchronous-Log4j-2-loggers.patch)6
-rw-r--r--Spigot-Server-Patches/0256-add-more-information-to-Entity.toString.patch (renamed from Spigot-Server-Patches/0257-add-more-information-to-Entity.toString.patch)4
-rw-r--r--Spigot-Server-Patches/0257-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch (renamed from Spigot-Server-Patches/0258-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch)22
-rw-r--r--Spigot-Server-Patches/0258-EnderDragon-Events.patch (renamed from Spigot-Server-Patches/0259-EnderDragon-Events.patch)8
-rw-r--r--Spigot-Server-Patches/0259-PlayerElytraBoostEvent.patch (renamed from Spigot-Server-Patches/0260-PlayerElytraBoostEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0260-PlayerLaunchProjectileEvent.patch (renamed from Spigot-Server-Patches/0261-PlayerLaunchProjectileEvent.patch)14
-rw-r--r--Spigot-Server-Patches/0261-Speedup-BlockPos-by-fixing-inlining.patch (renamed from Spigot-Server-Patches/0262-Speedup-BlockPos-by-fixing-inlining.patch)6
-rw-r--r--Spigot-Server-Patches/0262-Don-t-save-Proto-Chunks.patch (renamed from Spigot-Server-Patches/0263-Don-t-save-Proto-Chunks.patch)12
-rw-r--r--Spigot-Server-Patches/0263-Optimize-RegistryID.c.patch (renamed from Spigot-Server-Patches/0264-Optimize-RegistryID.c.patch)4
-rw-r--r--Spigot-Server-Patches/0264-Option-to-prevent-armor-stands-from-doing-entity-loo.patch (renamed from Spigot-Server-Patches/0265-Option-to-prevent-armor-stands-from-doing-entity-loo.patch)8
-rw-r--r--Spigot-Server-Patches/0265-Vanished-players-don-t-have-rights.patch (renamed from Spigot-Server-Patches/0266-Vanished-players-don-t-have-rights.patch)14
-rw-r--r--Spigot-Server-Patches/0266-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch (renamed from Spigot-Server-Patches/0267-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch)8
-rw-r--r--Spigot-Server-Patches/0267-Add-some-Debug-to-Chunk-Entity-slices.patch (renamed from Spigot-Server-Patches/0268-Add-some-Debug-to-Chunk-Entity-slices.patch)12
-rw-r--r--Spigot-Server-Patches/0268-EntityTransformedEvent.patch (renamed from Spigot-Server-Patches/0269-EntityTransformedEvent.patch)14
-rw-r--r--Spigot-Server-Patches/0269-SkeletonHorse-Additions.patch (renamed from Spigot-Server-Patches/0270-SkeletonHorse-Additions.patch)8
-rw-r--r--Spigot-Server-Patches/0270-Prevent-Saving-Bad-entities-to-chunks.patch (renamed from Spigot-Server-Patches/0271-Prevent-Saving-Bad-entities-to-chunks.patch)21
-rw-r--r--Spigot-Server-Patches/0271-Don-t-call-getItemMeta-on-hasItemMeta.patch (renamed from Spigot-Server-Patches/0272-Don-t-call-getItemMeta-on-hasItemMeta.patch)6
-rw-r--r--Spigot-Server-Patches/0272-Ignore-Dead-Entities-in-entityList-iteration.patch (renamed from Spigot-Server-Patches/0273-Ignore-Dead-Entities-in-entityList-iteration.patch)30
-rw-r--r--Spigot-Server-Patches/0273-Provide-option-to-use-a-versioned-world-folder-for-t.patch (renamed from Spigot-Server-Patches/0274-Provide-option-to-use-a-versioned-world-folder-for-t.patch)2
-rw-r--r--Spigot-Server-Patches/0274-MC-111480-Start-Entity-ID-s-at-1.patch (renamed from Spigot-Server-Patches/0275-MC-111480-Start-Entity-ID-s-at-1.patch)4
-rw-r--r--Spigot-Server-Patches/0275-Implement-Expanded-ArmorStand-API.patch (renamed from Spigot-Server-Patches/0276-Implement-Expanded-ArmorStand-API.patch)6
-rw-r--r--Spigot-Server-Patches/0276-AnvilDamageEvent.patch (renamed from Spigot-Server-Patches/0277-AnvilDamageEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0277-Add-TNTPrimeEvent.patch (renamed from Spigot-Server-Patches/0278-Add-TNTPrimeEvent.patch)13
-rw-r--r--Spigot-Server-Patches/0278-Break-up-and-make-tab-spam-limits-configurable.patch (renamed from Spigot-Server-Patches/0279-Break-up-and-make-tab-spam-limits-configurable.patch)4
-rw-r--r--Spigot-Server-Patches/0279-Add-hand-to-bucket-events.patch (renamed from Spigot-Server-Patches/0280-Add-hand-to-bucket-events.patch)8
-rw-r--r--Spigot-Server-Patches/0280-MC-135506-Experience-should-save-as-Integers.patch (renamed from Spigot-Server-Patches/0281-MC-135506-Experience-should-save-as-Integers.patch)4
-rw-r--r--Spigot-Server-Patches/0281-Fix-client-rendering-skulls-from-same-user.patch (renamed from Spigot-Server-Patches/0282-Fix-client-rendering-skulls-from-same-user.patch)10
-rw-r--r--Spigot-Server-Patches/0282-Add-Early-Warning-Feature-to-WatchDog.patch (renamed from Spigot-Server-Patches/0283-Add-Early-Warning-Feature-to-WatchDog.patch)12
-rw-r--r--Spigot-Server-Patches/0283-Make-EnderDragon-implement-Mob.patch (renamed from Spigot-Server-Patches/0284-Make-EnderDragon-implement-Mob.patch)4
-rw-r--r--Spigot-Server-Patches/0284-Detect-and-repair-corrupt-Region-Files.patch (renamed from Spigot-Server-Patches/0285-Detect-and-repair-corrupt-Region-Files.patch)4
-rw-r--r--Spigot-Server-Patches/0285-Use-ConcurrentHashMap-in-JsonList.patch (renamed from Spigot-Server-Patches/0286-Use-ConcurrentHashMap-in-JsonList.patch)4
-rw-r--r--Spigot-Server-Patches/0286-Use-a-Queue-for-Queueing-Commands.patch (renamed from Spigot-Server-Patches/0287-Use-a-Queue-for-Queueing-Commands.patch)4
-rw-r--r--Spigot-Server-Patches/0287-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch (renamed from Spigot-Server-Patches/0288-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch)4
-rw-r--r--Spigot-Server-Patches/0288-Allow-disabling-armour-stand-ticking.patch (renamed from Spigot-Server-Patches/0289-Allow-disabling-armour-stand-ticking.patch)10
-rw-r--r--Spigot-Server-Patches/0289-Optimize-BlockPosition-helper-methods.patch (renamed from Spigot-Server-Patches/0290-Optimize-BlockPosition-helper-methods.patch)4
-rw-r--r--Spigot-Server-Patches/0290-Send-nearby-packets-from-world-player-list-not-serve.patch (renamed from Spigot-Server-Patches/0291-Send-nearby-packets-from-world-player-list-not-serve.patch)26
-rw-r--r--Spigot-Server-Patches/0291-Restore-vanlla-default-mob-spawn-range.patch (renamed from Spigot-Server-Patches/0292-Restore-vanlla-default-mob-spawn-range.patch)4
-rw-r--r--Spigot-Server-Patches/0292-Optimize-Hoppers.patch (renamed from Spigot-Server-Patches/0293-Optimize-Hoppers.patch)43
-rw-r--r--Spigot-Server-Patches/0293-Optimize-CraftBlockData-Creation.patch (renamed from Spigot-Server-Patches/0294-Optimize-CraftBlockData-Creation.patch)6
-rw-r--r--Spigot-Server-Patches/0294-Fix-MC-124320.patch (renamed from Spigot-Server-Patches/0295-Fix-MC-124320.patch)14
-rw-r--r--Spigot-Server-Patches/0295-Slime-Pathfinder-Events.patch (renamed from Spigot-Server-Patches/0296-Slime-Pathfinder-Events.patch)6
-rw-r--r--Spigot-Server-Patches/0296-Configurable-speed-for-water-flowing-over-lava.patch (renamed from Spigot-Server-Patches/0297-Configurable-speed-for-water-flowing-over-lava.patch)6
-rw-r--r--Spigot-Server-Patches/0297-Optimize-RegistryMaterials.patch (renamed from Spigot-Server-Patches/0298-Optimize-RegistryMaterials.patch)2
-rw-r--r--Spigot-Server-Patches/0298-Add-PhantomPreSpawnEvent.patch (renamed from Spigot-Server-Patches/0299-Add-PhantomPreSpawnEvent.patch)2
-rw-r--r--Spigot-Server-Patches/0299-Add-More-Creeper-API.patch (renamed from Spigot-Server-Patches/0300-Add-More-Creeper-API.patch)6
-rw-r--r--Spigot-Server-Patches/0300-Inventory-removeItemAnySlot.patch (renamed from Spigot-Server-Patches/0301-Inventory-removeItemAnySlot.patch)2
-rw-r--r--Spigot-Server-Patches/0301-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch (renamed from Spigot-Server-Patches/0302-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch)4
-rw-r--r--Spigot-Server-Patches/0302-Add-ray-tracing-methods-to-LivingEntity.patch (renamed from Spigot-Server-Patches/0303-Add-ray-tracing-methods-to-LivingEntity.patch)4
-rw-r--r--Spigot-Server-Patches/0303-Expose-attack-cooldown-methods-for-Player.patch (renamed from Spigot-Server-Patches/0304-Expose-attack-cooldown-methods-for-Player.patch)8
-rw-r--r--Spigot-Server-Patches/0304-Improve-death-events.patch (renamed from Spigot-Server-Patches/0305-Improve-death-events.patch)16
-rw-r--r--Spigot-Server-Patches/0305-Allow-chests-to-be-placed-with-NBT-data.patch (renamed from Spigot-Server-Patches/0306-Allow-chests-to-be-placed-with-NBT-data.patch)6
-rw-r--r--Spigot-Server-Patches/0306-Mob-Pathfinding-API.patch (renamed from Spigot-Server-Patches/0307-Mob-Pathfinding-API.patch)16
-rw-r--r--Spigot-Server-Patches/0307-Prevent-chunk-loading-from-Fluid-Flowing.patch (renamed from Spigot-Server-Patches/0308-Prevent-chunk-loading-from-Fluid-Flowing.patch)4
-rw-r--r--Spigot-Server-Patches/0308-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch (renamed from Spigot-Server-Patches/0309-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch)6
-rw-r--r--Spigot-Server-Patches/0309-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch (renamed from Spigot-Server-Patches/0310-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch)6
-rw-r--r--Spigot-Server-Patches/0310-Prevent-mob-spawning-from-loading-generating-chunks.patch (renamed from Spigot-Server-Patches/0311-Prevent-mob-spawning-from-loading-generating-chunks.patch)6
-rw-r--r--Spigot-Server-Patches/0311-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch (renamed from Spigot-Server-Patches/0312-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch)4
-rw-r--r--Spigot-Server-Patches/0312-Implement-furnace-cook-speed-multiplier-API.patch (renamed from Spigot-Server-Patches/0313-Implement-furnace-cook-speed-multiplier-API.patch)6
-rw-r--r--Spigot-Server-Patches/0313-Support-Overriding-World-Seeds.patch (renamed from Spigot-Server-Patches/0314-Support-Overriding-World-Seeds.patch)8
-rw-r--r--Spigot-Server-Patches/0314-Optimize-Server-World-Map.patch (renamed from Spigot-Server-Patches/0315-Optimize-Server-World-Map.patch)16
-rw-r--r--Spigot-Server-Patches/0315-PreSpawnerSpawnEvent.patch (renamed from Spigot-Server-Patches/0316-PreSpawnerSpawnEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0316-Catch-JsonParseException-in-Entity-and-TE-names.patch (renamed from Spigot-Server-Patches/0317-Catch-JsonParseException-in-Entity-and-TE-names.patch)4
-rw-r--r--Spigot-Server-Patches/0317-Avoid-dimension-id-collisions.patch (renamed from Spigot-Server-Patches/0318-Avoid-dimension-id-collisions.patch)8
-rw-r--r--Spigot-Server-Patches/0318-Honor-EntityAgeable.ageLock.patch (renamed from Spigot-Server-Patches/0319-Honor-EntityAgeable.ageLock.patch)4
-rw-r--r--Spigot-Server-Patches/0319-Don-t-recheck-type-after-setting-a-block.patch (renamed from Spigot-Server-Patches/0321-Don-t-recheck-type-after-setting-a-block.patch)6
-rw-r--r--Spigot-Server-Patches/0320-Configurable-connection-throttle-kick-message.patch (renamed from Spigot-Server-Patches/0322-Configurable-connection-throttle-kick-message.patch)2
-rw-r--r--Spigot-Server-Patches/0320-Ignore-Dimension-NBT-field-in-Entity-data.patch31
-rw-r--r--Spigot-Server-Patches/0321-Hook-into-CB-plugin-rewrites.patch (renamed from Spigot-Server-Patches/0323-Hook-into-CB-plugin-rewrites.patch)4
-rw-r--r--Spigot-Server-Patches/0322-Allow-setting-the-vex-s-summoner.patch (renamed from Spigot-Server-Patches/0324-Allow-setting-the-vex-s-summoner.patch)6
-rw-r--r--Spigot-Server-Patches/0323-Add-sun-related-API.patch (renamed from Spigot-Server-Patches/0325-Add-sun-related-API.patch)6
-rw-r--r--Spigot-Server-Patches/0324-Check-Drowned-for-Villager-Aggression-Config.patch (renamed from Spigot-Server-Patches/0326-Check-Drowned-for-Villager-Aggression-Config.patch)4
-rw-r--r--Spigot-Server-Patches/0325-Here-s-Johnny.patch (renamed from Spigot-Server-Patches/0327-Here-s-Johnny.patch)6
-rw-r--r--Spigot-Server-Patches/0326-Turtle-API.patch (renamed from Spigot-Server-Patches/0328-Turtle-API.patch)6
-rw-r--r--Spigot-Server-Patches/0327-Limit-lightning-strike-effect-distance.patch (renamed from Spigot-Server-Patches/0329-Limit-lightning-strike-effect-distance.patch)10
-rw-r--r--Spigot-Server-Patches/0328-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch (renamed from Spigot-Server-Patches/0330-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch)4
-rw-r--r--Spigot-Server-Patches/0329-Call-player-spectator-target-events.patch (renamed from Spigot-Server-Patches/0331-Call-player-spectator-target-events.patch)4
-rw-r--r--Spigot-Server-Patches/0330-Add-Velocity-IP-Forwarding-Support.patch (renamed from Spigot-Server-Patches/0332-Add-Velocity-IP-Forwarding-Support.patch)2
-rw-r--r--Spigot-Server-Patches/0331-Add-more-Witch-API.patch (renamed from Spigot-Server-Patches/0333-Add-more-Witch-API.patch)6
-rw-r--r--Spigot-Server-Patches/0332-Fix-MC-93764.patch (renamed from Spigot-Server-Patches/0334-Fix-MC-93764.patch)4
-rw-r--r--Spigot-Server-Patches/0333-Add-option-to-prevent-players-from-moving-into-unloa.patch (renamed from Spigot-Server-Patches/0335-Add-option-to-prevent-players-from-moving-into-unloa.patch)6
-rw-r--r--Spigot-Server-Patches/0334-Reset-players-airTicks-on-respawn.patch (renamed from Spigot-Server-Patches/0336-Reset-players-airTicks-on-respawn.patch)6
-rw-r--r--Spigot-Server-Patches/0335-Strip-private-area-unicode-characters-from-signs.patch (renamed from Spigot-Server-Patches/0337-Strip-private-area-unicode-characters-from-signs.patch)25
-rw-r--r--Spigot-Server-Patches/0336-Don-t-sleep-after-profile-lookups-if-not-needed.patch (renamed from Spigot-Server-Patches/0338-Don-t-sleep-after-profile-lookups-if-not-needed.patch)4
-rw-r--r--Spigot-Server-Patches/0337-Use-more-reasonable-thread-count-default-for-bootstr.patch (renamed from Spigot-Server-Patches/0339-Use-more-reasonable-thread-count-default-for-bootstr.patch)4
-rw-r--r--Spigot-Server-Patches/0338-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch (renamed from Spigot-Server-Patches/0340-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch)4
-rw-r--r--Spigot-Server-Patches/0339-Optimize-World-Time-Updates.patch (renamed from Spigot-Server-Patches/0341-Optimize-World-Time-Updates.patch)4
-rw-r--r--Spigot-Server-Patches/0340-Restore-custom-InventoryHolder-support.patch (renamed from Spigot-Server-Patches/0342-Restore-custom-InventoryHolder-support.patch)4
-rw-r--r--Spigot-Server-Patches/0341-Use-Vanilla-Minecart-Speeds.patch (renamed from Spigot-Server-Patches/0343-Use-Vanilla-Minecart-Speeds.patch)4
-rw-r--r--Spigot-Server-Patches/0342-Fix-SpongeAbsortEvent-handling.patch (renamed from Spigot-Server-Patches/0344-Fix-SpongeAbsortEvent-handling.patch)8
-rw-r--r--Spigot-Server-Patches/0343-Don-t-allow-digging-into-unloaded-chunks.patch (renamed from Spigot-Server-Patches/0345-Don-t-allow-digging-into-unloaded-chunks.patch)4
-rw-r--r--Spigot-Server-Patches/0344-Optimize-redstone-algorithm.patch (renamed from Spigot-Server-Patches/0346-Optimize-redstone-algorithm.patch)6
-rw-r--r--Spigot-Server-Patches/0345-force-entity-dismount-during-teleportation.patch (renamed from Spigot-Server-Patches/0347-force-entity-dismount-during-teleportation.patch)10
-rw-r--r--Spigot-Server-Patches/0346-Book-Size-Limits.patch (renamed from Spigot-Server-Patches/0348-Book-Size-Limits.patch)4
-rw-r--r--Spigot-Server-Patches/0347-Make-the-default-permission-message-configurable.patch (renamed from Spigot-Server-Patches/0349-Make-the-default-permission-message-configurable.patch)4
-rw-r--r--Spigot-Server-Patches/0348-Add-more-Zombie-API.patch (renamed from Spigot-Server-Patches/0350-Add-more-Zombie-API.patch)6
-rw-r--r--Spigot-Server-Patches/0349-Prevent-rayTrace-from-loading-chunks.patch (renamed from Spigot-Server-Patches/0351-Prevent-rayTrace-from-loading-chunks.patch)4
-rw-r--r--Spigot-Server-Patches/0350-Handle-Large-Packets-disconnecting-client.patch (renamed from Spigot-Server-Patches/0352-Handle-Large-Packets-disconnecting-client.patch)12
-rw-r--r--Spigot-Server-Patches/0351-Lazy-init-world-storage-in-CraftOfflinePlayer.patch (renamed from Spigot-Server-Patches/0353-Lazy-init-world-storage-in-CraftOfflinePlayer.patch)4
-rw-r--r--Spigot-Server-Patches/0352-Add-PlayerConnectionCloseEvent.patch (renamed from Spigot-Server-Patches/0354-Add-PlayerConnectionCloseEvent.patch)6
-rw-r--r--Spigot-Server-Patches/0353-Prevent-Enderman-from-loading-chunks.patch (renamed from Spigot-Server-Patches/0355-Prevent-Enderman-from-loading-chunks.patch)8
-rw-r--r--Spigot-Server-Patches/0354-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch (renamed from Spigot-Server-Patches/0356-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch)16
-rw-r--r--Spigot-Server-Patches/0355-Fix-PlayerEditBookEvent.patch (renamed from Spigot-Server-Patches/0357-Fix-PlayerEditBookEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0356-Workaround-for-vehicle-tracking-issue-on-disconnect.patch (renamed from Spigot-Server-Patches/0358-Workaround-for-vehicle-tracking-issue-on-disconnect.patch)4
-rw-r--r--Spigot-Server-Patches/0357-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch (renamed from Spigot-Server-Patches/0359-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch)4
-rw-r--r--Spigot-Server-Patches/0358-Block-Entity-remove-from-being-called-on-Players.patch (renamed from Spigot-Server-Patches/0360-Block-Entity-remove-from-being-called-on-Players.patch)6
-rw-r--r--Spigot-Server-Patches/0359-Allow-Saving-of-Oversized-Chunks.patch (renamed from Spigot-Server-Patches/0361-Allow-Saving-of-Oversized-Chunks.patch)2
-rw-r--r--Spigot-Server-Patches/0360-BlockDestroyEvent.patch (renamed from Spigot-Server-Patches/0362-BlockDestroyEvent.patch)4
-rw-r--r--Spigot-Server-Patches/0361-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch (renamed from Spigot-Server-Patches/0363-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch)4
-rw-r--r--Spigot-Server-Patches/0362-Fix-sign-edit-memory-leak.patch (renamed from Spigot-Server-Patches/0364-Fix-sign-edit-memory-leak.patch)8
-rw-r--r--Spigot-Server-Patches/0363-Limit-Client-Sign-length-more.patch (renamed from Spigot-Server-Patches/0365-Limit-Client-Sign-length-more.patch)4
-rw-r--r--Spigot-Server-Patches/0364-Don-t-check-ConvertSigns-boolean-every-sign-save.patch (renamed from Spigot-Server-Patches/0366-Don-t-check-ConvertSigns-boolean-every-sign-save.patch)4
-rw-r--r--Spigot-Server-Patches/0365-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch (renamed from Spigot-Server-Patches/0367-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch)8
-rw-r--r--Spigot-Server-Patches/0366-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch (renamed from Spigot-Server-Patches/0368-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch)12
-rw-r--r--Spigot-Server-Patches/0367-Set-Zombie-last-tick-at-start-of-drowning-process.patch (renamed from Spigot-Server-Patches/0369-Set-Zombie-last-tick-at-start-of-drowning-process.patch)4
-rw-r--r--Spigot-Server-Patches/0368-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch (renamed from Spigot-Server-Patches/0370-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch)6
-rw-r--r--Spigot-Server-Patches/0369-Add-LivingEntity-getTargetEntity.patch (renamed from Spigot-Server-Patches/0371-Add-LivingEntity-getTargetEntity.patch)6
-rw-r--r--Spigot-Server-Patches/0370-Use-proper-max-length-when-serialising-BungeeCord-te.patch (renamed from Spigot-Server-Patches/0372-Use-proper-max-length-when-serialising-BungeeCord-te.patch)2
-rw-r--r--Spigot-Server-Patches/0371-Entity-getEntitySpawnReason.patch (renamed from Spigot-Server-Patches/0373-Entity-getEntitySpawnReason.patch)14
-rw-r--r--Spigot-Server-Patches/0372-Update-entity-Metadata-for-all-tracked-players.patch (renamed from Spigot-Server-Patches/0374-Update-entity-Metadata-for-all-tracked-players.patch)4
-rw-r--r--Spigot-Server-Patches/0373-Fire-event-on-GS4-query.patch (renamed from Spigot-Server-Patches/0375-Fire-event-on-GS4-query.patch)2
-rw-r--r--Spigot-Server-Patches/0374-Implement-PlayerPostRespawnEvent.patch (renamed from Spigot-Server-Patches/0376-Implement-PlayerPostRespawnEvent.patch)10
-rw-r--r--Spigot-Server-Patches/0375-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch (renamed from Spigot-Server-Patches/0377-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch)6
-rw-r--r--Spigot-Server-Patches/0376-Implement-getters-and-setters-for-EntityItem-owner-a.patch (renamed from Spigot-Server-Patches/0378-Implement-getters-and-setters-for-EntityItem-owner-a.patch)4
-rw-r--r--Spigot-Server-Patches/0377-Server-Tick-Events.patch (renamed from Spigot-Server-Patches/0379-Server-Tick-Events.patch)4
-rw-r--r--Spigot-Server-Patches/0378-PlayerDeathEvent-getItemsToKeep.patch (renamed from Spigot-Server-Patches/0380-PlayerDeathEvent-getItemsToKeep.patch)4
-rw-r--r--Spigot-Server-Patches/0379-Optimize-Persistent-Data-Loading.patch (renamed from Spigot-Server-Patches/0381-Optimize-Persistent-Data-Loading.patch)4
-rw-r--r--Spigot-Server-Patches/0380-Allow-login-events-to-fire-only-after-the-server-plu.patch (renamed from Spigot-Server-Patches/0382-Allow-login-events-to-fire-only-after-the-server-plu.patch)6
-rw-r--r--Spigot-Server-Patches/0381-Make-region-files-more-reliable-to-write-to.patch (renamed from Spigot-Server-Patches/0383-Make-region-files-more-reliable-to-write-to.patch)4
-rw-r--r--Spigot-Server-Patches/0382-Optimize-GameRules-to-use-LinkedHashMap.patch (renamed from Spigot-Server-Patches/0384-Optimize-GameRules-to-use-LinkedHashMap.patch)6
-rw-r--r--Spigot-Server-Patches/0383-Optimize-Captured-TileEntity-Lookup.patch (renamed from Spigot-Server-Patches/0385-Optimize-Captured-TileEntity-Lookup.patch)6
-rw-r--r--Spigot-Server-Patches/0384-Add-Heightmap-API.patch (renamed from Spigot-Server-Patches/0386-Add-Heightmap-API.patch)6
-rw-r--r--Spigot-Server-Patches/0385-Handle-bad-chunks-more-gracefully.patch (renamed from Spigot-Server-Patches/0387-Handle-bad-chunks-more-gracefully.patch)4
-rw-r--r--Spigot-Server-Patches/0386-Mob-Spawner-API-Enhancements.patch (renamed from Spigot-Server-Patches/0388-Mob-Spawner-API-Enhancements.patch)8
-rw-r--r--Spigot-Server-Patches/0387-don-t-NPE-on-dimensionmanager-toString.patch (renamed from Spigot-Server-Patches/0389-don-t-NPE-on-dimensionmanager-toString.patch)14
-rw-r--r--Spigot-Server-Patches/0388-Per-Player-View-Distance-API-placeholders.patch (renamed from Spigot-Server-Patches/0390-Per-Player-View-Distance-API-placeholders.patch)10
-rw-r--r--Spigot-Server-Patches/0389-Async-Chunk-placeholder.patch (renamed from Spigot-Server-Patches/0391-Async-Chunk-placeholder.patch)6
-rw-r--r--Spigot-Server-Patches/0390-Fix-CB-call-to-changed-postToMainThread-method.patch (renamed from Spigot-Server-Patches/0392-Fix-CB-call-to-changed-postToMainThread-method.patch)4
-rw-r--r--Spigot-Server-Patches/0391-Fix-sounds-when-item-frames-are-modified-MC-123450.patch (renamed from Spigot-Server-Patches/0393-Fix-sounds-when-item-frames-are-modified-MC-123450.patch)2
-rw-r--r--Spigot-Server-Patches/0392-Fix-MC-151674-Close-RegionFiles-when-they-get-evicte.patch (renamed from Spigot-Server-Patches/0394-Fix-MC-151674-Close-RegionFiles-when-they-get-evicte.patch)4
m---------work/BuildData0
m---------work/Bukkit0
m---------work/CraftBukkit10
m---------work/Spigot0
278 files changed, 1270 insertions, 1299 deletions
diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch
index f0fef5d12d..5354846e91 100644
--- a/Spigot-API-Patches/0001-POM-changes.patch
+++ b/Spigot-API-Patches/0001-POM-changes.patch
@@ -1,28 +1,28 @@
-From eeda55e4929215bdae08f66dcbb3a4e9c02b3da3 Mon Sep 17 00:00:00 2001
+From f90b7c9822f8711fafde9773238ec4703aaf9b35 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 1 Mar 2016 00:16:08 +0100
Subject: [PATCH] POM changes
diff --git a/pom.xml b/pom.xml
-index 0bc8d481..be4e1ca5 100644
+index 0d4ef897..69866193 100644
--- a/pom.xml
+++ b/pom.xml
-@@ -3,33 +3,29 @@
+@@ -2,34 +2,29 @@
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
-
-- <groupId>org.spigotmc</groupId>
-- <artifactId>spigot-api</artifactId>
+ <parent>
+ <groupId>com.destroystokyo.paper</groupId>
+ <artifactId>paper-parent</artifactId>
+ <version>dev-SNAPSHOT</version>
+ </parent>
-+
+
+- <groupId>org.spigotmc</groupId>
+- <artifactId>spigot-api</artifactId>
+ <groupId>com.destroystokyo.paper</groupId>
+ <artifactId>paper-api</artifactId>
- <version>1.14-R0.1-SNAPSHOT</version>
+ <version>1.14.1-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Spigot-API</name>
@@ -54,7 +54,7 @@ index 0bc8d481..be4e1ca5 100644
<repositories>
<!--
If you are a plugin developer, please use https://hub.spigotmc.org/nexus/content/repositories/snapshots/
-@@ -41,6 +37,10 @@
+@@ -41,6 +36,10 @@
<id>spigotmc-public</id>
<url>https://hub.spigotmc.org/nexus/content/groups/public/</url>
</repository>
@@ -65,7 +65,7 @@ index 0bc8d481..be4e1ca5 100644
</repositories>
<pluginRepositories>
-@@ -57,6 +57,20 @@
+@@ -57,6 +56,20 @@
<version>2.6</version>
<scope>compile</scope>
</dependency>
@@ -86,7 +86,7 @@ index 0bc8d481..be4e1ca5 100644
<!-- bundled with Minecraft, should be kept in sync -->
<dependency>
<groupId>com.google.guava</groupId>
-@@ -113,15 +127,12 @@
+@@ -113,15 +126,12 @@
</dependencies>
<build>
@@ -103,7 +103,7 @@ index 0bc8d481..be4e1ca5 100644
<dependencies>
<!-- we need our custom version as it fixes some bugs on case sensitive file systems -->
<dependency>
-@@ -156,6 +167,7 @@
+@@ -156,6 +166,7 @@
</execution>
</executions>
<configuration>
diff --git a/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch b/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch
index 700fb9906d..33508d5315 100644
--- a/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch
+++ b/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch
@@ -1,4 +1,4 @@
-From 38757c176090c45b72d90314edbd83d5be3cdffb Mon Sep 17 00:00:00 2001
+From ba48d41f6fb7072f60e80b0bf683b3f1650b2aeb Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 1 Apr 2016 00:02:47 -0400
Subject: [PATCH] Add FastUtil to Bukkit
@@ -6,10 +6,10 @@ Subject: [PATCH] Add FastUtil to Bukkit
Doesn't expose to plugins, just allows Paper-API to use it for optimization
diff --git a/pom.xml b/pom.xml
-index 2e261925..545af460 100644
+index 69866193..3dac66d3 100644
--- a/pom.xml
+++ b/pom.xml
-@@ -51,6 +51,12 @@
+@@ -50,6 +50,12 @@
</pluginRepositories>
<dependencies>
diff --git a/Spigot-API-Patches/0004-Timings-v2.patch b/Spigot-API-Patches/0004-Timings-v2.patch
index e023612c2c..3458dddd6c 100644
--- a/Spigot-API-Patches/0004-Timings-v2.patch
+++ b/Spigot-API-Patches/0004-Timings-v2.patch
@@ -1,4 +1,4 @@
-From 9932b11d3b8b9e6d252020d261cc20342b9343b2 Mon Sep 17 00:00:00 2001
+From cb9aa21c2fd11a5f9775048e79cd86369fd5fe78 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 29 Feb 2016 18:48:17 -0600
Subject: [PATCH] Timings v2
@@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2
diff --git a/src/main/java/co/aikar/timings/FullServerTickHandler.java b/src/main/java/co/aikar/timings/FullServerTickHandler.java
new file mode 100644
-index 000000000..64531fcce
+index 00000000..64531fcc
--- /dev/null
+++ b/src/main/java/co/aikar/timings/FullServerTickHandler.java
@@ -0,0 +1,84 @@
@@ -96,7 +96,7 @@ index 000000000..64531fcce
+}
diff --git a/src/main/java/co/aikar/timings/NullTimingHandler.java b/src/main/java/co/aikar/timings/NullTimingHandler.java
new file mode 100644
-index 000000000..9b45ce887
+index 00000000..9b45ce88
--- /dev/null
+++ b/src/main/java/co/aikar/timings/NullTimingHandler.java
@@ -0,0 +1,68 @@
@@ -170,7 +170,7 @@ index 000000000..9b45ce887
+}
diff --git a/src/main/java/co/aikar/timings/TimedEventExecutor.java b/src/main/java/co/aikar/timings/TimedEventExecutor.java
new file mode 100644
-index 000000000..933ecf9bd
+index 00000000..933ecf9b
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimedEventExecutor.java
@@ -0,0 +1,83 @@
@@ -259,7 +259,7 @@ index 000000000..933ecf9bd
+}
diff --git a/src/main/java/co/aikar/timings/Timing.java b/src/main/java/co/aikar/timings/Timing.java
new file mode 100644
-index 000000000..a21e5ead5
+index 00000000..a21e5ead
--- /dev/null
+++ b/src/main/java/co/aikar/timings/Timing.java
@@ -0,0 +1,83 @@
@@ -348,7 +348,7 @@ index 000000000..a21e5ead5
+}
diff --git a/src/main/java/co/aikar/timings/TimingData.java b/src/main/java/co/aikar/timings/TimingData.java
new file mode 100644
-index 000000000..a5d13a1e4
+index 00000000..a5d13a1e
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingData.java
@@ -0,0 +1,122 @@
@@ -476,7 +476,7 @@ index 000000000..a5d13a1e4
+}
diff --git a/src/main/java/co/aikar/timings/TimingHandler.java b/src/main/java/co/aikar/timings/TimingHandler.java
new file mode 100644
-index 000000000..cc0390c06
+index 00000000..cc0390c0
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHandler.java
@@ -0,0 +1,227 @@
@@ -709,7 +709,7 @@ index 000000000..cc0390c06
+}
diff --git a/src/main/java/co/aikar/timings/TimingHistory.java b/src/main/java/co/aikar/timings/TimingHistory.java
new file mode 100644
-index 000000000..ddaed8127
+index 00000000..ddaed812
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHistory.java
@@ -0,0 +1,354 @@
@@ -1069,7 +1069,7 @@ index 000000000..ddaed8127
+}
diff --git a/src/main/java/co/aikar/timings/TimingHistoryEntry.java b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
new file mode 100644
-index 000000000..86d5ac6bd
+index 00000000..86d5ac6b
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingHistoryEntry.java
@@ -0,0 +1,58 @@
@@ -1133,7 +1133,7 @@ index 000000000..86d5ac6bd
+}
diff --git a/src/main/java/co/aikar/timings/TimingIdentifier.java b/src/main/java/co/aikar/timings/TimingIdentifier.java
new file mode 100644
-index 000000000..df142a89b
+index 00000000..df142a89
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingIdentifier.java
@@ -0,0 +1,116 @@
@@ -1255,7 +1255,7 @@ index 000000000..df142a89b
+}
diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java
new file mode 100644
-index 000000000..0b34e0d01
+index 00000000..0b34e0d0
--- /dev/null
+++ b/src/main/java/co/aikar/timings/Timings.java
@@ -0,0 +1,293 @@
@@ -1554,7 +1554,7 @@ index 000000000..0b34e0d01
+}
diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java
new file mode 100644
-index 000000000..c0d8f2016
+index 00000000..c0d8f201
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsCommand.java
@@ -0,0 +1,122 @@
@@ -1682,7 +1682,7 @@ index 000000000..c0d8f2016
+}
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
new file mode 100644
-index 000000000..5923adfe6
+index 00000000..5923adfe
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -0,0 +1,355 @@
@@ -2043,7 +2043,7 @@ index 000000000..5923adfe6
+}
diff --git a/src/main/java/co/aikar/timings/TimingsManager.java b/src/main/java/co/aikar/timings/TimingsManager.java
new file mode 100644
-index 000000000..ef824d701
+index 00000000..ef824d70
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsManager.java
@@ -0,0 +1,188 @@
@@ -2237,7 +2237,7 @@ index 000000000..ef824d701
+}
diff --git a/src/main/java/co/aikar/timings/TimingsReportListener.java b/src/main/java/co/aikar/timings/TimingsReportListener.java
new file mode 100644
-index 000000000..bf3e059fe
+index 00000000..bf3e059f
--- /dev/null
+++ b/src/main/java/co/aikar/timings/TimingsReportListener.java
@@ -0,0 +1,75 @@
@@ -2318,7 +2318,7 @@ index 000000000..bf3e059fe
+}
diff --git a/src/main/java/co/aikar/timings/UnsafeTimingHandler.java b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
new file mode 100644
-index 000000000..632c49615
+index 00000000..632c4961
--- /dev/null
+++ b/src/main/java/co/aikar/timings/UnsafeTimingHandler.java
@@ -0,0 +1,53 @@
@@ -2377,7 +2377,7 @@ index 000000000..632c49615
+}
diff --git a/src/main/java/co/aikar/util/Counter.java b/src/main/java/co/aikar/util/Counter.java
new file mode 100644
-index 000000000..80155072d
+index 00000000..80155072
--- /dev/null
+++ b/src/main/java/co/aikar/util/Counter.java
@@ -0,0 +1,38 @@
@@ -2421,7 +2421,7 @@ index 000000000..80155072d
+}
diff --git a/src/main/java/co/aikar/util/JSONUtil.java b/src/main/java/co/aikar/util/JSONUtil.java
new file mode 100644
-index 000000000..190bf0598
+index 00000000..190bf059
--- /dev/null
+++ b/src/main/java/co/aikar/util/JSONUtil.java
@@ -0,0 +1,140 @@
@@ -2567,7 +2567,7 @@ index 000000000..190bf0598
+}
diff --git a/src/main/java/co/aikar/util/LoadingIntMap.java b/src/main/java/co/aikar/util/LoadingIntMap.java
new file mode 100644
-index 000000000..63a899c7d
+index 00000000..63a899c7
--- /dev/null
+++ b/src/main/java/co/aikar/util/LoadingIntMap.java
@@ -0,0 +1,76 @@
@@ -2649,7 +2649,7 @@ index 000000000..63a899c7d
+}
diff --git a/src/main/java/co/aikar/util/LoadingMap.java b/src/main/java/co/aikar/util/LoadingMap.java
new file mode 100644
-index 000000000..aedbb0332
+index 00000000..aedbb033
--- /dev/null
+++ b/src/main/java/co/aikar/util/LoadingMap.java
@@ -0,0 +1,368 @@
@@ -3023,7 +3023,7 @@ index 000000000..aedbb0332
+}
diff --git a/src/main/java/co/aikar/util/MRUMapCache.java b/src/main/java/co/aikar/util/MRUMapCache.java
new file mode 100644
-index 000000000..5989ee212
+index 00000000..5989ee21
--- /dev/null
+++ b/src/main/java/co/aikar/util/MRUMapCache.java
@@ -0,0 +1,111 @@
@@ -3139,7 +3139,7 @@ index 000000000..5989ee212
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 1c1f650d8..8f46899fd 100644
+index 0822b8e5..940c643d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -574,7 +574,6 @@ public final class Bukkit {
@@ -3151,10 +3151,10 @@ index 1c1f650d8..8f46899fd 100644
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 2a55a9548..0f9e5ba72 100644
+index 11c5c205..c197e381 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1252,6 +1252,26 @@ public interface Server extends PluginMessageRecipient {
+@@ -1250,6 +1250,26 @@ public interface Server extends PluginMessageRecipient {
throw new UnsupportedOperationException( "Not supported yet." );
}
@@ -3182,7 +3182,7 @@ index 2a55a9548..0f9e5ba72 100644
* Sends the component to the player
*
diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java
-index 247d194f8..72c5501e8 100644
+index 247d194f..72c5501e 100644
--- a/src/main/java/org/bukkit/UnsafeValues.java
+++ b/src/main/java/org/bukkit/UnsafeValues.java
@@ -69,4 +69,12 @@ public interface UnsafeValues {
@@ -3200,7 +3200,7 @@ index 247d194f8..72c5501e8 100644
}
diff --git a/src/main/java/org/bukkit/command/BufferedCommandSender.java b/src/main/java/org/bukkit/command/BufferedCommandSender.java
new file mode 100644
-index 000000000..f9a00aecc
+index 00000000..f9a00aec
--- /dev/null
+++ b/src/main/java/org/bukkit/command/BufferedCommandSender.java
@@ -0,0 +1,21 @@
@@ -3226,7 +3226,7 @@ index 000000000..f9a00aecc
+ }
+}
diff --git a/src/main/java/org/bukkit/command/Command.java b/src/main/java/org/bukkit/command/Command.java
-index 4bfc21468..03bdc1622 100644
+index 4bfc2146..03bdc162 100644
--- a/src/main/java/org/bukkit/command/Command.java
+++ b/src/main/java/org/bukkit/command/Command.java
@@ -33,7 +33,8 @@ public abstract class Command {
@@ -3256,7 +3256,7 @@ index 4bfc21468..03bdc1622 100644
return true;
}
diff --git a/src/main/java/org/bukkit/command/FormattedCommandAlias.java b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
-index d6c8938b1..a6ad94ef9 100644
+index d6c8938b..a6ad94ef 100644
--- a/src/main/java/org/bukkit/command/FormattedCommandAlias.java
+++ b/src/main/java/org/bukkit/command/FormattedCommandAlias.java
@@ -9,6 +9,7 @@ public class FormattedCommandAlias extends Command {
@@ -3280,7 +3280,7 @@ index d6c8938b1..a6ad94ef9 100644
}
diff --git a/src/main/java/org/bukkit/command/MessageCommandSender.java b/src/main/java/org/bukkit/command/MessageCommandSender.java
new file mode 100644
-index 000000000..ca1893e9f
+index 00000000..ca1893e9
--- /dev/null
+++ b/src/main/java/org/bukkit/command/MessageCommandSender.java
@@ -0,0 +1,114 @@
@@ -3399,7 +3399,7 @@ index 000000000..ca1893e9f
+
+}
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
-index 81e4fa573..f020cb04e 100644
+index 81e4fa57..f020cb04 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -15,7 +15,6 @@ import org.bukkit.command.defaults.BukkitCommand;
@@ -3456,7 +3456,7 @@ index 81e4fa573..f020cb04e 100644
diff --git a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java b/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
deleted file mode 100644
-index 6023e4f61..000000000
+index 6023e4f6..00000000
--- a/src/main/java/org/bukkit/command/defaults/TimingsCommand.java
+++ /dev/null
@@ -1,253 +0,0 @@
@@ -3714,7 +3714,7 @@ index 6023e4f61..000000000
- // Spigot end
-}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
-index 06762a696..4f8ae7a83 100644
+index 06762a69..4f8ae7a8 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1566,6 +1566,11 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3730,7 +3730,7 @@ index 06762a696..4f8ae7a83 100644
@NotNull
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
-index f648c5989..78a2d2f8d 100644
+index f648c598..78a2d2f8 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -297,7 +297,6 @@ public final class SimplePluginManager implements PluginManager {
@@ -3787,7 +3787,7 @@ index f648c5989..78a2d2f8d 100644
}
}
diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
-index 1173e433a..82e379d16 100644
+index 1173e433..82e379d1 100644
--- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java
@@ -53,7 +53,6 @@ public final class JavaPluginLoader implements PluginLoader {
@@ -3830,7 +3830,7 @@ index 1173e433a..82e379d16 100644
eventSet.add(new TimedRegisteredListener(listener, executor, eh.priority(), plugin, eh.ignoreCancelled()));
} else {
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
-index 0ffc1dfdb..b859796b4 100644
+index 0ffc1dfd..b859796b 100644
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
@@ -24,7 +24,8 @@ import org.jetbrains.annotations.Nullable;
@@ -3844,7 +3844,7 @@ index 0ffc1dfdb..b859796b4 100644
private final Map<String, Class<?>> classes = new ConcurrentHashMap<String, Class<?>>();
private final PluginDescriptionFile description;
diff --git a/src/main/java/org/bukkit/util/CachedServerIcon.java b/src/main/java/org/bukkit/util/CachedServerIcon.java
-index 5ca863b36..612958a33 100644
+index 5ca863b3..612958a3 100644
--- a/src/main/java/org/bukkit/util/CachedServerIcon.java
+++ b/src/main/java/org/bukkit/util/CachedServerIcon.java
@@ -2,6 +2,7 @@ package org.bukkit.util;
@@ -3867,7 +3867,7 @@ index 5ca863b36..612958a33 100644
+
+}
diff --git a/src/main/java/org/spigotmc/CustomTimingsHandler.java b/src/main/java/org/spigotmc/CustomTimingsHandler.java
-index 6a8f7f551..3cbe5c2bb 100644
+index 6a8f7f55..3cbe5c2b 100644
--- a/src/main/java/org/spigotmc/CustomTimingsHandler.java
+++ b/src/main/java/org/spigotmc/CustomTimingsHandler.java
@@ -1,3 +1,26 @@
diff --git a/Spigot-API-Patches/0006-Add-getTPS-method.patch b/Spigot-API-Patches/0006-Add-getTPS-method.patch
index e1d0ca5b28..f34d8cc9b9 100644
--- a/Spigot-API-Patches/0006-Add-getTPS-method.patch
+++ b/Spigot-API-Patches/0006-Add-getTPS-method.patch
@@ -1,14 +1,14 @@
-From f14a06e28d6591edd48b1b57a6709a8cf93112c4 Mon Sep 17 00:00:00 2001
+From 3dc036320c5c47452a57756953fb08f509c98008 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 29 Feb 2016 17:24:57 -0600
Subject: [PATCH] Add getTPS method
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 8f46899f..62b120ef 100644
+index 940c643d..9f87f333 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1313,6 +1313,17 @@ public final class Bukkit {
+@@ -1311,6 +1311,17 @@ public final class Bukkit {
return server.getEntity(uuid);
}
@@ -27,10 +27,10 @@ index 8f46899f..62b120ef 100644
* Get the advancement specified by this key.
*
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 0f9e5ba7..3912c434 100644
+index c197e381..e1dfa92a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1098,6 +1098,16 @@ public interface Server extends PluginMessageRecipient {
+@@ -1096,6 +1096,16 @@ public interface Server extends PluginMessageRecipient {
@Nullable
Entity getEntity(@NotNull UUID uuid);
diff --git a/Spigot-API-Patches/0014-Expose-server-CommandMap.patch b/Spigot-API-Patches/0014-Expose-server-CommandMap.patch
index 00a0a8a91d..79c072cfbf 100644
--- a/Spigot-API-Patches/0014-Expose-server-CommandMap.patch
+++ b/Spigot-API-Patches/0014-Expose-server-CommandMap.patch
@@ -1,14 +1,14 @@
-From 8359b55e6f3fabe4f725ca31005c4cad376d4a23 Mon Sep 17 00:00:00 2001
+From 3a982ed3a1fb226be1a1a7cc29f0aa77a91e6c8b Mon Sep 17 00:00:00 2001
From: kashike <[email protected]>
Date: Mon, 29 Feb 2016 19:48:59 -0600
Subject: [PATCH] Expose server CommandMap
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 62b120ef..e4e1c980 100644
+index 9f87f333..63e48ef3 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1487,6 +1487,19 @@ public final class Bukkit {
+@@ -1485,6 +1485,19 @@ public final class Bukkit {
return server.getUnsafe();
}
@@ -29,10 +29,10 @@ index 62b120ef..e4e1c980 100644
public static Server.Spigot spigot()
{
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 3912c434..f0850919 100644
+index e1dfa92a..87300a5d 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1108,6 +1108,15 @@ public interface Server extends PluginMessageRecipient {
+@@ -1106,6 +1106,15 @@ public interface Server extends PluginMessageRecipient {
public double[] getTPS();
// Paper end
diff --git a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch
index 4ad0158790..52db578059 100644
--- a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch
+++ b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch
@@ -1,4 +1,4 @@
-From b3a2a2cac156b3ed3a36ba449e95547aced6dfb7 Mon Sep 17 00:00:00 2001
+From 39aa81607372199ad89fe66301dc008dc4326e30 Mon Sep 17 00:00:00 2001
From: Techcable <[email protected]>
Date: Thu, 3 Mar 2016 13:20:33 -0700
Subject: [PATCH] Use ASM for event executors.
@@ -6,10 +6,10 @@ Subject: [PATCH] Use ASM for event executors.
Uses method handles for private or static methods.
diff --git a/pom.xml b/pom.xml
-index b7f7eeff..8f2730df 100644
+index 3dac66d3..aceb6bbb 100644
--- a/pom.xml
+++ b/pom.xml
-@@ -130,6 +130,17 @@
+@@ -129,6 +129,17 @@
<version>7.1</version>
<scope>test</scope>
</dependency>
diff --git a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch b/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch
index aa21d35fc0..567c12a274 100644
--- a/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch
+++ b/Spigot-API-Patches/0025-Add-command-to-reload-permissions.yml-and-require-co.patch
@@ -1,4 +1,4 @@
-From 013b14c932a46c9220116f86f42ee2980735e963 Mon Sep 17 00:00:00 2001
+From 6df33d108c315e2684b89eaed4eb335c049684a3 Mon Sep 17 00:00:00 2001
From: William <[email protected]>
Date: Fri, 18 Mar 2016 03:28:07 -0400
Subject: [PATCH] Add command to reload permissions.yml and require confirm to
@@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 3c76d5a8..d1845cf3 100644
+index b92304e9..a3682b29 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1518,6 +1518,13 @@ public final class Bukkit {
+@@ -1516,6 +1516,13 @@ public final class Bukkit {
public static org.bukkit.command.CommandMap getCommandMap() {
return server.getCommandMap();
}
@@ -24,10 +24,10 @@ index 3c76d5a8..d1845cf3 100644
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 3359434b..41731a28 100644
+index d35d2def..18faba0e 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1340,4 +1340,6 @@ public interface Server extends PluginMessageRecipient {
+@@ -1338,4 +1338,6 @@ public interface Server extends PluginMessageRecipient {
@NotNull
Spigot spigot();
// Spigot end
diff --git a/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch b/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch
index 65dabd40a3..ddb176726b 100644
--- a/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch
+++ b/Spigot-API-Patches/0039-Allow-Reloading-of-Command-Aliases.patch
@@ -1,4 +1,4 @@
-From 5ecb0a4ced346f99f3fe3b209ec4b6bf6bd7b2c8 Mon Sep 17 00:00:00 2001
+From 8e06e63bd85cca024c4e38e35741ddac6f809b48 Mon Sep 17 00:00:00 2001
From: willies952002 <[email protected]>
Date: Mon, 28 Nov 2016 10:16:39 -0500
Subject: [PATCH] Allow Reloading of Command Aliases
@@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases
Reload the aliases stored in commands.yml
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index d1845cf3..bef53644 100644
+index a3682b29..a0a8b540 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1525,6 +1525,15 @@ public final class Bukkit {
+@@ -1523,6 +1523,15 @@ public final class Bukkit {
public static void reloadPermissions() {
server.reloadPermissions();
}
@@ -26,10 +26,10 @@ index d1845cf3..bef53644 100644
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 41731a28..54da4d99 100644
+index 18faba0e..d20e044d 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1342,4 +1342,6 @@ public interface Server extends PluginMessageRecipient {
+@@ -1340,4 +1340,6 @@ public interface Server extends PluginMessageRecipient {
// Spigot end
void reloadPermissions(); // Paper
diff --git a/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch
index 7eef9fbc21..517302e1e8 100644
--- a/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch
+++ b/Spigot-API-Patches/0050-Add-configuration-option-to-prevent-player-names-fro.patch
@@ -1,4 +1,4 @@
-From 46135ee897ecabd5085a6fbd6c82780ac61731e1 Mon Sep 17 00:00:00 2001
+From 7070e4f10451715c06c1766937634f1b7f4ab98d Mon Sep 17 00:00:00 2001
From: kashike <[email protected]>
Date: Fri, 9 Jun 2017 07:24:24 -0700
Subject: [PATCH] Add configuration option to prevent player names from being
@@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index bef53644..30142250 100644
+index a0a8b540..b5b77b2d 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1534,6 +1534,16 @@ public final class Bukkit {
+@@ -1532,6 +1532,16 @@ public final class Bukkit {
public static boolean reloadCommandAliases() {
return server.reloadCommandAliases();
}
@@ -27,10 +27,10 @@ index bef53644..30142250 100644
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 54da4d99..e91f74b7 100644
+index d20e044d..103897fb 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1344,4 +1344,14 @@ public interface Server extends PluginMessageRecipient {
+@@ -1342,4 +1342,14 @@ public interface Server extends PluginMessageRecipient {
void reloadPermissions(); // Paper
boolean reloadCommandAliases(); // Paper
diff --git a/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch b/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch
index 2947e9d153..cc324ab048 100644
--- a/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch
+++ b/Spigot-API-Patches/0056-Basic-PlayerProfile-API.patch
@@ -1,4 +1,4 @@
-From 950b96830a04000914d9a8dce07953090dccec2f Mon Sep 17 00:00:00 2001
+From 70559f747cdfd82b811d7b2e356669afc267f9e7 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 15 Jan 2018 21:46:46 -0500
Subject: [PATCH] Basic PlayerProfile API
@@ -235,10 +235,10 @@ index 00000000..7b3b6ef5
+ }
+}
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 30142250..24b761fe 100644
+index b5b77b2d..161a714e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1544,6 +1544,40 @@ public final class Bukkit {
+@@ -1542,6 +1542,40 @@ public final class Bukkit {
public static boolean suggestPlayerNamesWhenNullTabCompletions() {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -280,10 +280,10 @@ index 30142250..24b761fe 100644
@NotNull
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index e91f74b7..9b767d7c 100644
+index 103897fb..463724e4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1353,5 +1353,33 @@ public interface Server extends PluginMessageRecipient {
+@@ -1351,5 +1351,33 @@ public interface Server extends PluginMessageRecipient {
* @return true if player names should be suggested
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch b/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
index 944ba65ec4..ebb97a2c26 100644
--- a/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
+++ b/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch
@@ -1,4 +1,4 @@
-From f40e94e3adcc3372c06c1cec02bce37804413e93 Mon Sep 17 00:00:00 2001
+From f7a220fa4c20104eba993f5b963526ae0b91cdaa Mon Sep 17 00:00:00 2001
From: Minecrell <[email protected]>
Date: Thu, 21 Sep 2017 16:33:12 +0200
Subject: [PATCH] Allow plugins to use SLF4J for logging
@@ -14,10 +14,10 @@ it without having to shade it in the plugin and going through
several layers of logging abstraction.
diff --git a/pom.xml b/pom.xml
-index 2f68fba2..4f394580 100644
+index aceb6bbb..dbbb5c72 100644
--- a/pom.xml
+++ b/pom.xml
-@@ -111,6 +111,13 @@
+@@ -110,6 +110,13 @@
<version>17.0.0</version>
<scope>provided</scope>
</dependency>
diff --git a/Spigot-API-Patches/0165-Make-the-default-permission-message-configurable.patch b/Spigot-API-Patches/0165-Make-the-default-permission-message-configurable.patch
index a9debbf0ef..6ad6f1d391 100644
--- a/Spigot-API-Patches/0165-Make-the-default-permission-message-configurable.patch
+++ b/Spigot-API-Patches/0165-Make-the-default-permission-message-configurable.patch
@@ -1,14 +1,14 @@
-From b0f277640259a7705d3bcdc87349f0c91a93388f Mon Sep 17 00:00:00 2001
+From cb587e0bd55df4951e9a4cb976fc2e48aad27cc5 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sun, 18 Nov 2018 19:44:54 +0000
Subject: [PATCH] Make the default permission message configurable
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index de42be5b..64955c6e 100644
+index 0c519c41..2148a3c2 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1559,6 +1559,15 @@ public final class Bukkit {
+@@ -1557,6 +1557,15 @@ public final class Bukkit {
return server.suggestPlayerNamesWhenNullTabCompletions();
}
@@ -25,10 +25,10 @@ index de42be5b..64955c6e 100644
* Creates a PlayerProfile for the specified uuid, with name as null
* @param uuid UUID to create profile for
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index 9c92517b..d0b2ab61 100644
+index 8a76df52..1cbb9bc6 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -1366,6 +1366,13 @@ public interface Server extends PluginMessageRecipient {
+@@ -1364,6 +1364,13 @@ public interface Server extends PluginMessageRecipient {
*/
boolean suggestPlayerNamesWhenNullTabCompletions();
diff --git a/Spigot-API-Patches/0179-Flip-some-Spigot-API-null-annotations.patch b/Spigot-API-Patches/0179-Flip-some-Spigot-API-null-annotations.patch
index 7cb81f0ef9..bb1a768c42 100644
--- a/Spigot-API-Patches/0179-Flip-some-Spigot-API-null-annotations.patch
+++ b/Spigot-API-Patches/0179-Flip-some-Spigot-API-null-annotations.patch
@@ -1,4 +1,4 @@
-From 1ae0dd77c2f3a864593862c9d25c9c9cbc9e1339 Mon Sep 17 00:00:00 2001
+From 4227a867264d348f9ba7eecf6e1a5623287a56e2 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 24 Mar 2019 18:39:01 -0400
Subject: [PATCH] Flip some Spigot API null annotations
@@ -9,10 +9,10 @@ a ton of noise to plugin developers.
These do not help plugin developers if they bring moise noise than value.
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
-index 64955c6e..bb03a0f4 100644
+index 2148a3c2..6db69159 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
-@@ -1155,7 +1155,7 @@ public final class Bukkit {
+@@ -1153,7 +1153,7 @@ public final class Bukkit {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -21,7 +21,7 @@ index 64955c6e..bb03a0f4 100644
public static ScoreboardManager getScoreboardManager() {
return server.getScoreboardManager();
}
-@@ -1452,7 +1452,7 @@ public final class Bukkit {
+@@ -1450,7 +1450,7 @@ public final class Bukkit {
* @param clazz the class of the tag entries
* @return the tag or null
*/
@@ -62,10 +62,10 @@ index 4e69f277..2a40da99 100644
if (this.world == null) {
return null;
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
-index d0b2ab61..0e7b48f2 100644
+index 1cbb9bc6..27d3b5ad 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
-@@ -964,7 +964,7 @@ public interface Server extends PluginMessageRecipient {
+@@ -962,7 +962,7 @@ public interface Server extends PluginMessageRecipient {
*
* @return the scoreboard manager or null if no worlds are loaded.
*/
@@ -74,7 +74,7 @@ index d0b2ab61..0e7b48f2 100644
ScoreboardManager getScoreboardManager();
/**
-@@ -1234,7 +1234,7 @@ public interface Server extends PluginMessageRecipient {
+@@ -1232,7 +1232,7 @@ public interface Server extends PluginMessageRecipient {
* @param clazz the class of the tag entries
* @return the tag or null
*/
diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch
index 2c4f6cf1b7..99cfe2cbf0 100644
--- a/Spigot-Server-Patches/0001-POM-Changes.patch
+++ b/Spigot-Server-Patches/0001-POM-Changes.patch
@@ -1,11 +1,11 @@
-From f754c4b64a90c21d79e2cfa1dc797acd66be8d59 Mon Sep 17 00:00:00 2001
+From 4bbae6ad58eb4e2328787bc1bc4eaf98bee9d13b Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Mon, 29 Feb 2016 20:40:33 -0600
Subject: [PATCH] POM Changes
diff --git a/pom.xml b/pom.xml
-index 982ac22e8e..099d7218c9 100644
+index 6a1ba9149..7b9fcb2c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,15 +1,14 @@
@@ -16,7 +16,7 @@ index 982ac22e8e..099d7218c9 100644
- <artifactId>spigot</artifactId>
+ <artifactId>paper</artifactId>
<packaging>jar</packaging>
- <version>1.14-R0.1-SNAPSHOT</version>
+ <version>1.14.1-R0.1-SNAPSHOT</version>
- <name>Spigot</name>
- <url>https://www.spigotmc.org/</url>
+ <name>Paper</name>
@@ -27,7 +27,7 @@ index 982ac22e8e..099d7218c9 100644
+ <!-- <skipTests>true</skipTests> Paper - This [was] not going to end well -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<api.version>unknown</api.version>
- <minecraft.version>1.14</minecraft.version>
+ <minecraft.version>1.14.1</minecraft.version>
@@ -22,16 +21,16 @@
</properties>
@@ -146,7 +146,7 @@ index 982ac22e8e..099d7218c9 100644
<!-- we need our custom version as it fixes some bugs on case sensitive file systems -->
<dependency>
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
-index 93046379d0..674096cab1 100644
+index 93046379d..674096cab 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {
diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch
index 641e3b8764..c22f4771fe 100644
--- a/Spigot-Server-Patches/0002-Paper-config-files.patch
+++ b/Spigot-Server-Patches/0002-Paper-config-files.patch
@@ -1,4 +1,4 @@
-From 3a8d4c91477d6a37245f9de40cc06933b187a23d Mon Sep 17 00:00:00 2001
+From d4985c027b143f266a5f6aed5f3786189b01d347 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Mon, 29 Feb 2016 21:02:09 -0600
Subject: [PATCH] Paper config files
@@ -535,12 +535,12 @@ index e1ba833f3..b60956218 100644
this.setSpawnAnimals(dedicatedserverproperties.spawnAnimals);
this.setSpawnNPCs(dedicatedserverproperties.spawnNpcs);
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index fd8397bd4..77015bc06 100644
+index 36e42f900..8371631db 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -134,9 +134,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener {
private static final DataWatcherObject<Boolean> aC = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
- protected static final DataWatcherObject<EntityPose> X = DataWatcher.a(Entity.class, DataWatcherRegistry.s);
+ protected static final DataWatcherObject<EntityPose> POSE = DataWatcher.a(Entity.class, DataWatcherRegistry.s);
public boolean inChunk;
- public int chunkX;
- public int chunkY;
@@ -552,7 +552,7 @@ index fd8397bd4..77015bc06 100644
public boolean impulse;
public int portalCooldown;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
-index ee43aa24d..01d9ed69c 100644
+index 659e0ea50..8c918d0d6 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -4,6 +4,7 @@ import com.mojang.datafixers.DataFixUtils;
@@ -575,7 +575,7 @@ index ee43aa24d..01d9ed69c 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 84155573d..83fdea893 100644
+index cc3f201c9..923d8e28e 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -86,6 +86,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -596,7 +596,7 @@ index 84155573d..83fdea893 100644
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index be03fe24b..5dc2bb124 100644
+index 3edc623a7..7fe76b8d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -751,6 +751,7 @@ public final class CraftServer implements Server {
diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch
index ae138bece6..8894be9ada 100644
--- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch
+++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch
@@ -1,4 +1,4 @@
-From 2947fccbf09877c62048ba716cd3a027a5e8954e Mon Sep 17 00:00:00 2001
+From f1cff95a232b546bacd9800d360813d6f0cdffa3 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 30 Mar 2016 19:36:20 -0400
Subject: [PATCH] MC Dev fixes
@@ -75,8 +75,50 @@ index c973ab607..30701fd7f 100644
+ return this.blockIds.a(iblockdata); // Paper - decompile fix
}
}
+diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
+index 4faec95a3..87091d804 100644
+--- a/src/main/java/net/minecraft/server/EntityFox.java
++++ b/src/main/java/net/minecraft/server/EntityFox.java
+@@ -97,7 +97,7 @@ public class EntityFox extends EntityAnimal {
+ this.goalSelector.a(11, new EntityFox.j(this, EntityHuman.class, 24.0F));
+ this.goalSelector.a(12, new EntityFox.r());
+ this.targetSelector.a(3, new EntityFox.a(EntityLiving.class, false, false, (entityliving) -> {
+- return EntityFox.bF.test(entityliving) && !this.c(entityliving.getUniqueID());
++ return EntityFox.bF.test((EntityLiving) entityliving) && !this.c(((EntityLiving) entityliving).getUniqueID()); // Paper - decompile fix
+ }));
+ }
+
+@@ -267,8 +267,8 @@ public class EntityFox extends EntityAnimal {
+ private List<UUID> ek() {
+ List<UUID> list = Lists.newArrayList();
+
+- list.add(((Optional) this.datawatcher.get(EntityFox.bB)).orElse((Object) null));
+- list.add(((Optional) this.datawatcher.get(EntityFox.bD)).orElse((Object) null));
++ list.add((this.datawatcher.get(EntityFox.bB)).orElse(null)); // Paper - decompiler fix
++ list.add((this.datawatcher.get(EntityFox.bD)).orElse(null)); // Paper - decompiler fix
+ return list;
+ }
+
+@@ -983,7 +983,7 @@ public class EntityFox extends EntityAnimal {
+ private int f;
+
+ public r() {
+- super(null);
++ super(); // Paper - decompiler fix
+ this.a(EnumSet.of(PathfinderGoal.Type.MOVE, PathfinderGoal.Type.LOOK));
+ }
+
+@@ -1035,7 +1035,7 @@ public class EntityFox extends EntityAnimal {
+ private int c;
+
+ public t() {
+- super(null);
++ super(); // Paper - decompiler fix
+ this.c = EntityFox.this.random.nextInt(140);
+ this.a(EnumSet.of(PathfinderGoal.Type.MOVE, PathfinderGoal.Type.LOOK, PathfinderGoal.Type.JUMP));
+ }
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
-index 45370ad5d..b566e7786 100644
+index 1692e6b47..dbd189afe 100644
--- a/src/main/java/net/minecraft/server/EntityVindicator.java
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java
@@ -25,7 +25,7 @@ public class EntityVindicator extends EntityIllagerAbstract {
@@ -111,10 +153,19 @@ index d8d226708..3de9d264d 100644
this.e = bifunction;
}
diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
-index 85c28ec8e..7016b03f6 100644
+index 053d408d3..4510018d6 100644
--- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
+++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
-@@ -77,14 +77,14 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
+@@ -51,7 +51,7 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
+ return this.executeFuture(runnable);
+ } else {
+ runnable.run();
+- return CompletableFuture.completedFuture((Object) null);
++ return CompletableFuture.completedFuture(null); // Paper - decompile fix
+ }
+ }
+
+@@ -86,14 +86,14 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
}
protected boolean executeNext() {
@@ -132,7 +183,7 @@ index 85c28ec8e..7016b03f6 100644
}
}
diff --git a/src/main/java/net/minecraft/server/IBlockAccess.java b/src/main/java/net/minecraft/server/IBlockAccess.java
-index 8753bea61..809ca0983 100644
+index 2ed611980..6e365f402 100644
--- a/src/main/java/net/minecraft/server/IBlockAccess.java
+++ b/src/main/java/net/minecraft/server/IBlockAccess.java
@@ -96,7 +96,7 @@ public interface IBlockAccess {
@@ -364,7 +415,7 @@ index 41a5d1dc2..b3799ab56 100644
if (throwable != null) {
completablefuture.completeExceptionally(throwable);
diff --git a/src/main/java/net/minecraft/server/VillagerTrades.java b/src/main/java/net/minecraft/server/VillagerTrades.java
-index 1df86e3bb..eabbf2933 100644
+index b0d44e377..ff3f15eac 100644
--- a/src/main/java/net/minecraft/server/VillagerTrades.java
+++ b/src/main/java/net/minecraft/server/VillagerTrades.java
@@ -15,12 +15,12 @@ import javax.annotation.Nullable;
@@ -374,13 +425,13 @@ index 1df86e3bb..eabbf2933 100644
- public static final Map<VillagerProfession, Int2ObjectMap<VillagerTrades.IMerchantRecipeOption[]>> a = (Map) SystemUtils.a((Object) Maps.newHashMap(), (hashmap) -> {
+ public static final Map<VillagerProfession, Int2ObjectMap<VillagerTrades.IMerchantRecipeOption[]>> a = SystemUtils.a(Maps.newHashMap(), (hashmap) -> { // Paper - decompile fix
hashmap.put(VillagerProfession.FARMER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.WHEAT, 20, 8, 2), new VillagerTrades.b(Items.POTATO, 26, 8, 2), new VillagerTrades.b(Items.CARROT, 22, 8, 2), new VillagerTrades.b(Items.BEETROOT, 15, 8, 2), new VillagerTrades.h(Items.BREAD, 1, 6, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Blocks.PUMPKIN, 6, 6, 10), new VillagerTrades.h(Items.PUMPKIN_PIE, 1, 4, 5), new VillagerTrades.h(Items.APPLE, 1, 4, 8, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.COOKIE, 3, 18, 10), new VillagerTrades.b(Blocks.MELON, 4, 6, 20)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Blocks.CAKE, 1, 1, 6, 15), new VillagerTrades.i(MobEffects.FASTER_MOVEMENT, 160, 15), new VillagerTrades.i(MobEffects.JUMP, 160, 15), new VillagerTrades.i(MobEffects.WEAKNESS, 140, 15), new VillagerTrades.i(MobEffects.BLINDNESS, 120, 15), new VillagerTrades.i(MobEffects.POISON, 280, 15), new VillagerTrades.i(MobEffects.SATURATION, 7, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.GOLDEN_CARROT, 3, 3, 30), new VillagerTrades.h(Items.GLISTERING_MELON_SLICE, 4, 3, 30)})));
-- hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.STRING, 20, 8, 2), new VillagerTrades.b(Items.COAL, 10, 8, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 8, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.COD, 15, 8, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 8, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.SALMON, 13, 8, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 2, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.TROPICAL_FISH, 6, 6, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PUFFERFISH, 4, 6, 30), new VillagerTrades.c(1, 6, 30, ImmutableMap.builder().put(VillagerType.c, Items.OAK_BOAT).put(VillagerType.g, Items.SPRUCE_BOAT).put(VillagerType.e, Items.SPRUCE_BOAT).put(VillagerType.a, Items.JUNGLE_BOAT).put(VillagerType.b, Items.JUNGLE_BOAT).put(VillagerType.d, Items.ACACIA_BOAT).put(VillagerType.f, Items.DARK_OAK_BOAT).build())})));
-+ hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.STRING, 20, 8, 2), new VillagerTrades.b(Items.COAL, 10, 8, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 8, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.COD, 15, 8, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 8, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.SALMON, 13, 8, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 2, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.TROPICAL_FISH, 6, 6, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PUFFERFISH, 4, 6, 30), new VillagerTrades.c(1, 6, 30, ImmutableMap.<VillagerType, Item>builder().put(VillagerType.c, Items.OAK_BOAT).put(VillagerType.g, Items.SPRUCE_BOAT).put(VillagerType.e, Items.SPRUCE_BOAT).put(VillagerType.a, Items.JUNGLE_BOAT).put(VillagerType.b, Items.JUNGLE_BOAT).put(VillagerType.d, Items.ACACIA_BOAT).put(VillagerType.f, Items.DARK_OAK_BOAT).build())}))); // Paper - decompile fix
+- hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.STRING, 20, 8, 2), new VillagerTrades.b(Items.COAL, 10, 8, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 8, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.COD, 15, 8, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 8, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.SALMON, 13, 8, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 2, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.TROPICAL_FISH, 6, 6, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PUFFERFISH, 4, 6, 30), new VillagerTrades.c(1, 6, 30, ImmutableMap.builder().put(VillagerType.PLAINS, Items.OAK_BOAT).put(VillagerType.TAIGA, Items.SPRUCE_BOAT).put(VillagerType.SNOW, Items.SPRUCE_BOAT).put(VillagerType.DESERT, Items.JUNGLE_BOAT).put(VillagerType.JUNGLE, Items.JUNGLE_BOAT).put(VillagerType.SAVANNA, Items.ACACIA_BOAT).put(VillagerType.SWAMP, Items.DARK_OAK_BOAT).build())})));
++ hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.STRING, 20, 8, 2), new VillagerTrades.b(Items.COAL, 10, 8, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 8, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.COD, 15, 8, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 8, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.SALMON, 13, 8, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 2, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.TROPICAL_FISH, 6, 6, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PUFFERFISH, 4, 6, 30), new VillagerTrades.c(1, 6, 30, ImmutableMap.<VillagerType, Item>builder().put(VillagerType.PLAINS, Items.OAK_BOAT).put(VillagerType.TAIGA, Items.SPRUCE_BOAT).put(VillagerType.SNOW, Items.SPRUCE_BOAT).put(VillagerType.DESERT, Items.JUNGLE_BOAT).put(VillagerType.JUNGLE, Items.JUNGLE_BOAT).put(VillagerType.SAVANNA, Items.ACACIA_BOAT).put(VillagerType.SWAMP, Items.DARK_OAK_BOAT).build())}))); // Paper - decompile fix
hashmap.put(VillagerProfession.SHEPHERD, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Blocks.WHITE_WOOL, 18, 8, 2), new VillagerTrades.b(Blocks.BROWN_WOOL, 18, 8, 2), new VillagerTrades.b(Blocks.BLACK_WOOL, 18, 8, 2), new VillagerTrades.b(Blocks.GRAY_WOOL, 18, 8, 2), new VillagerTrades.h(Items.SHEARS, 2, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.WHITE_DYE, 12, 8, 10), new VillagerTrades.b(Items.GRAY_DYE, 12, 8, 10), new VillagerTrades.b(Items.BLACK_DYE, 12, 8, 10), new VillagerTrades.b(Items.LIGHT_BLUE_DYE, 12, 8, 10), new VillagerTrades.b(Items.LIME_DYE, 12, 8, 10), new VillagerTrades.h(Blocks.WHITE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.ORANGE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.MAGENTA_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.LIGHT_BLUE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.YELLOW_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.LIME_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.PINK_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.GRAY_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.LIGHT_GRAY_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.CYAN_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.PURPLE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.BLUE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.BROWN_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.GREEN_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.RED_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.BLACK_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.WHITE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.ORANGE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.MAGENTA_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.LIGHT_BLUE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.YELLOW_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.LIME_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.PINK_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.GRAY_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.LIGHT_GRAY_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.CYAN_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.PURPLE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.BLUE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.BROWN_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.GREEN_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.RED_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.BLACK_CARPET, 1, 4, 8, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.YELLOW_DYE, 12, 8, 20), new VillagerTrades.b(Items.LIGHT_GRAY_DYE, 12, 8, 20), new VillagerTrades.b(Items.ORANGE_DYE, 12, 8, 20), new VillagerTrades.b(Items.RED_DYE, 12, 8, 20), new VillagerTrades.b(Items.PINK_DYE, 12, 8, 20), new VillagerTrades.h(Blocks.WHITE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.YELLOW_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.RED_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.BLACK_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.BLUE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.BROWN_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.CYAN_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.GRAY_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.GREEN_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.LIGHT_BLUE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.LIGHT_GRAY_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.LIME_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.MAGENTA_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.ORANGE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.PINK_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.PURPLE_BED, 3, 1, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.BROWN_DYE, 12, 8, 30), new VillagerTrades.b(Items.PURPLE_DYE, 12, 8, 30), new VillagerTrades.b(Items.BLUE_DYE, 12, 8, 30), new VillagerTrades.b(Items.GREEN_DYE, 12, 8, 30), new VillagerTrades.b(Items.MAGENTA_DYE, 12, 8, 30), new VillagerTrades.b(Items.CYAN_DYE, 12, 8, 30), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 6, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.PAINTING, 2, 3, 30)})));
hashmap.put(VillagerProfession.FLETCHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.STICK, 32, 8, 2), new VillagerTrades.h(Items.ARROW, 1, 16, 1), new VillagerTrades.g(Blocks.GRAVEL, 10, Items.FLINT, 10, 6, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.FLINT, 26, 6, 10), new VillagerTrades.h(Items.BOW, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.STRING, 14, 8, 20), new VillagerTrades.h(Items.CROSSBOW, 3, 1, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.FEATHER, 24, 8, 30), new VillagerTrades.e(Items.BOW, 2, 2, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.dE, 8, 6, 30), new VillagerTrades.e(Items.CROSSBOW, 3, 2, 15), new VillagerTrades.j(Items.ARROW, 5, Items.TIPPED_ARROW, 5, 2, 6, 30)})));
- hashmap.put(VillagerProfession.LIBRARIAN, a(ImmutableMap.builder().put(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PAPER, 24, 8, 2), new VillagerTrades.d(1), new VillagerTrades.h(Blocks.BOOKSHELF, 6, 3, 6, 1)}).put(2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.BOOK, 4, 6, 10), new VillagerTrades.d(5), new VillagerTrades.h(Items.pQ, 1, 1, 5)}).put(3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.INK_SAC, 5, 6, 20), new VillagerTrades.d(10), new VillagerTrades.h(Items.am, 1, 4, 10)}).put(4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.WRITABLE_BOOK, 2, 6, 30), new VillagerTrades.d(15), new VillagerTrades.h(Items.CLOCK, 5, 1, 15), new VillagerTrades.h(Items.COMPASS, 4, 1, 15)}).put(5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.NAME_TAG, 20, 1, 30)}).build()));
+ hashmap.put(VillagerProfession.LIBRARIAN, a(ImmutableMap.<Integer, VillagerTrades.IMerchantRecipeOption[]>builder().put(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PAPER, 24, 8, 2), new VillagerTrades.d(1), new VillagerTrades.h(Blocks.BOOKSHELF, 6, 3, 6, 1)}).put(2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.BOOK, 4, 6, 10), new VillagerTrades.d(5), new VillagerTrades.h(Items.pQ, 1, 1, 5)}).put(3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.INK_SAC, 5, 6, 20), new VillagerTrades.d(10), new VillagerTrades.h(Items.am, 1, 4, 10)}).put(4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.WRITABLE_BOOK, 2, 6, 30), new VillagerTrades.d(15), new VillagerTrades.h(Items.CLOCK, 5, 1, 15), new VillagerTrades.h(Items.COMPASS, 4, 1, 15)}).put(5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.NAME_TAG, 20, 1, 30)}).build())); // Paper - decompile fix
- hashmap.put(VillagerProfession.CARTOGRAPHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PAPER, 24, 8, 2), new VillagerTrades.h(Items.MAP, 7, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.df, 10, 8, 10), new VillagerTrades.k(13, "Monument", MapIcon.Type.MONUMENT, 6, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.COMPASS, 1, 6, 20), new VillagerTrades.k(14, "Mansion", MapIcon.Type.MANSION, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.ITEM_FRAME, 7, 1, 15), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.GLOBE_BANNER_PATTERN, 8, 1, 30)})));
+ hashmap.put(VillagerProfession.CARTOGRAPHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.PAPER, 24, 8, 2), new VillagerTrades.h(Items.MAP, 7, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.df, 11, 8, 10), new VillagerTrades.k(13, "Monument", MapIcon.Type.MONUMENT, 6, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.COMPASS, 1, 6, 20), new VillagerTrades.k(14, "Mansion", MapIcon.Type.MANSION, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.ITEM_FRAME, 7, 1, 15), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.h(Items.GLOBE_BANNER_PATTERN, 8, 1, 30)})));
hashmap.put(VillagerProfession.CLERIC, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.ROTTEN_FLESH, 32, 8, 2), new VillagerTrades.h(Items.REDSTONE, 1, 2, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.GOLD_INGOT, 3, 6, 10), new VillagerTrades.h(Items.LAPIS_LAZULI, 1, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.RABBIT_FOOT, 2, 6, 20), new VillagerTrades.h(Blocks.GLOWSTONE, 4, 1, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.SCUTE, 4, 6, 30), new VillagerTrades.b(Items.GLASS_BOTTLE, 9, 6, 30), new VillagerTrades.h(Items.ENDER_PEARL, 5, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.NETHER_WART, 22, 6, 30), new VillagerTrades.h(Items.EXPERIENCE_BOTTLE, 3, 1, 30)})));
hashmap.put(VillagerProfession.ARMORER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.COAL, 15, 8, 2), new VillagerTrades.h(new ItemStack(Items.IRON_LEGGINGS), 7, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_BOOTS), 4, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_HELMET), 5, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_CHESTPLATE), 9, 1, 6, 1, 0.2F)}, 2, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.IRON_INGOT, 4, 6, 10), new VillagerTrades.h(new ItemStack(Items.pP), 36, 1, 6, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_BOOTS), 1, 1, 6, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_LEGGINGS), 3, 1, 6, 5, 0.2F)}, 3, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.b(Items.LAVA_BUCKET, 1, 6, 20), new VillagerTrades.b(Items.DIAMOND, 1, 6, 20), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_HELMET), 1, 1, 6, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_CHESTPLATE), 4, 1, 6, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.SHIELD), 5, 1, 6, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.e(Items.DIAMOND_LEGGINGS, 14, 2, 15, 0.2F), new VillagerTrades.e(Items.DIAMOND_BOOTS, 8, 2, 15, 0.2F)}, 5, new VillagerTrades.IMerchantRecipeOption[] { new VillagerTrades.e(Items.DIAMOND_HELMET, 8, 2, 30, 0.2F), new VillagerTrades.e(Items.DIAMOND_CHESTPLATE, 16, 2, 30, 0.2F)})));
diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java
diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch
index 84f0535f55..f6de93dabf 100644
--- a/Spigot-Server-Patches/0004-MC-Utils.patch
+++ b/Spigot-Server-Patches/0004-MC-Utils.patch
@@ -1,4 +1,4 @@
-From 8be0f9b0ebf8cb9794ed83d22dc5aaa3874e1a1a Mon Sep 17 00:00:00 2001
+From c823984a165a1eefe3a7387eb0816ed663a311bf Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 28 Mar 2016 20:55:47 -0400
Subject: [PATCH] MC Utils
@@ -57,7 +57,7 @@ index dd47e9cbe..c927d524a 100644
return this.d(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2));
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index fc54888fa..8f789c91f 100644
+index 0fe575349..aa13028d0 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -32,7 +32,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent;
@@ -69,7 +69,7 @@ index fc54888fa..8f789c91f 100644
private final ChunkSection[] sections;
private final BiomeBase[] d;
private final Map<BlockPosition, NBTTagCompound> e;
-@@ -403,6 +403,7 @@ public class Chunk implements IChunkAccess {
+@@ -407,6 +407,7 @@ public class Chunk implements IChunkAccess {
return this.a(blockposition, Chunk.EnumTileEntityState.CHECK);
}
@@ -164,7 +164,7 @@ index 4411d5640..28a6be7ab 100644
this.a();
packetdataserializer.writeByte(this.i);
diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java
-index 7636358a7..852068081 100644
+index 4f69e2327..8f5f61f60 100644
--- a/src/main/java/net/minecraft/server/EntityCreature.java
+++ b/src/main/java/net/minecraft/server/EntityCreature.java
@@ -6,6 +6,8 @@ import org.bukkit.event.entity.EntityUnleashEvent;
@@ -189,7 +189,7 @@ index 472063264..afa03ce6f 100644
// CraftBukkit start - fire event
setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index c1bb7a88a..f86e6a4c5 100644
+index 2b856727d..1a33b7048 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -126,6 +126,7 @@ public abstract class EntityLiving extends Entity {
@@ -213,7 +213,7 @@ index 6ab4c78b3..76142d5dc 100644
super(entitytypes, world);
this.f = 5;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
-index 01d9ed69c..3217a8ed1 100644
+index 8c918d0d6..56a2d7df5 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -5,6 +5,7 @@ import com.mojang.datafixers.types.Type;
@@ -236,10 +236,10 @@ index 01d9ed69c..3217a8ed1 100644
}
diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
-index 7016b03f6..c22128953 100644
+index 4510018d6..c0d511244 100644
--- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
+++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java
-@@ -55,6 +55,15 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
+@@ -64,6 +64,15 @@ public abstract class IAsyncTaskHandler<R extends Runnable> implements Mailbox<R
}
@@ -752,7 +752,7 @@ index 4e20cfba4..363ab5da1 100644
int j = 0;
ChunkSection[] achunksection = chunk.getSections();
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 8080e38b3..78a090ac7 100644
+index 68926d0de..5757dd6fb 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -67,9 +67,9 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -819,7 +819,7 @@ index b3799ab56..5fae5a123 100644
public static long getTimeMillis() {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 83fdea893..cbe87a338 100644
+index 923d8e28e..404d3d8c8 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -371,8 +371,9 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
diff --git a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch
index 515cce1a6f..89226c6130 100644
--- a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch
+++ b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch
@@ -1,4 +1,4 @@
-From 1ef3557e3a967ef452810c2fb8424c6d07775689 Mon Sep 17 00:00:00 2001
+From 22ba5b0307cfeb19431eb4c9f2ce97278f48c977 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 4 Jul 2018 01:40:13 -0400
Subject: [PATCH] Add MinecraftKey Information to Objects
@@ -19,7 +19,7 @@ index b5f318c00..ce190d88d 100644
MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 77015bc06..01e486389 100644
+index 8371631db..033cddf8e 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -49,7 +49,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;
@@ -65,7 +65,7 @@ index 77015bc06..01e486389 100644
protected abstract void a(NBTTagCompound nbttagcompound);
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
-index 3217a8ed1..c7fb8f513 100644
+index 56a2d7df5..98eb0d24c 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -238,6 +238,7 @@ public class EntityTypes<T extends Entity> {
@@ -92,10 +92,10 @@ index 000000000..743142d03
+ }
+}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index 080fd819b..77d77fcb8 100644
+index 8d868d84c..b511fe263 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -10,7 +10,7 @@ import org.bukkit.inventory.InventoryHolder;
+@@ -11,7 +11,7 @@ import org.bukkit.inventory.InventoryHolder;
// CraftBukkit end
import org.spigotmc.CustomTimingsHandler; // Spigot
@@ -104,7 +104,7 @@ index 080fd819b..77d77fcb8 100644
public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getTileEntityTimings(this); // Spigot
// CraftBukkit start - data containers
-@@ -18,7 +18,7 @@ public abstract class TileEntity {
+@@ -19,7 +19,7 @@ public abstract class TileEntity {
public final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(DATA_TYPE_REGISTRY);
// CraftBukkit end
private static final Logger LOGGER = LogManager.getLogger();
@@ -113,7 +113,7 @@ index 080fd819b..77d77fcb8 100644
@Nullable
protected World world;
protected BlockPosition position;
-@@ -31,6 +31,26 @@ public abstract class TileEntity {
+@@ -33,6 +33,26 @@ public abstract class TileEntity {
this.b = tileentitytypes;
}
diff --git a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch
index 41bb3625c5..120fd38247 100644
--- a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch
+++ b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch
@@ -1,4 +1,4 @@
-From 43fe880530ba71a467d76e1a5d6ad57ba9fed5d5 Mon Sep 17 00:00:00 2001
+From 850bdbebc31a1756bdcd70dfa677cd0f3a447262 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 4 Jul 2018 02:10:36 -0400
Subject: [PATCH] Store reference to current Chunk for Entity and Block
@@ -8,7 +8,7 @@ This enables us a fast reference to the entities current chunk instead
of having to look it up by hashmap lookups.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 8f789c91f7..15be6bb33f 100644
+index aa13028d0..6d75bf220 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -36,7 +36,7 @@ public class Chunk implements IChunkAccess {
@@ -20,13 +20,10 @@ index 8f789c91f7..15be6bb33f 100644
public final World world;
public final Map<HeightMap.Type, HeightMap> heightMap;
private final ChunkConverter i;
-@@ -58,11 +58,39 @@ public class Chunk implements IChunkAccess {
- private final ChunkCoordIntPair loc;
- private volatile boolean x;
+@@ -62,11 +62,36 @@ public class Chunk implements IChunkAccess {
+ this(world, chunkcoordintpair, abiomebase, ChunkConverter.a, TickListEmpty.a(), TickListEmpty.a(), 0L, (ChunkSection[]) null, (Consumer) null);
+ }
-+ // CraftBukkit start - Neighbor loaded cache for chunk lighting and entity ticking
-+ private int neighbors = 0x1 << 12;
-+ public long chunkKey;
+ // Paper start
+ private class TileEntityHashMap extends java.util.HashMap<BlockPosition, TileEntity> {
+ @Override
@@ -61,7 +58,7 @@ index 8f789c91f7..15be6bb33f 100644
this.l = Maps.newHashMap();
this.m = Maps.newHashMap();
this.n = new ShortList[16];
-@@ -357,6 +385,7 @@ public class Chunk implements IChunkAccess {
+@@ -361,6 +386,7 @@ public class Chunk implements IChunkAccess {
}
entity.inChunk = true;
@@ -69,7 +66,7 @@ index 8f789c91f7..15be6bb33f 100644
entity.chunkX = this.loc.x;
entity.chunkY = k;
entity.chunkZ = this.loc.z;
-@@ -368,6 +397,7 @@ public class Chunk implements IChunkAccess {
+@@ -372,6 +398,7 @@ public class Chunk implements IChunkAccess {
((HeightMap) this.heightMap.get(heightmap_type)).a(along);
}
@@ -77,7 +74,7 @@ index 8f789c91f7..15be6bb33f 100644
public void b(Entity entity) {
this.a(entity, entity.chunkY);
}
-@@ -380,8 +410,12 @@ public class Chunk implements IChunkAccess {
+@@ -384,8 +411,12 @@ public class Chunk implements IChunkAccess {
if (i >= this.entitySlices.length) {
i = this.entitySlices.length - 1;
}
@@ -93,13 +90,13 @@ index 8f789c91f7..15be6bb33f 100644
@Override
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 01e4863899..14c3f04170 100644
+index 033cddf8e..7fc4af565 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -133,7 +133,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
private static final DataWatcherObject<Boolean> aB = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
private static final DataWatcherObject<Boolean> aC = DataWatcher.a(Entity.class, DataWatcherRegistry.i);
- protected static final DataWatcherObject<EntityPose> X = DataWatcher.a(Entity.class, DataWatcherRegistry.s);
+ protected static final DataWatcherObject<EntityPose> POSE = DataWatcher.a(Entity.class, DataWatcherRegistry.s);
- public boolean inChunk;
+ public boolean inChunk; public boolean isAddedToChunk() { return inChunk; } // Paper - OBFHELPER
public int chunkX; public int getChunkX() { return chunkX; } // Paper - OBFHELPER
@@ -146,10 +143,10 @@ index 01e4863899..14c3f04170 100644
private String entityKeyString;
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index 77d77fcb8b..4c811325c3 100644
+index b511fe263..7546f6690 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -49,6 +49,15 @@ public abstract class TileEntity implements KeyedObject { // Paper
+@@ -51,6 +51,15 @@ public abstract class TileEntity implements KeyedObject { // Paper
getMinecraftKey(); // Try to load if it doesn't exists.
return tileEntityKeyString;
}
@@ -166,7 +163,7 @@ index 77d77fcb8b..4c811325c3 100644
@Nullable
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index eddac6ed95..049641db06 100644
+index 5b72b3633..b2a16bb36 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -137,6 +137,7 @@ import net.minecraft.server.EntityZombieVillager;
diff --git a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch
index 8ea6138363..bcccfd1d3c 100644
--- a/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch
+++ b/Spigot-Server-Patches/0008-Store-counts-for-each-Entity-Block-Entity-Type.patch
@@ -1,4 +1,4 @@
-From 2976aeb8835db3b9c38ccc891e1b011dca486d42 Mon Sep 17 00:00:00 2001
+From 4f96ee0c29856941cb17de02ffd7c007acd7ac30 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 4 Jul 2018 02:13:59 -0400
Subject: [PATCH] Store counts for each Entity/Block Entity Type
@@ -6,12 +6,12 @@ Subject: [PATCH] Store counts for each Entity/Block Entity Type
Opens door for future patches to optimize performance
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 7fa141f52c..2b29fe837b 100644
+index 6d75bf220..937fcd7fa 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -62,15 +62,19 @@ public class Chunk implements IChunkAccess {
- private int neighbors = 0x1 << 12;
- public long chunkKey;
+@@ -63,15 +63,19 @@ public class Chunk implements IChunkAccess {
+ }
+
// Paper start
+ public final co.aikar.util.Counter<String> entityCounts = new co.aikar.util.Counter<>();
+ public final co.aikar.util.Counter<String> tileEntityCounts = new co.aikar.util.Counter<>();
@@ -29,7 +29,7 @@ index 7fa141f52c..2b29fe837b 100644
}
return replaced;
}
-@@ -80,6 +84,7 @@ public class Chunk implements IChunkAccess {
+@@ -81,6 +85,7 @@ public class Chunk implements IChunkAccess {
TileEntity removed = super.remove(key);
if (removed != null) {
removed.setCurrentChunk(null);
@@ -37,7 +37,7 @@ index 7fa141f52c..2b29fe837b 100644
}
return removed;
}
-@@ -384,6 +389,7 @@ public class Chunk implements IChunkAccess {
+@@ -385,6 +390,7 @@ public class Chunk implements IChunkAccess {
k = this.entitySlices.length - 1;
}
@@ -45,7 +45,7 @@ index 7fa141f52c..2b29fe837b 100644
entity.inChunk = true;
entity.setCurrentChunk(this); // Paper
entity.chunkX = this.loc.x;
-@@ -415,6 +421,7 @@ public class Chunk implements IChunkAccess {
+@@ -416,6 +422,7 @@ public class Chunk implements IChunkAccess {
if (!this.entitySlices[i].remove(entity)) {
return;
}
diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch
index a48132678d..220d30fd55 100644
--- a/Spigot-Server-Patches/0009-Timings-v2.patch
+++ b/Spigot-Server-Patches/0009-Timings-v2.patch
@@ -1,4 +1,4 @@
-From 94debd73b26dbfff556ce7f3dfc51334b48efeb3 Mon Sep 17 00:00:00 2001
+From 4e211b4edbac7f732678a856dd62fb6aace2e605 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Mar 2016 04:00:11 -0600
Subject: [PATCH] Timings v2
@@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
new file mode 100644
-index 0000000000..3f9fb6f906
+index 000000000..3f9fb6f90
--- /dev/null
+++ b/src/main/java/co/aikar/timings/MinecraftTimings.java
@@ -0,0 +1,133 @@
@@ -145,7 +145,7 @@ index 0000000000..3f9fb6f906
+}
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
new file mode 100644
-index 0000000000..d5d3b2a20c
+index 000000000..d5d3b2a20
--- /dev/null
+++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
@@ -0,0 +1,105 @@
@@ -255,7 +255,7 @@ index 0000000000..d5d3b2a20c
+ }
+}
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index 5518ec1e54..0c65afccfd 100644
+index 5518ec1e5..0c65afccf 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit;
@@ -302,10 +302,10 @@ index 5518ec1e54..0c65afccfd 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
-index 8b91e27c66..fd23d45346 100644
+index afa9f0c1e..85a5776b0 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
-@@ -24,6 +24,15 @@ public class Block implements IMaterial {
+@@ -32,6 +32,15 @@ public class Block implements IMaterial {
protected final boolean q;
protected final SoundEffectType stepSound;
protected final Material material;
@@ -322,10 +322,10 @@ index 8b91e27c66..fd23d45346 100644
private final float frictionFactor;
protected final BlockStateList<Block, IBlockData> blockStateList;
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 9cce929c3e..5c34fe52a4 100644
+index 937fcd7fa..b317a9800 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -546,6 +546,7 @@ public class Chunk implements IChunkAccess {
+@@ -547,6 +547,7 @@ public class Chunk implements IChunkAccess {
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(this.bukkitChunk, this.needsDecoration));
if (this.needsDecoration) {
@@ -333,7 +333,7 @@ index 9cce929c3e..5c34fe52a4 100644
java.util.Random random = new java.util.Random();
random.setSeed(world.getSeed());
long xRand = random.nextLong() / 2L * 2L + 1L;
-@@ -564,6 +565,7 @@ public class Chunk implements IChunkAccess {
+@@ -565,6 +566,7 @@ public class Chunk implements IChunkAccess {
}
}
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk));
@@ -342,10 +342,10 @@ index 9cce929c3e..5c34fe52a4 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index 845ad7427b..4f0fbe4a0d 100644
+index 4cc3e1217..cbe1353ac 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-@@ -186,7 +186,9 @@ public class ChunkProviderServer extends IChunkProvider {
+@@ -234,7 +234,9 @@ public class ChunkProviderServer extends IChunkProvider {
}
public void save(boolean flag) {
@@ -355,21 +355,20 @@ index 845ad7427b..4f0fbe4a0d 100644
}
@Override
-@@ -296,10 +298,9 @@ public class ChunkProviderServer extends IChunkProvider {
- this.world.timings.mobSpawn.stopTiming(); // Spigot
+@@ -352,9 +354,9 @@ public class ChunkProviderServer extends IChunkProvider {
this.world.getMethodProfiler().exit();
}
--
+
- this.world.timings.doTickTiles.startTiming(); // Spigot
+ this.world.timings.chunkTicks.startTiming(); // Spigot // Paper
- this.world.a(chunk, l);
+ this.world.a(chunk, k);
- this.world.timings.doTickTiles.stopTiming(); // Spigot
+ this.world.timings.chunkTicks.stopTiming(); // Spigot // Paper
}
}
}
-@@ -310,9 +311,7 @@ public class ChunkProviderServer extends IChunkProvider {
- }
+@@ -368,9 +370,7 @@ public class ChunkProviderServer extends IChunkProvider {
+ this.world.getMethodProfiler().exit();
}
- this.world.timings.tracker.startTiming(); // Spigot
@@ -379,7 +378,7 @@ index 845ad7427b..4f0fbe4a0d 100644
@Override
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index d084d24a01..0fed039f34 100644
+index e4c021a45..2b8148fbd 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
@@ -1,5 +1,6 @@
@@ -389,7 +388,7 @@ index d084d24a01..0fed039f34 100644
import com.google.common.collect.Maps;
import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
import it.unimi.dsi.fastutil.longs.LongSet;
-@@ -412,7 +413,7 @@ public class ChunkRegionLoader {
+@@ -435,7 +436,7 @@ public class ChunkRegionLoader {
private static void loadEntities(NBTTagCompound nbttagcompound, Chunk chunk) {
NBTTagList nbttaglist = nbttagcompound.getList("Entities", 10);
World world = chunk.getWorld();
@@ -398,7 +397,7 @@ index d084d24a01..0fed039f34 100644
for (int i = 0; i < nbttaglist.size(); ++i) {
NBTTagCompound nbttagcompound1 = nbttaglist.getCompound(i);
-@@ -424,8 +425,6 @@ public class ChunkRegionLoader {
+@@ -447,8 +448,6 @@ public class ChunkRegionLoader {
chunk.d(true);
}
@@ -407,26 +406,17 @@ index d084d24a01..0fed039f34 100644
NBTTagList nbttaglist1 = nbttagcompound.getList("TileEntities", 10);
for (int j = 0; j < nbttaglist1.size(); ++j) {
-@@ -442,8 +441,6 @@ public class ChunkRegionLoader {
+@@ -465,7 +464,7 @@ public class ChunkRegionLoader {
}
}
}
- world.timings.syncChunkLoadTileEntitiesTimer.stopTiming(); // Spigot
-- world.timings.syncChunkLoadTileTicksTimer.startTiming(); // Spigot
-
- if (nbttagcompound.hasKeyOfType("TileTicks", 9) && world.getBlockTickList() instanceof TickListServer) {
- ((TickListServer) world.getBlockTickList()).a(nbttagcompound.getList("TileTicks", 10));
-@@ -452,7 +449,7 @@ public class ChunkRegionLoader {
- if (nbttagcompound.hasKeyOfType("LiquidTicks", 9) && world.getFluidTickList() instanceof TickListServer) {
- ((TickListServer) world.getFluidTickList()).a(nbttagcompound.getList("LiquidTicks", 10));
- }
-- world.timings.syncChunkLoadTileTicksTimer.stopTiming(); // Spigot
-+ world.timings.chunkLoadLevelTimer.stopTiming(); // Spigot
++ world.timings.chunkLoadLevelTimer.stopTiming(); // Paper
}
diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java
-index 46e7737ca3..a3ef943066 100644
+index 46e7737ca..a3ef94306 100644
--- a/src/main/java/net/minecraft/server/CustomFunction.java
+++ b/src/main/java/net/minecraft/server/CustomFunction.java
@@ -13,12 +13,22 @@ public class CustomFunction {
@@ -453,20 +443,20 @@ index 46e7737ca3..a3ef943066 100644
return this.b;
}
diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java
-index 42e01136d9..b7c1d7671e 100644
+index 9c9eef0ad..b42fbf2c6 100644
--- a/src/main/java/net/minecraft/server/CustomFunctionData.java
+++ b/src/main/java/net/minecraft/server/CustomFunctionData.java
-@@ -100,7 +100,7 @@ public class CustomFunctionData implements IResourcePackListener {
+@@ -101,7 +101,7 @@ public class CustomFunctionData implements IResourcePackListener {
return 0;
} else {
- try {
+ try (co.aikar.timings.Timing timing = customfunction.getTiming().startTiming()) { // Paper
- this.i = true;
+ this.h = true;
int j = 0;
CustomFunction.c[] acustomfunction_c = customfunction.b();
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index b60956218d..19e2df3098 100644
+index b60956218..19e2df309 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -31,7 +31,7 @@ import org.apache.logging.log4j.Level;
@@ -519,7 +509,7 @@ index b60956218d..19e2df3098 100644
return waitable.get();
} catch (java.util.concurrent.ExecutionException e) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 14c3f04170..6127f9ba96 100644
+index 7fc4af565..e52f0610f 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender;
@@ -558,7 +548,7 @@ index 14c3f04170..6127f9ba96 100644
protected Vec3D a(Vec3D vec3d, EnumMoveType enummovetype) {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index f86e6a4c51..85567a7072 100644
+index 1a33b7048..7c72fb918 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -35,7 +35,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -634,7 +624,7 @@ index f86e6a4c51..85567a7072 100644
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 472e8e852f..df9098955c 100644
+index 25972072f..581ecf71d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1,5 +1,7 @@
@@ -762,7 +752,7 @@ index 472e8e852f..df9098955c 100644
this.methodProfiler.exit();
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index 755c0406e1..036577dd0e 100644
+index 2e17358ed..e7019d8ae 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -1,6 +1,8 @@
@@ -774,7 +764,7 @@ index 755c0406e1..036577dd0e 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.mojang.datafixers.DataFixer;
-@@ -402,7 +404,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -423,7 +425,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
});
return completablefuture.thenComposeAsync((either) -> {
@@ -782,8 +772,8 @@ index 755c0406e1..036577dd0e 100644
+ return either.map((list) -> { // Paper - Shut up.
try {
CompletableFuture<Either<IChunkAccess, PlayerChunk.Failure>> completablefuture1 = chunkstatus.a(this.world, this.chunkGenerator, this.definedStructureManager, this.lightEngine, (ichunkaccess) -> {
- return this.b(playerchunk);
-@@ -879,6 +881,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+ return this.c(playerchunk);
+@@ -916,6 +918,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
PlayerChunkMap.EntityTracker playerchunkmap_entitytracker;
ObjectIterator objectiterator;
@@ -791,7 +781,7 @@ index 755c0406e1..036577dd0e 100644
for (objectiterator = this.trackedEntities.values().iterator(); objectiterator.hasNext(); playerchunkmap_entitytracker.trackerEntry.a()) {
playerchunkmap_entitytracker = (PlayerChunkMap.EntityTracker) objectiterator.next();
-@@ -896,13 +899,16 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -933,13 +936,16 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
playerchunkmap_entitytracker.e = sectionposition1;
}
}
@@ -809,7 +799,7 @@ index 755c0406e1..036577dd0e 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 78a090ac75..e07f4a9680 100644
+index 5757dd6fb..a7104e966 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory;
@@ -864,7 +854,7 @@ index 78a090ac75..e07f4a9680 100644
// this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s);
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
-index cb6d50ea70..9ba03f8ed0 100644
+index cb6d50ea7..9ba03f8ed 100644
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
@@ -1,5 +1,8 @@
@@ -890,7 +880,7 @@ index cb6d50ea70..9ba03f8ed0 100644
throw CancelledPacketHandleException.INSTANCE;
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 56e36c8668..7a837ec0fc 100644
+index 6171b369c..bab32af46 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -1,5 +1,6 @@
@@ -900,7 +890,7 @@ index 56e36c8668..7a837ec0fc 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
-@@ -894,10 +895,11 @@ public abstract class PlayerList {
+@@ -895,10 +896,11 @@ public abstract class PlayerList {
}
public void savePlayers() {
@@ -914,21 +904,20 @@ index 56e36c8668..7a837ec0fc 100644
public WhiteList getWhitelist() {
diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java
-index 537e610797..b48e5b51a0 100644
+index a99618099..972b1c0d2 100644
--- a/src/main/java/net/minecraft/server/TickListServer.java
+++ b/src/main/java/net/minecraft/server/TickListServer.java
-@@ -25,13 +25,19 @@ public class TickListServer<T> implements TickList<T> {
- private final List<NextTickListEntry<T>> g = Lists.newArrayList();
- private final Consumer<NextTickListEntry<T>> h;
+@@ -25,13 +25,18 @@ public class TickListServer<T> implements TickList<T> {
+ private final List<NextTickListEntry<T>> i = Lists.newArrayList();
+ private final Consumer<NextTickListEntry<T>> j;
- public TickListServer(WorldServer worldserver, Predicate<T> predicate, Function<T, MinecraftKey> function, Function<MinecraftKey, T> function1, Consumer<NextTickListEntry<T>> consumer) {
+ public TickListServer(WorldServer worldserver, Predicate<T> predicate, Function<T, MinecraftKey> function, Function<MinecraftKey, T> function1, Consumer<NextTickListEntry<T>> consumer, String timingsType) { // Paper
this.a = predicate;
this.b = function;
this.c = function1;
- this.f = worldserver;
- this.h = consumer;
-+ // Paper start
+ this.h = worldserver;
+ this.j = consumer;
+ timingCleanup = co.aikar.timings.WorldTimingsHandler.getTickList(worldserver, timingsType + " - Cleanup");
+ timingTicking = co.aikar.timings.WorldTimingsHandler.getTickList(worldserver, timingsType + " - Ticking");
}
@@ -937,40 +926,38 @@ index 537e610797..b48e5b51a0 100644
+ // Paper end
public void a() {
- int i = this.nextTickList.size();
-@@ -51,6 +57,7 @@ public class TickListServer<T> implements TickList<T> {
-
- this.f.getMethodProfiler().enter("cleaning");
+ this.b();
+@@ -53,6 +58,7 @@ public class TickListServer<T> implements TickList<T> {
+ this.h.getMethodProfiler().enter("selecting");
+ Iterator iterator = this.nextTickList.iterator();
+ timingCleanup.startTiming(); // Paper
- NextTickListEntry<T> nextticklistentry; // CraftBukkit - decompile error
+ NextTickListEntry nextticklistentry;
- for (int j = 0; j < i; ++j) {
-@@ -63,9 +70,11 @@ public class TickListServer<T> implements TickList<T> {
- // this.nextTickListHash.remove(nextticklistentry); // CraftBukkit - use nextTickList
- this.g.add(nextticklistentry);
+ while (iterator.hasNext()) {
+@@ -66,7 +72,9 @@ public class TickListServer<T> implements TickList<T> {
+ --i;
+ }
}
+ timingCleanup.stopTiming(); // Paper
- this.f.getMethodProfiler().exit();
- this.f.getMethodProfiler().enter("ticking");
+ timingTicking.startTiming(); // Paper
- Iterator iterator = this.g.iterator();
-
- while (iterator.hasNext()) {
-@@ -88,6 +97,7 @@ public class TickListServer<T> implements TickList<T> {
+ this.h.getMethodProfiler().exitEnter("ticking");
+ iterator = this.i.iterator();
- this.f.getMethodProfiler().exit();
+@@ -94,6 +102,7 @@ public class TickListServer<T> implements TickList<T> {
+ this.i.clear();
this.g.clear();
+ this.h.getMethodProfiler().exit();
+ timingTicking.stopTiming(); // Paper
}
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index 4c811325c3..da30d2cf86 100644
+index 7546f6690..095ef9ba5 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -8,11 +8,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer;
+@@ -9,11 +9,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer;
import org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry;
import org.bukkit.inventory.InventoryHolder;
// CraftBukkit end
@@ -986,7 +973,7 @@ index 4c811325c3..da30d2cf86 100644
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(DATA_TYPE_REGISTRY);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index cbe87a3389..db50066096 100644
+index 404d3d8c8..93fa09121 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -1,5 +1,7 @@
@@ -1023,7 +1010,7 @@ index cbe87a3389..db50066096 100644
this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime);
this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime);
}
-@@ -734,14 +735,14 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -739,21 +740,26 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
}
timings.tileEntityPending.stopTiming(); // Spigot
@@ -1034,23 +1021,26 @@ index cbe87a3389..db50066096 100644
public void a(Consumer<Entity> consumer, Entity entity) {
try {
-- // Spigot start
-- SpigotTimings.tickEntityTimer.startTiming();
+- SpigotTimings.tickEntityTimer.startTiming(); // Spigot
+ timings.tickEntities.startTiming();
- entity.tickTimer.startTiming();
- // Spigot end
++ entity.tickTimer.startTiming();
++ // Spigot end
consumer.accept(entity);
-@@ -755,7 +756,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
- // Spigot start
- finally {
- entity.tickTimer.stopTiming();
-- SpigotTimings.tickEntityTimer.startTiming();
+- SpigotTimings.tickEntityTimer.stopTiming(); // Spigot
+ } catch (Throwable throwable) {
+ CrashReport crashreport = CrashReport.a(throwable, "Ticking entity");
+ CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked");
+
+ entity.appendEntityCrashDetails(crashreportsystemdetails);
+ throw new ReportedException(crashreport);
++ } finally {
++ entity.tickTimer.stopTiming();
+ timings.tickEntities.stopTiming();
}
- // Spigot end
}
+
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index d08c5fc93b..a8527784ae 100644
+index 36c517d8f..5a0d940be 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -1,5 +1,7 @@
@@ -1061,15 +1051,15 @@ index d08c5fc93b..a8527784ae 100644
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Queues;
-@@ -37,7 +39,6 @@ import org.bukkit.Bukkit;
-
+@@ -33,7 +35,6 @@ import org.apache.logging.log4j.Logger;
+ // CraftBukkit start
+ import org.bukkit.Bukkit;
import org.bukkit.WeatherType;
- import org.bukkit.block.BlockState;
-import org.bukkit.craftbukkit.SpigotTimings; // Spigot
import org.bukkit.craftbukkit.event.CraftEventFactory;
- import org.bukkit.craftbukkit.util.HashTreeSet;
-
-@@ -99,10 +100,10 @@ public class WorldServer extends World {
+ import org.bukkit.event.entity.CreatureSpawnEvent;
+ import org.bukkit.event.server.MapInitializeEvent;
+@@ -90,10 +91,10 @@ public class WorldServer extends World {
// CraftBukkit end
this.nextTickListBlock = new TickListServer<>(this, (block) -> {
return block == null || block.getBlockData().isAir();
@@ -1082,7 +1072,7 @@ index d08c5fc93b..a8527784ae 100644
this.I = Sets.newHashSet();
this.siegeManager = new VillageSiege(this);
this.J = new ObjectLinkedOpenHashSet();
-@@ -265,12 +266,12 @@ public class WorldServer extends World {
+@@ -256,12 +257,12 @@ public class WorldServer extends World {
gameprofilerfiller.exitEnter("chunkSource");
this.getChunkProvider().tick(booleansupplier);
gameprofilerfiller.exitEnter("tickPending");
@@ -1097,7 +1087,7 @@ index d08c5fc93b..a8527784ae 100644
gameprofilerfiller.exitEnter("village");
timings.doVillages.startTiming(); // Spigot
-@@ -327,6 +328,7 @@ public class WorldServer extends World {
+@@ -318,6 +319,7 @@ public class WorldServer extends World {
org.spigotmc.ActivationRange.activateEntities(this); // Spigot
timings.entityTick.startTiming(); // Spigot
@@ -1105,7 +1095,7 @@ index d08c5fc93b..a8527784ae 100644
while (objectiterator.hasNext()) {
Entry<Entity> entry = (Entry) objectiterator.next();
Entity entity1 = (Entity) entry.getValue();
-@@ -430,6 +432,7 @@ public class WorldServer extends World {
+@@ -421,6 +423,7 @@ public class WorldServer extends World {
}
gameprofilerfiller.exitEnter("tickBlocks");
@@ -1113,7 +1103,7 @@ index d08c5fc93b..a8527784ae 100644
if (i > 0) {
ChunkSection[] achunksection = chunk.getSections();
int l = achunksection.length;
-@@ -461,7 +464,7 @@ public class WorldServer extends World {
+@@ -452,7 +455,7 @@ public class WorldServer extends World {
}
}
}
@@ -1122,7 +1112,7 @@ index d08c5fc93b..a8527784ae 100644
gameprofilerfiller.exit();
}
-@@ -754,6 +757,7 @@ public class WorldServer extends World {
+@@ -747,6 +750,7 @@ public class WorldServer extends World {
if (!flag1) {
org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit
@@ -1130,7 +1120,7 @@ index d08c5fc93b..a8527784ae 100644
if (iprogressupdate != null) {
iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0]));
}
-@@ -763,7 +767,10 @@ public class WorldServer extends World {
+@@ -756,7 +760,10 @@ public class WorldServer extends World {
iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0]));
}
@@ -1142,7 +1132,7 @@ index d08c5fc93b..a8527784ae 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 5dc2bb1246..8e877055c3 100644
+index 7fe76b8d5..b43888592 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1926,12 +1926,31 @@ public final class CraftServer implements Server {
@@ -1179,7 +1169,7 @@ index 5dc2bb1246..8e877055c3 100644
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
deleted file mode 100644
-index 38f211526b..0000000000
+index 38f211526..000000000
--- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java
+++ /dev/null
@@ -1,166 +0,0 @@
@@ -1350,7 +1340,7 @@ index 38f211526b..0000000000
- }
-}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6806ada495..e45fd0028b 100644
+index 5b58b1a96..8980de820 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1728,6 +1728,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1369,7 +1359,7 @@ index 6806ada495..e45fd0028b 100644
public Player.Spigot spigot()
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index b90979c7ba..8823f94f7b 100644
+index b90979c7b..8823f94f7 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -1,5 +1,6 @@
@@ -1435,7 +1425,7 @@ index b90979c7ba..8823f94f7b 100644
private boolean isReady(final int currentTick) {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
-index 3f55381c15..0d9a466809 100644
+index 3f55381c1..0d9a46680 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java
@@ -1,9 +1,11 @@
@@ -1520,7 +1510,7 @@ index 3f55381c15..0d9a466809 100644
- // Spigot end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
-index e52ef47b78..3d90b34268 100644
+index e52ef47b7..3d90b3426 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java
@@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon;
@@ -1532,7 +1522,7 @@ index e52ef47b78..3d90b34268 100644
this.value = value;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
-index 06728e53d5..783676b747 100644
+index bed971921..6775bf043 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -271,6 +271,13 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -1550,7 +1540,7 @@ index 06728e53d5..783676b747 100644
* This helper class represents the different NBT Tags.
* <p>
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
-index 76b060a126..2daecf5049 100644
+index 76b060a12..2daecf504 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -30,7 +30,7 @@ import net.minecraft.server.EntityWither;
diff --git a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch
index 5970c70790..d3293b17e6 100644
--- a/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch
+++ b/Spigot-Server-Patches/0019-Remove-invalid-mob-spawner-tile-entities.patch
@@ -1,14 +1,14 @@
-From 5107f10a7d0b494d3974f0b55e0fb1b7d1afb31c Mon Sep 17 00:00:00 2001
+From 9a31a787065e13ef9a984b049773edada78db672 Mon Sep 17 00:00:00 2001
From: Byteflux <[email protected]>
Date: Tue, 1 Mar 2016 15:08:03 -0600
Subject: [PATCH] Remove invalid mob spawner tile entities
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 5c34fe52a4..8e71c8af11 100644
+index b317a9800..5a19dc756 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -500,6 +500,10 @@ public class Chunk implements IChunkAccess {
+@@ -501,6 +501,10 @@ public class Chunk implements IChunkAccess {
}
// CraftBukkit start
diff --git a/Spigot-Server-Patches/0023-Entity-Origin-API.patch b/Spigot-Server-Patches/0023-Entity-Origin-API.patch
index 7ec9d74763..1e62564798 100644
--- a/Spigot-Server-Patches/0023-Entity-Origin-API.patch
+++ b/Spigot-Server-Patches/0023-Entity-Origin-API.patch
@@ -1,11 +1,11 @@
-From 70bd27dafcbb7673fa92e6ac6909bc1479626d75 Mon Sep 17 00:00:00 2001
+From a2e424aa76b6978f878c936cf549d2c3b67c8cde Mon Sep 17 00:00:00 2001
From: Byteflux <[email protected]>
Date: Tue, 1 Mar 2016 23:45:08 -0600
Subject: [PATCH] Entity Origin API
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index ffad35a61f..7b7a437b93 100644
+index 9a17badc2..d40b0cd3f 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -163,6 +163,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -51,7 +51,7 @@ index ffad35a61f..7b7a437b93 100644
NBTTagList nbttaglist = new NBTTagList();
double[] adouble1 = adouble;
diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java
-index 55591fbe05..90becdfdec 100644
+index 55591fbe0..90becdfde 100644
--- a/src/main/java/net/minecraft/server/EntityFallingBlock.java
+++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java
@@ -245,6 +245,14 @@ public class EntityFallingBlock extends Entity {
@@ -70,7 +70,7 @@ index 55591fbe05..90becdfdec 100644
public void a(boolean flag) {
diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
-index e3001570f9..e0535604b6 100644
+index e3001570f..e0535604b 100644
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
@@ -104,6 +104,14 @@ public class EntityTNTPrimed extends Entity {
@@ -89,7 +89,7 @@ index e3001570f9..e0535604b6 100644
@Nullable
diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java
-index ce510c4867..b7c94fe238 100644
+index ce510c486..b7c94fe23 100644
--- a/src/main/java/net/minecraft/server/NBTTagList.java
+++ b/src/main/java/net/minecraft/server/NBTTagList.java
@@ -161,6 +161,7 @@ public class NBTTagList extends NBTList<NBTBase> {
@@ -101,10 +101,10 @@ index ce510c4867..b7c94fe238 100644
if (i >= 0 && i < this.list.size()) {
NBTBase nbtbase = (NBTBase) this.list.get(i);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 11cd9003e3..e99b1b9460 100644
+index 5a0d940be..4710b79af 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -1102,6 +1102,11 @@ public class WorldServer extends World {
+@@ -1095,6 +1095,11 @@ public class WorldServer extends World {
this.I.add(((EntityInsentient) entity).getNavigation());
}
entity.valid = true; // CraftBukkit
@@ -117,7 +117,7 @@ index 11cd9003e3..e99b1b9460 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 049641db06..cc493ab7f7 100644
+index b2a16bb36..da7efb3a6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1009,4 +1009,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch
index 254ff9a306..d8bd93ff99 100644
--- a/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch
+++ b/Spigot-Server-Patches/0024-Prevent-tile-entity-and-entity-crashes.patch
@@ -1,14 +1,14 @@
-From 61c65a8ab53663274d629a25df7e9adf64a61e4b Mon Sep 17 00:00:00 2001
+From 4d084776d0ce9cdda67239aa16e4eeb445c97774 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 1 Mar 2016 23:52:34 -0600
Subject: [PATCH] Prevent tile entity and entity crashes
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index da30d2cf86..acd9edd670 100644
+index 095ef9ba5..b99bcbf8a 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -197,7 +197,12 @@ public abstract class TileEntity implements KeyedObject { // Paper
+@@ -199,7 +199,12 @@ public abstract class TileEntity implements KeyedObject { // Paper
return IRegistry.BLOCK_ENTITY_TYPE.getKey(this.q()) + " // " + this.getClass().getCanonicalName();
});
if (this.world != null) {
@@ -23,11 +23,11 @@ index da30d2cf86..acd9edd670 100644
}
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 119e011e2c..0afc34ac0e 100644
+index f9f14cc1f..cfbe3d592 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -675,11 +675,13 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
- ((ITickable) tileentity).tick();
+@@ -680,11 +680,13 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+
gameprofilerfiller.exit();
} catch (Throwable throwable) {
- CrashReport crashreport = CrashReport.a(throwable, "Ticking block entity");
@@ -45,7 +45,7 @@ index 119e011e2c..0afc34ac0e 100644
}
// Spigot start
finally {
-@@ -748,11 +750,12 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -753,11 +755,12 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
// Spigot end
consumer.accept(entity);
} catch (Throwable throwable) {
@@ -60,9 +60,9 @@ index 119e011e2c..0afc34ac0e 100644
+ entity.dead = true;
+ return;
+ // Paper end
- }
- // Spigot start
- finally {
+ } finally {
+ entity.tickTimer.stopTiming();
+ timings.tickEntities.stopTiming();
--
2.21.0
diff --git a/Spigot-Server-Patches/0032-Disable-thunder.patch b/Spigot-Server-Patches/0032-Disable-thunder.patch
index 60eb008adc..8c3f1d6b16 100644
--- a/Spigot-Server-Patches/0032-Disable-thunder.patch
+++ b/Spigot-Server-Patches/0032-Disable-thunder.patch
@@ -1,11 +1,11 @@
-From 8f5a51d97b15c8de7f1074f14eeb26e09ad4effe Mon Sep 17 00:00:00 2001
+From 85b1459df312dda2ed54ccd2fc404ad06a89d70e Mon Sep 17 00:00:00 2001
From: Sudzzy <[email protected]>
Date: Wed, 2 Mar 2016 14:52:43 -0600
Subject: [PATCH] Disable thunder
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 6a307d5dd6..bf0cd6a8b4 100644
+index 6a307d5dd..bf0cd6a8b 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -156,4 +156,9 @@ public class PaperWorldConfig {
@@ -19,10 +19,10 @@ index 6a307d5dd6..bf0cd6a8b4 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index d54d58e1ee..3b90e8b613 100644
+index 4710b79af..9bf3726c8 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -393,7 +393,7 @@ public class WorldServer extends World {
+@@ -384,7 +384,7 @@ public class WorldServer extends World {
gameprofilerfiller.enter("thunder");
BlockPosition blockposition;
diff --git a/Spigot-Server-Patches/0033-Disable-ice-and-snow.patch b/Spigot-Server-Patches/0033-Disable-ice-and-snow.patch
index c1182e0c9b..4a58207b2a 100644
--- a/Spigot-Server-Patches/0033-Disable-ice-and-snow.patch
+++ b/Spigot-Server-Patches/0033-Disable-ice-and-snow.patch
@@ -1,11 +1,11 @@
-From cad96100cef4ebf55c54ec59470634f0af438a13 Mon Sep 17 00:00:00 2001
+From ddd20750e2a793c72044738fe3940936127eb6b5 Mon Sep 17 00:00:00 2001
From: Sudzzy <[email protected]>
Date: Wed, 2 Mar 2016 14:57:24 -0600
Subject: [PATCH] Disable ice and snow
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index bf0cd6a8b4..8db5c3f3fe 100644
+index bf0cd6a8b..8db5c3f3f 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -161,4 +161,9 @@ public class PaperWorldConfig {
@@ -19,10 +19,10 @@ index bf0cd6a8b4..8db5c3f3fe 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 3b90e8b613..e176c63fed 100644
+index 9bf3726c8..999a67ebf 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -413,7 +413,7 @@ public class WorldServer extends World {
+@@ -404,7 +404,7 @@ public class WorldServer extends World {
}
gameprofilerfiller.exitEnter("iceandsnow");
diff --git a/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch b/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch
index 539450c8f4..d5628103c8 100644
--- a/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch
+++ b/Spigot-Server-Patches/0035-Send-absolute-position-the-first-time-an-entity-is-s.patch
@@ -1,11 +1,11 @@
-From 65e8c4b55fd401af9fa2490bb37b70cb6ba47fcd Mon Sep 17 00:00:00 2001
+From b4da2906d6aff2d025288a6da577d42fd0249921 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <[email protected]>
Date: Wed, 2 Mar 2016 23:13:07 -0600
Subject: [PATCH] Send absolute position the first time an entity is seen
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
-index 315c3d9165..aaf3a54b08 100644
+index 315c3d916..aaf3a54b0 100644
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
@@ -2,6 +2,7 @@ package net.minecraft.server;
@@ -77,10 +77,10 @@ index 315c3d9165..aaf3a54b08 100644
this.c();
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index 036577dd0e..efdfab10da 100644
+index e7019d8ae..8c43c52e1 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-@@ -997,10 +997,14 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -1034,10 +1034,14 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
private final Entity tracker;
private final int trackingDistance;
private SectionPosition e;
@@ -97,7 +97,7 @@ index 036577dd0e..efdfab10da 100644
this.tracker = entity;
this.trackingDistance = i;
this.e = SectionPosition.a(entity);
-@@ -1082,7 +1086,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -1119,7 +1123,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
entityplayer.removeQueue.remove(Integer.valueOf(this.tracker.getId()));
// CraftBukkit end
diff --git a/Spigot-Server-Patches/0040-Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/0040-Add-PlayerInitialSpawnEvent.patch
index e0ad1fc21d..04c89b192e 100644
--- a/Spigot-Server-Patches/0040-Add-PlayerInitialSpawnEvent.patch
+++ b/Spigot-Server-Patches/0040-Add-PlayerInitialSpawnEvent.patch
@@ -1,4 +1,4 @@
-From 5edd0028e03561e889fdde9dcea3cdd732dc6ba3 Mon Sep 17 00:00:00 2001
+From a5b32ed2ffc293d938bc77d6aab460e110d72a1b Mon Sep 17 00:00:00 2001
From: Steve Anton <[email protected]>
Date: Thu, 3 Mar 2016 00:09:38 -0600
Subject: [PATCH] Add PlayerInitialSpawnEvent
@@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerInitialSpawnEvent
For modifying a player's initial spawn location as they join the server
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 7939208a5a..f904e1c28d 100644
+index bab32af46..b647e4287 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -109,7 +109,22 @@ public abstract class PlayerList {
@@ -26,7 +26,7 @@ index 7939208a5a..f904e1c28d 100644
+ entityplayer.locZ = newLoc.getZ();
+ entityplayer.yaw = newLoc.getYaw();
+ entityplayer.pitch = newLoc.getPitch();
-+ entityplayer.dimension = ((CraftWorld) newLoc.getWorld()).getHandle().dimension;
++ entityplayer.dimension = ((CraftWorld) newLoc.getWorld()).getHandle().worldProvider.getDimensionManager();
+ // Paper end
+
+ entityplayer.spawnIn(((CraftWorld) newLoc.getWorld()).getHandle());
diff --git a/Spigot-Server-Patches/0044-Optimize-Pathfinding.patch b/Spigot-Server-Patches/0044-Optimize-Pathfinding.patch
index 4ca99fc272..7cc59d6280 100644
--- a/Spigot-Server-Patches/0044-Optimize-Pathfinding.patch
+++ b/Spigot-Server-Patches/0044-Optimize-Pathfinding.patch
@@ -1,4 +1,4 @@
-From d20d85eabbc58677092cd028741797484a981d24 Mon Sep 17 00:00:00 2001
+From e0e3c441b8dfa2892f00363d9cf15f337a1a98b3 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Mar 2016 02:02:07 -0600
Subject: [PATCH] Optimize Pathfinding
@@ -7,10 +7,10 @@ Prevents pathfinding from spamming failures for things such as
arrow attacks.
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
-index ca30e08ff4..2ced8dedd1 100644
+index 49b27c431..75e01c242 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
-@@ -116,10 +116,26 @@ public abstract class NavigationAbstract {
+@@ -118,10 +118,26 @@ public abstract class NavigationAbstract {
}
public boolean a(Entity entity, double d0) {
@@ -38,7 +38,7 @@ index ca30e08ff4..2ced8dedd1 100644
public boolean a(@Nullable PathEntity pathentity, double d0) {
if (pathentity == null) {
-@@ -252,6 +268,7 @@ public abstract class NavigationAbstract {
+@@ -233,6 +249,7 @@ public abstract class NavigationAbstract {
}
public void o() {
diff --git a/Spigot-Server-Patches/0049-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0049-Change-implementation-of-tile-entity-removal-list.patch
index 36163633f5..64e6e79c00 100644
--- a/Spigot-Server-Patches/0049-Change-implementation-of-tile-entity-removal-list.patch
+++ b/Spigot-Server-Patches/0049-Change-implementation-of-tile-entity-removal-list.patch
@@ -1,4 +1,4 @@
-From c79c27636c3f13a9de8cce8b259d834129af3c1f Mon Sep 17 00:00:00 2001
+From 7ac114444af9a40097a33c0061bfde8eb0b33208 Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <[email protected]>
Date: Thu, 3 Mar 2016 02:39:54 -0600
Subject: [PATCH] Change implementation of (tile)entity removal list
@@ -6,7 +6,7 @@ Subject: [PATCH] Change implementation of (tile)entity removal list
use sets for faster removal
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 48360c2b47..25e5216e25 100644
+index c78d48872..074944718 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -40,7 +40,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -16,7 +16,7 @@ index 48360c2b47..25e5216e25 100644
- protected final List<TileEntity> tileEntityListUnload = Lists.newArrayList();
+ protected final java.util.Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet(); // Paper
private final long b = 16777215L;
- private final Thread c;
+ private final Thread serverThread;
private int d;
--
2.21.0
diff --git a/Spigot-Server-Patches/0052-Configurable-inter-world-teleportation-safety.patch b/Spigot-Server-Patches/0052-Configurable-inter-world-teleportation-safety.patch
index b84e50b03f..54d82737ff 100644
--- a/Spigot-Server-Patches/0052-Configurable-inter-world-teleportation-safety.patch
+++ b/Spigot-Server-Patches/0052-Configurable-inter-world-teleportation-safety.patch
@@ -1,4 +1,4 @@
-From ccde4241ae0089c2dbc015c597c9ed037db7f42b Mon Sep 17 00:00:00 2001
+From 80433e682612d8e0b754118af2bb420a252c8055 Mon Sep 17 00:00:00 2001
From: Sudzzy <[email protected]>
Date: Thu, 3 Mar 2016 02:50:31 -0600
Subject: [PATCH] Configurable inter-world teleportation safety
@@ -16,7 +16,7 @@ The wanted destination was on top of the emerald block however the player ended
This only is the case if the player is teleporting between worlds.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 320fd07c62..94f5c90b3c 100644
+index 320fd07c6..94f5c90b3 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -191,4 +191,9 @@ public class PaperWorldConfig {
@@ -30,16 +30,15 @@ index 320fd07c62..94f5c90b3c 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 00be351e07..afa209f227 100644
+index a09c02a1c..f4dde31e9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -745,7 +745,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -745,7 +745,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (fromWorld == toWorld) {
entity.playerConnection.teleport(to);
} else {
-- server.getHandle().moveToWorld(entity, toWorld.dimension, true, to, true);
-+ // Paper - Configurable suffocation check
-+ server.getHandle().moveToWorld(entity, toWorld.dimension, true, to, !toWorld.paperConfig.disableTeleportationSuffocationCheck);
+- server.getHandle().moveToWorld(entity, toWorld.getWorldProvider().getDimensionManager(), true, to, true);
++ server.getHandle().moveToWorld(entity, toWorld.getWorldProvider().getDimensionManager(), true, to, !toWorld.paperConfig.disableTeleportationSuffocationCheck);
}
return true;
}
diff --git a/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch
index b2fd13c6c9..0b719563ab 100644
--- a/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch
+++ b/Spigot-Server-Patches/0053-Add-exception-reporting-event.patch
@@ -1,4 +1,4 @@
-From de39dfbcb3bb52924e1d01a51420f2df3f8918b5 Mon Sep 17 00:00:00 2001
+From 8f6a837642c38c8fc470abddcf9e082b9cf0748d Mon Sep 17 00:00:00 2001
From: Joseph Hirschfeld <[email protected]>
Date: Thu, 3 Mar 2016 03:15:41 -0600
Subject: [PATCH] Add exception reporting event
@@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event
diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java
new file mode 100644
-index 0000000000..f699ce18ca
+index 000000000..f699ce18c
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java
@@ -0,0 +1,38 @@
@@ -49,7 +49,7 @@ index 0000000000..f699ce18ca
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 8e71c8af11..d578679920 100644
+index 5a19dc756..ce058e90a 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
@@ -1,5 +1,6 @@
@@ -59,7 +59,7 @@ index 8e71c8af11..d578679920 100644
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import it.unimi.dsi.fastutil.longs.LongOpenHashSet;
-@@ -505,10 +506,15 @@ public class Chunk implements IChunkAccess {
+@@ -506,10 +507,15 @@ public class Chunk implements IChunkAccess {
this.tileEntities.remove(blockposition);
// Paper end
} else {
@@ -80,11 +80,11 @@ index 8e71c8af11..d578679920 100644
}
}
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-index 4f0fbe4a0d..2dd1c28fab 100644
+index cbe1353ac..421e92cfa 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
-@@ -14,6 +14,9 @@ import java.util.concurrent.Executor;
- import java.util.function.BooleanSupplier;
+@@ -16,6 +16,9 @@ import java.util.function.BooleanSupplier;
+ import java.util.function.Function;
import java.util.function.Supplier;
import javax.annotation.Nullable;
+import com.destroystokyo.paper.exception.ServerInternalException;
@@ -94,7 +94,7 @@ index 4f0fbe4a0d..2dd1c28fab 100644
public class ChunkProviderServer extends IChunkProvider {
diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
-index 1dd793d2fb..61ea2818b1 100644
+index 1dd793d2f..61ea2818b 100644
--- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
+++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java
@@ -1,5 +1,6 @@
@@ -121,27 +121,27 @@ index 1dd793d2fb..61ea2818b1 100644
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index efdfab10da..1370565b36 100644
+index 8c43c52e1..fb56e6ca0 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-@@ -561,6 +561,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -597,6 +597,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.world.checkSession();
} catch (ExceptionWorldConflict exceptionworldconflict) {
PlayerChunkMap.LOGGER.error("Couldn't save chunk; already in use by another instance of Minecraft?", exceptionworldconflict);
+ com.destroystokyo.paper.exception.ServerInternalException.reportInternalException(exceptionworldconflict); // Paper
- return;
+ return false;
}
-@@ -587,6 +588,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
- this.write(chunkcoordintpair, nbttagcompound);
+@@ -624,6 +625,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+ return true;
} catch (Exception exception) {
PlayerChunkMap.LOGGER.error("Failed to save chunk {},{}", chunkcoordintpair.x, chunkcoordintpair.z, exception);
+ com.destroystokyo.paper.exception.ServerInternalException.reportInternalException(exception); // Paper
+ return false;
}
-
}
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
-index d4a9af975d..88b5aa3a51 100644
+index d4a9af975..88b5aa3a5 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -1,5 +1,6 @@
@@ -168,7 +168,7 @@ index d4a9af975d..88b5aa3a51 100644
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
-index 9d4febfbb6..7e58e4714a 100644
+index 90f891bea..cbf05926a 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -8,6 +8,7 @@ import org.apache.logging.log4j.LogManager;
@@ -196,7 +196,7 @@ index 9d4febfbb6..7e58e4714a 100644
}
diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java
-index d004494aea..d3ed749e1c 100644
+index beeb9ccb8..bb3aa4a37 100644
--- a/src/main/java/net/minecraft/server/VillageSiege.java
+++ b/src/main/java/net/minecraft/server/VillageSiege.java
@@ -1,5 +1,7 @@
@@ -216,7 +216,7 @@ index d004494aea..d3ed749e1c 100644
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index a0817da433..24ea0dbe03 100644
+index 074944718..a50842b13 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -2,6 +2,9 @@ package net.minecraft.server;
@@ -229,7 +229,7 @@ index a0817da433..24ea0dbe03 100644
import com.google.common.collect.Lists;
import java.io.IOException;
import java.util.Collection;
-@@ -676,8 +679,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -681,8 +684,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
gameprofilerfiller.exit();
} catch (Throwable throwable) {
// Paper start - Prevent tile entity and entity crashes
@@ -242,7 +242,7 @@ index a0817da433..24ea0dbe03 100644
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
continue;
-@@ -751,8 +757,10 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -756,8 +762,10 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
consumer.accept(entity);
} catch (Throwable throwable) {
// Paper start - Prevent tile entity and entity crashes
@@ -255,7 +255,7 @@ index a0817da433..24ea0dbe03 100644
return;
// Paper end
diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java
-index 3c5b3fe101..47a4ea9985 100644
+index 3c5b3fe10..47a4ea998 100644
--- a/src/main/java/net/minecraft/server/WorldPersistentData.java
+++ b/src/main/java/net/minecraft/server/WorldPersistentData.java
@@ -113,6 +113,7 @@ public class WorldPersistentData {
@@ -267,7 +267,7 @@ index 3c5b3fe101..47a4ea9985 100644
} finally {
if (pushbackinputstream != null) {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index 8823f94f7b..552daf4376 100644
+index 8823f94f7..552daf437 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -16,6 +16,9 @@ import java.util.concurrent.atomic.AtomicInteger;
diff --git a/Spigot-Server-Patches/0057-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0057-Complete-resource-pack-API.patch
index dc4e0eeb4e..2532449eeb 100644
--- a/Spigot-Server-Patches/0057-Complete-resource-pack-API.patch
+++ b/Spigot-Server-Patches/0057-Complete-resource-pack-API.patch
@@ -1,11 +1,11 @@
-From da1180199e3adcaaa60cb6370fad3352e3dc2144 Mon Sep 17 00:00:00 2001
+From f11f25626aa4897c7e9ac28f6cf4b4af9e2e960e Mon Sep 17 00:00:00 2001
From: Jedediah Smith <[email protected]>
Date: Sat, 4 Apr 2015 23:17:52 -0400
Subject: [PATCH] Complete resource pack API
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index c73fd79666..b7c8cab9ea 100644
+index f2e96da81..669566f4c 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1343,7 +1343,11 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -22,7 +22,7 @@ index c73fd79666..b7c8cab9ea 100644
// CraftBukkit end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index afa209f227..7209794ce9 100644
+index f4dde31e9..b410b7460 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -131,6 +131,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -36,7 +36,7 @@ index afa209f227..7209794ce9 100644
public CraftPlayer(CraftServer server, EntityPlayer entity) {
super(server, entity);
-@@ -1755,6 +1759,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1754,6 +1758,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getHandle().server.getCommandDispatcher().a(getHandle());
}
diff --git a/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch
index 02caab6ded..ce76d3686f 100644
--- a/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch
+++ b/Spigot-Server-Patches/0065-Add-World-Util-Methods.patch
@@ -1,4 +1,4 @@
-From 15e7fb2e3e3c72b1c7f72fe540e5a70d098c37bb Mon Sep 17 00:00:00 2001
+From 4f2555fc5045bbe267c0c4a186d6c8eb3ae9c1b8 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 18 Mar 2016 20:16:03 -0400
Subject: [PATCH] Add World Util Methods
@@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods
Methods that can be used for other patches to help improve logic.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index d578679920..2928f7d218 100644
+index ce058e90a..ca1abd47c 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -365,6 +365,7 @@ public class Chunk implements IChunkAccess {
+@@ -366,6 +366,7 @@ public class Chunk implements IChunkAccess {
return this.world.getChunkProvider().getLightEngine();
}
@@ -18,10 +18,10 @@ index d578679920..2928f7d218 100644
return this.a(blockposition, i, this.world.getWorldProvider().g());
}
diff --git a/src/main/java/net/minecraft/server/IWorldReader.java b/src/main/java/net/minecraft/server/IWorldReader.java
-index bac6c9d65b..0930552b1f 100644
+index 9a98fb4af..452b2b2d2 100644
--- a/src/main/java/net/minecraft/server/IWorldReader.java
+++ b/src/main/java/net/minecraft/server/IWorldReader.java
-@@ -36,6 +36,22 @@ public interface IWorldReader extends IIBlockAccess {
+@@ -38,6 +38,22 @@ public interface IWorldReader extends IIBlockAccess {
}
int getLightLevel(BlockPosition blockposition, int i);
@@ -45,18 +45,18 @@ index bac6c9d65b..0930552b1f 100644
@Nullable
IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 24ea0dbe03..e1cebacb83 100644
+index a50842b13..d4be7e884 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -46,7 +46,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
protected final java.util.Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet(); // Paper
private final long b = 16777215L;
- private final Thread c;
+ private final Thread serverThread;
- private int d;
+ private int d; public int getSkylightSubtracted() { return this.d; } public void setSkylightSubtracted(int value) { this.d = value;} // Paper - OBFHELPER
protected int j = (new Random()).nextInt();
protected final int k = 1013904223;
- protected float l;
+ protected float lastRainLevel;
@@ -208,6 +208,84 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
return i < 0 || i >= 256;
}
@@ -143,7 +143,7 @@ index 24ea0dbe03..e1cebacb83 100644
return this.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4);
}
diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java
-index 94d1c2be11..77b805f3ae 100644
+index 94d1c2be1..77b805f3a 100644
--- a/src/main/java/net/minecraft/server/WorldBorder.java
+++ b/src/main/java/net/minecraft/server/WorldBorder.java
@@ -19,6 +19,7 @@ public class WorldBorder {
diff --git a/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch
index d7b7bfebf3..ca39278533 100644
--- a/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch
+++ b/Spigot-Server-Patches/0067-handle-NaN-health-absorb-values-and-repair-bad-data.patch
@@ -1,11 +1,11 @@
-From 42d31ed7a97bc379dbe761f4215fbe03e7fa75a3 Mon Sep 17 00:00:00 2001
+From 1638dcb7d7c6bbf985b4350a96f566ddcbcff5aa Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 27 Sep 2015 01:18:02 -0400
Subject: [PATCH] handle NaN health/absorb values and repair bad data
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 44570edcae..5ae7014887 100644
+index 5d73894d3..37a642676 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -539,7 +539,13 @@ public abstract class EntityLiving extends Entity {
@@ -44,10 +44,10 @@ index 44570edcae..5ae7014887 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 7209794ce9..7edb01082a 100644
+index b410b7460..3e1a7be6f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1565,6 +1565,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1564,6 +1564,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setRealHealth(double health) {
diff --git a/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch
index 1138261c1e..dd2d3606d1 100644
--- a/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch
+++ b/Spigot-Server-Patches/0070-Configurable-spawn-chances-for-skeleton-horses.patch
@@ -1,11 +1,11 @@
-From 5b49cb442c080f47eacf6e695ab324164edda124 Mon Sep 17 00:00:00 2001
+From 4bb8555a2cc19ce266bc0bbfe84955b32f0c9154 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 22 Mar 2016 12:04:28 -0500
Subject: [PATCH] Configurable spawn chances for skeleton horses
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 98049567f4..2a71381dae 100644
+index 98049567f..2a71381da 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -221,4 +221,12 @@ public class PaperWorldConfig {
@@ -22,10 +22,10 @@ index 98049567f4..2a71381dae 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index e176c63fed..9a4a558467 100644
+index 999a67ebf..727faa35d 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -397,7 +397,7 @@ public class WorldServer extends World {
+@@ -388,7 +388,7 @@ public class WorldServer extends World {
blockposition = this.a(this.a(j, 0, k, 15));
if (this.isRainingAt(blockposition)) {
DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition);
diff --git a/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch
index d55d3bea84..e3582c0e19 100644
--- a/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch
+++ b/Spigot-Server-Patches/0071-Optimize-isValidLocation-getType-and-getBlockData-fo.patch
@@ -1,4 +1,4 @@
-From 4ed471356d2a121be6ed130098d24f68590c325a Mon Sep 17 00:00:00 2001
+From 31d632b1e2cc98636c406a5133db67e2337e5f08 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 3 Mar 2016 02:07:55 -0600
Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling
@@ -12,7 +12,7 @@ Replace all calls to the new place to the unnecessary forward.
Optimize getType and getBlockData to manually inline and optimize the calls
diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java
-index 2852a17f23..7cb46d7a9c 100644
+index 2852a17f2..7cb46d7a9 100644
--- a/src/main/java/net/minecraft/server/BaseBlockPosition.java
+++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java
@@ -10,6 +10,14 @@ public class BaseBlockPosition implements Comparable<BaseBlockPosition> {
@@ -31,7 +31,7 @@ index 2852a17f23..7cb46d7a9c 100644
public BaseBlockPosition(int i, int j, int k) {
this.a = i;
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
-index c927d524a8..64700b97c0 100644
+index c927d524a..64700b97c 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -339,6 +339,16 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
@@ -52,21 +52,20 @@ index c927d524a8..64700b97c0 100644
public MutableBlockPosition() {
this(0, 0, 0);
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 2928f7d218..7a0ab24a91 100644
+index ca1abd47c..18b062157 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -209,12 +209,24 @@ public class Chunk implements IChunkAccess {
+@@ -210,12 +210,24 @@ public class Chunk implements IChunkAccess {
return this.sections;
}
- @Override
-- public IBlockData getType(BlockPosition blockposition) {
++ // Paper start - Optimize getBlockData to reduce instructions
++ public final IBlockData getBlockData(BlockPosition pos) { return getBlockData(pos.getX(), pos.getY(), pos.getZ()); } // Paper
+ public IBlockData getType(BlockPosition blockposition) {
- int i = blockposition.getX();
- int j = blockposition.getY();
- int k = blockposition.getZ();
-+ // Paper start - Optimize getBlockData to reduce instructions
-+ public final IBlockData getBlockData(BlockPosition pos) { return getBlockData(pos.getX(), pos.getY(), pos.getZ()); } // Paper
-+ public final IBlockData getType(BlockPosition blockposition) {
+ return this.getBlockData(blockposition.getX(), blockposition.getY(), blockposition.getZ());
+ }
@@ -86,7 +85,7 @@ index 2928f7d218..7a0ab24a91 100644
IBlockData iblockdata = null;
diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java
-index 30701fd7f3..43f75fc837 100644
+index 30701fd7f..43f75fc83 100644
--- a/src/main/java/net/minecraft/server/ChunkSection.java
+++ b/src/main/java/net/minecraft/server/ChunkSection.java
@@ -9,7 +9,7 @@ public class ChunkSection {
@@ -99,18 +98,18 @@ index 30701fd7f3..43f75fc837 100644
public ChunkSection(int i) {
this(i, (short) 0, (short) 0, (short) 0);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index e1cebacb83..31c38e1051 100644
+index d4be7e884..aef9e2e75 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -197,11 +197,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
}
public static boolean isValidLocation(BlockPosition blockposition) {
-- return !isInsideWorld(blockposition) && blockposition.getX() >= -30000000 && blockposition.getZ() >= -30000000 && blockposition.getX() < 30000000 && blockposition.getZ() < 30000000;
+- return !isOutsideWorld(blockposition) && blockposition.getX() >= -30000000 && blockposition.getZ() >= -30000000 && blockposition.getX() < 30000000 && blockposition.getZ() < 30000000;
+ return blockposition.isValidLocation(); // Paper
}
- public static boolean isInsideWorld(BlockPosition blockposition) {
+ public static boolean isOutsideWorld(BlockPosition blockposition) {
- return b(blockposition.getY());
+ return blockposition.isInvalidYLocation(); // Paper
}
diff --git a/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
index 7800c30572..1e5e546735 100644
--- a/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
+++ b/Spigot-Server-Patches/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
@@ -1,4 +1,4 @@
-From 1407efbf4ccae6c76a3bc27e1c1db9f961ce298d Mon Sep 17 00:00:00 2001
+From 5619ac14f1e9afb752d7b27d45fdfbdee4aae6c1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 28 Mar 2016 19:55:45 -0400
Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener
@@ -6,7 +6,7 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener
Saves on some object allocation and processing when no plugin listens to this
diff --git a/src/main/java/net/minecraft/server/BlockPlant.java b/src/main/java/net/minecraft/server/BlockPlant.java
-index 9bf42bb5ef..0526af776d 100644
+index 9bf42bb5e..0526af776 100644
--- a/src/main/java/net/minecraft/server/BlockPlant.java
+++ b/src/main/java/net/minecraft/server/BlockPlant.java
@@ -16,7 +16,7 @@ public class BlockPlant extends Block {
@@ -19,7 +19,7 @@ index 9bf42bb5ef..0526af776d 100644
}
}
diff --git a/src/main/java/net/minecraft/server/BlockTallPlant.java b/src/main/java/net/minecraft/server/BlockTallPlant.java
-index 469a3be057..f2c429f22e 100644
+index 469a3be05..f2c429f22 100644
--- a/src/main/java/net/minecraft/server/BlockTallPlant.java
+++ b/src/main/java/net/minecraft/server/BlockTallPlant.java
@@ -55,7 +55,7 @@ public class BlockTallPlant extends BlockPlant {
@@ -32,7 +32,7 @@ index 469a3be057..f2c429f22e 100644
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index fd1b268798..ff70ef38aa 100644
+index 7b3c4747e..8ce7903a1 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1105,6 +1105,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -44,7 +44,7 @@ index fd1b268798..ff70ef38aa 100644
if (true || worldserver.worldProvider.getDimensionManager() == DimensionManager.OVERWORLD || this.getAllowNether()) { // CraftBukkit
this.methodProfiler.a(() -> {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 31c38e1051..c31585f92f 100644
+index aef9e2e75..668b64f42 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -436,7 +436,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -66,12 +66,12 @@ index 31c38e1051..c31585f92f 100644
this.getServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 9d31d57cdf..93c229fcd1 100644
+index 727faa35d..7c3d2d5de 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -76,6 +76,7 @@ public class WorldServer extends World {
+@@ -68,6 +68,7 @@ public class WorldServer extends World {
+
// CraftBukkit start
- public final DimensionManager dimension;
private int tickPosition;
+ boolean hasPhysicsEvent = true; // Paper
diff --git a/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch
index 6b5f0b5251..6516302267 100644
--- a/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch
+++ b/Spigot-Server-Patches/0074-Entity-AddTo-RemoveFrom-World-Events.patch
@@ -1,14 +1,14 @@
-From c5bd4c046c5623d852b9dc727a4b8f0cba872b3f Mon Sep 17 00:00:00 2001
+From 586414e6c81a1d5051fca0b97f37b134c6b3b89e Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 28 Mar 2016 20:32:58 -0400
Subject: [PATCH] Entity AddTo/RemoveFrom World Events
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 5fe2041b9d..269f793926 100644
+index 7c3d2d5de..2128b0bdb 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -1108,6 +1108,7 @@ public class WorldServer extends World {
+@@ -1101,6 +1101,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end
@@ -16,7 +16,7 @@ index 5fe2041b9d..269f793926 100644
}
}
-@@ -1117,6 +1118,7 @@ public class WorldServer extends World {
+@@ -1110,6 +1111,7 @@ public class WorldServer extends World {
if (this.tickingEntities) {
throw new IllegalStateException("Removing entity while ticking!");
} else {
diff --git a/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch b/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch
index ae23160579..adfb09ac3e 100644
--- a/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch
+++ b/Spigot-Server-Patches/0075-Configurable-Chunk-Inhabited-Time.patch
@@ -1,4 +1,4 @@
-From 3ac48ee8c663e1d3d38dfc50b68585bc156efce9 Mon Sep 17 00:00:00 2001
+From fb8660aba1c573486ae7f97952939584263c4350 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 28 Mar 2016 20:46:14 -0400
Subject: [PATCH] Configurable Chunk Inhabited Time
@@ -11,7 +11,7 @@ For people who want all chunks to be treated equally, you can chose a fixed valu
This allows to fine-tune vanilla gameplay.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 2a71381dae..e43866991c 100644
+index 2a71381da..e43866991 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -229,4 +229,19 @@ public class PaperWorldConfig {
@@ -35,10 +35,10 @@ index 2a71381dae..e43866991c 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 7a0ab24a91..ed7899abb2 100644
+index 18b062157..c2865425d 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -803,7 +803,7 @@ public class Chunk implements IChunkAccess {
+@@ -804,7 +804,7 @@ public class Chunk implements IChunkAccess {
@Override
public long q() {
diff --git a/Spigot-Server-Patches/0076-EntityPathfindEvent.patch b/Spigot-Server-Patches/0076-EntityPathfindEvent.patch
index 99b5f2a5b2..e5f5c1ac79 100644
--- a/Spigot-Server-Patches/0076-EntityPathfindEvent.patch
+++ b/Spigot-Server-Patches/0076-EntityPathfindEvent.patch
@@ -1,4 +1,4 @@
-From 790dff9ff673058b18a3c92bddced6e2cb179981 Mon Sep 17 00:00:00 2001
+From c7641c30bd926b4c5d123ed4f9943bfbaad76ee7 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 28 Mar 2016 21:22:26 -0400
Subject: [PATCH] EntityPathfindEvent
@@ -6,7 +6,7 @@ Subject: [PATCH] EntityPathfindEvent
Fires when an Entity decides to start moving to a location.
diff --git a/src/main/java/net/minecraft/server/Navigation.java b/src/main/java/net/minecraft/server/Navigation.java
-index 79b2d9297..b6e3bf823 100644
+index aacaecd82..bc30e3f33 100644
--- a/src/main/java/net/minecraft/server/Navigation.java
+++ b/src/main/java/net/minecraft/server/Navigation.java
@@ -60,7 +60,7 @@ public class Navigation extends NavigationAbstract {
@@ -19,7 +19,7 @@ index 79b2d9297..b6e3bf823 100644
private int s() {
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
-index 2ced8dedd..7b27251b3 100644
+index 75e01c242..d04eb1bbf 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -4,7 +4,7 @@ import javax.annotation.Nullable;
@@ -50,7 +50,7 @@ index 2ced8dedd..7b27251b3 100644
}
@Nullable
-@@ -87,16 +89,24 @@ public abstract class NavigationAbstract {
+@@ -87,11 +89,12 @@ public abstract class NavigationAbstract {
double d1 = entity.getBoundingBox().minY;
double d2 = entity.locZ;
@@ -58,24 +58,24 @@ index 2ced8dedd..7b27251b3 100644
+ return this.a(blockposition, entity, d0, d1, d2, 16, true); // Paper - Path find event
}
-- @Nullable
+ @Nullable
- protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) {
-+ // Paper start - Add target entity parameter for path find event
-+ @Nullable protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) { return this.a(blockposition, null, d0, d1, d2, i, flag); }
++ protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) { return this.a(blockposition, null, d0, d1, d2, i, flag); }
+ @Nullable protected PathEntity a(BlockPosition blockposition, Entity target, double d0, double d1, double d2, int i, boolean flag) {
-+ // Paper end
- if (!this.a()) {
+ if (this.a.locY < 0.0D) {
return null;
+ } else if (!this.a()) {
+@@ -99,6 +102,12 @@ public abstract class NavigationAbstract {
} else if (this.c != null && !this.c.b() && blockposition.equals(this.q)) {
return this.c;
} else {
+ // Paper start - Pathfind event
+ if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(),
-+ MCUtil.toLocation(getEntity().world, blockposition), target == null ? null : target.getBukkitEntity()).callEvent()) {
++ MCUtil.toLocation(getEntity().world, blockposition), target == null ? null : target.getBukkitEntity()).callEvent()) {
+ return null;
+ }
+ // Paper end
- this.q = blockposition;
+ this.q = blockposition.immutableCopy();
float f = this.i();
diff --git a/src/main/java/net/minecraft/server/NavigationFlying.java b/src/main/java/net/minecraft/server/NavigationFlying.java
diff --git a/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch b/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch
index 0e1967d90c..155e6628f3 100644
--- a/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch
+++ b/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch
@@ -1,14 +1,14 @@
-From 6e7c5c35348506ebf4ef4a4f84e8eebf1ac924ab Mon Sep 17 00:00:00 2001
+From 435410e1e7631cb7e5b169d2b0a7f6b8bad0992e Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 31 Mar 2016 19:17:58 -0400
Subject: [PATCH] Do not load chunks for Pathfinding
diff --git a/src/main/java/net/minecraft/server/ChunkCache.java b/src/main/java/net/minecraft/server/ChunkCache.java
-index c76087614..475c93836 100644
+index 2c9bf7d00..281f5f04f 100644
--- a/src/main/java/net/minecraft/server/ChunkCache.java
+++ b/src/main/java/net/minecraft/server/ChunkCache.java
-@@ -25,7 +25,7 @@ public class ChunkCache implements IIBlockAccess {
+@@ -25,7 +25,7 @@ public class ChunkCache implements IWorldReader {
for (k = this.a; k <= i; ++k) {
for (l = this.b; l <= j; ++l) {
@@ -18,7 +18,7 @@ index c76087614..475c93836 100644
}
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
-index 7b27251b3..fe19167a1 100644
+index d04eb1bbf..4a91e0d8c 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -22,8 +22,9 @@ public abstract class NavigationAbstract {
@@ -40,7 +40,7 @@ index 7b27251b3..fe19167a1 100644
}
public BlockPosition h() {
-@@ -176,6 +178,7 @@ public abstract class NavigationAbstract {
+@@ -177,6 +179,7 @@ public abstract class NavigationAbstract {
}
public void c() {
@@ -49,7 +49,7 @@ index 7b27251b3..fe19167a1 100644
if (this.m) {
this.k();
diff --git a/src/main/java/net/minecraft/server/Pathfinder.java b/src/main/java/net/minecraft/server/Pathfinder.java
-index 480dee704..3901dd751 100644
+index 359d9a11c..262fa5585 100644
--- a/src/main/java/net/minecraft/server/Pathfinder.java
+++ b/src/main/java/net/minecraft/server/Pathfinder.java
@@ -12,7 +12,7 @@ public class Pathfinder {
@@ -62,12 +62,12 @@ index 480dee704..3901dd751 100644
public Pathfinder(PathfinderAbstract pathfinderabstract, int i) {
this.e = pathfinderabstract;
diff --git a/src/main/java/net/minecraft/server/PathfinderAbstract.java b/src/main/java/net/minecraft/server/PathfinderAbstract.java
-index 7aad55c7d..3cb43808f 100644
+index 92df34aba..e773bef61 100644
--- a/src/main/java/net/minecraft/server/PathfinderAbstract.java
+++ b/src/main/java/net/minecraft/server/PathfinderAbstract.java
@@ -7,6 +7,7 @@ public abstract class PathfinderAbstract {
- protected IBlockAccess a;
+ protected IWorldReader a;
protected EntityInsentient b;
+ public World world; // Paper
protected final Int2ObjectMap<PathPoint> c = new Int2ObjectOpenHashMap();
@@ -75,17 +75,17 @@ index 7aad55c7d..3cb43808f 100644
protected int e;
@@ -19,6 +20,7 @@ public abstract class PathfinderAbstract {
- public void a(IBlockAccess iblockaccess, EntityInsentient entityinsentient) {
- this.a = iblockaccess;
-+ if (iblockaccess instanceof World) world = (World) iblockaccess; // Paper
+ public void a(IWorldReader iworldreader, EntityInsentient entityinsentient) {
+ this.a = iworldreader;
++ if (iworldreader instanceof World) world = (World) iworldreader; // Paper
this.b = entityinsentient;
this.c.clear();
this.d = MathHelper.d(entityinsentient.getWidth() + 1.0F);
diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java
-index f1198272b..1eaed0fd8 100644
+index d97166f8f..51991b8c8 100644
--- a/src/main/java/net/minecraft/server/PathfinderNormal.java
+++ b/src/main/java/net/minecraft/server/PathfinderNormal.java
-@@ -343,7 +343,8 @@ public class PathfinderNormal extends PathfinderAbstract {
+@@ -355,7 +355,8 @@ public class PathfinderNormal extends PathfinderAbstract {
PathType pathtype = this.b(iblockaccess, i, j, k);
if (pathtype == PathType.OPEN && j >= 1) {
@@ -95,7 +95,7 @@ index f1198272b..1eaed0fd8 100644
PathType pathtype1 = this.b(iblockaccess, i, j - 1, k);
pathtype = pathtype1 != PathType.WALKABLE && pathtype1 != PathType.OPEN && pathtype1 != PathType.WATER && pathtype1 != PathType.LAVA ? PathType.WALKABLE : PathType.OPEN;
-@@ -373,9 +374,10 @@ public class PathfinderNormal extends PathfinderAbstract {
+@@ -385,9 +386,10 @@ public class PathfinderNormal extends PathfinderAbstract {
for (int l = -1; l <= 1; ++l) {
for (int i1 = -1; i1 <= 1; ++i1) {
if (l != 0 || i1 != 0) {
@@ -108,7 +108,7 @@ index f1198272b..1eaed0fd8 100644
pathtype = PathType.DANGER_CACTUS;
} else if (block == Blocks.FIRE) {
pathtype = PathType.DANGER_FIRE;
-@@ -409,7 +411,8 @@ public class PathfinderNormal extends PathfinderAbstract {
+@@ -421,7 +423,8 @@ public class PathfinderNormal extends PathfinderAbstract {
protected PathType b(IBlockAccess iblockaccess, int i, int j, int k) {
BlockPosition blockposition = new BlockPosition(i, j, k);
diff --git a/Spigot-Server-Patches/0083-Fix-reducedDebugInfo-not-initialized-on-client.patch b/Spigot-Server-Patches/0083-Fix-reducedDebugInfo-not-initialized-on-client.patch
index e37c0dc412..3e0d884777 100644
--- a/Spigot-Server-Patches/0083-Fix-reducedDebugInfo-not-initialized-on-client.patch
+++ b/Spigot-Server-Patches/0083-Fix-reducedDebugInfo-not-initialized-on-client.patch
@@ -1,14 +1,14 @@
-From 41f9603cf89851f8d59fdc5c9111138712090c3a Mon Sep 17 00:00:00 2001
+From 427bd54d7a0f7fd616d989a044eff927c11eddc9 Mon Sep 17 00:00:00 2001
From: Jedediah Smith <[email protected]>
Date: Sat, 2 Apr 2016 20:37:03 -0400
Subject: [PATCH] Fix reducedDebugInfo not initialized on client
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 6541ce24fa..6997c31a2c 100644
+index b647e4287..5745b4762 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -161,6 +161,7 @@ public abstract class PlayerList {
+@@ -162,6 +162,7 @@ public abstract class PlayerList {
playerconnection.sendPacket(new PacketPlayOutHeldItemSlot(entityplayer.inventory.itemInHandIndex));
playerconnection.sendPacket(new PacketPlayOutRecipeUpdate(this.server.getCraftingManager().b()));
playerconnection.sendPacket(new PacketPlayOutTags(this.server.getTagRegistry()));
diff --git a/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
index 4c1d28d900..566eb3b20c 100644
--- a/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
+++ b/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
@@ -1,4 +1,4 @@
-From 4b363f2ad753aad4f3cea1a978ed611e23fbd38a Mon Sep 17 00:00:00 2001
+From db51cb961748a40d440c861a9693892955f35464 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Wed, 6 Apr 2016 01:04:23 -0500
Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names
@@ -12,7 +12,7 @@ for this on CB at one point but I can't find it. We may need to do this
ourselves at some point in the future.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 59d11e68c9..1da7ffab5d 100644
+index 59d11e68c..1da7ffab5 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -250,4 +250,9 @@ public class PaperWorldConfig {
@@ -26,7 +26,7 @@ index 59d11e68c9..1da7ffab5d 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index ce98f690e8..cd0f62f5f0 100644
+index 86de93275..bc11a9162 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1656,7 +1656,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -48,10 +48,10 @@ index ce98f690e8..cd0f62f5f0 100644
if (((LazyPlayerSet) event.getRecipients()).isLazy()) {
for (Object recipient : minecraftServer.getPlayerList().players) {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 6997c31a2c..4f47b245da 100644
+index 5745b4762..eadbf0ee0 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -176,7 +176,7 @@ public abstract class PlayerList {
+@@ -177,7 +177,7 @@ public abstract class PlayerList {
}
// CraftBukkit start
chatmessage.a(EnumChatFormat.YELLOW);
diff --git a/Spigot-Server-Patches/0088-Workaround-for-setting-passengers-on-players.patch b/Spigot-Server-Patches/0088-Workaround-for-setting-passengers-on-players.patch
index cbf4a7a0e7..6b6299a388 100644
--- a/Spigot-Server-Patches/0088-Workaround-for-setting-passengers-on-players.patch
+++ b/Spigot-Server-Patches/0088-Workaround-for-setting-passengers-on-players.patch
@@ -1,4 +1,4 @@
-From 85f4312ca4d64509eb61b9d85665e53ce8d433d6 Mon Sep 17 00:00:00 2001
+From 491523ef4ba143804b922744b5835af6ee868621 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Sun, 10 Apr 2016 03:23:32 -0500
Subject: [PATCH] Workaround for setting passengers on players
@@ -6,10 +6,10 @@ Subject: [PATCH] Workaround for setting passengers on players
SPIGOT-1915 & GH-114
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 7edb01082a..f75ac03b74 100644
+index 3e1a7be6f..3d37f78c6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -755,6 +755,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -754,6 +754,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return true;
}
diff --git a/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch
index 21cb6c64db..01af968583 100644
--- a/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch
+++ b/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch
@@ -1,4 +1,4 @@
-From fb635d79739c98a409a62defd82b5b282b83f48c Mon Sep 17 00:00:00 2001
+From 00b367a9cebfde5f675a34b83738c65cf3389278 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 13 Apr 2016 00:25:28 -0400
Subject: [PATCH] Remove unused World Tile Entity List
@@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List
Massive hit to performance and it is completely unnecessary.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index d13cf1014d..de09ed97ec 100644
+index be18e029d..02ef71bb4 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -40,7 +40,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -39,7 +39,7 @@ index d13cf1014d..de09ed97ec 100644
this.tileEntityListUnload.clear();
}
-@@ -782,7 +782,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -787,7 +787,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
tilesThisCycle--;
this.tileEntityListTick.remove(tileTickPosition--);
// Spigot end
@@ -48,7 +48,7 @@ index d13cf1014d..de09ed97ec 100644
if (this.isLoaded(tileentity.getPosition())) {
this.getChunkAtWorldCoords(tileentity.getPosition()).removeTileEntity(tileentity.getPosition());
}
-@@ -812,7 +812,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -817,7 +817,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3);
// CraftBukkit start
// From above, don't screw this up - SPIGOT-1746
@@ -57,7 +57,7 @@ index d13cf1014d..de09ed97ec 100644
this.a(tileentity1);
}
// CraftBukkit end
-@@ -1083,7 +1083,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -1085,7 +1085,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
} else {
if (tileentity != null) {
this.tileEntityListPending.remove(tileentity);
diff --git a/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch
index 8774ac8a82..308d7bde4b 100644
--- a/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch
+++ b/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch
@@ -1,11 +1,11 @@
-From ea9e4c1007b8495da4203a23c931a99023f8a3d7 Mon Sep 17 00:00:00 2001
+From 98c52a0d68daa9285292fe40c0e4214e661c6372 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 13 Apr 2016 02:10:49 -0400
Subject: [PATCH] Configurable Player Collision
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index 4424f7ef18..69bfe62416 100644
+index 4424f7ef1..69bfe6241 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -223,4 +223,9 @@ public class PaperConfig {
@@ -19,7 +19,7 @@ index 4424f7ef18..69bfe62416 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index ff70ef38aa..860957c0b1 100644
+index 8ce7903a1..1bc26d17d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -439,6 +439,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -44,7 +44,7 @@ index ff70ef38aa..860957c0b1 100644
this.server.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.STARTUP));
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
-index b0740965a4..6b1a914d2f 100644
+index b0740965a..6b1a914d2 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java
@@ -96,7 +96,7 @@ public class PacketPlayOutScoreboardTeam implements Packet<PacketListenerPlayOut
@@ -57,7 +57,7 @@ index b0740965a4..6b1a914d2f 100644
packetdataserializer.a(this.c);
packetdataserializer.a(this.d);
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 4f47b245da..882dd07e7f 100644
+index eadbf0ee0..7b6d518b1 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -72,6 +72,7 @@ public abstract class PlayerList {
@@ -68,7 +68,7 @@ index 4f47b245da..882dd07e7f 100644
public PlayerList(MinecraftServer minecraftserver, int i) {
this.cserver = minecraftserver.server = new CraftServer((DedicatedServer) minecraftserver, this);
-@@ -285,6 +286,13 @@ public abstract class PlayerList {
+@@ -286,6 +287,13 @@ public abstract class PlayerList {
}
entityplayer.syncInventory();
@@ -82,7 +82,7 @@ index 4f47b245da..882dd07e7f 100644
// CraftBukkit - Moved from above, added world
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", entityplayer.getDisplayName().getString(), s1, entityplayer.getId(), entityplayer.world.worldData.getName(), entityplayer.locX, entityplayer.locY, entityplayer.locZ);
}
-@@ -403,6 +411,16 @@ public abstract class PlayerList {
+@@ -404,6 +412,16 @@ public abstract class PlayerList {
entityplayer.playerTick();// SPIGOT-924
// CraftBukkit end
@@ -99,7 +99,7 @@ index 4f47b245da..882dd07e7f 100644
this.savePlayerFile(entityplayer);
if (entityplayer.isPassenger()) {
Entity entity = entityplayer.getRootVehicle();
-@@ -1026,7 +1044,13 @@ public abstract class PlayerList {
+@@ -1027,7 +1045,13 @@ public abstract class PlayerList {
player.playerConnection.disconnect(this.server.server.getShutdownMessage()); // CraftBukkit - add custom shutdown message
}
// CraftBukkit end
diff --git a/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch
index 97d927621d..a9e53e19f5 100644
--- a/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch
+++ b/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch
@@ -1,11 +1,11 @@
-From 179783bf52fb0e0b9f812a3e0c89ba79ca6704fc Mon Sep 17 00:00:00 2001
+From 7bb6986156e4f55149c222aa7d9ddc563635d5e9 Mon Sep 17 00:00:00 2001
From: Isaac Moore <[email protected]>
Date: Tue, 19 Apr 2016 14:09:31 -0500
Subject: [PATCH] Implement PlayerLocaleChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 1b8b6daac..c9c5af65a 100644
+index 6725b62a9..42b5b3f40 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -37,7 +37,7 @@ import org.bukkit.inventory.MainHand;
@@ -40,10 +40,10 @@ index 1b8b6daac..c9c5af65a 100644
this.cl = packetplayinsettings.e();
this.getDataWatcher().set(EntityPlayer.bt, (byte) packetplayinsettings.f());
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index f75ac03b7..06db4a8f0 100644
+index 3d37f78c6..eca8c0ded 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1749,8 +1749,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1748,8 +1748,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale() {
@@ -56,7 +56,7 @@ index f75ac03b7..06db4a8f0 100644
}
// Paper start
-@@ -1829,7 +1831,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1828,7 +1830,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public String getLocale()
{
diff --git a/Spigot-Server-Patches/0099-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/Spigot-Server-Patches/0099-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index ece3c07415..2f5e69698a 100644
--- a/Spigot-Server-Patches/0099-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/Spigot-Server-Patches/0099-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
@@ -1,4 +1,4 @@
-From f77a0b7daecc921d3c29fe4375224fe88728548b Mon Sep 17 00:00:00 2001
+From a8ea4e4661e2aa7898ecf28fe43d93916064f57b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 29 Apr 2016 20:02:00 -0400
Subject: [PATCH] Improve Maps (in item frames) performance and bug fixes
@@ -13,7 +13,7 @@ custom renderers are in use, defaulting to the much simpler Vanilla system.
Additionally, numerous issues to player position tracking on maps has been fixed.
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index d0713bfcd..8a6f8e875 100644
+index 51dcb5ff0..7143ec7bb 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -590,6 +590,12 @@ public abstract class EntityHuman extends EntityLiving {
@@ -30,7 +30,7 @@ index d0713bfcd..8a6f8e875 100644
return entityitem;
}
diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java
-index e080a77c7..98e4ad4ac 100644
+index 61892fec9..acbd381c8 100644
--- a/src/main/java/net/minecraft/server/WorldMap.java
+++ b/src/main/java/net/minecraft/server/WorldMap.java
@@ -31,6 +31,7 @@ public class WorldMap extends PersistentBase {
@@ -102,10 +102,10 @@ index e080a77c7..98e4ad4ac 100644
for ( org.bukkit.map.MapCursor cursor : render.cursors) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index ab2ca1c32..1e718e4db 100644
+index 2128b0bdb..2cb70b3bc 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -1045,6 +1045,7 @@ public class WorldServer extends World {
+@@ -1038,6 +1038,7 @@ public class WorldServer extends World {
{
if ( iter.next().trackee == entity )
{
diff --git a/Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch
index 8009a65433..6ad133dce2 100644
--- a/Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch
+++ b/Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch
@@ -1,4 +1,4 @@
-From baaddf7e045aa037211e6721e02193fd49d933f2 Mon Sep 17 00:00:00 2001
+From 75f71ce6a90425d146b533b8a86a277b014925c6 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 21 Jun 2016 22:54:34 -0400
Subject: [PATCH] Fix Double World Add issues
@@ -8,10 +8,10 @@ Vanilla will double add Spider Jockeys to the world, so ignore already added.
Also add debug if something else tries to, and abort before world gets bad state
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 1e718e4db..464a132a3 100644
+index 2cb70b3bc..ec392deca 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -935,6 +935,7 @@ public class WorldServer extends World {
+@@ -928,6 +928,7 @@ public class WorldServer extends World {
// CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot
diff --git a/Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch b/Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch
index bfa19d5217..82fb389e7f 100644
--- a/Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch
+++ b/Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch
@@ -1,4 +1,4 @@
-From 573d367a58a83b1d1598fa03f3ab124a6b8d5ae7 Mon Sep 17 00:00:00 2001
+From ace42663ea06bd02c38d2a2b2462b91303d524d1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 17 Jun 2016 20:50:11 -0400
Subject: [PATCH] Fix Old Sign Conversion
@@ -9,7 +9,7 @@ Subject: [PATCH] Fix Old Sign Conversion
This causes Igloos and such to render broken signs. We fix this by ignoring sign conversion for Defined Structures
diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java
-index dabfb8067b..f80ba567f2 100644
+index 1e81c49bf..297f868d6 100644
--- a/src/main/java/net/minecraft/server/DefinedStructure.java
+++ b/src/main/java/net/minecraft/server/DefinedStructure.java
@@ -203,9 +203,11 @@ public class DefinedStructure {
@@ -25,10 +25,10 @@ index dabfb8067b..f80ba567f2 100644
}
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index acd9edd670..d70b678de3 100644
+index b99bcbf8a..013745f82 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -19,6 +19,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
+@@ -20,6 +20,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
public final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(DATA_TYPE_REGISTRY);
// CraftBukkit end
private static final Logger LOGGER = LogManager.getLogger();
@@ -37,15 +37,15 @@ index acd9edd670..d70b678de3 100644
@Nullable
protected World world;
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
-index 86505f25c1..9de03a24cf 100644
+index 86d0b18f7..626ba9b17 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -58,13 +58,14 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
}
try {
-- IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s);
-+ //IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s); // Paper - move down - the old format might throw a json error
+- IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s.isEmpty() ? "\"\"" : s);
++ //IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s.isEmpty() ? "\"\"" : s); // Paper - move down - the old format might throw a json error
- if (oldSign) {
+ if (oldSign && !isLoadingStructure) { // Paper - saved structures will be in the new format, but will not have isConverted
@@ -53,7 +53,7 @@ index 86505f25c1..9de03a24cf 100644
continue;
}
// CraftBukkit end
-+ IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s); // Paper - after old sign
++ IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s.isEmpty() ? "\"\"" : s); // Paper - after old sign
if (this.world instanceof WorldServer) {
try {
diff --git a/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch
index fdedc7865e..30c1d2f9c2 100644
--- a/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch
+++ b/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch
@@ -1,4 +1,4 @@
-From f355773996d96cee145d4cd5e257b0273fb37927 Mon Sep 17 00:00:00 2001
+From 2b1575c0cbbe8ef6d446beabe6cc7852af985386 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 21 Sep 2016 22:54:28 -0400
Subject: [PATCH] Chunk registration fixes
@@ -8,10 +8,10 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr
Keep them consistent
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 464a132a3..bbf676958 100644
+index ec392deca..9fdc8f5b0 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -631,7 +631,7 @@ public class WorldServer extends World {
+@@ -624,7 +624,7 @@ public class WorldServer extends World {
public void chunkCheck(Entity entity) {
this.getMethodProfiler().enter("chunkCheck");
int i = MathHelper.floor(entity.locX / 16.0D);
diff --git a/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch
index 95896ba8fd..ebfd50e618 100644
--- a/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch
+++ b/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch
@@ -1,11 +1,11 @@
-From a8b53fb5c3798192239fb36ef5d55815f10fc75c Mon Sep 17 00:00:00 2001
+From 94dfb8f25bd8fce92c3befc3a08a5a8fa1e342d6 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Wed, 5 Oct 2016 16:27:36 -0500
Subject: [PATCH] Option to remove corrupt tile entities
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 92ab55182f..eed454bf40 100644
+index 92ab55182..eed454bf4 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -296,4 +296,9 @@ public class PaperWorldConfig {
@@ -19,10 +19,10 @@ index 92ab55182f..eed454bf40 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index ed7899abb2..5f0329d0b1 100644
+index c2865425d..7382a47d8 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -527,6 +527,12 @@ public class Chunk implements IChunkAccess {
+@@ -528,6 +528,12 @@ public class Chunk implements IChunkAccess {
"Chunk coordinates: " + (this.loc.x * 16) + "," + (this.loc.z * 16));
e.printStackTrace();
ServerInternalException.reportInternalException(e);
diff --git a/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch
index d6c7cb3d81..987ca731cc 100644
--- a/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch
+++ b/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch
@@ -1,11 +1,11 @@
-From d8b81595d51b50634099cdc7a0864b272bcef917 Mon Sep 17 00:00:00 2001
+From a2ec94269fa6eaf9b16e4810c3f69e1013a3b28f Mon Sep 17 00:00:00 2001
From: AlphaBlend <[email protected]>
Date: Sun, 16 Oct 2016 23:19:30 -0700
Subject: [PATCH] Add EntityZapEvent
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
-index 01202e4d53..616075569f 100644
+index 01202e4d5..616075569 100644
--- a/src/main/java/net/minecraft/server/EntityPig.java
+++ b/src/main/java/net/minecraft/server/EntityPig.java
@@ -168,6 +168,12 @@ public class EntityPig extends EntityAnimal {
@@ -22,10 +22,10 @@ index 01202e4d53..616075569f 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 cc66f565c3..c348683247 100644
+index 512d18a2b..9ac9d499d 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -573,6 +573,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
+@@ -578,6 +578,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
public void onLightningStrike(EntityLightning entitylightning) {
EntityWitch entitywitch = (EntityWitch) EntityTypes.WITCH.a(this.world);
@@ -39,7 +39,7 @@ index cc66f565c3..c348683247 100644
entitywitch.prepare(this.world, this.world.getDamageScaler(new BlockPosition(entitywitch)), EnumMobSpawn.CONVERSION, (GroupDataEntity) null, (NBTTagCompound) null);
entitywitch.setNoAI(this.isNoAI());
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 0736c83a4e..1632969249 100644
+index 0997238df..603ebc504 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -994,6 +994,14 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch b/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch
index 503bd45d32..24b7def947 100644
--- a/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch
+++ b/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch
@@ -1,4 +1,4 @@
-From 86cfce2ef59058237e194d6be275d49645d503f8 Mon Sep 17 00:00:00 2001
+From bd7ba68c3a9b35a34b430b27c0dc13421cac44ad Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 19 Dec 2016 23:07:42 -0500
Subject: [PATCH] Prevent Pathfinding out of World Border
@@ -6,17 +6,17 @@ Subject: [PATCH] Prevent Pathfinding out of World Border
This prevents Entities from trying to run outside of the World Border
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
-index fe19167a1..6a1d5a899 100644
+index 4a91e0d8c..6cc142383 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
-@@ -98,6 +98,7 @@ public abstract class NavigationAbstract {
- @Nullable protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) { return this.a(blockposition, null, d0, d1, d2, i, flag); }
+@@ -97,6 +97,7 @@ public abstract class NavigationAbstract {
+ @Nullable
+ protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) { return this.a(blockposition, null, d0, d1, d2, i, flag); }
@Nullable protected PathEntity a(BlockPosition blockposition, Entity target, double d0, double d1, double d2, int i, boolean flag) {
- // Paper end
+ if (!getEntity().getWorld().getWorldBorder().isInBounds(blockposition)) return null; // Paper - don't path out of world border
- if (!this.a()) {
+ if (this.a.locY < 0.0D) {
return null;
- } else if (this.c != null && !this.c.b() && blockposition.equals(this.q)) {
+ } else if (!this.a()) {
--
2.21.0
diff --git a/Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch
index 856986148e..d91166315e 100644
--- a/Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch
+++ b/Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch
@@ -1,4 +1,4 @@
-From 141dac0efd72ea2e0702616331db1cd427173959 Mon Sep 17 00:00:00 2001
+From 453b8bec5d32187e1700a0d78fd731096e4480d5 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 7 Jan 2017 15:41:58 -0500
Subject: [PATCH] Enforce Sync Player Saves
@@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main
the same way we handle async chunk loads.
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 882dd07e7f..6457317d78 100644
+index 7b6d518b1..f13d63030 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -929,11 +929,13 @@ public abstract class PlayerList {
+@@ -930,11 +930,13 @@ public abstract class PlayerList {
}
public void savePlayers() {
diff --git a/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
index 8a2e1761c0..3fea0bbd22 100644
--- a/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
+++ b/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch
@@ -1,4 +1,4 @@
-From 4194fadfef71e639deaa66ce9b3d6702384d326c Mon Sep 17 00:00:00 2001
+From af686a8e6fec3b00d6f5bdb9609b00150e7b45ba Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 19 Dec 2017 16:31:46 -0500
Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player
@@ -8,10 +8,10 @@ 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 fd23d45346..69e65ea6c8 100644
+index 85a5776b0..dedb063de 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
-@@ -504,13 +504,13 @@ public class Block implements IMaterial {
+@@ -512,13 +512,13 @@ public class Block implements IMaterial {
}
}
@@ -28,7 +28,7 @@ index fd23d45346..69e65ea6c8 100644
}
diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java
-index 2e4f81ebe4..88b9655bb0 100644
+index 4144a4757..8a9c81ad6 100644
--- a/src/main/java/net/minecraft/server/ContainerGrindstone.java
+++ b/src/main/java/net/minecraft/server/ContainerGrindstone.java
@@ -81,7 +81,7 @@ public class ContainerGrindstone extends Container {
@@ -41,7 +41,7 @@ index 2e4f81ebe4..88b9655bb0 100644
world.triggerEffect(1042, blockposition, 0);
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
-index 2ee80c2863..b0651a7086 100644
+index b3010bee5..d42d4e83e 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -607,7 +607,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -54,7 +54,7 @@ index 2ee80c2863..b0651a7086 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index bfba08fb24..49668f2c21 100644
+index bfba08fb2..49668f2c2 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -16,9 +16,59 @@ public class EntityExperienceOrb extends Entity {
@@ -134,7 +134,7 @@ index bfba08fb24..49668f2c21 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
-index 78527f3509..03f782d4b9 100644
+index bdd2a39f8..67f8b6841 100644
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
@@ -404,7 +404,7 @@ public class EntityFishingHook extends Entity {
@@ -147,7 +147,7 @@ index 78527f3509..03f782d4b9 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 482d6f7c62..567112ffc7 100644
+index fdc0a49f9..25570f1d1 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -381,7 +381,8 @@ public abstract class EntityLiving extends Entity {
@@ -161,7 +161,7 @@ index 482d6f7c62..567112ffc7 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 77dd4c99a6..398b499bbe 100644
+index 77dd4c99a..398b499bb 100644
--- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
+++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java
@@ -43,7 +43,7 @@ public class EntityThrownExpBottle extends EntityProjectileThrowable {
@@ -174,7 +174,7 @@ index 77dd4c99a6..398b499bbe 100644
this.die();
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
-index 7c6506a912..1b4933c077 100644
+index 7c6506a91..1b4933c07 100644
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
@@ -512,7 +512,7 @@ public class EntityTurtle extends EntityAnimal {
@@ -187,24 +187,24 @@ index 7c6506a912..1b4933c077 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index c348683247..bc04086d79 100644
+index 9ac9d499d..53e2266a9 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -421,7 +421,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
+@@ -426,7 +426,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
}
- if (merchantrecipe.q()) {
+ if (merchantrecipe.isRewardExp()) {
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY + 0.5D, this.locZ, i));
+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY + 0.5D, this.locZ, i, org.bukkit.entity.ExperienceOrb.SpawnReason.VILLAGER_TRADE, this.getTrader(), this)); // Paper
}
}
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
-index 1d612d828e..002ff88800 100644
+index fee8f97d8..8ced8722a 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
@@ -147,7 +147,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
- if (merchantrecipe.q()) {
+ if (merchantrecipe.isRewardExp()) {
int i = 3 + this.random.nextInt(4);
- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY + 0.5D, this.locZ, i));
@@ -213,7 +213,7 @@ index 1d612d828e..002ff88800 100644
}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
-index d25a05736e..9d0b1ffefa 100644
+index d25a05736..9d0b1ffef 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java
@@ -117,7 +117,7 @@ public class PathfinderGoalBreed extends PathfinderGoal {
@@ -226,7 +226,7 @@ index d25a05736e..9d0b1ffefa 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
-index 6e90f21ea2..a7411c75ac 100644
+index 6e90f21ea..a7411c75a 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -367,7 +367,7 @@ public class PlayerInteractManager {
@@ -239,7 +239,7 @@ index 6e90f21ea2..a7411c75ac 100644
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
-index d2698e847c..edc4a5c34e 100644
+index d2698e847..edc4a5c34 100644
--- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java
+++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java
@@ -2,7 +2,7 @@ package net.minecraft.server;
@@ -252,7 +252,7 @@ index d2698e847c..edc4a5c34e 100644
public SlotFurnaceResult(EntityHuman entityhuman, IInventory iinventory, int i, int j, int k) {
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
-index adb1a09133..be16fe9a9e 100644
+index adb1a0913..be16fe9a9 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -554,7 +554,7 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I
@@ -265,10 +265,10 @@ index adb1a09133..be16fe9a9e 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index c79b0f42a6..94178fe8ba 100644
+index dd31b346c..9dd375951 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1626,7 +1626,7 @@ public class CraftWorld implements World {
+@@ -1609,7 +1609,7 @@ public class CraftWorld implements World {
} else if (TNTPrimed.class.isAssignableFrom(clazz)) {
entity = new EntityTNTPrimed(world, x, y, z, null);
} else if (ExperienceOrb.class.isAssignableFrom(clazz)) {
@@ -278,7 +278,7 @@ index c79b0f42a6..94178fe8ba 100644
entity = new EntityLightning(world, x, y, z, false);
} else if (Firework.class.isAssignableFrom(clazz)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
-index 1b512cc45c..fbad045675 100644
+index 1b512cc45..fbad04567 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java
@@ -20,6 +20,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb {
diff --git a/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch
index ebaeae0809..19af92ae00 100644
--- a/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch
+++ b/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch
@@ -1,14 +1,14 @@
-From 82970c53b5f0fc7f3efa48dc5f603bbe300ebbc9 Mon Sep 17 00:00:00 2001
+From 8e27f750c6159836be0bf755ba6759079648b833 Mon Sep 17 00:00:00 2001
From: Brokkonaut <[email protected]>
Date: Tue, 7 Feb 2017 16:55:35 -0600
Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index 1370565b36..8e40027acf 100644
+index fb56e6ca0..a93117667 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-@@ -293,7 +293,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -313,7 +313,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
// Spigot start
org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant;
activityAccountant.startActivity(0.5);
diff --git a/Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch
index 96a7fb3859..d28a234767 100644
--- a/Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch
+++ b/Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch
@@ -1,4 +1,4 @@
-From e5b162f22e402926b6adbca86c920ca466bcf92d Mon Sep 17 00:00:00 2001
+From 96e9ac054004602ee4a59599848d078a7de53ab4 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Fri, 12 May 2017 23:34:11 -0500
Subject: [PATCH] Properly handle async calls to restart the server
@@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result
in corruption/dataloss.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 3b745b2b75..c117e8fa3f 100644
+index 852d827c1..119730460 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -80,6 +80,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -73,10 +73,10 @@ index 3b745b2b75..c117e8fa3f 100644
// Spigot Start
private static double calcTps(double avg, double exp, double tps)
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 6457317d78..274e93a25d 100644
+index f13d63030..3158197cd 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -1040,10 +1040,15 @@ public abstract class PlayerList {
+@@ -1041,10 +1041,15 @@ public abstract class PlayerList {
entityplayer.playerInteractManager.b(generatoraccess.getWorldData().getGameType());
}
@@ -93,7 +93,7 @@ index 6457317d78..274e93a25d 100644
}
// CraftBukkit end
// Paper start - Remove collideRule team if it exists
-@@ -1054,6 +1059,7 @@ public abstract class PlayerList {
+@@ -1055,6 +1060,7 @@ public abstract class PlayerList {
}
// Paper end
}
@@ -102,7 +102,7 @@ index 6457317d78..274e93a25d 100644
// CraftBukkit start
public void sendMessage(IChatBaseComponent[] iChatBaseComponents) {
diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java
-index ccea803f58..aefea3a9a8 100644
+index ccea803f5..aefea3a9a 100644
--- a/src/main/java/org/spigotmc/RestartCommand.java
+++ b/src/main/java/org/spigotmc/RestartCommand.java
@@ -46,86 +46,134 @@ public class RestartCommand extends Command
diff --git a/Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch b/Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch
index 32472a1532..8df8e7dd15 100644
--- a/Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch
+++ b/Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch
@@ -1,14 +1,14 @@
-From a901f50b7ca1bb20b0587dad07e4affc10fb35fa Mon Sep 17 00:00:00 2001
+From 866cadb89f21268850f4ec0bdd25e26e73c6d679 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sun, 7 May 2017 06:26:09 -0500
Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
-index 36b5fb537..e02df8987 100644
+index 9c743de8d..2deb5c494 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
-@@ -316,6 +316,7 @@ public class EntityItem extends Entity {
+@@ -318,6 +318,7 @@ public class EntityItem extends Entity {
// CraftBukkit start - fire PlayerPickupItemEvent
int canHold = entityhuman.inventory.canHold(itemstack);
int remaining = i - canHold;
@@ -16,7 +16,7 @@ index 36b5fb537..e02df8987 100644
if (this.pickupDelay <= 0 && canHold > 0) {
itemstack.setCount(canHold);
-@@ -323,7 +324,13 @@ public class EntityItem extends Entity {
+@@ -325,7 +326,13 @@ public class EntityItem extends Entity {
PlayerPickupItemEvent playerEvent = new PlayerPickupItemEvent((org.bukkit.entity.Player) entityhuman.getBukkitEntity(), (org.bukkit.entity.Item) this.getBukkitEntity(), remaining);
playerEvent.setCancelled(!entityhuman.canPickUpLoot);
this.world.getServer().getPluginManager().callEvent(playerEvent);
@@ -30,7 +30,7 @@ index 36b5fb537..e02df8987 100644
return;
}
-@@ -343,7 +350,11 @@ public class EntityItem extends Entity {
+@@ -345,7 +352,11 @@ public class EntityItem extends Entity {
// CraftBukkit end
if (this.pickupDelay == 0 && (this.owner == null || 6000 - this.age <= 200 || this.owner.equals(entityhuman.getUniqueID())) && entityhuman.inventory.pickup(itemstack)) {
diff --git a/Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch b/Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch
index ccfd2a27cb..23cebd33ac 100644
--- a/Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch
+++ b/Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch
@@ -1,11 +1,11 @@
-From 8559585ae4946733a3fd8d088a3509f9348ac663 Mon Sep 17 00:00:00 2001
+From d482a5bc4f483c161399595bafbf4f5803a3d6cf Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sun, 11 Jun 2017 16:30:30 -0500
Subject: [PATCH] PlayerAttemptPickupItemEvent
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
-index e02df8987..c582c6711 100644
+index 2deb5c494..bda5ea463 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -8,6 +8,7 @@ import javax.annotation.Nullable;
@@ -16,7 +16,7 @@ index e02df8987..c582c6711 100644
public class EntityItem extends Entity {
-@@ -318,6 +319,22 @@ public class EntityItem extends Entity {
+@@ -320,6 +321,22 @@ public class EntityItem extends Entity {
int remaining = i - canHold;
boolean flyAtPlayer = false; // Paper
diff --git a/Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch
index 755813a4d9..998c030d75 100644
--- a/Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch
+++ b/Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch
@@ -1,14 +1,14 @@
-From 7f8eb3c3b567f8cf69bd6ab8e12d5f5432ec2e22 Mon Sep 17 00:00:00 2001
+From 7c9560783091a441d9927d219d8a40c51adae42b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 3 Jul 2017 18:11:10 -0500
Subject: [PATCH] ProfileWhitelistVerifyEvent
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 9577b537fc..cacd769543 100644
+index b746e7ad3..5ac4a7c28 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -520,9 +520,9 @@ public abstract class PlayerList {
+@@ -521,9 +521,9 @@ public abstract class PlayerList {
// return chatmessage;
if (!gameprofilebanentry.hasExpired()) event.disallow(PlayerLoginEvent.Result.KICK_BANNED, CraftChatMessage.fromComponent(chatmessage)); // Spigot
@@ -20,7 +20,7 @@ index 9577b537fc..cacd769543 100644
} else if (getIPBans().isBanned(socketaddress) && !getIPBans().get(socketaddress).hasExpired()) {
IpBanEntry ipbanentry = this.l.get(socketaddress);
-@@ -891,9 +891,25 @@ public abstract class PlayerList {
+@@ -892,9 +892,25 @@ public abstract class PlayerList {
this.server.getCommandDispatcher().a(entityplayer);
}
diff --git a/Spigot-Server-Patches/0183-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch b/Spigot-Server-Patches/0183-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch
deleted file mode 100644
index 63516b8439..0000000000
--- a/Spigot-Server-Patches/0183-Replace-HashSet-with-fastutil-s-ObjectOpenHashSet-in.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From fd2bd4f9885b94441cf42515e5c37a7d59e8c267 Mon Sep 17 00:00:00 2001
-From: Brokkonaut <[email protected]>
-Date: Fri, 20 Oct 2017 04:33:45 +0200
-Subject: [PATCH] Replace HashSet with fastutil's ObjectOpenHashSet in
- HashTreeSet
-
-HashSet sometimes uses compareTo() instead of equals() and this breaks the comparison of net.minecraft.server.NextTickListEntry (the only place where HashTreeSet is used).
-
-In this cases duplicate entries could be added to the HashSet of HashTreeSet, because NextTickListEntry.compareTo() does not return 0, even if NextTickListEntry.equals() returns true.
-
-ObjectOpenHashSet never uses compareTo(), so the inconsistencies of NextTickListEntry cause no problems.
-
-Fixes https://github.com/PaperMC/Paper/issues/588
-
-diff --git a/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java b/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java
-index 80a5c29f3..cd864c404 100644
---- a/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java
-+++ b/src/main/java/org/bukkit/craftbukkit/util/HashTreeSet.java
-@@ -8,7 +8,7 @@ import java.util.TreeSet;
-
- public class HashTreeSet<V> implements Set<V> {
-
-- private HashSet<V> hash = new HashSet<V>();
-+ private Set<V> hash = new it.unimi.dsi.fastutil.objects.ObjectOpenHashSet<V>(); //Paper - Replace java.util.HashSet with ObjectOpenHashSet
- private TreeSet<V> tree = new TreeSet<V>();
-
- public HashTreeSet() {
---
-2.21.0
-
diff --git a/Spigot-Server-Patches/0184-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0183-Send-attack-SoundEffects-only-to-players-who-can-see.patch
index 12acc11cfc..ba48edf4a3 100644
--- a/Spigot-Server-Patches/0184-Send-attack-SoundEffects-only-to-players-who-can-see.patch
+++ b/Spigot-Server-Patches/0183-Send-attack-SoundEffects-only-to-players-who-can-see.patch
@@ -1,4 +1,4 @@
-From b1a18d2954d0e282cfb78fce638663d2afeadaba Mon Sep 17 00:00:00 2001
+From ed6075e3d366248adb9544ca2a8beb353ac27237 Mon Sep 17 00:00:00 2001
From: Brokkonaut <[email protected]>
Date: Tue, 31 Oct 2017 03:26:18 +0100
Subject: [PATCH] Send attack SoundEffects only to players who can see the
@@ -6,7 +6,7 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index 0f8100a05..a30d88af8 100644
+index 05942fb7e..b97e34163 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -941,6 +941,15 @@ public abstract class EntityHuman extends EntityLiving {
@@ -72,7 +72,7 @@ index 0f8100a05..a30d88af8 100644
entity.extinguish();
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index f9413dd68..8328b0125 100644
+index 3fa218a32..37884a606 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -667,6 +667,10 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
diff --git a/Spigot-Server-Patches/0185-Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/0184-Option-for-maximum-exp-value-when-merging-orbs.patch
index 3c0ee55e03..6674dbe8dd 100644
--- a/Spigot-Server-Patches/0185-Option-for-maximum-exp-value-when-merging-orbs.patch
+++ b/Spigot-Server-Patches/0184-Option-for-maximum-exp-value-when-merging-orbs.patch
@@ -1,11 +1,11 @@
-From b3328de9c961142f14d916b9a9b87c0570120f28 Mon Sep 17 00:00:00 2001
+From 423271176bb3c5474c18d7aae55ee6333f9d7f5f Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 10 Nov 2017 23:03:12 -0500
Subject: [PATCH] Option for maximum exp value when merging orbs
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index abc967d3f5..2a50d6babf 100644
+index abc967d3f..2a50d6bab 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -338,4 +338,10 @@ public class PaperWorldConfig {
@@ -20,7 +20,7 @@ index abc967d3f5..2a50d6babf 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 3ad614b7de..87b2ad7960 100644
+index 8585dcace..1daf7b2c5 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -513,16 +513,32 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0186-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0185-Add-PlayerArmorChangeEvent.patch
index d3161c6a6f..03ebfe3ddf 100644
--- a/Spigot-Server-Patches/0186-Add-PlayerArmorChangeEvent.patch
+++ b/Spigot-Server-Patches/0185-Add-PlayerArmorChangeEvent.patch
@@ -1,11 +1,11 @@
-From 017175990b58dac008de3399fe82a3d8d41aebb4 Mon Sep 17 00:00:00 2001
+From 4b68adef0da9d19e413ba0179905f856b9418e42 Mon Sep 17 00:00:00 2001
From: pkt77 <[email protected]>
Date: Fri, 10 Nov 2017 23:46:34 -0500
Subject: [PATCH] Add PlayerArmorChangeEvent
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 121925046..9ef605ba3 100644
+index e2921de48..864204078 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1,5 +1,6 @@
diff --git a/Spigot-Server-Patches/0187-Prevent-logins-from-being-processed-when-the-player-.patch b/Spigot-Server-Patches/0186-Prevent-logins-from-being-processed-when-the-player-.patch
index 620a360963..0d3c253eaa 100644
--- a/Spigot-Server-Patches/0187-Prevent-logins-from-being-processed-when-the-player-.patch
+++ b/Spigot-Server-Patches/0186-Prevent-logins-from-being-processed-when-the-player-.patch
@@ -1,4 +1,4 @@
-From 381f712680dfeaafe48d34a457a51f7c691def20 Mon Sep 17 00:00:00 2001
+From 7d0c76996f72ee5518fad9520c12c975f177fb75 Mon Sep 17 00:00:00 2001
From: killme <[email protected]>
Date: Sun, 12 Nov 2017 19:40:01 +0100
Subject: [PATCH] Prevent logins from being processed when the player has
diff --git a/Spigot-Server-Patches/0188-use-CB-BlockState-implementations-for-captured-block.patch b/Spigot-Server-Patches/0187-use-CB-BlockState-implementations-for-captured-block.patch
index 6f36ad3015..44e4bc5ec7 100644
--- a/Spigot-Server-Patches/0188-use-CB-BlockState-implementations-for-captured-block.patch
+++ b/Spigot-Server-Patches/0187-use-CB-BlockState-implementations-for-captured-block.patch
@@ -1,4 +1,4 @@
-From 6372cbd4afa45ce3bb758f13529d5f38893d6947 Mon Sep 17 00:00:00 2001
+From 1e9ef944858c7c6d5a27733a67f1015f72a55fdc Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Thu, 16 Nov 2017 12:12:41 +0000
Subject: [PATCH] use CB BlockState implementations for captured blocks
@@ -18,7 +18,7 @@ the blockstate that will be valid for restoration, as opposed to dropping
information on restoration when the event is cancelled.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 8328b0125..c388a8261 100644
+index 37884a606..e3de63489 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -344,7 +344,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
diff --git a/Spigot-Server-Patches/0189-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-Server-Patches/0188-API-to-get-a-BlockState-without-a-snapshot.patch
index 3487051f94..52791c4f1d 100644
--- a/Spigot-Server-Patches/0189-API-to-get-a-BlockState-without-a-snapshot.patch
+++ b/Spigot-Server-Patches/0188-API-to-get-a-BlockState-without-a-snapshot.patch
@@ -1,4 +1,4 @@
-From 86492da20337216397e5af641569923b7b87b9f7 Mon Sep 17 00:00:00 2001
+From d60f08ef39ec6643ebfe0664bd1071a5c0219a8b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 6 Nov 2017 21:08:22 -0500
Subject: [PATCH] API to get a BlockState without a snapshot
@@ -13,10 +13,10 @@ also Avoid NPE during CraftBlockEntityState load if could not get TE
If Tile Entity was null, correct Sign to return empty lines instead of null
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index d70b678de3..b76f30dd24 100644
+index 013745f82..9f31f071b 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -225,7 +225,12 @@ public abstract class TileEntity implements KeyedObject { // Paper
+@@ -236,7 +236,12 @@ public abstract class TileEntity implements KeyedObject { // Paper
}
// CraftBukkit start - add method
@@ -29,7 +29,7 @@ index d70b678de3..b76f30dd24 100644
if (world == null) return null;
// Spigot start
org.bukkit.block.Block block = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ());
-@@ -234,7 +239,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
+@@ -245,7 +250,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
return null;
}
// Spigot end
@@ -39,7 +39,7 @@ index d70b678de3..b76f30dd24 100644
return null;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
-index a36876e495..d31447ccd6 100644
+index a36876e49..d31447ccd 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
@@ -312,6 +312,20 @@ public class CraftBlock implements Block {
@@ -64,7 +64,7 @@ index a36876e495..d31447ccd6 100644
switch (material) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
-index d8b3d2f3d5..7cb4c3e503 100644
+index d8b3d2f3d..7cb4c3e50 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
@@ -27,20 +27,40 @@ public class CraftBlockEntityState<T extends TileEntity> extends CraftBlockState
@@ -114,7 +114,7 @@ index d8b3d2f3d5..7cb4c3e503 100644
private T createSnapshot(T tileEntity, World world) {
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
-index e7e58877e2..6d85a6d18e 100644
+index 15022ada0..af15656cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
@@ -17,10 +17,12 @@ public class CraftSign extends CraftBlockEntityState<TileEntitySign> implements
diff --git a/Spigot-Server-Patches/0190-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0189-AsyncTabCompleteEvent.patch
index ed9774cf03..45d5e95609 100644
--- a/Spigot-Server-Patches/0190-AsyncTabCompleteEvent.patch
+++ b/Spigot-Server-Patches/0189-AsyncTabCompleteEvent.patch
@@ -1,4 +1,4 @@
-From 93ca054cb327a04b224dbc227afbde0126cb6b65 Mon Sep 17 00:00:00 2001
+From b215862783231105934553ef2bcbff6842ffc270 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 26 Nov 2017 13:19:58 -0500
Subject: [PATCH] AsyncTabCompleteEvent
@@ -14,7 +14,7 @@ completion, such as offline players.
Also adds isCommand and getLocation to the sync TabCompleteEvent
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 593414b2b..7fba7e28e 100644
+index 766918e8c..c6a44c5f2 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -519,10 +519,10 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -70,7 +70,7 @@ index 593414b2b..7fba7e28e 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 08f84e5db..0732a6f21 100644
+index cdf3b6b6c..d4c8c4259 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1662,7 +1662,7 @@ public final class CraftServer implements Server {
diff --git a/Spigot-Server-Patches/0191-Avoid-NPE-in-PathfinderGoalTempt.patch b/Spigot-Server-Patches/0190-Avoid-NPE-in-PathfinderGoalTempt.patch
index 457bbc4c59..1a4ccd8a06 100644
--- a/Spigot-Server-Patches/0191-Avoid-NPE-in-PathfinderGoalTempt.patch
+++ b/Spigot-Server-Patches/0190-Avoid-NPE-in-PathfinderGoalTempt.patch
@@ -1,4 +1,4 @@
-From 243fcddd45f4e024f50c7acc018b3a301adc32f8 Mon Sep 17 00:00:00 2001
+From f57d861b40cb8509e25d88098722a762ef33cd4e Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 29 Nov 2017 22:18:54 -0500
Subject: [PATCH] Avoid NPE in PathfinderGoalTempt
diff --git a/Spigot-Server-Patches/0192-PlayerPickupExperienceEvent.patch b/Spigot-Server-Patches/0191-PlayerPickupExperienceEvent.patch
index 65424e605a..230f2a8bfc 100644
--- a/Spigot-Server-Patches/0192-PlayerPickupExperienceEvent.patch
+++ b/Spigot-Server-Patches/0191-PlayerPickupExperienceEvent.patch
@@ -1,4 +1,4 @@
-From 2dba4612c8b3b409d05595711229a0f3028ce56c Mon Sep 17 00:00:00 2001
+From cfc2812c7616898fa461e2f2a0fc4bd5d6d62820 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 19 Dec 2017 22:02:53 -0500
Subject: [PATCH] PlayerPickupExperienceEvent
diff --git a/Spigot-Server-Patches/0193-ExperienceOrbMergeEvent.patch b/Spigot-Server-Patches/0192-ExperienceOrbMergeEvent.patch
index 995dc179a6..872667a657 100644
--- a/Spigot-Server-Patches/0193-ExperienceOrbMergeEvent.patch
+++ b/Spigot-Server-Patches/0192-ExperienceOrbMergeEvent.patch
@@ -1,4 +1,4 @@
-From 680fd7bae23eb525705eed9a735fa3d6ff029e26 Mon Sep 17 00:00:00 2001
+From 02fe091f278f2ee5d532ee4e130376c3c7eb6b1a Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 19 Dec 2017 22:57:26 -0500
Subject: [PATCH] ExperienceOrbMergeEvent
@@ -8,7 +8,7 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor
metadata such as spawn reason, or conditionally move data from source to target.
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index 87b2ad7960..db44e82a10 100644
+index 1daf7b2c5..42d82034b 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -523,7 +523,7 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0194-Ability-to-apply-mending-to-XP-API.patch b/Spigot-Server-Patches/0193-Ability-to-apply-mending-to-XP-API.patch
index cec920fb5d..1c2aa2ca30 100644
--- a/Spigot-Server-Patches/0194-Ability-to-apply-mending-to-XP-API.patch
+++ b/Spigot-Server-Patches/0193-Ability-to-apply-mending-to-XP-API.patch
@@ -1,4 +1,4 @@
-From 1dfbde3564fde9115630f366cd4e001b9e2450aa Mon Sep 17 00:00:00 2001
+From 0f4e846e31f326ca9ff66a460b347eb9ff46a725 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 20 Dec 2017 17:36:49 -0500
Subject: [PATCH] Ability to apply mending to XP API
@@ -10,7 +10,7 @@ of giving the player experience points.
Both an API To standalone mend, and apply mending logic to .giveExp has been added.
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
-index 6f64b8db3a..b6a40e22a8 100644
+index 6f64b8db3..b6a40e22a 100644
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
@@ -241,6 +241,11 @@ public class EnchantmentManager {
@@ -26,7 +26,7 @@ index 6f64b8db3a..b6a40e22a8 100644
public static Entry<EnumItemSlot, ItemStack> b(Enchantment enchantment, EntityLiving entityliving) {
Map<EnumItemSlot, ItemStack> map = enchantment.a(entityliving);
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index 704a48c8ea..64d71a9a2a 100644
+index 704a48c8e..64d71a9a2 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -251,10 +251,12 @@ public class EntityExperienceOrb extends Entity {
@@ -43,10 +43,10 @@ index 704a48c8ea..64d71a9a2a 100644
return i * 2;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index ec52987820..92d45ab7df 100644
+index 0e0421a22..4fa554b29 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1054,8 +1054,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1053,8 +1053,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return GameMode.getByValue(getHandle().playerInteractManager.getGameMode().getId());
}
diff --git a/Spigot-Server-Patches/0195-Make-max-squid-spawn-height-configurable.patch b/Spigot-Server-Patches/0194-Make-max-squid-spawn-height-configurable.patch
index e4588a599e..fdd7ad735c 100644
--- a/Spigot-Server-Patches/0195-Make-max-squid-spawn-height-configurable.patch
+++ b/Spigot-Server-Patches/0194-Make-max-squid-spawn-height-configurable.patch
@@ -1,4 +1,4 @@
-From 2a4121b6db835f78f36e5680d2a2c2bf76767766 Mon Sep 17 00:00:00 2001
+From f89d9937f9523a2d3000d9907c854111ff866e25 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Thu, 11 Jan 2018 16:47:28 -0600
Subject: [PATCH] Make max squid spawn height configurable
diff --git a/Spigot-Server-Patches/0196-PreCreatureSpawnEvent.patch b/Spigot-Server-Patches/0195-PreCreatureSpawnEvent.patch
index 9e679d52fe..00b382b89b 100644
--- a/Spigot-Server-Patches/0196-PreCreatureSpawnEvent.patch
+++ b/Spigot-Server-Patches/0195-PreCreatureSpawnEvent.patch
@@ -1,4 +1,4 @@
-From da358531a943040a325275a457afe2a94571e7b1 Mon Sep 17 00:00:00 2001
+From 31553b6ff48f0728ccdab436857ba9ea9c9b0f29 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 14 Jan 2018 17:01:31 -0500
Subject: [PATCH] PreCreatureSpawnEvent
@@ -15,7 +15,7 @@ instead and save a lot of server resources.
See: https://github.com/PaperMC/Paper/issues/917
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
-index 9aed0d6b8..dce9e2fc1 100644
+index 98eb0d24c..77d4bbce1 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -271,6 +271,7 @@ public class EntityTypes<T extends Entity> {
@@ -27,7 +27,7 @@ index 9aed0d6b8..dce9e2fc1 100644
if (this.bg == null) {
MinecraftKey minecraftkey = IRegistry.ENTITY_TYPE.getKey(this);
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
-index d8ae336e9..bca0e3a2e 100644
+index 93fad14d3..55764deec 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -103,6 +103,27 @@ public abstract class MobSpawnerAbstract {
@@ -59,7 +59,7 @@ index d8ae336e9..bca0e3a2e 100644
Entity entity = EntityTypes.a(nbttagcompound, world, (entity1) -> {
entity1.setPositionRotation(d3, d4, d5, entity1.yaw, entity1.pitch);
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
-index 7e58e4714..e5695c760 100644
+index cbf05926a..14e2f3ca7 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -38,7 +38,7 @@ public final class SpawnerCreature {
diff --git a/Spigot-Server-Patches/0197-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch
index c9a47b4dd8..0605e6981d 100644
--- a/Spigot-Server-Patches/0197-PlayerNaturallySpawnCreaturesEvent.patch
+++ b/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch
@@ -1,4 +1,4 @@
-From 19b85fdd78fce59a1e4c21342c6941a6c36df28c Mon Sep 17 00:00:00 2001
+From 81395ec21ce58c65cc12709e50127c67098e5ee9 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 14 Jan 2018 17:36:02 -0500
Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent
@@ -9,10 +9,10 @@ from triggering monster spawns on a server.
Also a highly more effecient way to blanket block spawns in a world
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index 8e40027ac..e44570c60 100644
+index a93117667..ae04198c9 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-@@ -675,12 +675,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -712,12 +712,17 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
int chunkRange = world.spigotConfig.mobSpawnRange;
chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange;
chunkRange = (chunkRange > 8) ? 8 : chunkRange;
@@ -22,7 +22,7 @@ index 8e40027ac..e44570c60 100644
+ //double blockRange = Math.pow(chunkRange << 4, 2); // Paper - use the range from the event
// Spigot end
- return this.y.a(chunkcoordintpair.pair()).noneMatch((entityplayer) -> {
+ return this.playerMap.a(chunkcoordintpair.pair()).noneMatch((entityplayer) -> {
- return !entityplayer.isSpectator() && a(chunkcoordintpair, (Entity) entityplayer) < blockRange; // Spigot
+ // Paper start -
+ com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent event
diff --git a/Spigot-Server-Patches/0198-Add-setPlayerProfile-API-for-Skulls.patch b/Spigot-Server-Patches/0197-Add-setPlayerProfile-API-for-Skulls.patch
index c245c3085a..0508683372 100644
--- a/Spigot-Server-Patches/0198-Add-setPlayerProfile-API-for-Skulls.patch
+++ b/Spigot-Server-Patches/0197-Add-setPlayerProfile-API-for-Skulls.patch
@@ -1,4 +1,4 @@
-From b7edad7363c088065a78acc0b2aee22b51f0f413 Mon Sep 17 00:00:00 2001
+From aaaac679239827b55e690edffe62cddc8f082a29 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 19 Jan 2018 00:36:25 -0500
Subject: [PATCH] Add setPlayerProfile API for Skulls
@@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo
which commonly cause rate limit issues with Mojang API
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
-index a4bc7f9701..2dd2f476f0 100644
+index a4bc7f970..2dd2f476f 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java
@@ -1,5 +1,7 @@
@@ -48,7 +48,7 @@ index a4bc7f9701..2dd2f476f0 100644
public BlockFace getRotation() {
BlockData blockData = getBlockData();
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
-index 0136e1bfe1..aee97b9f03 100644
+index 0136e1bfe..aee97b9f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java
@@ -3,6 +3,8 @@ package org.bukkit.craftbukkit.inventory;
diff --git a/Spigot-Server-Patches/0199-Fill-Profile-Property-Events.patch b/Spigot-Server-Patches/0198-Fill-Profile-Property-Events.patch
index 1a2c0dbd48..a21a7b80b2 100644
--- a/Spigot-Server-Patches/0199-Fill-Profile-Property-Events.patch
+++ b/Spigot-Server-Patches/0198-Fill-Profile-Property-Events.patch
@@ -1,4 +1,4 @@
-From 175fd070689b73c0be2c7d7048120abf4c50719f Mon Sep 17 00:00:00 2001
+From 42e6a4c1631ac80556542d00dfe1c3cb73c7ee52 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 2 Jan 2018 00:31:26 -0500
Subject: [PATCH] Fill Profile Property Events
diff --git a/Spigot-Server-Patches/0200-PlayerAdvancementCriterionGrantEvent.patch b/Spigot-Server-Patches/0199-PlayerAdvancementCriterionGrantEvent.patch
index 2f14f6b965..78369d9b74 100644
--- a/Spigot-Server-Patches/0200-PlayerAdvancementCriterionGrantEvent.patch
+++ b/Spigot-Server-Patches/0199-PlayerAdvancementCriterionGrantEvent.patch
@@ -1,11 +1,11 @@
-From 9545982da8ce414d8e40563962799a070cdc2c27 Mon Sep 17 00:00:00 2001
+From 17b2ad1e5cef6cf031fb86d740f03a5cb9e81e7e Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 19 Jan 2018 08:15:29 -0600
Subject: [PATCH] PlayerAdvancementCriterionGrantEvent
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
-index 71158ea8b..ddee2c030 100644
+index f751c30cf..593979152 100644
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
@@ -276,6 +276,12 @@ public class AdvancementDataPlayer {
diff --git a/Spigot-Server-Patches/0201-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0200-Add-ArmorStand-Item-Meta.patch
index 18ee3cc2d5..d504a3a44a 100644
--- a/Spigot-Server-Patches/0201-Add-ArmorStand-Item-Meta.patch
+++ b/Spigot-Server-Patches/0200-Add-ArmorStand-Item-Meta.patch
@@ -1,4 +1,4 @@
-From 4b232cd90061c3234462a8fddd8c265d56269971 Mon Sep 17 00:00:00 2001
+From c9383f72b378e02c8fb4dca1392f6a816dccf95f Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Sat, 27 Jan 2018 17:04:14 -0500
Subject: [PATCH] Add ArmorStand Item Meta
@@ -13,7 +13,7 @@ starting point for future additions in this area.
Fixes GH-559
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
-index 929d73692a..df70c5c0ef 100644
+index 929d73692..df70c5c0e 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -194,6 +194,8 @@ public final class CraftItemFactory implements ItemFactory {
@@ -26,7 +26,7 @@ index 929d73692a..df70c5c0ef 100644
case CHEST:
case TRAPPED_CHEST:
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 00497350a3..88154d2f23 100644
+index 00497350a..88154d2f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -395,6 +395,8 @@ public final class CraftItemStack extends ItemStack {
@@ -40,7 +40,7 @@ index 00497350a3..88154d2f23 100644
case TRAPPED_CHEST:
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java
new file mode 100644
-index 0000000000..c00b89c8d4
+index 000000000..c00b89c8d
--- /dev/null
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java
@@ -0,0 +1,311 @@
@@ -356,7 +356,7 @@ index 0000000000..c00b89c8d4
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 0d513e1f33..159037fc3e 100644
+index 0d513e1f3..159037fc3 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -161,6 +161,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -385,7 +385,7 @@ index 0d513e1f33..159037fc3e 100644
}
return HANDLED_TAGS;
diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
-index 6abde9030d..2a0852675b 100644
+index 6abde9030..2a0852675 100644
--- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
+++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
@@ -6,6 +6,7 @@ import java.util.ArrayList;
diff --git a/Spigot-Server-Patches/0202-Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/0201-Extend-Player-Interact-cancellation.patch
index 5dc16315a2..7333d07033 100644
--- a/Spigot-Server-Patches/0202-Extend-Player-Interact-cancellation.patch
+++ b/Spigot-Server-Patches/0201-Extend-Player-Interact-cancellation.patch
@@ -1,4 +1,4 @@
-From c378827bab648bc642354104b0277b765275ce6f Mon Sep 17 00:00:00 2001
+From 0cb9cc2517f0e2fe518b8650eb849be0dc9dd48b Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sun, 11 Feb 2018 10:43:46 +0000
Subject: [PATCH] Extend Player Interact cancellation
diff --git a/Spigot-Server-Patches/0203-Tameable-getOwnerUniqueId-API.patch b/Spigot-Server-Patches/0202-Tameable-getOwnerUniqueId-API.patch
index 8a45d5802b..7cc8ba1b44 100644
--- a/Spigot-Server-Patches/0203-Tameable-getOwnerUniqueId-API.patch
+++ b/Spigot-Server-Patches/0202-Tameable-getOwnerUniqueId-API.patch
@@ -1,4 +1,4 @@
-From 44e7a3d44b8c47e34b6de9b4d71d0809f10dfaad Mon Sep 17 00:00:00 2001
+From f828c35f29e7ea0af0e0cdb6c02f584860659519 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 24 Feb 2018 01:14:55 -0500
Subject: [PATCH] Tameable#getOwnerUniqueId API
@@ -7,7 +7,7 @@ This is faster if all you need is the UUID, as .getOwner() will cause
an OfflinePlayer to be loaded from disk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
-index 9952db3eb5..1aea5f3f05 100644
+index 9952db3eb..1aea5f3f0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
@@ -90,6 +90,9 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac
@@ -21,7 +21,7 @@ index 9952db3eb5..1aea5f3f05 100644
return getHandle().getOwnerUUID();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java
-index 5dfa40dda1..407b95cafd 100644
+index 5dfa40dda..407b95caf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java
@@ -17,6 +17,9 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat
diff --git a/Spigot-Server-Patches/0204-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0203-Toggleable-player-crits-helps-mitigate-hacked-client.patch
index bc1d8a97c2..995d513079 100644
--- a/Spigot-Server-Patches/0204-Toggleable-player-crits-helps-mitigate-hacked-client.patch
+++ b/Spigot-Server-Patches/0203-Toggleable-player-crits-helps-mitigate-hacked-client.patch
@@ -1,4 +1,4 @@
-From 083c75803c43b7f597b8f1b1b25b6f762535b908 Mon Sep 17 00:00:00 2001
+From ee8d66e3a254792907ff2ab982f77e14e7e8c52b Mon Sep 17 00:00:00 2001
From: MiniDigger <[email protected]>
Date: Sat, 10 Mar 2018 00:50:24 +0100
Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients.
@@ -21,7 +21,7 @@ index c3e61bdfe..32bfe0e46 100644
private void allChunksAreSlimeChunks() {
allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false);
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index a30d88af8..58e2601ef 100644
+index b97e34163..14c44a360 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -981,6 +981,7 @@ public abstract class EntityHuman extends EntityLiving {
diff --git a/Spigot-Server-Patches/0205-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch b/Spigot-Server-Patches/0204-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch
index afb5506a58..3c3c44b845 100644
--- a/Spigot-Server-Patches/0205-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch
+++ b/Spigot-Server-Patches/0204-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch
@@ -1,4 +1,4 @@
-From 59a62d526fd2db7cfe0976fa63bc0e2be2cd90d9 Mon Sep 17 00:00:00 2001
+From 268a73860e33fa98c54470ffb7de2ee3f16ed6f4 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sat, 10 Mar 2018 13:03:49 +0000
Subject: [PATCH] Fix NPE when getting location from InventoryEnderChest opened
diff --git a/Spigot-Server-Patches/0206-Prevent-Frosted-Ice-from-loading-holding-chunks.patch b/Spigot-Server-Patches/0205-Prevent-Frosted-Ice-from-loading-holding-chunks.patch
index 9142a73f48..dc5c2a5e97 100644
--- a/Spigot-Server-Patches/0206-Prevent-Frosted-Ice-from-loading-holding-chunks.patch
+++ b/Spigot-Server-Patches/0205-Prevent-Frosted-Ice-from-loading-holding-chunks.patch
@@ -1,4 +1,4 @@
-From 4e2293389a9c1d4a8a4b6b9f082c383a33282a9d Mon Sep 17 00:00:00 2001
+From 8c39ac12cabf0929c69641e0d509b0427498b8f3 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 10 Mar 2018 16:33:15 -0500
Subject: [PATCH] Prevent Frosted Ice from loading/holding chunks
diff --git a/Spigot-Server-Patches/0207-Disable-Explicit-Network-Manager-Flushing.patch b/Spigot-Server-Patches/0206-Disable-Explicit-Network-Manager-Flushing.patch
index c7a8ff693d..fbb0602345 100644
--- a/Spigot-Server-Patches/0207-Disable-Explicit-Network-Manager-Flushing.patch
+++ b/Spigot-Server-Patches/0206-Disable-Explicit-Network-Manager-Flushing.patch
@@ -1,4 +1,4 @@
-From 6038b08ae7ea24cae5b4453e5e2401f06fe3763f Mon Sep 17 00:00:00 2001
+From 6ef4c09ca221c0a6d30e1f8b32e4ce28aa40c874 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 11 Mar 2018 14:13:33 -0400
Subject: [PATCH] Disable Explicit Network Manager Flushing
diff --git a/Spigot-Server-Patches/0208-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0207-Implement-extended-PaperServerListPingEvent.patch
index 992c4c3bfc..330ff85802 100644
--- a/Spigot-Server-Patches/0208-Implement-extended-PaperServerListPingEvent.patch
+++ b/Spigot-Server-Patches/0207-Implement-extended-PaperServerListPingEvent.patch
@@ -1,4 +1,4 @@
-From c64067e1e031f2feea4e8405a734618792f6c54c Mon Sep 17 00:00:00 2001
+From e05161408f34c060a08f1ff90a9bb628d5e1b52a Mon Sep 17 00:00:00 2001
From: Minecrell <[email protected]>
Date: Wed, 11 Oct 2017 15:56:26 +0200
Subject: [PATCH] Implement extended PaperServerListPingEvent
@@ -6,7 +6,7 @@ Subject: [PATCH] Implement extended PaperServerListPingEvent
diff --git a/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java
new file mode 100644
-index 0000000000..c1a8e295b6
+index 000000000..c1a8e295b
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java
@@ -0,0 +1,31 @@
@@ -43,7 +43,7 @@ index 0000000000..c1a8e295b6
+}
diff --git a/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java
new file mode 100644
-index 0000000000..a2a409e635
+index 000000000..a2a409e63
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java
@@ -0,0 +1,11 @@
@@ -60,7 +60,7 @@ index 0000000000..a2a409e635
+}
diff --git a/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
new file mode 100644
-index 0000000000..a85466bc7e
+index 000000000..a85466bc7
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java
@@ -0,0 +1,112 @@
@@ -177,7 +177,7 @@ index 0000000000..a85466bc7e
+
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index c84af46815..ffa850077f 100644
+index 1290cff77..ea3d9e9af 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1,6 +1,7 @@
@@ -198,7 +198,7 @@ index c84af46815..ffa850077f 100644
for (int k = 0; k < agameprofile.length; ++k) {
diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java
-index b247a18b9e..ba1c76c1a5 100644
+index b247a18b9..ba1c76c1a 100644
--- a/src/main/java/net/minecraft/server/PacketStatusListener.java
+++ b/src/main/java/net/minecraft/server/PacketStatusListener.java
@@ -32,6 +32,8 @@ public class PacketStatusListener implements PacketStatusInListener {
@@ -221,7 +221,7 @@ index b247a18b9e..ba1c76c1a5 100644
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java
-index aa125a52dc..ea52e89bd9 100644
+index aa125a52d..ea52e89bd 100644
--- a/src/main/java/net/minecraft/server/ServerPing.java
+++ b/src/main/java/net/minecraft/server/ServerPing.java
@@ -29,6 +29,7 @@ public class ServerPing {
@@ -246,7 +246,7 @@ index aa125a52dc..ea52e89bd9 100644
this.c = agameprofile;
}
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
-index bd601333ee..6c5430ff94 100644
+index bd601333e..6c5430ff9 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -290,7 +290,7 @@ public class SpigotConfig
diff --git a/Spigot-Server-Patches/0209-Improved-Async-Task-Scheduler.patch b/Spigot-Server-Patches/0208-Improved-Async-Task-Scheduler.patch
index edb7b1e36d..7c05f36c81 100644
--- a/Spigot-Server-Patches/0209-Improved-Async-Task-Scheduler.patch
+++ b/Spigot-Server-Patches/0208-Improved-Async-Task-Scheduler.patch
@@ -1,4 +1,4 @@
-From c2ec98180b068515c689d86b4e3610f7d308d0c9 Mon Sep 17 00:00:00 2001
+From 0b46b3e63b9c59ae3da52b9bd3ec7f456e3217b1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 16 Mar 2018 22:59:43 -0400
Subject: [PATCH] Improved Async Task Scheduler
@@ -32,7 +32,7 @@ operations are decoupled from the sync tasks queue.
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java
new file mode 100644
-index 0000000000..3c1992e212
+index 000000000..3c1992e21
--- /dev/null
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java
@@ -0,0 +1,122 @@
@@ -159,7 +159,7 @@ index 0000000000..3c1992e212
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
-index e102be583c..5db848de14 100644
+index e102be583..5db848de1 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -62,7 +62,7 @@ public class CraftScheduler implements BukkitScheduler {
diff --git a/Spigot-Server-Patches/0210-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-Server-Patches/0209-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch
index 10f5b55d09..acc79cca8f 100644
--- a/Spigot-Server-Patches/0210-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch
+++ b/Spigot-Server-Patches/0209-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch
@@ -1,4 +1,4 @@
-From 45679906356d36c89d2031de68f3fb5a3bfb84dc Mon Sep 17 00:00:00 2001
+From e8b48e35704ac20d175d9fda1a7b1b65005bff05 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 18 Mar 2018 11:45:57 -0400
Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent
diff --git a/Spigot-Server-Patches/0211-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0210-Player.setPlayerProfile-API.patch
index ed4089bac9..8023899aec 100644
--- a/Spigot-Server-Patches/0211-Player.setPlayerProfile-API.patch
+++ b/Spigot-Server-Patches/0210-Player.setPlayerProfile-API.patch
@@ -1,4 +1,4 @@
-From fea19000fb2d1139365f782ba85605e09a573fb1 Mon Sep 17 00:00:00 2001
+From 4ae489261829222b96472c09200385ca09733236 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 18 Mar 2018 12:29:48 -0400
Subject: [PATCH] Player.setPlayerProfile API
@@ -6,7 +6,7 @@ Subject: [PATCH] Player.setPlayerProfile API
This can be useful for changing name or skins after a player has logged in.
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index 58e2601eff..1df83d13ab 100644
+index 14c44a360..23a2f92f2 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -65,7 +65,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -19,7 +19,7 @@ index 58e2601eff..1df83d13ab 100644
private final ItemCooldown bY;
@Nullable
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
-index 7c3b9c0b97..d4d752ddb4 100644
+index 7c3b9c0b9..d4d752ddb 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -37,7 +37,7 @@ public class LoginListener implements PacketLoginInListener {
@@ -48,7 +48,7 @@ index 7c3b9c0b97..d4d752ddb4 100644
uniqueId = i.getId();
// Paper end
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 92d45ab7df..b2b36dcec5 100644
+index 4fa554b29..35cacb3d2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1,6 +1,8 @@
@@ -60,7 +60,7 @@ index 92d45ab7df..b2b36dcec5 100644
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.io.BaseEncoding;
-@@ -1194,8 +1196,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1193,8 +1195,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
hiddenPlayers.put(player.getUniqueId(), hidingPlugins);
// Remove this player from the hidden player's EntityTrackerEntry
@@ -75,7 +75,7 @@ index 92d45ab7df..b2b36dcec5 100644
PlayerChunkMap.EntityTracker entry = tracker.trackedEntities.get(other.getId());
if (entry != null) {
entry.clear(getHandle());
-@@ -1236,8 +1243,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1235,8 +1242,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
hiddenPlayers.remove(player.getUniqueId());
@@ -90,7 +90,7 @@ index 92d45ab7df..b2b36dcec5 100644
getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, other));
-@@ -1246,6 +1258,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1245,6 +1257,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
entry.updatePlayer(getHandle());
}
}
diff --git a/Spigot-Server-Patches/0212-Fix-Dragon-Server-Crashes.patch b/Spigot-Server-Patches/0211-Fix-Dragon-Server-Crashes.patch
index 1d020370b7..23724652ad 100644
--- a/Spigot-Server-Patches/0212-Fix-Dragon-Server-Crashes.patch
+++ b/Spigot-Server-Patches/0211-Fix-Dragon-Server-Crashes.patch
@@ -1,4 +1,4 @@
-From 143f42bf1e4874b298ea26da4915b9dad3cf405a Mon Sep 17 00:00:00 2001
+From ad97f7eebebed0934e2101b38b6910ce8de3cebd Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 21 Mar 2018 20:52:07 -0400
Subject: [PATCH] Fix Dragon Server Crashes
@@ -7,7 +7,7 @@ If the dragon tries to find "ground" and hits a hole, or off edge,
it will infinitely keep looking for non air and eventually crash.
diff --git a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
-index cfe84f4d48..4ab310cd6b 100644
+index cfe84f4d4..4ab310cd6 100644
--- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
+++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
@@ -53,7 +53,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded
diff --git a/Spigot-Server-Patches/0213-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0212-getPlayerUniqueId-API.patch
index 05964e2097..3b411a78e7 100644
--- a/Spigot-Server-Patches/0213-getPlayerUniqueId-API.patch
+++ b/Spigot-Server-Patches/0212-getPlayerUniqueId-API.patch
@@ -1,4 +1,4 @@
-From 31148f6d3e9ada3c1c1a8d78fa006e1f0602dcd9 Mon Sep 17 00:00:00 2001
+From 0478c931e23f3952dd48fe4be7f457f4373acb75 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 22 Mar 2018 01:40:24 -0400
Subject: [PATCH] getPlayerUniqueId API
@@ -9,7 +9,7 @@ In Offline Mode, will return an Offline UUID
This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 0732a6f218..45710c0d2a 100644
+index d4c8c4259..4fe8e198f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1355,6 +1355,26 @@ public final class CraftServer implements Server {
diff --git a/Spigot-Server-Patches/0214-Make-player-data-saving-configurable.patch b/Spigot-Server-Patches/0213-Make-player-data-saving-configurable.patch
index 36741ace63..5eae33b1a7 100644
--- a/Spigot-Server-Patches/0214-Make-player-data-saving-configurable.patch
+++ b/Spigot-Server-Patches/0213-Make-player-data-saving-configurable.patch
@@ -1,4 +1,4 @@
-From de737d42db59cb9f89d22478a16c859d63616196 Mon Sep 17 00:00:00 2001
+From 006293719b6966549e326c55587dafd894d7dcbc Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <[email protected]>
Date: Mon, 26 Mar 2018 18:30:53 +0300
Subject: [PATCH] Make player data saving configurable
diff --git a/Spigot-Server-Patches/0215-Make-legacy-ping-handler-more-reliable.patch b/Spigot-Server-Patches/0214-Make-legacy-ping-handler-more-reliable.patch
index 3217d738a8..fda5cf5b51 100644
--- a/Spigot-Server-Patches/0215-Make-legacy-ping-handler-more-reliable.patch
+++ b/Spigot-Server-Patches/0214-Make-legacy-ping-handler-more-reliable.patch
@@ -1,4 +1,4 @@
-From 9437cc71ca1b7e3b5ee6f2130b40da55b8cd4acc Mon Sep 17 00:00:00 2001
+From a045575f71bd8967abbb2a007bc9d74b219169e4 Mon Sep 17 00:00:00 2001
From: Minecrell <[email protected]>
Date: Wed, 11 Oct 2017 18:22:50 +0200
Subject: [PATCH] Make legacy ping handler more reliable
@@ -28,7 +28,7 @@ respond to the request.
[2]: https://netty.io/wiki/user-guide-for-4.x.html#wiki-h4-13
diff --git a/src/main/java/net/minecraft/server/LegacyPingHandler.java b/src/main/java/net/minecraft/server/LegacyPingHandler.java
-index c8c5df7f95..06aefcb638 100644
+index c8c5df7f9..06aefcb63 100644
--- a/src/main/java/net/minecraft/server/LegacyPingHandler.java
+++ b/src/main/java/net/minecraft/server/LegacyPingHandler.java
@@ -14,6 +14,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter {
diff --git a/Spigot-Server-Patches/0216-Call-PaperServerListPingEvent-for-legacy-pings.patch b/Spigot-Server-Patches/0215-Call-PaperServerListPingEvent-for-legacy-pings.patch
index a711600461..6c86adb92f 100644
--- a/Spigot-Server-Patches/0216-Call-PaperServerListPingEvent-for-legacy-pings.patch
+++ b/Spigot-Server-Patches/0215-Call-PaperServerListPingEvent-for-legacy-pings.patch
@@ -1,4 +1,4 @@
-From f113177c3094f1768d178d118a98374fe96173c2 Mon Sep 17 00:00:00 2001
+From 377398d718b3643d8a65138c4c5748b9a990d0b6 Mon Sep 17 00:00:00 2001
From: Minecrell <[email protected]>
Date: Wed, 11 Oct 2017 19:30:51 +0200
Subject: [PATCH] Call PaperServerListPingEvent for legacy pings
@@ -6,7 +6,7 @@ Subject: [PATCH] Call PaperServerListPingEvent for legacy pings
diff --git a/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java b/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java
new file mode 100644
-index 0000000000..74c012fd40
+index 000000000..74c012fd4
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java
@@ -0,0 +1,73 @@
@@ -84,7 +84,7 @@ index 0000000000..74c012fd40
+
+}
diff --git a/src/main/java/net/minecraft/server/LegacyPingHandler.java b/src/main/java/net/minecraft/server/LegacyPingHandler.java
-index 06aefcb638..d0bb5496e4 100644
+index 06aefcb63..d0bb5496e 100644
--- a/src/main/java/net/minecraft/server/LegacyPingHandler.java
+++ b/src/main/java/net/minecraft/server/LegacyPingHandler.java
@@ -1,5 +1,7 @@
diff --git a/Spigot-Server-Patches/0217-Flag-to-disable-the-channel-limit.patch b/Spigot-Server-Patches/0216-Flag-to-disable-the-channel-limit.patch
index b0db18cf17..8ff718e080 100644
--- a/Spigot-Server-Patches/0217-Flag-to-disable-the-channel-limit.patch
+++ b/Spigot-Server-Patches/0216-Flag-to-disable-the-channel-limit.patch
@@ -1,4 +1,4 @@
-From 361acebcb325d29609c67b1a6198a0623133dc4d Mon Sep 17 00:00:00 2001
+From bf12bbe1828f2b1cf3a259862df5c71675611bf7 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sat, 31 Mar 2018 17:04:26 +0100
Subject: [PATCH] Flag to disable the channel limit
@@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs.
provide an optional flag to disable this check, at your own risk.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index b2b36dcec5..23a205af1e 100644
+index 35cacb3d2..be7c5d174 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -136,6 +136,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -20,7 +20,7 @@ index b2b36dcec5..23a205af1e 100644
// Paper end
public CraftPlayer(CraftServer server, EntityPlayer entity) {
-@@ -1460,7 +1461,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1459,7 +1460,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void addChannel(String channel) {
diff --git a/Spigot-Server-Patches/0218-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0217-Add-method-to-open-already-placed-sign.patch
index 3037a7dee2..7fe7f1f48f 100644
--- a/Spigot-Server-Patches/0218-Add-method-to-open-already-placed-sign.patch
+++ b/Spigot-Server-Patches/0217-Add-method-to-open-already-placed-sign.patch
@@ -1,11 +1,11 @@
-From 140c69ba78c6f91daf7ec29260867f0df8bba17a Mon Sep 17 00:00:00 2001
+From 0fbcf21ba6889ee6ed6dace874cc782b641d2682 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <[email protected]>
Date: Sun, 1 Apr 2018 02:29:37 +0300
Subject: [PATCH] Add method to open already placed sign
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
-index ad76feb253..d0a019f50d 100644
+index ad76feb25..d0a019f50 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
@@ -752,4 +752,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
diff --git a/Spigot-Server-Patches/0219-Load-version-history-at-server-start.patch b/Spigot-Server-Patches/0218-Load-version-history-at-server-start.patch
index d99a58a603..6af5580ed0 100644
--- a/Spigot-Server-Patches/0219-Load-version-history-at-server-start.patch
+++ b/Spigot-Server-Patches/0218-Load-version-history-at-server-start.patch
@@ -1,11 +1,11 @@
-From bd50777e0d7f271872ef38ba9257dafea208727e Mon Sep 17 00:00:00 2001
+From ddeda45f212404065b346d694bffc2f37e76a769 Mon Sep 17 00:00:00 2001
From: Kyle Wood <[email protected]>
Date: Thu, 1 Mar 2018 19:38:14 -0600
Subject: [PATCH] Load version history at server start
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index d9f1c22050..c2c676e3bb 100644
+index d9f1c2205..c2c676e3b 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -172,6 +172,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
diff --git a/Spigot-Server-Patches/0220-Configurable-sprint-interruption-on-attack.patch b/Spigot-Server-Patches/0219-Configurable-sprint-interruption-on-attack.patch
index 4e2389d5e6..ea45405664 100644
--- a/Spigot-Server-Patches/0220-Configurable-sprint-interruption-on-attack.patch
+++ b/Spigot-Server-Patches/0219-Configurable-sprint-interruption-on-attack.patch
@@ -1,4 +1,4 @@
-From 51a904fe3f153f669da47a13d8fc78d4aa234314 Mon Sep 17 00:00:00 2001
+From 41305423d682a6b9bbc04d7ad00cc8df619cc030 Mon Sep 17 00:00:00 2001
From: Brokkonaut <[email protected]>
Date: Sat, 14 Apr 2018 20:20:46 +0200
Subject: [PATCH] Configurable sprint interruption on attack
@@ -6,7 +6,7 @@ Subject: [PATCH] Configurable sprint interruption on attack
If the sprint interruption is disabled players continue sprinting when they attack entities.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 32bfe0e462..7024336c3a 100644
+index 32bfe0e46..7024336c3 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -354,4 +354,9 @@ public class PaperWorldConfig {
@@ -20,7 +20,7 @@ index 32bfe0e462..7024336c3a 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index 1df83d13ab..27bf83f373 100644
+index 23a2f92f2..58d2a28a4 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -1030,7 +1030,11 @@ public abstract class EntityHuman extends EntityLiving {
diff --git a/Spigot-Server-Patches/0221-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0220-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
index 3de4ad5081..ebae8bd927 100644
--- a/Spigot-Server-Patches/0221-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
+++ b/Spigot-Server-Patches/0220-Fix-exploit-that-allowed-colored-signs-to-be-created.patch
@@ -1,11 +1,11 @@
-From 9685f7c711979c599f23ce5bab39b7c3c281c342 Mon Sep 17 00:00:00 2001
+From 51dc2519e60f89dd9c4de4c6af0ea827965234f4 Mon Sep 17 00:00:00 2001
From: 0x22 <[email protected]>
Date: Thu, 26 Apr 2018 04:41:11 -0400
Subject: [PATCH] Fix exploit that allowed colored signs to be created
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 96ec50f6c6..594196107c 100644
+index c6a44c5f2..83fc7b285 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2515,7 +2515,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0222-EndermanEscapeEvent.patch b/Spigot-Server-Patches/0221-EndermanEscapeEvent.patch
index 40c4312bd3..538e917b66 100644
--- a/Spigot-Server-Patches/0222-EndermanEscapeEvent.patch
+++ b/Spigot-Server-Patches/0221-EndermanEscapeEvent.patch
@@ -1,4 +1,4 @@
-From 8e584b5ccf3f2e74b3df22065ddd9ff81ccb499d Mon Sep 17 00:00:00 2001
+From b369d2542ce8ed4fa380bd97966921b2eb857b92 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 30 Apr 2018 13:15:55 -0400
Subject: [PATCH] EndermanEscapeEvent
@@ -8,7 +8,7 @@ Fires an event anytime an enderman intends to teleport away from the player
You may cancel this, enabling ranged attacks to damage the enderman for example.
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
-index 9f2e350b33..2b484c8199 100644
+index ae198f3b9..28184fb36 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -2,6 +2,7 @@ package net.minecraft.server;
@@ -41,7 +41,7 @@ index 9f2e350b33..2b484c8199 100644
this.setGoalTarget((EntityLiving) null);
this.dW();
}
-@@ -256,17 +263,19 @@ public class EntityEnderman extends EntityMonster {
+@@ -266,17 +273,19 @@ public class EntityEnderman extends EntityMonster {
} else if (!(damagesource instanceof EntityDamageSourceIndirect) && damagesource != DamageSource.FIREWORKS) {
boolean flag = super.damageEntity(damagesource, f);
@@ -62,7 +62,7 @@ index 9f2e350b33..2b484c8199 100644
return false;
}
-@@ -388,7 +397,7 @@ public class EntityEnderman extends EntityMonster {
+@@ -398,7 +407,7 @@ public class EntityEnderman extends EntityMonster {
static class PathfinderGoalPlayerWhoLookedAtTarget extends PathfinderGoalNearestAttackableTarget<EntityHuman> {
@@ -71,7 +71,7 @@ index 9f2e350b33..2b484c8199 100644
private EntityHuman j;
private int k;
private int l;
-@@ -446,7 +455,7 @@ public class EntityEnderman extends EntityMonster {
+@@ -456,7 +465,7 @@ public class EntityEnderman extends EntityMonster {
} else {
if (this.c != null && !this.i.isPassenger()) {
if (this.i.f((EntityHuman) this.c)) {
diff --git a/Spigot-Server-Patches/0223-Enderman.teleportRandomly.patch b/Spigot-Server-Patches/0222-Enderman.teleportRandomly.patch
index 6dec7482b7..6f160cbc6e 100644
--- a/Spigot-Server-Patches/0223-Enderman.teleportRandomly.patch
+++ b/Spigot-Server-Patches/0222-Enderman.teleportRandomly.patch
@@ -1,4 +1,4 @@
-From 07e060c038faeb04adffbf51444aaa89f9f807d5 Mon Sep 17 00:00:00 2001
+From 032459db8e7bcd285fd8b1cff9d0fe72ea2c483b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 30 Apr 2018 13:29:44 -0400
Subject: [PATCH] Enderman.teleportRandomly()
@@ -6,7 +6,7 @@ Subject: [PATCH] Enderman.teleportRandomly()
Ability to trigger the vanilla "teleport randomly" mechanic of an enderman.
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
-index 2b484c8199..e441fa234d 100644
+index 28184fb36..d0fb14992 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -190,6 +190,7 @@ public class EntityEnderman extends EntityMonster {
@@ -18,7 +18,7 @@ index 2b484c8199..e441fa234d 100644
double d0 = this.locX + (this.random.nextDouble() - 0.5D) * 64.0D;
double d1 = this.locY + (double) (this.random.nextInt(64) - 32);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java
-index 970efabd37..0c5f359346 100644
+index 970efabd3..0c5f35934 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java
@@ -16,6 +16,7 @@ public class CraftEnderman extends CraftMonster implements Enderman {
diff --git a/Spigot-Server-Patches/0224-Block-Enderpearl-Travel-Exploit.patch b/Spigot-Server-Patches/0223-Block-Enderpearl-Travel-Exploit.patch
index adafa5b030..439d04200d 100644
--- a/Spigot-Server-Patches/0224-Block-Enderpearl-Travel-Exploit.patch
+++ b/Spigot-Server-Patches/0223-Block-Enderpearl-Travel-Exploit.patch
@@ -1,4 +1,4 @@
-From a2b8eb20c4a62d998d65ed72ebe19a3b20952731 Mon Sep 17 00:00:00 2001
+From 3df4f86bb5558e85d306669c733165d9ec6cf589 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 30 Apr 2018 17:15:26 -0400
Subject: [PATCH] Block Enderpearl Travel Exploit
@@ -12,7 +12,7 @@ This disables that by not saving the thrower when the chunk is unloaded.
This is mainly useful for survival servers that do not allow freeform teleporting.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 7024336c3a..fe9415b1de 100644
+index 7024336c3..fe9415b1d 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -359,4 +359,10 @@ public class PaperWorldConfig {
@@ -27,7 +27,7 @@ index 7024336c3a..fe9415b1de 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
-index bb4679cf76..c19828ed56 100644
+index bb4679cf7..c19828ed5 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -205,6 +205,7 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
diff --git a/Spigot-Server-Patches/0225-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch
index ea00a3108e..149b41a112 100644
--- a/Spigot-Server-Patches/0225-Expand-World.spawnParticle-API-and-add-Builder.patch
+++ b/Spigot-Server-Patches/0224-Expand-World.spawnParticle-API-and-add-Builder.patch
@@ -1,4 +1,4 @@
-From 04dc808a5456b9e5689c8902033f5da42cd291f6 Mon Sep 17 00:00:00 2001
+From 82c5d1a6b64929fee957b7bc54971b885ccf3338 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 15 Aug 2017 22:29:12 -0400
Subject: [PATCH] Expand World.spawnParticle API and add Builder
@@ -10,10 +10,10 @@ Adds an option to control the force mode of the particle.
This adds a new Builder API which is much friendlier to use.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 606ec3c482..e0254fadf2 100644
+index 9fdc8f5b0..8bc0a8cca 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -55,7 +55,7 @@ public class WorldServer extends World {
+@@ -48,7 +48,7 @@ public class WorldServer extends World {
public final Int2ObjectMap<Entity> entitiesById = new Int2ObjectLinkedOpenHashMap();
private final Map<UUID, Entity> entitiesByUUID = Maps.newHashMap();
private final Queue<Entity> entitiesToAdd = Queues.newArrayDeque();
@@ -22,7 +22,7 @@ index 606ec3c482..e0254fadf2 100644
boolean tickingEntities;
private final MinecraftServer server;
private final WorldNBTStorage dataManager;
-@@ -1340,12 +1340,17 @@ public class WorldServer extends World {
+@@ -1323,12 +1323,17 @@ public class WorldServer extends World {
}
public <T extends ParticleParam> int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) {
@@ -43,10 +43,10 @@ index 606ec3c482..e0254fadf2 100644
if (this.a(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 94178fe8ba..be8ea68546 100644
+index 9dd375951..cd3de7e1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -2055,11 +2055,17 @@ public class CraftWorld implements World {
+@@ -2038,11 +2038,17 @@ public class CraftWorld implements World {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {
diff --git a/Spigot-Server-Patches/0226-EndermanAttackPlayerEvent.patch b/Spigot-Server-Patches/0225-EndermanAttackPlayerEvent.patch
index c75b80276d..69a41f05af 100644
--- a/Spigot-Server-Patches/0226-EndermanAttackPlayerEvent.patch
+++ b/Spigot-Server-Patches/0225-EndermanAttackPlayerEvent.patch
@@ -1,4 +1,4 @@
-From 41b5bd130d90b9f3454e69599c857c9a6ac89a18 Mon Sep 17 00:00:00 2001
+From 938a8456594d8cc6e6d7000ee807c67a213104eb Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 1 May 2018 20:18:54 -0400
Subject: [PATCH] EndermanAttackPlayerEvent
@@ -8,7 +8,7 @@ Allow control over whether or not an enderman aggros a player.
This allows you to override/extend the pumpkin/stare logic.
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
-index e441fa234d..a1033ce28b 100644
+index d0fb14992..79d23f152 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -138,7 +138,15 @@ public class EntityEnderman extends EntityMonster {
diff --git a/Spigot-Server-Patches/0227-WitchConsumePotionEvent.patch b/Spigot-Server-Patches/0226-WitchConsumePotionEvent.patch
index 84767bde5b..186c3c7887 100644
--- a/Spigot-Server-Patches/0227-WitchConsumePotionEvent.patch
+++ b/Spigot-Server-Patches/0226-WitchConsumePotionEvent.patch
@@ -1,4 +1,4 @@
-From 5d70fcf0d6d534351e88769ca18f2b20ce841d68 Mon Sep 17 00:00:00 2001
+From dfc082b148fa4673aa922cc98437427bf7d1603f Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 16 May 2018 20:35:16 -0400
Subject: [PATCH] WitchConsumePotionEvent
@@ -6,7 +6,7 @@ Subject: [PATCH] WitchConsumePotionEvent
Fires when a witch consumes the potion in their hand
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
-index 477b53fa77..abac47d4cf 100644
+index 477b53fa7..abac47d4c 100644
--- a/src/main/java/net/minecraft/server/EntityWitch.java
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
@@ -88,7 +88,11 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
diff --git a/Spigot-Server-Patches/0228-WitchThrowPotionEvent.patch b/Spigot-Server-Patches/0227-WitchThrowPotionEvent.patch
index ae06a11b6e..f0979b508b 100644
--- a/Spigot-Server-Patches/0228-WitchThrowPotionEvent.patch
+++ b/Spigot-Server-Patches/0227-WitchThrowPotionEvent.patch
@@ -1,4 +1,4 @@
-From a78e9c34d5d673b93d9bf83e2887e9b238186435 Mon Sep 17 00:00:00 2001
+From 0b8caecf3df48d173c86a4ec402edb296172be58 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 16 May 2018 20:44:58 -0400
Subject: [PATCH] WitchThrowPotionEvent
@@ -6,7 +6,7 @@ Subject: [PATCH] WitchThrowPotionEvent
Fired when a witch throws a potion at a player
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
-index abac47d4cf..b9307d380a 100644
+index abac47d4c..b9307d380 100644
--- a/src/main/java/net/minecraft/server/EntityWitch.java
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
@@ -185,9 +185,16 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
diff --git a/Spigot-Server-Patches/0229-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch
index afe65e5568..bbba8c3125 100644
--- a/Spigot-Server-Patches/0229-Allow-spawning-Item-entities-with-World.spawnEntity.patch
+++ b/Spigot-Server-Patches/0228-Allow-spawning-Item-entities-with-World.spawnEntity.patch
@@ -1,4 +1,4 @@
-From 5b983abc918e15dbcd575670bcb74771f08b5194 Mon Sep 17 00:00:00 2001
+From f2e74d992757da7592895b7b8329269ad0c57d6b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 4 Jun 2018 20:39:20 -0400
Subject: [PATCH] Allow spawning Item entities with World.spawnEntity
@@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function
Item can be set inside of the Consumer pre spawn function.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index be8ea68546..6d0c0c5a2a 100644
+index cd3de7e1d..e9e30d3d5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1322,6 +1322,10 @@ public class CraftWorld implements World {
+@@ -1305,6 +1305,10 @@ public class CraftWorld implements World {
if (Boat.class.isAssignableFrom(clazz)) {
entity = new EntityBoat(world, x, y, z);
entity.setPositionRotation(x, y, z, yaw, pitch);
diff --git a/Spigot-Server-Patches/0230-WitchReadyPotionEvent.patch b/Spigot-Server-Patches/0229-WitchReadyPotionEvent.patch
index 8ef7f0e201..75da291859 100644
--- a/Spigot-Server-Patches/0230-WitchReadyPotionEvent.patch
+++ b/Spigot-Server-Patches/0229-WitchReadyPotionEvent.patch
@@ -1,11 +1,11 @@
-From 2c5d73a131d2a48f82a80f43c33b307c826138e0 Mon Sep 17 00:00:00 2001
+From eefeefe9fd82c22af80dbfd9660fcd16d3037def Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 5 Jun 2018 22:47:26 -0400
Subject: [PATCH] WitchReadyPotionEvent
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
-index b9307d380a..ae9efb72c1 100644
+index b9307d380..ae9efb72c 100644
--- a/src/main/java/net/minecraft/server/EntityWitch.java
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
@@ -121,7 +121,11 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
diff --git a/Spigot-Server-Patches/0231-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0230-ItemStack-getMaxItemUseDuration.patch
index f95a3cff80..ff02a66a54 100644
--- a/Spigot-Server-Patches/0231-ItemStack-getMaxItemUseDuration.patch
+++ b/Spigot-Server-Patches/0230-ItemStack-getMaxItemUseDuration.patch
@@ -1,4 +1,4 @@
-From 7b570ba36d932b379a2f030a356e9cd5bc1e6810 Mon Sep 17 00:00:00 2001
+From 328d1473bd7465351d1fca668adf81155cebbc67 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 5 Jun 2018 23:00:29 -0400
Subject: [PATCH] ItemStack#getMaxItemUseDuration
@@ -6,7 +6,7 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration
Allows you to determine how long it takes to use a usable/consumable item
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
-index b7d327211c..2acd02f2f4 100644
+index b7d327211..2acd02f2f 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -545,6 +545,7 @@ public final class ItemStack {
@@ -18,7 +18,7 @@ index b7d327211c..2acd02f2f4 100644
return this.getItem().f_(this);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 88154d2f23..1609e6bbb6 100644
+index 88154d2f2..1609e6bbb 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -174,6 +174,13 @@ public final class CraftItemStack extends ItemStack {
diff --git a/Spigot-Server-Patches/0232-Implement-EntityTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0231-Implement-EntityTeleportEndGatewayEvent.patch
index 195c42ab69..c6dc1a13ab 100644
--- a/Spigot-Server-Patches/0232-Implement-EntityTeleportEndGatewayEvent.patch
+++ b/Spigot-Server-Patches/0231-Implement-EntityTeleportEndGatewayEvent.patch
@@ -1,11 +1,11 @@
-From f5a86341b8dc7752da932871d5763574a17a4e40 Mon Sep 17 00:00:00 2001
+From 7d5bacdeefd6c1a2a77d3e9ef72c761099532492 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sat, 9 Jun 2018 14:08:39 +0200
Subject: [PATCH] Implement EntityTeleportEndGatewayEvent
diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
-index 5dd6706152..734d04c092 100644
+index 6aa07da6e..61963dca1 100644
--- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java
+++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
@@ -144,8 +144,19 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
diff --git a/Spigot-Server-Patches/0233-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/Spigot-Server-Patches/0232-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch
index a58f3af8e1..404f9058f5 100644
--- a/Spigot-Server-Patches/0233-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch
+++ b/Spigot-Server-Patches/0232-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch
@@ -1,4 +1,4 @@
-From de94bc8a649115e56cbcc6989f60ed1c498ad0db Mon Sep 17 00:00:00 2001
+From 1661e09044bf24b7d4f44a46b5ae45bfa540827c Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 10 Jun 2018 01:18:49 -0400
Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event
@@ -6,7 +6,7 @@ Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event
Otherwise the creeper infinite explodes
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
-index 9f03d03375..29569805cb 100644
+index 9f03d0337..29569805c 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -11,7 +11,7 @@ public class EntityCreeper extends EntityMonster {
diff --git a/Spigot-Server-Patches/0234-Fix-CraftEntity-hashCode.patch b/Spigot-Server-Patches/0233-Fix-CraftEntity-hashCode.patch
index eb1921f9a9..35855ae71e 100644
--- a/Spigot-Server-Patches/0234-Fix-CraftEntity-hashCode.patch
+++ b/Spigot-Server-Patches/0233-Fix-CraftEntity-hashCode.patch
@@ -1,4 +1,4 @@
-From ead840b9a0f68489ec534f0faee33c1cc3438379 Mon Sep 17 00:00:00 2001
+From 9b1184419b914ffd2ca89a549c25c13c23d44ff6 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 10 Jun 2018 20:20:15 -0400
Subject: [PATCH] Fix CraftEntity hashCode
@@ -21,7 +21,7 @@ check is essentially the same as this.getHandle() == other.getHandle()
However, replaced it too to make it clearer of intent.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index 4af2527d63..af0fc9bd71 100644
+index ebcd971fb..52f72e147 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -720,14 +720,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/Spigot-Server-Patches/0235-Configurable-Alternative-LootPool-Luck-Formula.patch b/Spigot-Server-Patches/0234-Configurable-Alternative-LootPool-Luck-Formula.patch
index 9bb6088be5..82bee912f4 100644
--- a/Spigot-Server-Patches/0235-Configurable-Alternative-LootPool-Luck-Formula.patch
+++ b/Spigot-Server-Patches/0234-Configurable-Alternative-LootPool-Luck-Formula.patch
@@ -1,4 +1,4 @@
-From 8eb491a62ea0800705c8e1d23bafc2c3b8855e2c Mon Sep 17 00:00:00 2001
+From ac8162ea4e6fcaf31087081680b02ac598b383aa Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 15 Jun 2018 00:30:32 -0400
Subject: [PATCH] Configurable Alternative LootPool Luck Formula
diff --git a/Spigot-Server-Patches/0236-Print-Error-details-when-failing-to-save-player-data.patch b/Spigot-Server-Patches/0235-Print-Error-details-when-failing-to-save-player-data.patch
index d913d6ac81..6d22bbb118 100644
--- a/Spigot-Server-Patches/0236-Print-Error-details-when-failing-to-save-player-data.patch
+++ b/Spigot-Server-Patches/0235-Print-Error-details-when-failing-to-save-player-data.patch
@@ -1,11 +1,11 @@
-From 1bd0ad604e6a2d0840c269cc621335dfb635eb32 Mon Sep 17 00:00:00 2001
+From ab31f6c6b798199d28843947ddfda7d308b8342a Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 15 Jun 2018 20:37:03 -0400
Subject: [PATCH] Print Error details when failing to save player data
diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java
-index e60e10c57d..350ac42d6b 100644
+index e60e10c57..350ac42d6 100644
--- a/src/main/java/net/minecraft/server/WorldNBTStorage.java
+++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java
@@ -151,7 +151,7 @@ public class WorldNBTStorage implements IPlayerFileData {
diff --git a/Spigot-Server-Patches/0237-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0236-Make-shield-blocking-delay-configurable.patch
index c2a84e4ded..ece987f503 100644
--- a/Spigot-Server-Patches/0237-Make-shield-blocking-delay-configurable.patch
+++ b/Spigot-Server-Patches/0236-Make-shield-blocking-delay-configurable.patch
@@ -1,11 +1,11 @@
-From 4533fc251af50ec3ec1372c6d4f05bc5dbc1c06d Mon Sep 17 00:00:00 2001
+From 3327d6aacece936b1531bd671de8f7c65f561f5f Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 16 Jun 2018 01:18:16 -0500
Subject: [PATCH] Make shield blocking delay configurable
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index fe9415b1de..ce17447faf 100644
+index fe9415b1d..ce17447fa 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -365,4 +365,9 @@ public class PaperWorldConfig {
@@ -19,7 +19,7 @@ index fe9415b1de..ce17447faf 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 72a5a49038..ecbfe8cf8d 100644
+index 864204078..be60f35de 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2915,7 +2915,7 @@ public abstract class EntityLiving extends Entity {
@@ -48,7 +48,7 @@ index 72a5a49038..ecbfe8cf8d 100644
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index 8bd2f95f48..aeb4b7343e 100644
+index 8bd2f95f4..aeb4b7343 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -606,5 +606,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/Spigot-Server-Patches/0238-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch b/Spigot-Server-Patches/0237-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch
index af757243a5..0d5be906e2 100644
--- a/Spigot-Server-Patches/0238-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch
+++ b/Spigot-Server-Patches/0237-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch
@@ -1,4 +1,4 @@
-From 3ac291a4e463dd06a6f8f85e6bb6007322c2f38e Mon Sep 17 00:00:00 2001
+From 5e67496180189eb198ca1edb924a62679000c812 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 16 Jun 2018 16:23:38 -0400
Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors
@@ -6,7 +6,7 @@ Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors
This code was causing NPE's in saving player data, potentially related to reloads.
diff --git a/src/main/java/net/minecraft/server/RecipeBookServer.java b/src/main/java/net/minecraft/server/RecipeBookServer.java
-index 440e8f1342..091c4abbd1 100644
+index 440e8f134..091c4abbd 100644
--- a/src/main/java/net/minecraft/server/RecipeBookServer.java
+++ b/src/main/java/net/minecraft/server/RecipeBookServer.java
@@ -78,6 +78,10 @@ public class RecipeBookServer extends RecipeBook {
diff --git a/Spigot-Server-Patches/0239-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0238-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
index abca3a1fa5..48dc047a64 100644
--- a/Spigot-Server-Patches/0239-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
+++ b/Spigot-Server-Patches/0238-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch
@@ -1,4 +1,4 @@
-From 6aa7f996f54b550a634d8b78040f237483d18157 Mon Sep 17 00:00:00 2001
+From 8f92e4f4bbbdcec6a78f88d11500d04c0bce53cf Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 15 Jun 2013 19:51:17 -0400
Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API
@@ -59,10 +59,10 @@ index 50b815dc8..4ec02c8ce 100644
if (itemstack1.isEmpty()) {
entityhuman.inventory.f(itemstack1);
diff --git a/src/main/java/net/minecraft/server/ItemCrossbow.java b/src/main/java/net/minecraft/server/ItemCrossbow.java
-index 6da9e5e4b..cd17b4777 100644
+index 670b0b33a..5d58d5e35 100644
--- a/src/main/java/net/minecraft/server/ItemCrossbow.java
+++ b/src/main/java/net/minecraft/server/ItemCrossbow.java
-@@ -213,7 +213,7 @@ public class ItemCrossbow extends ItemProjectileWeapon {
+@@ -220,7 +220,7 @@ public class ItemCrossbow extends ItemProjectileWeapon {
((IProjectile) object).shoot((double) vector3fa.a(), (double) vector3fa.b(), (double) vector3fa.c(), f1, f2);
}
// CraftBukkit start
@@ -72,7 +72,7 @@ index 6da9e5e4b..cd17b4777 100644
event.getProjectile().remove();
return;
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index db44e82a1..f0958e770 100644
+index 42d82034b..00879c7f8 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -49,6 +49,7 @@ import net.minecraft.server.GeneratorAccess;
diff --git a/Spigot-Server-Patches/0240-PlayerReadyArrowEvent.patch b/Spigot-Server-Patches/0239-PlayerReadyArrowEvent.patch
index f75e6d3e24..69985053f2 100644
--- a/Spigot-Server-Patches/0240-PlayerReadyArrowEvent.patch
+++ b/Spigot-Server-Patches/0239-PlayerReadyArrowEvent.patch
@@ -1,4 +1,4 @@
-From ab2d09b574e37f4d6760c79255e7014706813d13 Mon Sep 17 00:00:00 2001
+From e67acc61108ac7a18c19e8cec280c96112f05082 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 18 Jun 2018 01:12:53 -0400
Subject: [PATCH] PlayerReadyArrowEvent
@@ -7,7 +7,7 @@ Called when a player is firing a bow and the server is choosing an arrow to use.
Plugins can skip selection of certain arrows and control which is used.
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index 27bf83f373..3031d73f5f 100644
+index 58d2a28a4..f5dac5082 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -2032,6 +2032,17 @@ public abstract class EntityHuman extends EntityLiving {
diff --git a/Spigot-Server-Patches/0241-Fire-EntityShootBowEvent-for-Illusioner.patch b/Spigot-Server-Patches/0240-Fire-EntityShootBowEvent-for-Illusioner.patch
index 702ee93123..5a04da1b00 100644
--- a/Spigot-Server-Patches/0241-Fire-EntityShootBowEvent-for-Illusioner.patch
+++ b/Spigot-Server-Patches/0240-Fire-EntityShootBowEvent-for-Illusioner.patch
@@ -1,11 +1,11 @@
-From b4996e5006a9a4c292a50c38e276f8148a0f235d Mon Sep 17 00:00:00 2001
+From 88310538f1bb07800c053eced66ec713d4b9bd40 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 18 Jun 2018 22:19:36 -0400
Subject: [PATCH] Fire EntityShootBowEvent for Illusioner
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
-index 3782673141..96ad678893 100644
+index 378267314..96ad67889 100644
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
@@ -138,8 +138,18 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
diff --git a/Spigot-Server-Patches/0242-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0241-Implement-EntityKnockbackByEntityEvent.patch
index df6b45337d..98086a347f 100644
--- a/Spigot-Server-Patches/0242-Implement-EntityKnockbackByEntityEvent.patch
+++ b/Spigot-Server-Patches/0241-Implement-EntityKnockbackByEntityEvent.patch
@@ -1,4 +1,4 @@
-From 9ae191c6f59ffb79a82390660f5d5524a0b8f9fe Mon Sep 17 00:00:00 2001
+From db219566c720e58261a6b9ef8c8f2b15eda1f7f8 Mon Sep 17 00:00:00 2001
From: Brokkonaut <[email protected]>
Date: Mon, 18 Jun 2018 15:46:23 +0200
Subject: [PATCH] Implement EntityKnockbackByEntityEvent
@@ -6,7 +6,7 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent
This event is called when an entity receives knockback by another entity.
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index ecbfe8cf8d..66daa77d10 100644
+index be60f35de..6faed231a 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -1424,6 +1424,16 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0243-Expand-Explosions-API.patch b/Spigot-Server-Patches/0242-Expand-Explosions-API.patch
index 63477f6019..b77585a217 100644
--- a/Spigot-Server-Patches/0243-Expand-Explosions-API.patch
+++ b/Spigot-Server-Patches/0242-Expand-Explosions-API.patch
@@ -1,4 +1,4 @@
-From cf6b0562373033a1db4ead73499260ed6d085f45 Mon Sep 17 00:00:00 2001
+From cc3b39c270a8e00abd3a5646c2e8a8dd330e12bb Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 20 Jun 2018 23:17:24 -0400
Subject: [PATCH] Expand Explosions API
@@ -6,7 +6,7 @@ Subject: [PATCH] Expand Explosions API
Add Entity as a Source capability, and add more API choices, and on Location.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 6d0c0c5a2a..c9b11128d7 100644
+index e9e30d3d5..69f215ba9 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -754,6 +754,11 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/0244-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0243-LivingEntity-Hand-Raised-Item-Use-API.patch
index be624e69d9..8b9c85e00c 100644
--- a/Spigot-Server-Patches/0244-LivingEntity-Hand-Raised-Item-Use-API.patch
+++ b/Spigot-Server-Patches/0243-LivingEntity-Hand-Raised-Item-Use-API.patch
@@ -1,4 +1,4 @@
-From 5c1bdf2ae1a97542091fe38dad080f0f7376b059 Mon Sep 17 00:00:00 2001
+From be55a812380577a34ab74e2e5c377847bf01f5e8 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 29 Jun 2018 00:21:28 -0400
Subject: [PATCH] LivingEntity Hand Raised/Item Use API
@@ -6,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API
How long an entity has raised hands to charge an attack or use an item
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 66daa77d10..de0f9f57d2 100644
+index 6faed231a..d52c0d81d 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -109,7 +109,7 @@ public abstract class EntityLiving extends Entity {
@@ -32,7 +32,7 @@ index 66daa77d10..de0f9f57d2 100644
return this.isHandRaised() ? this.activeItem.k() - this.dm() : 0;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
-index aeb4b7343e..00fae68408 100644
+index aeb4b7343..00fae6840 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -616,5 +616,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
diff --git a/Spigot-Server-Patches/0245-RangedEntity-API.patch b/Spigot-Server-Patches/0244-RangedEntity-API.patch
index fdee7e2cb5..eaf5ed5ab3 100644
--- a/Spigot-Server-Patches/0245-RangedEntity-API.patch
+++ b/Spigot-Server-Patches/0244-RangedEntity-API.patch
@@ -1,4 +1,4 @@
-From fd85ef8a2b0bae33f4fb75702f282c4b0f31de8e Mon Sep 17 00:00:00 2001
+From 76593e2fed619b553868c22a7b48298380c3dbde Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 26 Jun 2018 22:00:49 -0400
Subject: [PATCH] RangedEntity API
@@ -8,7 +8,7 @@ and to perform an attack.
diff --git a/src/main/java/com/destroystokyo/paper/entity/CraftRangedEntity.java b/src/main/java/com/destroystokyo/paper/entity/CraftRangedEntity.java
new file mode 100644
-index 0000000000..696660b089
+index 000000000..696660b08
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/entity/CraftRangedEntity.java
@@ -0,0 +1,19 @@
@@ -32,7 +32,7 @@ index 0000000000..696660b089
+ }
+}
diff --git a/src/main/java/net/minecraft/server/IRangedEntity.java b/src/main/java/net/minecraft/server/IRangedEntity.java
-index b4178ce1e8..9b79ac77db 100644
+index b4178ce1e..9b79ac77d 100644
--- a/src/main/java/net/minecraft/server/IRangedEntity.java
+++ b/src/main/java/net/minecraft/server/IRangedEntity.java
@@ -2,5 +2,8 @@ package net.minecraft.server;
@@ -46,7 +46,7 @@ index b4178ce1e8..9b79ac77db 100644
+ void q(boolean flag); default void setChargingAttack(boolean charging) { q(charging); }; // Paper
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java
-index 2ec1af8be4..f31d3eed3a 100644
+index 2ec1af8be..f31d3eed3 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftIllusioner.java
@@ -1,11 +1,12 @@
@@ -64,7 +64,7 @@ index 2ec1af8be4..f31d3eed3a 100644
public CraftIllusioner(CraftServer server, EntityIllagerIllusioner entity) {
super(server, entity);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
-index 23ab78da15..3f94c5a920 100644
+index 23ab78da1..3f94c5a92 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
@@ -1,5 +1,6 @@
@@ -84,7 +84,7 @@ index 23ab78da15..3f94c5a920 100644
public CraftLlama(CraftServer server, EntityLlama entity) {
super(server, entity);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java
-index b4ae898401..02df66ecfe 100644
+index b4ae89840..02df66ecf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeleton.java
@@ -1,11 +1,12 @@
@@ -102,7 +102,7 @@ index b4ae898401..02df66ecfe 100644
public CraftSkeleton(CraftServer server, EntitySkeletonAbstract entity) {
super(server, entity);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java
-index 27460c59e3..e482b1c9dc 100644
+index 27460c59e..e482b1c9d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSnowman.java
@@ -1,11 +1,12 @@
@@ -120,7 +120,7 @@ index 27460c59e3..e482b1c9dc 100644
super(server, entity);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
-index 244e4dc8ec..bae107e76e 100644
+index 244e4dc8e..bae107e76 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
@@ -1,11 +1,12 @@
@@ -138,7 +138,7 @@ index 244e4dc8ec..bae107e76e 100644
super(server, entity);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
-index 38b555cc7e..03cf6136e6 100644
+index 38b555cc7..03cf6136e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java
@@ -1,5 +1,6 @@
diff --git a/Spigot-Server-Patches/0246-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0245-Add-config-to-disable-ender-dragon-legacy-check.patch
index 0a3f36e6b4..dbb20fbf43 100644
--- a/Spigot-Server-Patches/0246-Add-config-to-disable-ender-dragon-legacy-check.patch
+++ b/Spigot-Server-Patches/0245-Add-config-to-disable-ender-dragon-legacy-check.patch
@@ -1,11 +1,11 @@
-From dc6efa41ccd1077be2f6ccd227527d0090d2d851 Mon Sep 17 00:00:00 2001
+From 03e6d66ec19560e069e220b1b272dc1287ffcbe3 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 22 Jun 2018 10:38:31 -0500
Subject: [PATCH] Add config to disable ender dragon legacy check
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index ce17447faf..3294fbbeaf 100644
+index ce17447fa..3294fbbea 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -370,4 +370,9 @@ public class PaperWorldConfig {
@@ -19,7 +19,7 @@ index ce17447faf..3294fbbeaf 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
-index 5ae20b1322..60ba37c921 100644
+index 6f92820c3..c9d271145 100644
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
@@ -28,10 +28,10 @@ public class EnderDragonBattle {
diff --git a/Spigot-Server-Patches/0247-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch
index 43afc2e48a..1382eb7cfc 100644
--- a/Spigot-Server-Patches/0247-Implement-World.getEntity-UUID-API.patch
+++ b/Spigot-Server-Patches/0246-Implement-World.getEntity-UUID-API.patch
@@ -1,14 +1,14 @@
-From e3ee1b876ccf7c884eddca532d5c09f8a66a6245 Mon Sep 17 00:00:00 2001
+From ce22206e37d5919bb32242f75de63bff94120126 Mon Sep 17 00:00:00 2001
From: Brokkonaut <[email protected]>
Date: Tue, 3 Jul 2018 16:08:14 +0200
Subject: [PATCH] Implement World.getEntity(UUID) API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index c9b11128d7..209e726485 100644
+index 69f215ba9..9a9c5a93e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1125,6 +1125,15 @@ public class CraftWorld implements World {
+@@ -1108,6 +1108,15 @@ public class CraftWorld implements World {
return list;
}
diff --git a/Spigot-Server-Patches/0248-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0247-InventoryCloseEvent-Reason-API.patch
index dff8d02945..ea569fba0f 100644
--- a/Spigot-Server-Patches/0248-InventoryCloseEvent-Reason-API.patch
+++ b/Spigot-Server-Patches/0247-InventoryCloseEvent-Reason-API.patch
@@ -1,4 +1,4 @@
-From 9792c586bfaca7a0bfefb14b3a45d0d37b109688 Mon Sep 17 00:00:00 2001
+From 406946910753952b8098c82d040f81a2ee43b140 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 3 Jul 2018 21:56:23 -0400
Subject: [PATCH] InventoryCloseEvent Reason API
@@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
to "confirm" things based on if it was player triggered close or not.
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index 3031d73f5..f665dc0eb 100644
+index f5dac5082..d1a7a873b 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -149,7 +149,7 @@ public abstract class EntityHuman extends EntityLiving {
@@ -34,7 +34,7 @@ index 3031d73f5..f665dc0eb 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 8074465f1..32ac372bc 100644
+index 29ebee2d9..d46ddba34 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -360,7 +360,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -88,7 +88,7 @@ index 8074465f1..32ac372bc 100644
this.m();
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index c009d7adc..ca5e11709 100644
+index 83fc7b285..f436e0259 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2049,7 +2049,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -101,10 +101,10 @@ index c009d7adc..ca5e11709 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 cacd76954..58bfafc6b 100644
+index 5ac4a7c28..006f7b8b9 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -401,7 +401,7 @@ public abstract class PlayerList {
+@@ -402,7 +402,7 @@ public abstract class PlayerList {
entityplayer.a(StatisticList.LEAVE_GAME);
// CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it
@@ -114,10 +114,10 @@ index cacd76954..58bfafc6b 100644
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game");
cserver.getPluginManager().callEvent(playerQuitEvent);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 176ac3c65..0e559133f 100644
+index 8bc0a8cca..067379252 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -988,7 +988,7 @@ public class WorldServer extends World {
+@@ -981,7 +981,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{
@@ -126,7 +126,7 @@ index 176ac3c65..0e559133f 100644
}
}
}
-@@ -1011,7 +1011,7 @@ public class WorldServer extends World {
+@@ -1004,7 +1004,7 @@ public class WorldServer extends World {
{
if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity )
{
@@ -155,7 +155,7 @@ index d0a019f50..79fc638a0 100644
@Override
public boolean isBlocking() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 23a205af1..88398c332 100644
+index be7c5d174..ba60ece45 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -771,7 +771,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -168,7 +168,7 @@ index 23a205af1..88398c332 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 7426c5400..ad14d74b3 100644
+index 00879c7f8..ceffcec72 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1239,8 +1239,19 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0249-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch b/Spigot-Server-Patches/0248-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch
index 308f169302..4466a805f8 100644
--- a/Spigot-Server-Patches/0249-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch
+++ b/Spigot-Server-Patches/0248-Avoid-Chunk-Lookups-for-Entity-TileEntity-Current-Ch.patch
@@ -1,4 +1,4 @@
-From 2b38cf192766111ee616781fcad9018b0ce05cbd Mon Sep 17 00:00:00 2001
+From 4360aea0767807d156608cd70a55eaa2b2eacf1d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 4 Jul 2018 03:39:51 -0400
Subject: [PATCH] Avoid Chunk Lookups for Entity/TileEntity Current Chunk
@@ -10,20 +10,20 @@ to the object directly on the Entity/TileEntity object we can directly grab.
Use that local value instead to reduce lookups in many hot places.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index c388a8261..463353bc7 100644
+index e3de63489..0e9530ea5 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -762,7 +762,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
if (!tileentity.isRemoved() && tileentity.hasWorld()) {
BlockPosition blockposition = tileentity.getPosition();
-- if (this.isLoaded(blockposition) && this.getWorldBorder().a(blockposition)) {
+- if (this.chunkProvider.a(blockposition) && this.getWorldBorder().a(blockposition)) {
+ Chunk currentChunk = tileentity.getCurrentChunk(); // Paper
+ if (currentChunk != null && this.getWorldBorder().a(blockposition)) { // Paper
try {
gameprofilerfiller.a(() -> {
return String.valueOf(TileEntityTypes.a(tileentity.q()));
-@@ -796,7 +797,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -801,7 +802,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
this.tileEntityListTick.remove(tileTickPosition--);
// Spigot end
//this.tileEntityList.remove(tileentity); // Paper - remove unused list
@@ -32,7 +32,7 @@ index c388a8261..463353bc7 100644
this.getChunkAtWorldCoords(tileentity.getPosition()).removeTileEntity(tileentity.getPosition());
}
}
-@@ -817,8 +818,9 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -822,8 +823,9 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
}
// CraftBukkit end */
@@ -45,10 +45,10 @@ index c388a8261..463353bc7 100644
chunk.setTileEntity(tileentity1.getPosition(), tileentity1);
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 0e559133f..1c92cf58a 100644
+index 067379252..340460a33 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -1068,7 +1068,7 @@ public class WorldServer extends World {
+@@ -1061,7 +1061,7 @@ public class WorldServer extends World {
}
this.entitiesByUUID.remove(entity.getUniqueID());
@@ -57,7 +57,7 @@ index 0e559133f..1c92cf58a 100644
if (entity instanceof EntityPlayer) {
EntityPlayer entityplayer = (EntityPlayer) entity;
-@@ -1128,9 +1128,12 @@ public class WorldServer extends World {
+@@ -1121,9 +1121,12 @@ public class WorldServer extends World {
}
private void removeEntityFromChunk(Entity entity) {
diff --git a/Spigot-Server-Patches/0250-Configurable-Bed-Search-Radius.patch b/Spigot-Server-Patches/0249-Configurable-Bed-Search-Radius.patch
index ecc1297888..1a2fb77145 100644
--- a/Spigot-Server-Patches/0250-Configurable-Bed-Search-Radius.patch
+++ b/Spigot-Server-Patches/0249-Configurable-Bed-Search-Radius.patch
@@ -1,4 +1,4 @@
-From 2694b57b65417360447f189021e0e5f416e900d3 Mon Sep 17 00:00:00 2001
+From 3594eb0377ceba8b900106232665a5a88440a9ca Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 4 Jul 2018 15:22:06 -0400
Subject: [PATCH] Configurable Bed Search Radius
@@ -10,7 +10,7 @@ player at their bed should it of became obstructed.
Defaults to vanilla 1.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 3294fbbeaf..83e54cb904 100644
+index 3294fbbea..83e54cb90 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -375,4 +375,15 @@ public class PaperWorldConfig {
@@ -30,7 +30,7 @@ index 3294fbbeaf..83e54cb904 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java
-index 2a451025fe..75331c9864 100644
+index 3ef19c0c2..07e530666 100644
--- a/src/main/java/net/minecraft/server/BlockBed.java
+++ b/src/main/java/net/minecraft/server/BlockBed.java
@@ -171,6 +171,58 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity {
diff --git a/Spigot-Server-Patches/0251-Vex-getSummoner-API.patch b/Spigot-Server-Patches/0250-Vex-getSummoner-API.patch
index 09b06f9ba8..e53b9d9bc9 100644
--- a/Spigot-Server-Patches/0251-Vex-getSummoner-API.patch
+++ b/Spigot-Server-Patches/0250-Vex-getSummoner-API.patch
@@ -1,4 +1,4 @@
-From fe6fa2197f8c1ca875823a241f0fcfdef81a46ad Mon Sep 17 00:00:00 2001
+From 6632389d447a05bff72b0ec4fa3c3d2c798caa3d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 4 Jul 2018 15:30:22 -0400
Subject: [PATCH] Vex#getSummoner API
@@ -6,7 +6,7 @@ Subject: [PATCH] Vex#getSummoner API
Get's the NPC that summoned this Vex
diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java
-index ecfc057a18..83e022c91b 100644
+index ecfc057a1..83e022c91 100644
--- a/src/main/java/net/minecraft/server/EntityVex.java
+++ b/src/main/java/net/minecraft/server/EntityVex.java
@@ -92,6 +92,7 @@ public class EntityVex extends EntityMonster {
@@ -18,7 +18,7 @@ index ecfc057a18..83e022c91b 100644
return this.c;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
-index 737a37b6fe..169c951ec3 100644
+index 737a37b6f..169c951ec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
@@ -1,8 +1,10 @@
diff --git a/Spigot-Server-Patches/0252-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0251-Refresh-player-inventory-when-cancelling-PlayerInter.patch
index 0b4145ad41..2b5ae90cb9 100644
--- a/Spigot-Server-Patches/0252-Refresh-player-inventory-when-cancelling-PlayerInter.patch
+++ b/Spigot-Server-Patches/0251-Refresh-player-inventory-when-cancelling-PlayerInter.patch
@@ -1,4 +1,4 @@
-From 36c87871e9642d083410a5b4a504686477d0f7cd Mon Sep 17 00:00:00 2001
+From 5d503244679ce20247006373ec4de24358e9fab4 Mon Sep 17 00:00:00 2001
From: Minecrell <[email protected]>
Date: Fri, 13 Jul 2018 14:54:43 +0200
Subject: [PATCH] Refresh player inventory when cancelling
@@ -16,7 +16,7 @@ Refresh the player inventory when PlayerInteractEntityEvent is
cancelled to avoid this problem.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 221eb5fdcd..87fc6b6f30 100644
+index f436e0259..6d61a1e79 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1963,6 +1963,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0253-Don-t-change-the-Entity-Random-seed-for-squids.patch b/Spigot-Server-Patches/0252-Don-t-change-the-Entity-Random-seed-for-squids.patch
index 970c85d3f6..aa4da9fd5c 100644
--- a/Spigot-Server-Patches/0253-Don-t-change-the-Entity-Random-seed-for-squids.patch
+++ b/Spigot-Server-Patches/0252-Don-t-change-the-Entity-Random-seed-for-squids.patch
@@ -1,11 +1,11 @@
-From b2fabd7288c3c11b9562ecd5b60dd2bcd42b8f52 Mon Sep 17 00:00:00 2001
+From 35068abb2ee387a5b2084fb360aea4299a461c0e Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 19 Jul 2018 01:05:00 -0400
Subject: [PATCH] Don't change the Entity Random seed for squids
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
-index d5dff4b88c..77c0ed42f4 100644
+index d5dff4b88..77c0ed42f 100644
--- a/src/main/java/net/minecraft/server/EntitySquid.java
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
@@ -19,7 +19,7 @@ public class EntitySquid extends EntityWaterAnimal {
diff --git a/Spigot-Server-Patches/0254-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0253-Re-add-vanilla-entity-warnings-for-duplicates.patch
index 92f4b70601..ffc3040955 100644
--- a/Spigot-Server-Patches/0254-Re-add-vanilla-entity-warnings-for-duplicates.patch
+++ b/Spigot-Server-Patches/0253-Re-add-vanilla-entity-warnings-for-duplicates.patch
@@ -1,4 +1,4 @@
-From fd13ef62c84afb65c43b4137b0208f5ee5601bfd Mon Sep 17 00:00:00 2001
+From 00e013d504b64b9a0df93973e81e71e15df41e73 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 19 Jul 2018 01:08:05 -0400
Subject: [PATCH] Re-add vanilla entity warnings for duplicates
@@ -8,10 +8,10 @@ These are a critical sign that somethin went wrong, and you've lost some data...
We should kind of know about these things you know.
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index c5da81f770..1ac79158c1 100644
+index 340460a33..d384d3526 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -973,7 +973,8 @@ public class WorldServer extends World {
+@@ -966,7 +966,8 @@ public class WorldServer extends World {
if (entity1 == null) {
return false;
} else {
diff --git a/Spigot-Server-Patches/0255-Avoid-item-merge-if-stack-size-above-max-stack-size.patch b/Spigot-Server-Patches/0254-Avoid-item-merge-if-stack-size-above-max-stack-size.patch
index 03406cf57a..a07b744eab 100644
--- a/Spigot-Server-Patches/0255-Avoid-item-merge-if-stack-size-above-max-stack-size.patch
+++ b/Spigot-Server-Patches/0254-Avoid-item-merge-if-stack-size-above-max-stack-size.patch
@@ -1,14 +1,14 @@
-From 9edeb09d0b0c03338fa0740036d36dd11bbf0ed8 Mon Sep 17 00:00:00 2001
+From e60fd4f27a55cae981e417d4ccbde0f508450b1b Mon Sep 17 00:00:00 2001
From: Hugo Manrique <[email protected]>
Date: Mon, 16 Jul 2018 12:42:20 +0200
Subject: [PATCH] Avoid item merge if stack size above max stack size
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
-index c582c67119..c5fefa060b 100644
+index bda5ea463..ddd1f6307 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
-@@ -166,6 +166,10 @@ public class EntityItem extends Entity {
+@@ -168,6 +168,10 @@ public class EntityItem extends Entity {
}
private void mergeNearby() {
diff --git a/Spigot-Server-Patches/0256-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0255-Use-asynchronous-Log4j-2-loggers.patch
index a4b457f2c6..44b43024dc 100644
--- a/Spigot-Server-Patches/0256-Use-asynchronous-Log4j-2-loggers.patch
+++ b/Spigot-Server-Patches/0255-Use-asynchronous-Log4j-2-loggers.patch
@@ -1,11 +1,11 @@
-From b70b2818d5e0e75e666ff838988e110d3aea4fb7 Mon Sep 17 00:00:00 2001
+From 5433e0ac79c4fcc7dbdb754079d60da2aa88d0b6 Mon Sep 17 00:00:00 2001
From: Minecrell <[email protected]>
Date: Tue, 17 Jul 2018 16:42:17 +0200
Subject: [PATCH] Use asynchronous Log4j 2 loggers
diff --git a/pom.xml b/pom.xml
-index 16799b4cd4..8c18a0c093 100644
+index 3d2065fd7..e01d95f17 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,6 +74,13 @@
@@ -24,7 +24,7 @@ index 16799b4cd4..8c18a0c093 100644
<artifactId>asm</artifactId>
diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties
new file mode 100644
-index 0000000000..ee7c90784c
+index 000000000..ee7c90784
--- /dev/null
+++ b/src/main/resources/log4j2.component.properties
@@ -0,0 +1 @@
diff --git a/Spigot-Server-Patches/0257-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0256-add-more-information-to-Entity.toString.patch
index 70d8aa8c98..c162d03fd9 100644
--- a/Spigot-Server-Patches/0257-add-more-information-to-Entity.toString.patch
+++ b/Spigot-Server-Patches/0256-add-more-information-to-Entity.toString.patch
@@ -1,4 +1,4 @@
-From 04ade8056728004873333103857f46687dc9897d Mon Sep 17 00:00:00 2001
+From bd19e69fc49193f372723ce173ffb18846f950c2 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 19 Jul 2018 01:13:28 -0400
Subject: [PATCH] add more information to Entity.toString()
@@ -6,7 +6,7 @@ Subject: [PATCH] add more information to Entity.toString()
UUID, ticks lived, valid, dead
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 9bec96f4a..f99624d48 100644
+index a428ca262..26003866d 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2437,7 +2437,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
diff --git a/Spigot-Server-Patches/0258-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0257-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
index ab6b26c6ae..7787d45d22 100644
--- a/Spigot-Server-Patches/0258-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
+++ b/Spigot-Server-Patches/0257-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch
@@ -1,4 +1,4 @@
-From 1692805bdb3cb7f5ede09255253d2fd08dc16a9e Mon Sep 17 00:00:00 2001
+From f727a659738d4a109e1571b04b2eaf3c30e8a970 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 21 Jul 2018 08:25:40 -0400
Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
@@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
Add -Ddebug.entities=true to your JVM flags to gain more information
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 0088d6088a..4a42b7c594 100644
+index 26003866d..54d025bf7 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -75,6 +75,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -19,10 +19,10 @@ index 0088d6088a..4a42b7c594 100644
if (bukkitEntity == null) {
bukkitEntity = CraftEntity.getEntity(world.getServer(), this);
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index eee03e39b1..96f814af3c 100644
+index ae04198c9..c7bc4cc36 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-@@ -837,6 +837,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -874,6 +874,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
} else {
PlayerChunkMap.EntityTracker playerchunkmap_entitytracker = new PlayerChunkMap.EntityTracker(entity, i, j, entitytypes.isDeltaTracking());
@@ -30,7 +30,7 @@ index eee03e39b1..96f814af3c 100644
this.trackedEntities.put(entity.getId(), playerchunkmap_entitytracker);
playerchunkmap_entitytracker.track(this.world.getPlayers());
if (entity instanceof EntityPlayer) {
-@@ -879,7 +880,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -916,7 +917,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
if (playerchunkmap_entitytracker1 != null) {
playerchunkmap_entitytracker1.a();
}
@@ -40,7 +40,7 @@ index eee03e39b1..96f814af3c 100644
protected void g() {
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 5349a3a8bc..a7e24ed725 100644
+index 0e9530ea5..00b7d90d7 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -68,6 +68,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -52,11 +52,11 @@ index 5349a3a8bc..a7e24ed725 100644
public boolean captureBlockStates = false;
public boolean captureTreeGeneration = false;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index e787faed08..08617318a9 100644
+index d384d3526..6f298d737 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -77,6 +77,9 @@ public class WorldServer extends World {
- public final DimensionManager dimension;
+@@ -69,6 +69,9 @@ public class WorldServer extends World {
+ // CraftBukkit start
private int tickPosition;
boolean hasPhysicsEvent = true; // Paper
+ private static Throwable getAddToWorldStackTrace(Entity entity) {
@@ -65,7 +65,7 @@ index e787faed08..08617318a9 100644
// Add env and gen to constructor
public WorldServer(MinecraftServer minecraftserver, Executor executor, WorldNBTStorage worldnbtstorage, WorldData worlddata, DimensionManager dimensionmanager, GameProfilerFiller gameprofilerfiller, WorldLoadListener worldloadlistener, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
-@@ -937,6 +940,12 @@ public class WorldServer extends World {
+@@ -930,6 +933,12 @@ public class WorldServer extends World {
org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot
if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper
if (entity.dead) {
@@ -78,7 +78,7 @@ index e787faed08..08617318a9 100644
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit
return false;
} else if (this.isUUIDTaken(entity)) {
-@@ -1100,7 +1109,24 @@ public class WorldServer extends World {
+@@ -1093,7 +1102,24 @@ public class WorldServer extends World {
}
}
diff --git a/Spigot-Server-Patches/0259-EnderDragon-Events.patch b/Spigot-Server-Patches/0258-EnderDragon-Events.patch
index 96ff553bfe..6a3bed5b43 100644
--- a/Spigot-Server-Patches/0259-EnderDragon-Events.patch
+++ b/Spigot-Server-Patches/0258-EnderDragon-Events.patch
@@ -1,11 +1,11 @@
-From 108337c59183688378c00abfe58000a7a696c8da Mon Sep 17 00:00:00 2001
+From 382fde1bd1af7b8ce095534b5ac7d585a2b3f1fe Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 21 Jul 2018 01:51:27 -0500
Subject: [PATCH] EnderDragon Events
diff --git a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
-index 4ab310cd6b..90f6d58ddd 100644
+index 4ab310cd6..90f6d58dd 100644
--- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
+++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java
@@ -65,7 +65,9 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded
@@ -28,7 +28,7 @@ index 4ab310cd6b..90f6d58ddd 100644
public void e() {
if (this.d != null) {
diff --git a/src/main/java/net/minecraft/server/DragonControllerStrafe.java b/src/main/java/net/minecraft/server/DragonControllerStrafe.java
-index b466605762..bf15964e78 100644
+index b46660576..bf15964e7 100644
--- a/src/main/java/net/minecraft/server/DragonControllerStrafe.java
+++ b/src/main/java/net/minecraft/server/DragonControllerStrafe.java
@@ -68,7 +68,9 @@ public class DragonControllerStrafe extends AbstractDragonController {
@@ -42,7 +42,7 @@ index b466605762..bf15964e78 100644
if (this.d != null) {
while (!this.d.b()) {
diff --git a/src/main/java/net/minecraft/server/EntityDragonFireball.java b/src/main/java/net/minecraft/server/EntityDragonFireball.java
-index 239be99c51..2195b83ce2 100644
+index 239be99c5..2195b83ce 100644
--- a/src/main/java/net/minecraft/server/EntityDragonFireball.java
+++ b/src/main/java/net/minecraft/server/EntityDragonFireball.java
@@ -40,8 +40,10 @@ public class EntityDragonFireball extends EntityFireball {
diff --git a/Spigot-Server-Patches/0260-PlayerElytraBoostEvent.patch b/Spigot-Server-Patches/0259-PlayerElytraBoostEvent.patch
index 02a048ba3d..662c1908be 100644
--- a/Spigot-Server-Patches/0260-PlayerElytraBoostEvent.patch
+++ b/Spigot-Server-Patches/0259-PlayerElytraBoostEvent.patch
@@ -1,11 +1,11 @@
-From 80764b09615fb38e7b1977ba237bb6f18753ea44 Mon Sep 17 00:00:00 2001
+From 6d6fa4bfda778a486c9e10d9395d3e326ec19978 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 21 Jul 2018 01:59:59 -0500
Subject: [PATCH] PlayerElytraBoostEvent
diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java
-index aea46ffae5..9e86ef4ce2 100644
+index aea46ffae..9e86ef4ce 100644
--- a/src/main/java/net/minecraft/server/ItemFireworks.java
+++ b/src/main/java/net/minecraft/server/ItemFireworks.java
@@ -35,11 +35,16 @@ public class ItemFireworks extends Item {
diff --git a/Spigot-Server-Patches/0261-PlayerLaunchProjectileEvent.patch b/Spigot-Server-Patches/0260-PlayerLaunchProjectileEvent.patch
index cd62c5e2c8..d86b2cbdca 100644
--- a/Spigot-Server-Patches/0261-PlayerLaunchProjectileEvent.patch
+++ b/Spigot-Server-Patches/0260-PlayerLaunchProjectileEvent.patch
@@ -1,11 +1,11 @@
-From 04b3d9dec3c5eb30471f59cf4d359d37f091b6b4 Mon Sep 17 00:00:00 2001
+From 8b926ae73aeaf598f61257a8bd177cbabc3d3f90 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 21 Jul 2018 03:11:03 -0500
Subject: [PATCH] PlayerLaunchProjectileEvent
diff --git a/src/main/java/net/minecraft/server/ItemEgg.java b/src/main/java/net/minecraft/server/ItemEgg.java
-index 2bdb65bf87..f526af45fb 100644
+index 2bdb65bf8..f526af45f 100644
--- a/src/main/java/net/minecraft/server/ItemEgg.java
+++ b/src/main/java/net/minecraft/server/ItemEgg.java
@@ -10,17 +10,35 @@ public class ItemEgg extends Item {
@@ -46,7 +46,7 @@ index 2bdb65bf87..f526af45fb 100644
entityhuman.b(StatisticList.ITEM_USED.b(this));
diff --git a/src/main/java/net/minecraft/server/ItemEnderPearl.java b/src/main/java/net/minecraft/server/ItemEnderPearl.java
-index eb5f62dec2..e8e52d726e 100644
+index eb5f62dec..e8e52d726 100644
--- a/src/main/java/net/minecraft/server/ItemEnderPearl.java
+++ b/src/main/java/net/minecraft/server/ItemEnderPearl.java
@@ -16,7 +16,19 @@ public class ItemEnderPearl extends Item {
@@ -94,7 +94,7 @@ index eb5f62dec2..e8e52d726e 100644
entityhuman.b(StatisticList.ITEM_USED.b(this));
return new InteractionResultWrapper<>(EnumInteractionResult.SUCCESS, itemstack);
diff --git a/src/main/java/net/minecraft/server/ItemExpBottle.java b/src/main/java/net/minecraft/server/ItemExpBottle.java
-index 35f842ede5..eb626a6f05 100644
+index 35f842ede..eb626a6f0 100644
--- a/src/main/java/net/minecraft/server/ItemExpBottle.java
+++ b/src/main/java/net/minecraft/server/ItemExpBottle.java
@@ -9,18 +9,35 @@ public class ItemExpBottle extends Item {
@@ -136,7 +136,7 @@ index 35f842ede5..eb626a6f05 100644
entityhuman.b(StatisticList.ITEM_USED.b(this));
diff --git a/src/main/java/net/minecraft/server/ItemLingeringPotion.java b/src/main/java/net/minecraft/server/ItemLingeringPotion.java
-index e3683bdaef..f3ad1cd6d3 100644
+index e3683bdae..f3ad1cd6d 100644
--- a/src/main/java/net/minecraft/server/ItemLingeringPotion.java
+++ b/src/main/java/net/minecraft/server/ItemLingeringPotion.java
@@ -9,15 +9,40 @@ public class ItemLingeringPotion extends ItemPotion {
@@ -182,7 +182,7 @@ index e3683bdaef..f3ad1cd6d3 100644
entityhuman.b(StatisticList.ITEM_USED.b(this));
diff --git a/src/main/java/net/minecraft/server/ItemSnowball.java b/src/main/java/net/minecraft/server/ItemSnowball.java
-index 624989dd7b..c119785b78 100644
+index 624989dd7..c119785b7 100644
--- a/src/main/java/net/minecraft/server/ItemSnowball.java
+++ b/src/main/java/net/minecraft/server/ItemSnowball.java
@@ -23,15 +23,23 @@ public class ItemSnowball extends Item {
@@ -215,7 +215,7 @@ index 624989dd7b..c119785b78 100644
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/ItemSplashPotion.java b/src/main/java/net/minecraft/server/ItemSplashPotion.java
-index e267e43fe5..fa6d627db4 100644
+index e267e43fe..fa6d627db 100644
--- a/src/main/java/net/minecraft/server/ItemSplashPotion.java
+++ b/src/main/java/net/minecraft/server/ItemSplashPotion.java
@@ -9,15 +9,39 @@ public class ItemSplashPotion extends ItemPotion {
diff --git a/Spigot-Server-Patches/0262-Speedup-BlockPos-by-fixing-inlining.patch b/Spigot-Server-Patches/0261-Speedup-BlockPos-by-fixing-inlining.patch
index 7879b0bedb..2a08e2ba1e 100644
--- a/Spigot-Server-Patches/0262-Speedup-BlockPos-by-fixing-inlining.patch
+++ b/Spigot-Server-Patches/0261-Speedup-BlockPos-by-fixing-inlining.patch
@@ -1,4 +1,4 @@
-From 51d077182e265920f39524ae740822964186c7b3 Mon Sep 17 00:00:00 2001
+From 5a73aca979f463c09266b54e433b9b3278e84410 Mon Sep 17 00:00:00 2001
From: Techcable <[email protected]>
Date: Wed, 30 Nov 2016 20:56:58 -0600
Subject: [PATCH] Speedup BlockPos by fixing inlining
@@ -21,7 +21,7 @@ This is based upon conclusions drawn from inspecting the assenmbly generated byt
They had 'callq' (invoke) instead of 'mov' (get from memory) instructions.
diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java
-index 7cb46d7a9c..e96428bb2b 100644
+index 7cb46d7a9..e96428bb2 100644
--- a/src/main/java/net/minecraft/server/BaseBlockPosition.java
+++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java
@@ -7,22 +7,22 @@ import javax.annotation.concurrent.Immutable;
@@ -101,7 +101,7 @@ index 7cb46d7a9c..e96428bb2b 100644
return (int) (f + f1 + f2);
}
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
-index 64700b97c0..a5e5a4ebae 100644
+index 64700b97c..a5e5a4eba 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -335,11 +335,12 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
diff --git a/Spigot-Server-Patches/0263-Don-t-save-Proto-Chunks.patch b/Spigot-Server-Patches/0262-Don-t-save-Proto-Chunks.patch
index abe06c976d..4f9dab4798 100644
--- a/Spigot-Server-Patches/0263-Don-t-save-Proto-Chunks.patch
+++ b/Spigot-Server-Patches/0262-Don-t-save-Proto-Chunks.patch
@@ -1,4 +1,4 @@
-From ebdfbf4828b4b305b2aa5880d5239eb37a134dae Mon Sep 17 00:00:00 2001
+From ed67334df5a2a8de34f26d811784a3e0d5eadb91 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 22 Jul 2018 21:21:41 -0400
Subject: [PATCH] Don't save Proto Chunks
@@ -8,17 +8,17 @@ the loadChunk method refuses to acknoledge they exists, and will restart
a new chunk generation process to begin with, so saving them serves no benefit.
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-index eee03e39b1..239bac9839 100644
+index c7bc4cc36..2244d65ee 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
-@@ -554,6 +554,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
+@@ -588,6 +588,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
- public void saveChunk(IChunkAccess ichunkaccess, boolean save) {
-+ if (ichunkaccess.getChunkStatus().getType() == ChunkStatus.Type.PROTOCHUNK) { return; } // Paper - don't save proto chunks
+ public boolean saveChunk(IChunkAccess ichunkaccess, boolean save) {
++ if (ichunkaccess.getChunkStatus().getType() == ChunkStatus.Type.PROTOCHUNK) { return false; } // Paper - don't save proto chunks
// CraftBukkit end
this.n.a(ichunkaccess.getPos());
- if (save) { // CraftBukkit
+ if (!save) { // CraftBukkit
--
2.21.0
diff --git a/Spigot-Server-Patches/0264-Optimize-RegistryID.c.patch b/Spigot-Server-Patches/0263-Optimize-RegistryID.c.patch
index d83da9c123..207511deb6 100644
--- a/Spigot-Server-Patches/0264-Optimize-RegistryID.c.patch
+++ b/Spigot-Server-Patches/0263-Optimize-RegistryID.c.patch
@@ -1,4 +1,4 @@
-From 51cee059dd164af1fc657390517994fa7e885b8e Mon Sep 17 00:00:00 2001
+From f13f9afbbbefc4ebfa6874671d36e43c935e3204 Mon Sep 17 00:00:00 2001
From: Andrew Steinborn <[email protected]>
Date: Mon, 23 Jul 2018 13:08:19 -0400
Subject: [PATCH] Optimize RegistryID.c()
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize RegistryID.c()
This is a frequent hotspot for world loading/saving.
diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java
-index e15d286710..e8a48b9a4c 100644
+index e15d28671..e8a48b9a4 100644
--- a/src/main/java/net/minecraft/server/RegistryID.java
+++ b/src/main/java/net/minecraft/server/RegistryID.java
@@ -14,12 +14,14 @@ public class RegistryID<K> implements Registry<K> {
diff --git a/Spigot-Server-Patches/0265-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0264-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
index c87badc315..0269c258a4 100644
--- a/Spigot-Server-Patches/0265-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
+++ b/Spigot-Server-Patches/0264-Option-to-prevent-armor-stands-from-doing-entity-loo.patch
@@ -1,4 +1,4 @@
-From 5594979e93df19a7c1fad783524dd6c966cf351f Mon Sep 17 00:00:00 2001
+From f3277440873f3265faba99f17287e1be66c0d469 Mon Sep 17 00:00:00 2001
From: Hugo Manrique <[email protected]>
Date: Mon, 23 Jul 2018 12:57:39 +0200
Subject: [PATCH] Option to prevent armor stands from doing entity lookups
@@ -21,11 +21,11 @@ index 83e54cb90..f06bb3ae1 100644
private void maxEntityCollision() {
maxCollisionsPerEntity = getInt( "max-entity-collisions", this.spigotConfig.getInt("max-entity-collisions", 8) );
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 8c59ec41c..33f0d1cd8 100644
+index 00b7d90d7..31ffc57c9 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -869,6 +869,14 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
- // Spigot end
+@@ -871,6 +871,14 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+ }
}
+ // Paper start - Prevent armor stands from doing entity lookups
diff --git a/Spigot-Server-Patches/0266-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0265-Vanished-players-don-t-have-rights.patch
index a10fe603b7..cf8a47e589 100644
--- a/Spigot-Server-Patches/0266-Vanished-players-don-t-have-rights.patch
+++ b/Spigot-Server-Patches/0265-Vanished-players-don-t-have-rights.patch
@@ -1,11 +1,11 @@
-From cf655db17ece1bd42693e41fc787aca3dd602f52 Mon Sep 17 00:00:00 2001
+From 6f0adf29a75988289f235bc55a15c65749d26fcd Mon Sep 17 00:00:00 2001
From: Hugo Manrique <[email protected]>
Date: Mon, 23 Jul 2018 14:22:26 +0200
Subject: [PATCH] Vanished players don't have rights
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 56adea9cf4..3397604a8a 100644
+index 54d025bf7..e3b1ebe62 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -97,7 +97,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -18,7 +18,7 @@ index 56adea9cf4..3397604a8a 100644
protected int j;
private Entity vehicle;
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
-index ee22bb0387..e5a013ffd2 100644
+index ee22bb038..e5a013ffd 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -22,9 +22,18 @@ public interface IEntityAccess {
@@ -41,10 +41,10 @@ index ee22bb0387..e5a013ffd2 100644
return VoxelShapes.c(voxelshape, VoxelShapes.a(entity1.getBoundingBox()), OperatorBoolean.AND);
});
diff --git a/src/main/java/net/minecraft/server/IWorldReader.java b/src/main/java/net/minecraft/server/IWorldReader.java
-index 0930552b1f..c0aa21703f 100644
+index 452b2b2d2..7019d4ae9 100644
--- a/src/main/java/net/minecraft/server/IWorldReader.java
+++ b/src/main/java/net/minecraft/server/IWorldReader.java
-@@ -95,7 +95,12 @@ public interface IWorldReader extends IIBlockAccess {
+@@ -99,7 +99,12 @@ public interface IWorldReader extends IIBlockAccess {
return ChunkStatus.EMPTY;
}
@@ -58,7 +58,7 @@ index 0930552b1f..c0aa21703f 100644
return voxelshape.isEmpty() || this.a((Entity) null, voxelshape.a((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()));
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
-index 59b1e6ce2e..b90cc6652b 100644
+index 59b1e6ce2..b90cc6652 100644
--- a/src/main/java/net/minecraft/server/ItemBlock.java
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -126,7 +126,8 @@ public class ItemBlock extends Item {
@@ -72,7 +72,7 @@ index 59b1e6ce2e..b90cc6652b 100644
BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), player, CraftBlockData.fromData(iblockdata), defaultReturn);
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index b570e2778b..b0f827594b 100644
+index ceffcec72..b39886c5d 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1120,6 +1120,14 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0267-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0266-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch
index 0040bf0802..3bdff12f37 100644
--- a/Spigot-Server-Patches/0267-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch
+++ b/Spigot-Server-Patches/0266-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch
@@ -1,4 +1,4 @@
-From c4b1af2626f609e6bae4e19896b2df0ffaa63954 Mon Sep 17 00:00:00 2001
+From 99005843982ad2e93d78f12cfedc8f10344741a1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 23 Jul 2018 22:18:31 -0400
Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it
@@ -6,10 +6,10 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index 5f0329d0b1..c23891f73a 100644
+index 7382a47d8..8a8c8f4e8 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -410,6 +410,7 @@ public class Chunk implements IChunkAccess {
+@@ -411,6 +411,7 @@ public class Chunk implements IChunkAccess {
entity.chunkY = k;
entity.chunkZ = this.loc.z;
this.entitySlices[k].add(entity);
@@ -17,7 +17,7 @@ index 5f0329d0b1..c23891f73a 100644
}
@Override
-@@ -436,6 +437,7 @@ public class Chunk implements IChunkAccess {
+@@ -437,6 +438,7 @@ public class Chunk implements IChunkAccess {
return;
}
entityCounts.decrement(entity.getMinecraftKeyString());
diff --git a/Spigot-Server-Patches/0268-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0267-Add-some-Debug-to-Chunk-Entity-slices.patch
index 4b3179a3b5..40e17b3fef 100644
--- a/Spigot-Server-Patches/0268-Add-some-Debug-to-Chunk-Entity-slices.patch
+++ b/Spigot-Server-Patches/0267-Add-some-Debug-to-Chunk-Entity-slices.patch
@@ -1,4 +1,4 @@
-From 88075086ab0ce189abe18270d7b670f8d57e6074 Mon Sep 17 00:00:00 2001
+From bcc772b0a83f8c5a792ff5439b4220238a7665e1 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 23 Jul 2018 22:44:23 -0400
Subject: [PATCH] Add some Debug to Chunk Entity slices
@@ -9,10 +9,10 @@ This should hopefully avoid duplicate entities ever being created
if the entity was to end up in 2 different chunk slices
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index c23891f73a..d787a4ab30 100644
+index 8a8c8f4e8..fd91cf839 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -402,6 +402,25 @@ public class Chunk implements IChunkAccess {
+@@ -403,6 +403,25 @@ public class Chunk implements IChunkAccess {
if (k >= this.entitySlices.length) {
k = this.entitySlices.length - 1;
}
@@ -38,7 +38,7 @@ index c23891f73a..d787a4ab30 100644
if (!entity.inChunk || entity.getCurrentChunk() != this) entityCounts.increment(entity.getMinecraftKeyString()); // Paper
entity.inChunk = true;
-@@ -410,6 +429,7 @@ public class Chunk implements IChunkAccess {
+@@ -411,6 +430,7 @@ public class Chunk implements IChunkAccess {
entity.chunkY = k;
entity.chunkZ = this.loc.z;
this.entitySlices[k].add(entity);
@@ -46,7 +46,7 @@ index c23891f73a..d787a4ab30 100644
this.markDirty(); // Paper
}
-@@ -433,6 +453,9 @@ public class Chunk implements IChunkAccess {
+@@ -434,6 +454,9 @@ public class Chunk implements IChunkAccess {
}
// Paper start
if (entity.currentChunk != null && entity.currentChunk.get() == this) entity.setCurrentChunk(null);
@@ -57,7 +57,7 @@ index c23891f73a..d787a4ab30 100644
return;
}
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 3397604a8a..cbd7793c53 100644
+index e3b1ebe62..2484eb0ff 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -67,6 +67,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
diff --git a/Spigot-Server-Patches/0269-EntityTransformedEvent.patch b/Spigot-Server-Patches/0268-EntityTransformedEvent.patch
index 89d3b96b84..1cd3770eb5 100644
--- a/Spigot-Server-Patches/0269-EntityTransformedEvent.patch
+++ b/Spigot-Server-Patches/0268-EntityTransformedEvent.patch
@@ -1,11 +1,11 @@
-From 198e144ce8e5bc7857f8d757383e556ec1b5e590 Mon Sep 17 00:00:00 2001
+From 9445ddab593fabafef6dda16ad36326e013cf29d Mon Sep 17 00:00:00 2001
From: Anthony MacAllister <[email protected]>
Date: Thu, 26 Jul 2018 15:30:03 -0400
Subject: [PATCH] EntityTransformedEvent
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
-index 2b0ac15a8d..76712996fd 100644
+index bb3493c14..de787d861 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -101,6 +101,7 @@ public class EntityMushroomCow extends EntityCow {
@@ -17,10 +17,10 @@ index 2b0ac15a8d..76712996fd 100644
this.die(); // CraftBukkit - from above
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
-index bc04086d79..d489a5a8c7 100644
+index 53e2266a9..f2b46d4e3 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
-@@ -591,6 +591,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
+@@ -596,6 +596,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
if (CraftEventFactory.callEntityTransformEvent(this, entitywitch, EntityTransformEvent.TransformReason.LIGHTNING).isCancelled()) {
return;
}
@@ -29,7 +29,7 @@ index bc04086d79..d489a5a8c7 100644
// 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 c3ce3daca6..2f0fab469b 100644
+index 4cb305ff2..171c1ae4a 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -247,6 +247,7 @@ public class EntityZombie extends EntityMonster {
@@ -49,10 +49,10 @@ index c3ce3daca6..2f0fab469b 100644
this.world.addEntity(entityzombievillager, CreatureSpawnEvent.SpawnReason.INFECTION); // CraftBukkit - add SpawnReason
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
-index 042afd2691..d7205a57e6 100644
+index b5d079233..a857d70e9 100644
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
-@@ -159,6 +159,7 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
+@@ -157,6 +157,7 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
if (CraftEventFactory.callEntityTransformEvent(this, entityvillager, EntityTransformEvent.TransformReason.CURED).isCancelled()) {
return;
}
diff --git a/Spigot-Server-Patches/0270-SkeletonHorse-Additions.patch b/Spigot-Server-Patches/0269-SkeletonHorse-Additions.patch
index 8538b4e1af..7b6c30d098 100644
--- a/Spigot-Server-Patches/0270-SkeletonHorse-Additions.patch
+++ b/Spigot-Server-Patches/0269-SkeletonHorse-Additions.patch
@@ -1,11 +1,11 @@
-From 35cd744003a55450bba24f19436ad7bef00d7ff0 Mon Sep 17 00:00:00 2001
+From 9fadebcc1ea54b2f9fcbb43035eadd4c4a6c0ed0 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 27 Jul 2018 22:36:31 -0500
Subject: [PATCH] SkeletonHorse Additions
diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
-index 9ac34dfa8c..b967264562 100644
+index 9ac34dfa8..b96726456 100644
--- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
+++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
@@ -6,7 +6,7 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
@@ -31,7 +31,7 @@ index 9ac34dfa8c..b967264562 100644
if (flag != this.bK) {
this.bK = flag;
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
-index 7b0a6f82fb..f093744136 100644
+index 7b0a6f82f..f09374413 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
@@ -15,6 +15,7 @@ public class PathfinderGoalHorseTrap extends PathfinderGoal {
@@ -43,7 +43,7 @@ index 7b0a6f82fb..f093744136 100644
this.a.r(false);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java
-index e822c2200d..2a7d1d4ec2 100644
+index e822c2200..2a7d1d4ec 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java
@@ -26,4 +26,26 @@ public class CraftSkeletonHorse extends CraftAbstractHorse implements SkeletonHo
diff --git a/Spigot-Server-Patches/0271-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0270-Prevent-Saving-Bad-entities-to-chunks.patch
index 0aecf9c1d5..07d6d683e3 100644
--- a/Spigot-Server-Patches/0271-Prevent-Saving-Bad-entities-to-chunks.patch
+++ b/Spigot-Server-Patches/0270-Prevent-Saving-Bad-entities-to-chunks.patch
@@ -1,4 +1,4 @@
-From ef076ea837adf53c30c9e890133c866ac5c03288 Mon Sep 17 00:00:00 2001
+From fc1b1b28585b3818324213da7edaff5c56a43479 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 26 Jul 2018 00:11:12 -0400
Subject: [PATCH] Prevent Saving Bad entities to chunks
@@ -18,21 +18,21 @@ an invalid entity.
This should reduce log occurrences of dupe uuid messages.
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-index 0fed039f34..2e9686b432 100644
+index 2b8148fbd..9038d17fd 100644
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
-@@ -304,6 +304,7 @@ public class ChunkRegionLoader {
+@@ -332,6 +332,7 @@ public class ChunkRegionLoader {
+ NBTTagList nbttaglist2 = new NBTTagList();
NBTTagCompound nbttagcompound4;
- Iterator iterator1;
+ java.util.List<Entity> toUpdate = new java.util.ArrayList<>(); // Paper
if (ichunkaccess.getChunkStatus().getType() == ChunkStatus.Type.LEVELCHUNK) {
Chunk chunk = (Chunk) ichunkaccess;
-@@ -314,6 +315,16 @@ public class ChunkRegionLoader {
+@@ -343,6 +344,17 @@ public class ChunkRegionLoader {
+ while (iterator1.hasNext()) {
+ Entity entity = (Entity) iterator1.next();
- while (iterator2.hasNext()) {
- Entity entity = (Entity) iterator2.next();
+ // Paper start
+ if ((int)Math.floor(entity.locX) >> 4 != chunk.getPos().x || (int)Math.floor(entity.locZ) >> 4 != chunk.getPos().z) {
+ LogManager.getLogger().warn(entity + " is not in this chunk, skipping save. This a bug fix to a vanilla bug. Do not report this to PaperMC please.");
@@ -43,17 +43,18 @@ index 0fed039f34..2e9686b432 100644
+ continue;
+ }
+ // Paper end
-
++
nbttagcompound4 = new NBTTagCompound();
if (entity.d(nbttagcompound4)) {
-@@ -322,6 +333,13 @@ public class ChunkRegionLoader {
+ chunk.d(true);
+@@ -350,6 +362,13 @@ public class ChunkRegionLoader {
}
}
}
+
+ // Paper start - move entities to the correct chunk
+ for (Entity entity : toUpdate) {
-+ ((WorldServer)world).entityJoinedWorld(entity);
++ worldserver.entityJoinedWorld(entity);
+ }
+ // Paper end
+
diff --git a/Spigot-Server-Patches/0272-Don-t-call-getItemMeta-on-hasItemMeta.patch b/Spigot-Server-Patches/0271-Don-t-call-getItemMeta-on-hasItemMeta.patch
index 2701880a8b..676399e256 100644
--- a/Spigot-Server-Patches/0272-Don-t-call-getItemMeta-on-hasItemMeta.patch
+++ b/Spigot-Server-Patches/0271-Don-t-call-getItemMeta-on-hasItemMeta.patch
@@ -1,4 +1,4 @@
-From 7cb15e928a613c57fa2f9425562a424064462589 Mon Sep 17 00:00:00 2001
+From bd63bbb39ceefcad0b0dfb88f447461de4738dab Mon Sep 17 00:00:00 2001
From: Hugo Manrique <[email protected]>
Date: Thu, 26 Jul 2018 14:10:23 +0200
Subject: [PATCH] Don't call getItemMeta on hasItemMeta
@@ -11,7 +11,7 @@ Returns true if getDamage() == 0 or has damage tag or other tag is set.
Check the `ItemMetaTest#testTaggedButNotMeta` method to see how this method behaves.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
-index 1609e6bbb6..8a6a135372 100644
+index 1609e6bbb..8a6a13537 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
@@ -536,7 +536,7 @@ public final class CraftItemStack extends ItemStack {
@@ -24,7 +24,7 @@ index 1609e6bbb6..8a6a135372 100644
static boolean hasItemMeta(net.minecraft.server.ItemStack item) {
diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
-index 2a0852675b..f30f743121 100644
+index 2a0852675..f30f74312 100644
--- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
+++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java
@@ -4,6 +4,7 @@ import static org.hamcrest.Matchers.*;
diff --git a/Spigot-Server-Patches/0273-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0272-Ignore-Dead-Entities-in-entityList-iteration.patch
index 7e96feb93f..fdd1c7d766 100644
--- a/Spigot-Server-Patches/0273-Ignore-Dead-Entities-in-entityList-iteration.patch
+++ b/Spigot-Server-Patches/0272-Ignore-Dead-Entities-in-entityList-iteration.patch
@@ -1,4 +1,4 @@
-From e7ae681c20ded420a550293046b69554796a6f8e Mon Sep 17 00:00:00 2001
+From 359367a6f4bf33da4fdeec175017cf835ff03bc6 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 28 Jul 2018 12:18:27 -0400
Subject: [PATCH] Ignore Dead Entities in entityList iteration
@@ -23,10 +23,10 @@ index ce190d88d..352a39dcb 100644
MutablePair<Integer, Map<ChunkCoordIntPair, Integer>> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap()));
ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ());
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index d787a4ab3..d313b9b3c 100644
+index fd91cf839..2b4ad100e 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -642,6 +642,7 @@ public class Chunk implements IChunkAccess {
+@@ -643,6 +643,7 @@ public class Chunk implements IChunkAccess {
while (iterator.hasNext()) {
Entity entity1 = (Entity) iterator.next();
@@ -34,7 +34,7 @@ index d787a4ab3..d313b9b3c 100644
if (entity1.getBoundingBox().c(axisalignedbb) && entity1 != entity) {
if (predicate == null || predicate.test(entity1)) {
-@@ -679,6 +680,7 @@ public class Chunk implements IChunkAccess {
+@@ -680,6 +681,7 @@ public class Chunk implements IChunkAccess {
while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next();
@@ -42,7 +42,7 @@ index d787a4ab3..d313b9b3c 100644
if ((entitytypes == null || entity.getEntityType() == entitytypes) && entity.getBoundingBox().c(axisalignedbb) && predicate.test(entity)) {
list.add(entity);
-@@ -700,6 +702,7 @@ public class Chunk implements IChunkAccess {
+@@ -701,6 +703,7 @@ public class Chunk implements IChunkAccess {
while (iterator.hasNext()) {
T t0 = (T) iterator.next(); // CraftBukkit - decompile error
@@ -51,7 +51,7 @@ index d787a4ab3..d313b9b3c 100644
if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check
list.add(t0);
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index f8e837fae..aac0146fd 100644
+index 2484eb0ff..622160ff4 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -126,6 +126,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -63,10 +63,10 @@ index f8e837fae..aac0146fd 100644
private float av;
private float aw;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 0a57f9f2b..d17c2eeb7 100644
+index 6f298d737..74917a3b1 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -843,6 +843,7 @@ public class WorldServer extends World {
+@@ -836,6 +836,7 @@ public class WorldServer extends World {
while (objectiterator.hasNext()) {
Entity entity = (Entity) objectiterator.next();
@@ -74,7 +74,7 @@ index 0a57f9f2b..d17c2eeb7 100644
// CraftBukkit start - Split out persistent check, don't apply it to special persistent mobs
if (entity instanceof EntityInsentient) {
EntityInsentient entityinsentient = (EntityInsentient) entity;
-@@ -1137,6 +1138,7 @@ public class WorldServer extends World {
+@@ -1130,6 +1131,7 @@ public class WorldServer extends World {
entity.origin = entity.getBukkitEntity().getLocation();
}
// Paper end
@@ -82,7 +82,7 @@ index 0a57f9f2b..d17c2eeb7 100644
new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
}
-@@ -1151,6 +1153,7 @@ public class WorldServer extends World {
+@@ -1144,6 +1146,7 @@ public class WorldServer extends World {
this.removeEntityFromChunk(entity);
this.entitiesById.remove(entity.getId());
this.unregisterEntity(entity);
@@ -91,10 +91,10 @@ index 0a57f9f2b..d17c2eeb7 100644
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 19fa15d79..79a5adf48 100644
+index 9a9c5a93e..20f7c44b6 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -864,6 +864,7 @@ public class CraftWorld implements World {
+@@ -847,6 +847,7 @@ public class CraftWorld implements World {
for (Object o : world.entitiesById.values()) {
if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
@@ -102,7 +102,7 @@ index 19fa15d79..79a5adf48 100644
Entity bukkitEntity = mcEnt.getBukkitEntity();
// Assuming that bukkitEntity isn't null
-@@ -883,6 +884,7 @@ public class CraftWorld implements World {
+@@ -866,6 +867,7 @@ public class CraftWorld implements World {
for (Object o : world.entitiesById.values()) {
if (o instanceof net.minecraft.server.Entity) {
net.minecraft.server.Entity mcEnt = (net.minecraft.server.Entity) o;
@@ -110,7 +110,7 @@ index 19fa15d79..79a5adf48 100644
Entity bukkitEntity = mcEnt.getBukkitEntity();
// Assuming that bukkitEntity isn't null
-@@ -909,6 +911,7 @@ public class CraftWorld implements World {
+@@ -892,6 +894,7 @@ public class CraftWorld implements World {
for (Object entity: world.entitiesById.values()) {
if (entity instanceof net.minecraft.server.Entity) {
@@ -118,7 +118,7 @@ index 19fa15d79..79a5adf48 100644
Entity bukkitEntity = ((net.minecraft.server.Entity) entity).getBukkitEntity();
if (bukkitEntity == null) {
-@@ -932,6 +935,7 @@ public class CraftWorld implements World {
+@@ -915,6 +918,7 @@ public class CraftWorld implements World {
for (Object entity: world.entitiesById.values()) {
if (entity instanceof net.minecraft.server.Entity) {
diff --git a/Spigot-Server-Patches/0274-Provide-option-to-use-a-versioned-world-folder-for-t.patch b/Spigot-Server-Patches/0273-Provide-option-to-use-a-versioned-world-folder-for-t.patch
index 5b6562f3d1..5f68095d8c 100644
--- a/Spigot-Server-Patches/0274-Provide-option-to-use-a-versioned-world-folder-for-t.patch
+++ b/Spigot-Server-Patches/0273-Provide-option-to-use-a-versioned-world-folder-for-t.patch
@@ -1,4 +1,4 @@
-From b6fadc58f2a42f8c8156d4437f6f265c9ee2098a Mon Sep 17 00:00:00 2001
+From 041dd87c43cf13c216c0820f5c22d5b8cf3eb49b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 29 Jul 2018 15:48:50 -0400
Subject: [PATCH] Provide option to use a versioned world folder for testing
diff --git a/Spigot-Server-Patches/0275-MC-111480-Start-Entity-ID-s-at-1.patch b/Spigot-Server-Patches/0274-MC-111480-Start-Entity-ID-s-at-1.patch
index 21f54f195e..b238e2c9a4 100644
--- a/Spigot-Server-Patches/0275-MC-111480-Start-Entity-ID-s-at-1.patch
+++ b/Spigot-Server-Patches/0274-MC-111480-Start-Entity-ID-s-at-1.patch
@@ -1,4 +1,4 @@
-From 7aabd2f484eead947cfa6a4167545ccfe36b5262 Mon Sep 17 00:00:00 2001
+From 5612bef1b06db635c34ca0ee56936e82e53459b2 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 29 Jul 2018 22:58:47 -0400
Subject: [PATCH] MC-111480: Start Entity ID's at 1
@@ -7,7 +7,7 @@ DataWatchers that store Entity ID's treat 0 as special,
and can break things such as Elytra Fireworks.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index a217cb0fe7..9bfc725a2c 100644
+index 622160ff4..e1c793aad 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -92,7 +92,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
diff --git a/Spigot-Server-Patches/0276-Implement-Expanded-ArmorStand-API.patch b/Spigot-Server-Patches/0275-Implement-Expanded-ArmorStand-API.patch
index c3bd2450a8..7403be2538 100644
--- a/Spigot-Server-Patches/0276-Implement-Expanded-ArmorStand-API.patch
+++ b/Spigot-Server-Patches/0275-Implement-Expanded-ArmorStand-API.patch
@@ -1,4 +1,4 @@
-From d983ddb997ce71479037b942b8e8fbc38e45dfdb Mon Sep 17 00:00:00 2001
+From 7e20108512afe0d71890499c0e478c517bdb8b83 Mon Sep 17 00:00:00 2001
From: willies952002 <[email protected]>
Date: Thu, 26 Jul 2018 02:25:46 -0400
Subject: [PATCH] Implement Expanded ArmorStand API
@@ -8,7 +8,7 @@ Add the following:
- Enable/Disable slot interactions
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index f8cd621993..8fb3ce17aa 100644
+index 916eaa7b9..00ff1e80d 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -36,7 +36,7 @@ public class EntityArmorStand extends EntityLiving {
@@ -29,7 +29,7 @@ index f8cd621993..8fb3ce17aa 100644
return (this.bE & 1 << enumitemslot.c()) != 0 || enumitemslot.a() == EnumItemSlot.Function.HAND && !this.hasArms();
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
-index 124c3185bc..9f5c3b92e3 100644
+index 124c3185b..9f5c3b92e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
@@ -30,11 +30,13 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {
diff --git a/Spigot-Server-Patches/0277-AnvilDamageEvent.patch b/Spigot-Server-Patches/0276-AnvilDamageEvent.patch
index 8b71aa0477..e92d2b5dd7 100644
--- a/Spigot-Server-Patches/0277-AnvilDamageEvent.patch
+++ b/Spigot-Server-Patches/0276-AnvilDamageEvent.patch
@@ -1,11 +1,11 @@
-From c4527009f9badff9af31566955c34b6e728d1395 Mon Sep 17 00:00:00 2001
+From b57c867923c316a4532d92b23eea8f00b2c70046 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 20 Jul 2018 23:37:03 -0500
Subject: [PATCH] AnvilDamageEvent
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
-index ada5cf982e..9e73e731b5 100644
+index ada5cf982..9e73e731b 100644
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
@@ -85,6 +85,16 @@ public class ContainerAnvil extends Container {
diff --git a/Spigot-Server-Patches/0278-Add-TNTPrimeEvent.patch b/Spigot-Server-Patches/0277-Add-TNTPrimeEvent.patch
index 03b73b7924..8fc05e8715 100644
--- a/Spigot-Server-Patches/0278-Add-TNTPrimeEvent.patch
+++ b/Spigot-Server-Patches/0277-Add-TNTPrimeEvent.patch
@@ -1,11 +1,11 @@
-From 1827205a895feca061f160216b3015c9b06c9451 Mon Sep 17 00:00:00 2001
+From c67e9c23bbe0f37866002b4a84be8e0e144e7d0a Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <[email protected]>
Date: Mon, 16 Jul 2018 00:05:05 +0300
Subject: [PATCH] Add TNTPrimeEvent
diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java
-index 73190ccba..dfb546820 100644
+index f769df41a..087535caf 100644
--- a/src/main/java/net/minecraft/server/BlockFire.java
+++ b/src/main/java/net/minecraft/server/BlockFire.java
@@ -2,6 +2,7 @@ package net.minecraft.server;
@@ -39,7 +39,7 @@ index 73190ccba..dfb546820 100644
}
}
diff --git a/src/main/java/net/minecraft/server/BlockTNT.java b/src/main/java/net/minecraft/server/BlockTNT.java
-index 8cb36ed3a..88d023871 100644
+index 013fa3524..7e534417b 100644
--- a/src/main/java/net/minecraft/server/BlockTNT.java
+++ b/src/main/java/net/minecraft/server/BlockTNT.java
@@ -1,6 +1,7 @@
@@ -99,21 +99,22 @@ index 8cb36ed3a..88d023871 100644
a(world, blockposition, (EntityLiving) entityhuman);
world.setTypeAndData(blockposition, Blocks.AIR.getBlockData(), 11);
if (item == Items.FLINT_AND_STEEL) {
-@@ -97,6 +119,12 @@ public class BlockTNT extends Block {
- return;
+@@ -99,6 +121,13 @@ public class BlockTNT extends Block {
}
// CraftBukkit end
+
+ // Paper start - TNTPrimeEvent
+ org.bukkit.block.Block tntBlock = MCUtil.toBukkitBlock(world, blockposition);
+ if (!new TNTPrimeEvent(tntBlock, TNTPrimeEvent.PrimeReason.PROJECTILE, entityarrow.bukkitEntity).callEvent()) {
+ return;
+ }
+ // Paper end
++
a(world, blockposition, entity1 instanceof EntityLiving ? (EntityLiving) entity1 : null);
world.a(blockposition, false);
}
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
-index b0651a708..6d51413d1 100644
+index d42d4e83e..9ada10cc7 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -11,6 +11,7 @@ import org.bukkit.craftbukkit.block.CraftBlock;
diff --git a/Spigot-Server-Patches/0279-Break-up-and-make-tab-spam-limits-configurable.patch b/Spigot-Server-Patches/0278-Break-up-and-make-tab-spam-limits-configurable.patch
index b7cc5447f9..e6e9f94c0f 100644
--- a/Spigot-Server-Patches/0279-Break-up-and-make-tab-spam-limits-configurable.patch
+++ b/Spigot-Server-Patches/0278-Break-up-and-make-tab-spam-limits-configurable.patch
@@ -1,4 +1,4 @@
-From 49edabb9820cc2f43da6ace27eff625eac73933d Mon Sep 17 00:00:00 2001
+From c1c208a820e58af16864c27bf94f9a28549bfbb7 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sun, 29 Jul 2018 05:02:15 +0100
Subject: [PATCH] Break up and make tab spam limits configurable
@@ -45,7 +45,7 @@ index 8c3880c83..d773ef5b0 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index e7e0c02b5..fc8d7d9d0 100644
+index 6d61a1e79..d163836d0 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -76,6 +76,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0280-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0279-Add-hand-to-bucket-events.patch
index 1563a61fc8..260e4a9976 100644
--- a/Spigot-Server-Patches/0280-Add-hand-to-bucket-events.patch
+++ b/Spigot-Server-Patches/0279-Add-hand-to-bucket-events.patch
@@ -1,11 +1,11 @@
-From 4ee6301c818812345876e6c8ba08c084c7833320 Mon Sep 17 00:00:00 2001
+From e601e535b8d90cf48e04a2275c8c54489c702d69 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Thu, 2 Aug 2018 08:44:35 -0500
Subject: [PATCH] Add hand to bucket events
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
-index a17738f9ff..d2c2e3cc33 100644
+index a17738f9f..d2c2e3cc3 100644
--- a/src/main/java/net/minecraft/server/EntityCow.java
+++ b/src/main/java/net/minecraft/server/EntityCow.java
@@ -62,7 +62,7 @@ public class EntityCow extends EntityAnimal {
@@ -18,7 +18,7 @@ index a17738f9ff..d2c2e3cc33 100644
if (event.isCancelled()) {
return false;
diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java
-index cb28914118..5dc967f8ba 100644
+index cb2891411..5dc967f8b 100644
--- a/src/main/java/net/minecraft/server/ItemBucket.java
+++ b/src/main/java/net/minecraft/server/ItemBucket.java
@@ -39,7 +39,7 @@ public class ItemBucket extends Item {
@@ -67,7 +67,7 @@ index cb28914118..5dc967f8ba 100644
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity
((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); // SPIGOT-4541
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index b0f827594b..23c4b93466 100644
+index b39886c5d..9380b4953 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -354,6 +354,20 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0281-MC-135506-Experience-should-save-as-Integers.patch b/Spigot-Server-Patches/0280-MC-135506-Experience-should-save-as-Integers.patch
index 5d92e75a2e..22183a497d 100644
--- a/Spigot-Server-Patches/0281-MC-135506-Experience-should-save-as-Integers.patch
+++ b/Spigot-Server-Patches/0280-MC-135506-Experience-should-save-as-Integers.patch
@@ -1,11 +1,11 @@
-From 06e9a549b0ad61d0792aefdecf0c4f45a05d49f5 Mon Sep 17 00:00:00 2001
+From 3d7cbb58d3a12b7d4d5cbca380f25337c7186d61 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 3 Aug 2018 00:04:54 -0400
Subject: [PATCH] MC-135506: Experience should save as Integers
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
-index 64d71a9a2a..65c9969613 100644
+index 64d71a9a2..65c996961 100644
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
@@ -204,7 +204,7 @@ public class EntityExperienceOrb extends Entity {
diff --git a/Spigot-Server-Patches/0282-Fix-client-rendering-skulls-from-same-user.patch b/Spigot-Server-Patches/0281-Fix-client-rendering-skulls-from-same-user.patch
index 9621159055..40245a5970 100644
--- a/Spigot-Server-Patches/0282-Fix-client-rendering-skulls-from-same-user.patch
+++ b/Spigot-Server-Patches/0281-Fix-client-rendering-skulls-from-same-user.patch
@@ -1,4 +1,4 @@
-From 52423cb01f622562c809268b7cc4704cd762f04f Mon Sep 17 00:00:00 2001
+From f02d6679d5a68fdd5878e7d68a18e42391915a3b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 22 Nov 2016 00:40:42 -0500
Subject: [PATCH] Fix client rendering skulls from same user
@@ -12,7 +12,7 @@ This allows the client to render multiple skull textures from the same user,
for when different skins were used when skull was made.
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
-index 2acd02f2f4..ca1bd02995 100644
+index 2acd02f2f..ca1bd0299 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -54,7 +54,7 @@ public final class ItemStack {
@@ -25,7 +25,7 @@ index 2acd02f2f4..ca1bd02995 100644
private EntityItemFrame i;
private ShapeDetectorBlock j;
diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java
-index 0d67676f7d..fa2d3ce8cb 100644
+index 0d67676f7..fa2d3ce8c 100644
--- a/src/main/java/net/minecraft/server/PacketDataSerializer.java
+++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java
@@ -253,6 +253,15 @@ public class PacketDataSerializer extends ByteBuf {
@@ -62,7 +62,7 @@ index 0d67676f7d..fa2d3ce8cb 100644
}
// CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
-index 363ab5da12..d19a30ad87 100644
+index 363ab5da1..d19a30ad8 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -51,6 +51,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
@@ -74,7 +74,7 @@ index 363ab5da12..d19a30ad87 100644
this.f.add(nbttagcompound);
}
diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java
-index e827d76054..4803b173aa 100644
+index f6a80a00f..5306574e5 100644
--- a/src/main/java/net/minecraft/server/TileEntitySkull.java
+++ b/src/main/java/net/minecraft/server/TileEntitySkull.java
@@ -142,9 +142,37 @@ public class TileEntitySkull extends TileEntity /*implements ITickable*/ { // Pa
diff --git a/Spigot-Server-Patches/0283-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0282-Add-Early-Warning-Feature-to-WatchDog.patch
index 58ce2ebe89..f825905232 100644
--- a/Spigot-Server-Patches/0283-Add-Early-Warning-Feature-to-WatchDog.patch
+++ b/Spigot-Server-Patches/0282-Add-Early-Warning-Feature-to-WatchDog.patch
@@ -1,4 +1,4 @@
-From d7993a246e5a8d92ca00aa8245c80928374415f5 Mon Sep 17 00:00:00 2001
+From 1348f0740b628fbbcc2f6bca3b18dcd9f679b999 Mon Sep 17 00:00:00 2001
From: miclebrick <[email protected]>
Date: Wed, 8 Aug 2018 15:30:52 -0400
Subject: [PATCH] Add Early Warning Feature to WatchDog
@@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash.
This will help diagnose what was going on in that time before the crash.
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
-index d773ef5b0d..833659bbb2 100644
+index d773ef5b0..833659bbb 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -25,6 +25,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
@@ -36,7 +36,7 @@ index d773ef5b0d..833659bbb2 100644
public static int tabSpamLimit = 500;
private static void tabSpamLimiters() {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index ffa850077f..45cd31e88a 100644
+index ea3d9e9af..9b11fd838 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -847,6 +847,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -48,7 +48,7 @@ index ffa850077f..45cd31e88a 100644
long start = System.nanoTime(), curTime, wait, tickSection = start; // Paper - Further improve server tick loop
lastTick = start - TICK_TIME; // Paper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 45710c0d2a..e2d2b25dee 100644
+index 4fe8e198f..770dbf605 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -754,6 +754,7 @@ public final class CraftServer implements Server {
@@ -68,7 +68,7 @@ index 45710c0d2a..e2d2b25dee 100644
@Override
diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java
-index 6c5430ff94..4b8581f0ed 100644
+index 6c5430ff9..4b8581f0e 100644
--- a/src/main/java/org/spigotmc/SpigotConfig.java
+++ b/src/main/java/org/spigotmc/SpigotConfig.java
@@ -225,7 +225,7 @@ public class SpigotConfig
@@ -81,7 +81,7 @@ index 6c5430ff94..4b8581f0ed 100644
public static boolean bungee;
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
-index 9532aada82..a1d93200e6 100644
+index 9532aada8..a1d93200e 100644
--- a/src/main/java/org/spigotmc/WatchdogThread.java
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
@@ -5,6 +5,7 @@ import java.lang.management.MonitorInfo;
diff --git a/Spigot-Server-Patches/0284-Make-EnderDragon-implement-Mob.patch b/Spigot-Server-Patches/0283-Make-EnderDragon-implement-Mob.patch
index 932f5f16ae..a38e3f870a 100644
--- a/Spigot-Server-Patches/0284-Make-EnderDragon-implement-Mob.patch
+++ b/Spigot-Server-Patches/0283-Make-EnderDragon-implement-Mob.patch
@@ -1,11 +1,11 @@
-From 59f8114af15d34ac51cc390d99b11a0cd09d0313 Mon Sep 17 00:00:00 2001
+From 89218536bfa31888b2d562669ae0bd41258a8358 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 10 Aug 2018 22:11:49 -0400
Subject: [PATCH] Make EnderDragon implement Mob
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java
-index cc115cc368..4947249da2 100644
+index cc115cc36..4947249da 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java
@@ -1,17 +1,18 @@
diff --git a/Spigot-Server-Patches/0285-Detect-and-repair-corrupt-Region-Files.patch b/Spigot-Server-Patches/0284-Detect-and-repair-corrupt-Region-Files.patch
index 1662e3507e..f54ad9e5e8 100644
--- a/Spigot-Server-Patches/0285-Detect-and-repair-corrupt-Region-Files.patch
+++ b/Spigot-Server-Patches/0284-Detect-and-repair-corrupt-Region-Files.patch
@@ -1,4 +1,4 @@
-From f495f340021a9f5e104d1d0af06c140dfd9536e2 Mon Sep 17 00:00:00 2001
+From a2b6a6be1167a19be210fd71878a492081f010f9 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 11 Aug 2018 00:49:20 -0400
Subject: [PATCH] Detect and repair corrupt Region Files
@@ -11,7 +11,7 @@ I don't know why mojang only checks for 4096, when anything less than 8192 is a
But to be safe, it will attempt to back up the file.
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
-index 4e6288e8bb..e68f901943 100644
+index 4e6288e8b..e68f90194 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -27,13 +27,13 @@ public class RegionFile implements AutoCloseable {
diff --git a/Spigot-Server-Patches/0286-Use-ConcurrentHashMap-in-JsonList.patch b/Spigot-Server-Patches/0285-Use-ConcurrentHashMap-in-JsonList.patch
index d25f056517..1693485338 100644
--- a/Spigot-Server-Patches/0286-Use-ConcurrentHashMap-in-JsonList.patch
+++ b/Spigot-Server-Patches/0285-Use-ConcurrentHashMap-in-JsonList.patch
@@ -1,4 +1,4 @@
-From 541af4343884a34547ea09904010768d183671f5 Mon Sep 17 00:00:00 2001
+From beb8d7152eb7655368b1dffaab07ce6b87f84ef7 Mon Sep 17 00:00:00 2001
From: egg82 <[email protected]>
Date: Tue, 7 Aug 2018 01:24:23 -0600
Subject: [PATCH] Use ConcurrentHashMap in JsonList
@@ -25,7 +25,7 @@ The point of this is readability, but does have a side-benefit of a small microp
Finally, added a couple obfhelpers for the modified code
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
-index 04f98167d3..c169d01762 100644
+index 04f98167d..c169d0176 100644
--- a/src/main/java/net/minecraft/server/JsonList.java
+++ b/src/main/java/net/minecraft/server/JsonList.java
@@ -35,7 +35,8 @@ public class JsonList<K, V extends JsonListEntry<K>> {
diff --git a/Spigot-Server-Patches/0287-Use-a-Queue-for-Queueing-Commands.patch b/Spigot-Server-Patches/0286-Use-a-Queue-for-Queueing-Commands.patch
index 3560fdc551..76fffee092 100644
--- a/Spigot-Server-Patches/0287-Use-a-Queue-for-Queueing-Commands.patch
+++ b/Spigot-Server-Patches/0286-Use-a-Queue-for-Queueing-Commands.patch
@@ -1,4 +1,4 @@
-From c552012914c805e71e6f89c8b33f56971e7298cd Mon Sep 17 00:00:00 2001
+From 70e516c89bb8e424cd543ebda4909204a0f57d56 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 12 Aug 2018 02:33:39 -0400
Subject: [PATCH] Use a Queue for Queueing Commands
@@ -6,7 +6,7 @@ Subject: [PATCH] Use a Queue for Queueing Commands
Lists are bad as Queues mmmkay.
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
-index c2c676e3bb..3d452fe0e3 100644
+index c2c676e3b..3d452fe0e 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -41,7 +41,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
diff --git a/Spigot-Server-Patches/0288-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/Spigot-Server-Patches/0287-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
index b29e4ba6b5..bdb4963a12 100644
--- a/Spigot-Server-Patches/0288-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
+++ b/Spigot-Server-Patches/0287-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch
@@ -1,11 +1,11 @@
-From d60cad161dd929174196d60a61b3cc8964a9e0b4 Mon Sep 17 00:00:00 2001
+From 804b51b0c2d1eb8c487871cf51c16674646ce4d7 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 15 Aug 2018 01:16:34 -0400
Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
-index 323f5bf289..f1db08c880 100644
+index 323f5bf28..f1db08c88 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -118,6 +118,11 @@ public class CraftChunk implements Chunk {
diff --git a/Spigot-Server-Patches/0289-Allow-disabling-armour-stand-ticking.patch b/Spigot-Server-Patches/0288-Allow-disabling-armour-stand-ticking.patch
index c06f7e582b..58b8d0c673 100644
--- a/Spigot-Server-Patches/0289-Allow-disabling-armour-stand-ticking.patch
+++ b/Spigot-Server-Patches/0288-Allow-disabling-armour-stand-ticking.patch
@@ -1,11 +1,11 @@
-From ce474962c41099360ce1a18c3fa18921efcb2ee8 Mon Sep 17 00:00:00 2001
+From 110cbaa658e6539f2e153735527e95d03e74273f Mon Sep 17 00:00:00 2001
From: kashike <[email protected]>
Date: Wed, 15 Aug 2018 01:26:09 -0700
Subject: [PATCH] Allow disabling armour stand ticking
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index f06bb3ae19..a5b4f99901 100644
+index f06bb3ae1..a5b4f9990 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -391,4 +391,10 @@ public class PaperWorldConfig {
@@ -20,7 +20,7 @@ index f06bb3ae19..a5b4f99901 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
-index 8fb3ce17aa..7031dd0e4c 100644
+index 00ff1e80d..5c35909eb 100644
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
@@ -44,6 +44,11 @@ public class EntityArmorStand extends EntityLiving {
@@ -140,7 +140,7 @@ index 8fb3ce17aa..7031dd0e4c 100644
public Vector3f r() {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index de0f9f57d2..f115686f4a 100644
+index d52c0d81d..6334d3dea 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2259,52 +2259,7 @@ public abstract class EntityLiving extends Entity {
@@ -256,7 +256,7 @@ index de0f9f57d2..f115686f4a 100644
float f2 = MathHelper.g(f - this.aK);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
-index 9f5c3b92e3..07ce93f17c 100644
+index 9f5c3b92e..07ce93f17 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
@@ -297,5 +297,15 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {
diff --git a/Spigot-Server-Patches/0290-Optimize-BlockPosition-helper-methods.patch b/Spigot-Server-Patches/0289-Optimize-BlockPosition-helper-methods.patch
index 50b5bec387..db4e820961 100644
--- a/Spigot-Server-Patches/0290-Optimize-BlockPosition-helper-methods.patch
+++ b/Spigot-Server-Patches/0289-Optimize-BlockPosition-helper-methods.patch
@@ -1,4 +1,4 @@
-From 3a326c8f577ca50d98bc3260f06adec5ca76359d Mon Sep 17 00:00:00 2001
+From 92b340b1290f3257cd825dc7b19ebccf24674c5e Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Wed, 15 Aug 2018 12:05:12 -0700
Subject: [PATCH] Optimize BlockPosition helper methods
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize BlockPosition helper methods
Resolves #1338
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
-index a5e5a4ebae..6ed584f8dd 100644
+index a5e5a4eba..6ed584f8d 100644
--- a/src/main/java/net/minecraft/server/BlockPosition.java
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
@@ -134,55 +134,72 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali
diff --git a/Spigot-Server-Patches/0291-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0290-Send-nearby-packets-from-world-player-list-not-serve.patch
index 2e9b0767c6..2a52608552 100644
--- a/Spigot-Server-Patches/0291-Send-nearby-packets-from-world-player-list-not-serve.patch
+++ b/Spigot-Server-Patches/0290-Send-nearby-packets-from-world-player-list-not-serve.patch
@@ -1,14 +1,14 @@
-From c96a46965f8f48e335764278198a4c0c5fcb18dc Mon Sep 17 00:00:00 2001
+From bc54ff3205320313f9632d0b77303e50b602839e Mon Sep 17 00:00:00 2001
From: Mystiflow <[email protected]>
Date: Fri, 6 Jul 2018 13:21:30 +0100
Subject: [PATCH] Send nearby packets from world player list not server list
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 58bfafc6b2..97f4f7e1bd 100644
+index 006f7b8b9..af437120e 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -921,8 +921,25 @@ public abstract class PlayerList {
+@@ -922,8 +922,25 @@ public abstract class PlayerList {
}
public void sendPacketNearby(@Nullable EntityHuman entityhuman, double d0, double d1, double d2, double d3, DimensionManager dimensionmanager, Packet<?> packet) {
@@ -19,7 +19,7 @@ index 58bfafc6b2..97f4f7e1bd 100644
+ }
+
+ public void sendPacketNearby(@Nullable EntityHuman entityhuman, double d0, double d1, double d2, double d3, WorldServer world, Packet<?> packet) {
-+ sendPacketNearby(entityhuman, d0, d1, d2, d3, world.dimension, world, packet);
++ sendPacketNearby(entityhuman, d0, d1, d2, d3, world.worldProvider.getDimensionManager(), world, packet);
+ }
+
+ public void sendPacketNearby(@Nullable EntityHuman entityhuman, double d0, double d1, double d2, double d3, DimensionManager dimensionmanager, @Nullable WorldServer world, Packet<?> packet) {
@@ -36,7 +36,7 @@ index 58bfafc6b2..97f4f7e1bd 100644
// CraftBukkit start - Test if player receiving packet can see the source of the packet
if (entityhuman != null && entityhuman instanceof EntityPlayer && !entityplayer.getBukkitEntity().canSee(((EntityPlayer) entityhuman).getBukkitEntity())) {
-@@ -930,7 +947,7 @@ public abstract class PlayerList {
+@@ -931,7 +948,7 @@ public abstract class PlayerList {
}
// CraftBukkit end
@@ -46,10 +46,10 @@ index 58bfafc6b2..97f4f7e1bd 100644
double d5 = d1 - entityplayer.locY;
double d6 = d2 - entityplayer.locZ;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 305336d8d6..37287d85d8 100644
+index 74917a3b1..892c49506 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -1189,7 +1189,7 @@ public class WorldServer extends World {
+@@ -1182,7 +1182,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);
@@ -58,26 +58,24 @@ index 305336d8d6..37287d85d8 100644
}
@Override
-@@ -1324,8 +1324,8 @@ public class WorldServer extends World {
+@@ -1314,7 +1314,7 @@ public class WorldServer extends World {
BlockActionData blockactiondata = (BlockActionData) this.J.removeFirst();
if (this.a(blockactiondata)) {
-- // CraftBukkit - this.worldProvider.dimension -> this.dimension
-- this.server.getPlayerList().sendPacketNearby((EntityHuman) null, (double) blockactiondata.a().getX(), (double) blockactiondata.a().getY(), (double) blockactiondata.a().getZ(), 64.0D, dimension, new PacketPlayOutBlockAction(blockactiondata.a(), blockactiondata.b(), blockactiondata.c(), blockactiondata.d()));
-+ // CraftBukkit - this.worldProvider.dimension -> this.dimension, // Paper - dimension -> world
+- this.server.getPlayerList().sendPacketNearby((EntityHuman) null, (double) blockactiondata.a().getX(), (double) blockactiondata.a().getY(), (double) blockactiondata.a().getZ(), 64.0D, this.worldProvider.getDimensionManager(), new PacketPlayOutBlockAction(blockactiondata.a(), blockactiondata.b(), blockactiondata.c(), blockactiondata.d()));
+ this.server.getPlayerList().sendPacketNearby((EntityHuman) null, (double) blockactiondata.a().getX(), (double) blockactiondata.a().getY(), (double) blockactiondata.a().getZ(), 64.0D, this, new PacketPlayOutBlockAction(blockactiondata.a(), blockactiondata.b(), blockactiondata.c(), blockactiondata.d()));
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 3b0f9c86f1..69c43817fe 100644
+index 20f7c44b6..9601d412a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-@@ -1927,7 +1927,7 @@ public class CraftWorld implements World {
+@@ -1910,7 +1910,7 @@ public class CraftWorld implements World {
double z = loc.getZ();
PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), SoundCategory.valueOf(category.name()), new Vec3D(x, y, z), volume, pitch);
-- world.getMinecraftServer().getPlayerList().sendPacketNearby(null, x, y, z, volume > 1.0F ? 16.0F * volume : 16.0D, this.world.dimension, packet);
+- world.getMinecraftServer().getPlayerList().sendPacketNearby(null, x, y, z, volume > 1.0F ? 16.0F * volume : 16.0D, this.world.getWorldProvider().getDimensionManager(), packet);
+ world.getMinecraftServer().getPlayerList().sendPacketNearby(null, x, y, z, volume > 1.0F ? 16.0F * volume : 16.0D, this.world, packet); // Paper - this.world.dimension -> this.world
}
diff --git a/Spigot-Server-Patches/0292-Restore-vanlla-default-mob-spawn-range.patch b/Spigot-Server-Patches/0291-Restore-vanlla-default-mob-spawn-range.patch
index 4044462e7f..9b00d36c26 100644
--- a/Spigot-Server-Patches/0292-Restore-vanlla-default-mob-spawn-range.patch
+++ b/Spigot-Server-Patches/0291-Restore-vanlla-default-mob-spawn-range.patch
@@ -1,11 +1,11 @@
-From 03205b4f5796f847bb314d09a718e08bbf9d92cb Mon Sep 17 00:00:00 2001
+From 4c96032b5b18ebc5509bf2fb920bf682f22bd52b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 18 Aug 2018 12:43:16 -0400
Subject: [PATCH] Restore vanlla default mob-spawn-range
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
-index 9a51c0ef7a..c2bf481a60 100644
+index 9a51c0ef7..c2bf481a6 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -152,7 +152,7 @@ public class SpigotWorldConfig
diff --git a/Spigot-Server-Patches/0293-Optimize-Hoppers.patch b/Spigot-Server-Patches/0292-Optimize-Hoppers.patch
index 7a841ff83d..312b91033f 100644
--- a/Spigot-Server-Patches/0293-Optimize-Hoppers.patch
+++ b/Spigot-Server-Patches/0292-Optimize-Hoppers.patch
@@ -1,4 +1,4 @@
-From 89e1638093cc201b0d6e1cfc81130b252e747b4e Mon Sep 17 00:00:00 2001
+From 0a9775472f2a516c4e0c2481c409b04495c7d745 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 27 Apr 2016 22:09:52 -0400
Subject: [PATCH] Optimize Hoppers
@@ -11,7 +11,7 @@ Subject: [PATCH] Optimize Hoppers
* Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index a5b4f99901..2b5402b009 100644
+index a5b4f9990..2b5402b00 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -360,6 +360,15 @@ public class PaperWorldConfig {
@@ -31,7 +31,7 @@ index a5b4f99901..2b5402b009 100644
private void disableSprintInterruptionOnAttack() {
disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false);
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
-index ca1bd02995..2d83c9e79c 100644
+index ca1bd0299..2d83c9e79 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -482,8 +482,9 @@ public final class ItemStack {
@@ -47,7 +47,7 @@ index ca1bd02995..2d83c9e79c 100644
itemstack.d(this.C());
if (this.tag != null) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 45cd31e88a..11551ff9e8 100644
+index 9b11fd838..6a3776091 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1135,6 +1135,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -59,10 +59,10 @@ index 45cd31e88a..11551ff9e8 100644
if (true || worldserver.worldProvider.getDimensionManager() == DimensionManager.OVERWORLD || this.getAllowNether()) { // CraftBukkit
this.methodProfiler.a(() -> {
diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java
-index b76f30dd24..b4beb2e326 100644
+index 9f31f071b..6bddb2736 100644
--- a/src/main/java/net/minecraft/server/TileEntity.java
+++ b/src/main/java/net/minecraft/server/TileEntity.java
-@@ -60,6 +60,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
+@@ -62,6 +62,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
public void setCurrentChunk(Chunk chunk) {
this.currentChunk = chunk != null ? new java.lang.ref.WeakReference<>(chunk) : null;
}
@@ -70,7 +70,7 @@ index b76f30dd24..b4beb2e326 100644
// Paper end
@Nullable
-@@ -143,6 +144,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
+@@ -145,6 +146,7 @@ public abstract class TileEntity implements KeyedObject { // Paper
public void update() {
if (this.world != null) {
@@ -79,10 +79,10 @@ index b76f30dd24..b4beb2e326 100644
this.world.b(this.position, this);
if (!this.c.isAir()) {
diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java
-index 0ecfbcb4b8..dfe51fc6f4 100644
+index 0555bae5a..452e46cad 100644
--- a/src/main/java/net/minecraft/server/TileEntityHopper.java
+++ b/src/main/java/net/minecraft/server/TileEntityHopper.java
-@@ -191,6 +191,154 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -189,6 +189,153 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
return false;
}
@@ -173,7 +173,7 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
+ private ItemStack callPushMoveEvent(IInventory iinventory, ItemStack itemstack) {
+ Inventory destinationInventory = getInventory(iinventory);
+ InventoryMoveItemEvent event = new InventoryMoveItemEvent(this.getOwner(false).getInventory(),
-+ CraftItemStack.asCraftMirror(itemstack), destinationInventory, true);
++ CraftItemStack.asCraftMirror(itemstack), destinationInventory, true);
+ boolean result = event.callEvent();
+ if (!event.calledGetItem && !event.calledSetItem) {
+ skipPushModeEventFire = true;
@@ -195,8 +195,8 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
+ Inventory destination = getInventory(hopper);
+
+ InventoryMoveItemEvent event = new InventoryMoveItemEvent(sourceInventory,
-+ // Mirror is safe as we no plugins ever use this item
-+ CraftItemStack.asCraftMirror(itemstack), destination, false);
++ // Mirror is safe as we no plugins ever use this item
++ CraftItemStack.asCraftMirror(itemstack), destination, false);
+ boolean result = event.callEvent();
+ if (!event.calledGetItem && !event.calledSetItem) {
+ skipPullModeEventFire = true;
@@ -233,11 +233,10 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
+ }
+ }
+
-+ // Paper end
- private boolean t() {
- IInventory iinventory = this.u();
+ private boolean u() {
+ IInventory iinventory = this.v();
-@@ -202,6 +350,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -200,6 +347,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
if (this.b(iinventory, enumdirection)) {
return false;
} else {
@@ -245,7 +244,7 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
for (int i = 0; i < this.getSize(); ++i) {
if (!this.getItem(i).isEmpty()) {
ItemStack itemstack = this.getItem(i).cloneItemStack();
-@@ -239,7 +388,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -237,7 +385,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
}
}
@@ -254,7 +253,7 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
}
}
}
-@@ -269,6 +418,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -267,6 +415,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
EnumDirection enumdirection = EnumDirection.DOWN;
return c(iinventory, enumdirection) ? false : a(iinventory, enumdirection).anyMatch((i) -> {
@@ -262,7 +261,7 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
return a(ihopper, iinventory, i, enumdirection);
});
} else {
-@@ -292,6 +442,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -290,6 +439,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
ItemStack itemstack = iinventory.getItem(i);
if (!itemstack.isEmpty() && b(iinventory, itemstack, i, enumdirection)) {
@@ -270,7 +269,7 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
ItemStack itemstack1 = itemstack.cloneItemStack();
// ItemStack itemstack2 = addItem(iinventory, ihopper, iinventory.splitStack(i, 1), (EnumDirection) null);
// CraftBukkit start - Call event on collection of items from inventories into the hopper
-@@ -328,7 +479,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -326,7 +476,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
}
itemstack1.subtract(origCount - itemstack2.getCount()); // Spigot
@@ -279,7 +278,7 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
}
return false;
-@@ -337,7 +488,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -335,7 +485,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
public static boolean a(IInventory iinventory, EntityItem entityitem) {
boolean flag = false;
// CraftBukkit start
@@ -288,7 +287,7 @@ index 0ecfbcb4b8..dfe51fc6f4 100644
entityitem.world.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
return false;
-@@ -391,7 +542,9 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
+@@ -389,7 +539,9 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi
boolean flag1 = iinventory1.isNotEmpty();
if (itemstack1.isEmpty()) {
diff --git a/Spigot-Server-Patches/0294-Optimize-CraftBlockData-Creation.patch b/Spigot-Server-Patches/0293-Optimize-CraftBlockData-Creation.patch
index 60f50a20e2..2d77dc4015 100644
--- a/Spigot-Server-Patches/0294-Optimize-CraftBlockData-Creation.patch
+++ b/Spigot-Server-Patches/0293-Optimize-CraftBlockData-Creation.patch
@@ -1,4 +1,4 @@
-From 1da1eb88cdd0a4d34e5f242af381a678684c88f3 Mon Sep 17 00:00:00 2001
+From 74ef4c8fafe6b57b0fbb47c7a3d4e0e026d37385 Mon Sep 17 00:00:00 2001
From: miclebrick <[email protected]>
Date: Thu, 23 Aug 2018 11:45:32 -0400
Subject: [PATCH] Optimize CraftBlockData Creation
@@ -7,7 +7,7 @@ Avoids a hashmap lookup by cacheing a reference to the CraftBlockData
and cloning it when one is needed.
diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java
-index 0f4aa698aa..c66cabe82f 100644
+index 0f4aa698a..c66cabe82 100644
--- a/src/main/java/net/minecraft/server/IBlockData.java
+++ b/src/main/java/net/minecraft/server/IBlockData.java
@@ -4,6 +4,8 @@ import com.google.common.collect.ImmutableMap;
@@ -36,7 +36,7 @@ index 0f4aa698aa..c66cabe82f 100644
return this.getBlock().l(this);
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
-index c1666a9baf..3c29abd525 100644
+index c1666a9ba..3c29abd52 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java
@@ -539,7 +539,17 @@ public class CraftBlockData implements BlockData {
diff --git a/Spigot-Server-Patches/0295-Fix-MC-124320.patch b/Spigot-Server-Patches/0294-Fix-MC-124320.patch
index 75822a1e53..e5c251dda7 100644
--- a/Spigot-Server-Patches/0295-Fix-MC-124320.patch
+++ b/Spigot-Server-Patches/0294-Fix-MC-124320.patch
@@ -1,14 +1,14 @@
-From 54f8c029bd7d04779e8892facb36d91dc1e6ea5d Mon Sep 17 00:00:00 2001
+From 7d10f9c126cac888c661923da63c6a6775dc761c Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Thu, 23 Aug 2018 09:25:30 -0500
Subject: [PATCH] Fix MC-124320
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
-index 69e65ea6c8..549c50de7d 100644
+index dedb063de..8d69a1556 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
-@@ -160,6 +160,7 @@ public class Block implements IMaterial {
+@@ -168,6 +168,7 @@ public class Block implements IMaterial {
return tag.isTagged(this);
}
@@ -17,10 +17,10 @@ index 69e65ea6c8..549c50de7d 100644
IBlockData iblockdata1 = iblockdata;
BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition();
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
-index a1033ce28b..de2d995349 100644
+index 79d23f152..ad1553f6e 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
-@@ -325,8 +325,9 @@ public class EntityEnderman extends EntityMonster {
+@@ -335,8 +335,9 @@ public class EntityEnderman extends EntityMonster {
if (block.a(TagsBlock.ENDERMAN_HOLDABLE) && flag) {
// CraftBukkit start - Pickup event
if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.enderman, blockposition, Blocks.AIR.getBlockData()).isCancelled()) {
@@ -31,7 +31,7 @@ index a1033ce28b..de2d995349 100644
}
// CraftBukkit end
}
-@@ -336,6 +337,7 @@ public class EntityEnderman extends EntityMonster {
+@@ -346,6 +347,7 @@ public class EntityEnderman extends EntityMonster {
static class PathfinderGoalEndermanPlaceBlock extends PathfinderGoal {
@@ -39,7 +39,7 @@ index a1033ce28b..de2d995349 100644
private final EntityEnderman a;
public PathfinderGoalEndermanPlaceBlock(EntityEnderman entityenderman) {
-@@ -358,7 +360,7 @@ public class EntityEnderman extends EntityMonster {
+@@ -368,7 +370,7 @@ public class EntityEnderman extends EntityMonster {
IBlockData iblockdata = world.getType(blockposition);
BlockPosition blockposition1 = blockposition.down();
IBlockData iblockdata1 = world.getType(blockposition1);
diff --git a/Spigot-Server-Patches/0296-Slime-Pathfinder-Events.patch b/Spigot-Server-Patches/0295-Slime-Pathfinder-Events.patch
index cc4db754d2..c34a065fdc 100644
--- a/Spigot-Server-Patches/0296-Slime-Pathfinder-Events.patch
+++ b/Spigot-Server-Patches/0295-Slime-Pathfinder-Events.patch
@@ -1,11 +1,11 @@
-From fe5d3d514e9b8d8ecbd2802769432e137aef8429 Mon Sep 17 00:00:00 2001
+From 4fb60ec90eef434b7450ae50d23e5a415b53068b Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 24 Aug 2018 08:18:42 -0500
Subject: [PATCH] Slime Pathfinder Events
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
-index 8115b1e4ec..d720d0fae1 100644
+index 96cf4bcce..e28c0673d 100644
--- a/src/main/java/net/minecraft/server/EntitySlime.java
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
@@ -2,6 +2,14 @@ package net.minecraft.server;
@@ -147,7 +147,7 @@ index 8115b1e4ec..d720d0fae1 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 ce6ed6e890..6e9f1b66df 100644
+index ce6ed6e89..6e9f1b66d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java
@@ -35,4 +35,14 @@ public class CraftSlime extends CraftMob implements Slime {
diff --git a/Spigot-Server-Patches/0297-Configurable-speed-for-water-flowing-over-lava.patch b/Spigot-Server-Patches/0296-Configurable-speed-for-water-flowing-over-lava.patch
index 78a15d1668..999a1ae96b 100644
--- a/Spigot-Server-Patches/0297-Configurable-speed-for-water-flowing-over-lava.patch
+++ b/Spigot-Server-Patches/0296-Configurable-speed-for-water-flowing-over-lava.patch
@@ -1,11 +1,11 @@
-From c7f951d53dc285a184ebd84ddc159e8d4d7ce459 Mon Sep 17 00:00:00 2001
+From efe87209c910375ab5cd2d916b907e26f63ce57f Mon Sep 17 00:00:00 2001
From: Byteflux <[email protected]>
Date: Wed, 8 Aug 2018 16:33:21 -0600
Subject: [PATCH] Configurable speed for water flowing over lava
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 2b5402b009..2c27be63ea 100644
+index 2b5402b00..2c27be63e 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -401,6 +401,12 @@ public class PaperWorldConfig {
@@ -22,7 +22,7 @@ index 2b5402b009..2c27be63ea 100644
private void armorStandTick() {
this.armorStandTick = this.getBoolean("armor-stands-tick", this.armorStandTick);
diff --git a/src/main/java/net/minecraft/server/BlockFluids.java b/src/main/java/net/minecraft/server/BlockFluids.java
-index 44e00339f2..b4616f259e 100644
+index 44e00339f..b4616f259 100644
--- a/src/main/java/net/minecraft/server/BlockFluids.java
+++ b/src/main/java/net/minecraft/server/BlockFluids.java
@@ -70,11 +70,27 @@ public class BlockFluids extends Block implements IFluidSource {
diff --git a/Spigot-Server-Patches/0298-Optimize-RegistryMaterials.patch b/Spigot-Server-Patches/0297-Optimize-RegistryMaterials.patch
index 02ac204865..c831336007 100644
--- a/Spigot-Server-Patches/0298-Optimize-RegistryMaterials.patch
+++ b/Spigot-Server-Patches/0297-Optimize-RegistryMaterials.patch
@@ -1,4 +1,4 @@
-From ddba08438bc250dca2d70f64236287a5585d2041 Mon Sep 17 00:00:00 2001
+From da428268d2e5594cecb0cbf38d51f6c3021d6af0 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 26 Aug 2018 20:49:50 -0400
Subject: [PATCH] Optimize RegistryMaterials
diff --git a/Spigot-Server-Patches/0299-Add-PhantomPreSpawnEvent.patch b/Spigot-Server-Patches/0298-Add-PhantomPreSpawnEvent.patch
index 5014a53c0f..93f262d664 100644
--- a/Spigot-Server-Patches/0299-Add-PhantomPreSpawnEvent.patch
+++ b/Spigot-Server-Patches/0298-Add-PhantomPreSpawnEvent.patch
@@ -1,4 +1,4 @@
-From e9a2ac21b0c53ee65723f6360ff908f3bab91559 Mon Sep 17 00:00:00 2001
+From 94bfe89904dde5bfaadb0e759c2a590a629106fd Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 25 Aug 2018 19:56:51 -0500
Subject: [PATCH] Add PhantomPreSpawnEvent
diff --git a/Spigot-Server-Patches/0300-Add-More-Creeper-API.patch b/Spigot-Server-Patches/0299-Add-More-Creeper-API.patch
index ad76c8fe61..cdc0ce6843 100644
--- a/Spigot-Server-Patches/0300-Add-More-Creeper-API.patch
+++ b/Spigot-Server-Patches/0299-Add-More-Creeper-API.patch
@@ -1,11 +1,11 @@
-From 22a75396ce1cda2d2c0ecf67d7162434431ed05e Mon Sep 17 00:00:00 2001
+From 8dd46e3c15d3dafdeda826cfa52bc05e2772df74 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 24 Aug 2018 11:50:26 -0500
Subject: [PATCH] Add More Creeper API
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
-index 29569805cb..0c2c3c7308 100644
+index 29569805c..0c2c3c730 100644
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
@@ -13,7 +13,7 @@ public class EntityCreeper extends EntityMonster {
@@ -47,7 +47,7 @@ index 29569805cb..0c2c3c7308 100644
public boolean canCauseHeadDrop() {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java
-index 796ee9e40d..2d38823c57 100644
+index 796ee9e40..2d38823c5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java
@@ -78,4 +78,22 @@ public class CraftCreeper extends CraftMonster implements Creeper {
diff --git a/Spigot-Server-Patches/0301-Inventory-removeItemAnySlot.patch b/Spigot-Server-Patches/0300-Inventory-removeItemAnySlot.patch
index 4f13904441..f0eacd9f7a 100644
--- a/Spigot-Server-Patches/0301-Inventory-removeItemAnySlot.patch
+++ b/Spigot-Server-Patches/0300-Inventory-removeItemAnySlot.patch
@@ -1,4 +1,4 @@
-From 740e7b87b8504cf3086a7c636e45990e6cc20b13 Mon Sep 17 00:00:00 2001
+From a93fab3b32dae7412e4c3e7806f964c636d31820 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 28 Aug 2018 23:04:15 -0400
Subject: [PATCH] Inventory#removeItemAnySlot
diff --git a/Spigot-Server-Patches/0302-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0301-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
index 7fbeb58dc5..28dd0196d9 100644
--- a/Spigot-Server-Patches/0302-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
+++ b/Spigot-Server-Patches/0301-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch
@@ -1,4 +1,4 @@
-From 52313307e1c23168f88eef264d0962646c1252e2 Mon Sep 17 00:00:00 2001
+From 6a510bdc5a0312814acd7e8781d89d38a2b00f40 Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Sun, 2 Sep 2018 19:34:33 -0700
Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
@@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 69c43817fe..28c5fd988d 100644
+index 9601d412a..ca41b6d6b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -478,7 +478,7 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/0303-Add-ray-tracing-methods-to-LivingEntity.patch b/Spigot-Server-Patches/0302-Add-ray-tracing-methods-to-LivingEntity.patch
index d2c3b27429..3991369dea 100644
--- a/Spigot-Server-Patches/0303-Add-ray-tracing-methods-to-LivingEntity.patch
+++ b/Spigot-Server-Patches/0302-Add-ray-tracing-methods-to-LivingEntity.patch
@@ -1,11 +1,11 @@
-From 8cd16e4b0496b005088c39361fd4396d734445b5 Mon Sep 17 00:00:00 2001
+From 6382bfe981164038843888357877fb72abddcace Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Mon, 3 Sep 2018 18:20:03 -0500
Subject: [PATCH] Add ray tracing methods to LivingEntity
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index f115686f4..9638cd62e 100644
+index 6334d3dea..ef24896c0 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -3170,6 +3170,23 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0304-Expose-attack-cooldown-methods-for-Player.patch b/Spigot-Server-Patches/0303-Expose-attack-cooldown-methods-for-Player.patch
index 68a2911573..6abfad98ff 100644
--- a/Spigot-Server-Patches/0304-Expose-attack-cooldown-methods-for-Player.patch
+++ b/Spigot-Server-Patches/0303-Expose-attack-cooldown-methods-for-Player.patch
@@ -1,11 +1,11 @@
-From d4a5b7132868d3c664aae2007e096f136069db00 Mon Sep 17 00:00:00 2001
+From 29dac3a1b697140395f243de7a281f933480d558 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Tue, 4 Sep 2018 15:02:00 -0500
Subject: [PATCH] Expose attack cooldown methods for Player
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index f665dc0ebe..f17c1c54bf 100644
+index d1a7a873b..2f614dfb6 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -2003,14 +2003,17 @@ public abstract class EntityHuman extends EntityLiving {
@@ -27,10 +27,10 @@ index f665dc0ebe..f17c1c54bf 100644
this.aD = 0;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 88398c3320..53d61790c5 100644
+index ba60ece45..0386452a8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1909,6 +1909,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1908,6 +1908,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.resourcePackStatus = status;
}
diff --git a/Spigot-Server-Patches/0305-Improve-death-events.patch b/Spigot-Server-Patches/0304-Improve-death-events.patch
index 21bcda3967..9d67224887 100644
--- a/Spigot-Server-Patches/0305-Improve-death-events.patch
+++ b/Spigot-Server-Patches/0304-Improve-death-events.patch
@@ -1,4 +1,4 @@
-From be17548de6f7c83b90722b7a747a8cc7d220d047 Mon Sep 17 00:00:00 2001
+From bce84891d0934ab524e6f577621772faffc88e31 Mon Sep 17 00:00:00 2001
From: Phoenix616 <[email protected]>
Date: Tue, 21 Aug 2018 01:39:35 +0100
Subject: [PATCH] Improve death events
@@ -27,7 +27,7 @@ index 20db76abd..a148cd437 100644
int i = this.f ? 300 : 100;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 71d557a68..60d43bb50 100644
+index e1c793aad..b060a74a1 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1463,6 +1463,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -61,7 +61,7 @@ index 5c35909eb..19ba4e059 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
-index 917d60350..95d6b3f36 100644
+index 87091d804..77643413f 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/src/main/java/net/minecraft/server/EntityFox.java
@@ -597,15 +597,25 @@ public class EntityFox extends EntityAnimal {
@@ -94,7 +94,7 @@ index 917d60350..95d6b3f36 100644
public static boolean a(EntityFox entityfox, EntityLiving entityliving) {
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 78b7ab59b..88cb1ac8f 100644
+index ef24896c0..2631e9a4b 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -85,7 +85,7 @@ public abstract class EntityLiving extends Entity {
@@ -249,7 +249,7 @@ index 78b7ab59b..88cb1ac8f 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 32ac372bc..c5621d9dc 100644
+index d46ddba34..0f3be967e 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 {
@@ -327,10 +327,10 @@ index 73cb64e09..9f317ff2e 100644
this.minecraftKey = minecraftKey;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 53d61790c..6a390c114 100644
+index 0386452a8..deacc2187 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1713,7 +1713,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1712,7 +1712,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void sendHealthUpdate() {
@@ -348,7 +348,7 @@ index 53d61790c..6a390c114 100644
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-index da2a440c1..49be89158 100644
+index 9380b4953..781bf2b42 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -720,9 +720,16 @@ public class CraftEventFactory {
diff --git a/Spigot-Server-Patches/0306-Allow-chests-to-be-placed-with-NBT-data.patch b/Spigot-Server-Patches/0305-Allow-chests-to-be-placed-with-NBT-data.patch
index 1559938539..e8505ca09b 100644
--- a/Spigot-Server-Patches/0306-Allow-chests-to-be-placed-with-NBT-data.patch
+++ b/Spigot-Server-Patches/0305-Allow-chests-to-be-placed-with-NBT-data.patch
@@ -1,11 +1,11 @@
-From 8c7ec8d719a8d577762f490a48b35eb96f4d7839 Mon Sep 17 00:00:00 2001
+From 7e6b225f5a6ab33236a0fa8e938cdac876bc64bd Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 8 Sep 2018 18:43:31 -0500
Subject: [PATCH] Allow chests to be placed with NBT data
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
-index 2d83c9e79c..dec5894637 100644
+index 2d83c9e79..dec589463 100644
--- a/src/main/java/net/minecraft/server/ItemStack.java
+++ b/src/main/java/net/minecraft/server/ItemStack.java
@@ -235,6 +235,7 @@ public final class ItemStack {
@@ -17,7 +17,7 @@ index 2d83c9e79c..dec5894637 100644
for (BlockState blockstate : blocks) {
blockstate.update(true, false);
diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java
-index d606e2e4fd..f9f9183daa 100644
+index d606e2e4f..f9f9183da 100644
--- a/src/main/java/net/minecraft/server/TileEntityChest.java
+++ b/src/main/java/net/minecraft/server/TileEntityChest.java
@@ -308,7 +308,7 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic
diff --git a/Spigot-Server-Patches/0307-Mob-Pathfinding-API.patch b/Spigot-Server-Patches/0306-Mob-Pathfinding-API.patch
index 706b56b94a..3c3ecb3a68 100644
--- a/Spigot-Server-Patches/0307-Mob-Pathfinding-API.patch
+++ b/Spigot-Server-Patches/0306-Mob-Pathfinding-API.patch
@@ -1,4 +1,4 @@
-From 9191de4a11253b499d78e48c4794d62b772d65e4 Mon Sep 17 00:00:00 2001
+From dcd722dbbe2dc22a1cba041ae490d1da46d84429 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 9 Sep 2018 13:30:00 -0400
Subject: [PATCH] Mob Pathfinding API
@@ -123,7 +123,7 @@ index 000000000..f68a07cb9
+ }
+}
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
-index 6a1d5a899..f6a5aa27b 100644
+index 6cc142383..1bf7ead71 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -69,7 +69,7 @@ public abstract class NavigationAbstract {
@@ -144,7 +144,7 @@ index 6a1d5a899..f6a5aa27b 100644
BlockPosition blockposition = new BlockPosition(entity);
double d0 = entity.locX;
double d1 = entity.getBoundingBox().minY;
-@@ -150,6 +150,7 @@ public abstract class NavigationAbstract {
+@@ -151,6 +151,7 @@ public abstract class NavigationAbstract {
private int pathfindFailures = 0;
// Paper end
@@ -152,7 +152,7 @@ index 6a1d5a899..f6a5aa27b 100644
public boolean a(@Nullable PathEntity pathentity, double d0) {
if (pathentity == null) {
this.c = null;
-@@ -173,7 +174,7 @@ public abstract class NavigationAbstract {
+@@ -174,7 +175,7 @@ public abstract class NavigationAbstract {
}
}
@@ -161,7 +161,7 @@ index 6a1d5a899..f6a5aa27b 100644
public PathEntity l() {
return this.c;
}
-@@ -281,6 +282,7 @@ public abstract class NavigationAbstract {
+@@ -261,6 +262,7 @@ public abstract class NavigationAbstract {
return this.c == null || this.c.b();
}
@@ -170,7 +170,7 @@ index 6a1d5a899..f6a5aa27b 100644
this.pathfindFailures = 0; this.lastFailure = 0; // Paper - Pathfinding optimizations
this.c = null;
diff --git a/src/main/java/net/minecraft/server/PathEntity.java b/src/main/java/net/minecraft/server/PathEntity.java
-index d1cb80208..c4cdd0965 100644
+index f1d94420c..5fdb60180 100644
--- a/src/main/java/net/minecraft/server/PathEntity.java
+++ b/src/main/java/net/minecraft/server/PathEntity.java
@@ -5,11 +5,12 @@ import javax.annotation.Nullable;
@@ -208,7 +208,7 @@ index d1cb80208..c4cdd0965 100644
return new Vec3D((double) pathpoint.a, (double) pathpoint.b, (double) pathpoint.c);
diff --git a/src/main/java/net/minecraft/server/PathPoint.java b/src/main/java/net/minecraft/server/PathPoint.java
-index 0f6e8c51e..5d445e08a 100644
+index 955152ef4..4e2cef8f6 100644
--- a/src/main/java/net/minecraft/server/PathPoint.java
+++ b/src/main/java/net/minecraft/server/PathPoint.java
@@ -2,9 +2,9 @@ package net.minecraft.server;
@@ -221,7 +221,7 @@ index 0f6e8c51e..5d445e08a 100644
+ public final int a; public final int getX() { return a; } // Paper - OBFHELPER
+ public final int b; public final int getY() { return b; } // Paper - OBFHELPER
+ public final int c; public final int getZ() { return c; } // Paper - OBFHELPER
- private final int n;
+ private final int m;
public int d = -1;
public float e;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java
diff --git a/Spigot-Server-Patches/0308-Prevent-chunk-loading-from-Fluid-Flowing.patch b/Spigot-Server-Patches/0307-Prevent-chunk-loading-from-Fluid-Flowing.patch
index 41ba5d97f8..8a26a440fa 100644
--- a/Spigot-Server-Patches/0308-Prevent-chunk-loading-from-Fluid-Flowing.patch
+++ b/Spigot-Server-Patches/0307-Prevent-chunk-loading-from-Fluid-Flowing.patch
@@ -1,11 +1,11 @@
-From 9ff0339e6bfb0455d7a943f26a148dd1f390cbea Mon Sep 17 00:00:00 2001
+From cb9bc772781cdbbbe129929c0054df90d7ecbc34 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 10 Sep 2018 23:36:16 -0400
Subject: [PATCH] Prevent chunk loading from Fluid Flowing
diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
-index c76fa0b4bf..5f15143603 100644
+index c76fa0b4b..5f1514360 100644
--- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java
+++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java
@@ -178,7 +178,8 @@ public abstract class FluidTypeFlowing extends FluidType {
diff --git a/Spigot-Server-Patches/0309-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/Spigot-Server-Patches/0308-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
index d736d83d02..d071dee617 100644
--- a/Spigot-Server-Patches/0309-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
+++ b/Spigot-Server-Patches/0308-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch
@@ -1,11 +1,11 @@
-From 0ec43fbb6597d1650482d20e25cdff0a3f7cd287 Mon Sep 17 00:00:00 2001
+From 9150274ca0d7bca90eb19dda095074435328e565 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <[email protected]>
Date: Wed, 12 Sep 2018 18:53:55 +0300
Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values
diff --git a/src/main/java/net/minecraft/server/ArgumentBlock.java b/src/main/java/net/minecraft/server/ArgumentBlock.java
-index 3a215dea43..ea93452e6d 100644
+index 3a215dea4..ea93452e6 100644
--- a/src/main/java/net/minecraft/server/ArgumentBlock.java
+++ b/src/main/java/net/minecraft/server/ArgumentBlock.java
@@ -43,7 +43,7 @@ public class ArgumentBlock {
@@ -32,7 +32,7 @@ index 3a215dea43..ea93452e6d 100644
this.s = this::l;
if (this.i.canRead() && this.i.peek() == '#') {
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
-index 159037fc3e..9dcf2d20f2 100644
+index 159037fc3..9dcf2d20f 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -86,6 +86,12 @@ import org.bukkit.persistence.PersistentDataContainer;
diff --git a/Spigot-Server-Patches/0310-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch b/Spigot-Server-Patches/0309-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch
index dffa57b731..5232605151 100644
--- a/Spigot-Server-Patches/0310-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch
+++ b/Spigot-Server-Patches/0309-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch
@@ -1,4 +1,4 @@
-From c81e2d8af2ab8dd4c2059c669964451c78c628be Mon Sep 17 00:00:00 2001
+From db28398df075be84961aecfbc0101c8a75bbb8e9 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 10 Sep 2018 23:56:36 -0400
Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks
@@ -53,7 +53,7 @@ index ce9318c57..541d97344 100644
return block == this.g && iworldreader.getType(blockposition.up()).isAir() && iworldreader.getType(blockposition.up(2)).isAir();
}
diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java
-index 8340d6d25..78eb1b39c 100644
+index b286934aa..c7e25e2be 100644
--- a/src/main/java/net/minecraft/server/RandomPositionGenerator.java
+++ b/src/main/java/net/minecraft/server/RandomPositionGenerator.java
@@ -93,6 +93,7 @@ public class RandomPositionGenerator {
@@ -74,7 +74,7 @@ index 8340d6d25..78eb1b39c 100644
}
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 33f0d1cd8..acd1b856e 100644
+index 31ffc57c9..830780b49 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -647,6 +647,16 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
diff --git a/Spigot-Server-Patches/0311-Prevent-mob-spawning-from-loading-generating-chunks.patch b/Spigot-Server-Patches/0310-Prevent-mob-spawning-from-loading-generating-chunks.patch
index 19cac7356b..47365b9d6e 100644
--- a/Spigot-Server-Patches/0311-Prevent-mob-spawning-from-loading-generating-chunks.patch
+++ b/Spigot-Server-Patches/0310-Prevent-mob-spawning-from-loading-generating-chunks.patch
@@ -1,4 +1,4 @@
-From 5c669194f17f0493b20d717574ec42f8bcade315 Mon Sep 17 00:00:00 2001
+From ca76c23078d05476c1e3ebf58fedf94349e791df Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 12 Sep 2018 21:12:57 -0400
Subject: [PATCH] Prevent mob spawning from loading/generating chunks
@@ -6,7 +6,7 @@ Subject: [PATCH] Prevent mob spawning from loading/generating chunks
also prevents if out of world border bounds
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
-index e5695c7604..6962931327 100644
+index 14e2f3ca7..5824cbba6 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -25,9 +25,9 @@ public final class SpawnerCreature {
@@ -29,7 +29,7 @@ index e5695c7604..6962931327 100644
+ if (entityhuman != null && entityhuman.e((double) f, (double) k, (double) f1) > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D) && world.isLoadedAndInBounds(blockposition_mutableblockposition)) { // Paper - don't load chunks for mob spawn
ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition_mutableblockposition);
- if (Objects.equals(chunkcoordintpair, chunk.getPos())) {
+ if (Objects.equals(chunkcoordintpair, chunk.getPos()) || world.getChunkProvider().a(chunkcoordintpair)) {
--
2.21.0
diff --git a/Spigot-Server-Patches/0312-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/Spigot-Server-Patches/0311-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
index 319776151a..a757c2b9bf 100644
--- a/Spigot-Server-Patches/0312-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
+++ b/Spigot-Server-Patches/0311-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch
@@ -1,4 +1,4 @@
-From a60afe4118bd4d7edbc0e6874aed7a411075e5e5 Mon Sep 17 00:00:00 2001
+From 1e47f305ac479df81f14a237fd06207f33e2cb40 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 12 Sep 2018 21:47:01 -0400
Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning
Uses an EnumMap as well as a Set paired List for O(1) contains calls.
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
-index 9a839d6540..72eb669c50 100644
+index 9a839d654..72eb669c5 100644
--- a/src/main/java/net/minecraft/server/BiomeBase.java
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -38,7 +38,7 @@ public abstract class BiomeBase {
diff --git a/Spigot-Server-Patches/0313-Implement-furnace-cook-speed-multiplier-API.patch b/Spigot-Server-Patches/0312-Implement-furnace-cook-speed-multiplier-API.patch
index 73bde557d6..9542d8ce66 100644
--- a/Spigot-Server-Patches/0313-Implement-furnace-cook-speed-multiplier-API.patch
+++ b/Spigot-Server-Patches/0312-Implement-furnace-cook-speed-multiplier-API.patch
@@ -1,4 +1,4 @@
-From 0540d8d3381619e35ab874c57db5f6b136a8b01b Mon Sep 17 00:00:00 2001
+From 27520fa921bec839d7426ff7a8ebeec05cf974c3 Mon Sep 17 00:00:00 2001
From: Tassu <[email protected]>
Date: Thu, 13 Sep 2018 08:45:21 +0300
Subject: [PATCH] Implement furnace cook speed multiplier API
@@ -6,7 +6,7 @@ Subject: [PATCH] Implement furnace cook speed multiplier API
Signed-off-by: Tassu <[email protected]>
diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java
-index be16fe9a9e..b9f3a952e8 100644
+index be16fe9a9..b9f3a952e 100644
--- a/src/main/java/net/minecraft/server/TileEntityFurnace.java
+++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java
@@ -8,6 +8,7 @@ import java.util.Map;
@@ -57,7 +57,7 @@ index be16fe9a9e..b9f3a952e8 100644
this.cookTimeTotal = this.getRecipeCookingTime();
this.burn(irecipe);
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java
-index 9cc67915ca..1ce10ea049 100644
+index 9cc67915c..1ce10ea04 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java
@@ -63,4 +63,18 @@ public class CraftFurnace<T extends TileEntityFurnace> extends CraftContainer<T>
diff --git a/Spigot-Server-Patches/0314-Support-Overriding-World-Seeds.patch b/Spigot-Server-Patches/0313-Support-Overriding-World-Seeds.patch
index 7c1764b009..9b21028038 100644
--- a/Spigot-Server-Patches/0314-Support-Overriding-World-Seeds.patch
+++ b/Spigot-Server-Patches/0313-Support-Overriding-World-Seeds.patch
@@ -1,4 +1,4 @@
-From b6db6d1905c89bb16a5ea70a27e127d584ecdb2e Mon Sep 17 00:00:00 2001
+From 8fa7e6f90ba36f6a7533c57bb79dd28abf31bd0c Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 17 Sep 2018 23:05:31 -0400
Subject: [PATCH] Support Overriding World Seeds
@@ -59,7 +59,7 @@ index 833659bbb..ffb18902f 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index e5d96bf75..f04d0530f 100644
+index 6a3776091..0209330ad 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -363,7 +363,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -72,7 +72,7 @@ index e5d96bf75..f04d0530f 100644
if (j == 0) {
diff --git a/src/main/java/net/minecraft/server/WorldData.java b/src/main/java/net/minecraft/server/WorldData.java
-index a794f040e..ad78f28c4 100644
+index 9ecd412ae..eb1464983 100644
--- a/src/main/java/net/minecraft/server/WorldData.java
+++ b/src/main/java/net/minecraft/server/WorldData.java
@@ -116,7 +116,7 @@ public class WorldData {
@@ -85,7 +85,7 @@ index a794f040e..ad78f28c4 100644
String s = nbttagcompound.getString("generatorName");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index e2d2b25de..de98e896c 100644
+index 770dbf605..2e03556f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -985,7 +985,7 @@ public final class CraftServer implements Server {
diff --git a/Spigot-Server-Patches/0315-Optimize-Server-World-Map.patch b/Spigot-Server-Patches/0314-Optimize-Server-World-Map.patch
index 5f28c0f562..acbbedf51e 100644
--- a/Spigot-Server-Patches/0315-Optimize-Server-World-Map.patch
+++ b/Spigot-Server-Patches/0314-Optimize-Server-World-Map.patch
@@ -1,4 +1,4 @@
-From 81bdfc32b19f1476bb80d1f752a531f975115b87 Mon Sep 17 00:00:00 2001
+From 10c1e39559a9a997f292adef016965d76262dfd2 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 17 Sep 2018 23:37:31 -0400
Subject: [PATCH] Optimize Server World Map
@@ -21,7 +21,7 @@ known NMS used methods, but we can add more if naughty plugins are found later.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldMap.java b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java
new file mode 100644
-index 0000000000..af9e4455c6
+index 000000000..6bb2f98b4
--- /dev/null
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java
@@ -0,0 +1,191 @@
@@ -62,7 +62,7 @@ index 0000000000..af9e4455c6
+
+ @Override
+ public void remove() {
-+ worlds.set(last.dimension.getDimensionID()+1, null);
++ worlds.set(last.worldProvider.getDimensionManager().getDimensionID() + 1, null);
+ }
+ };
+ }
@@ -142,7 +142,7 @@ index 0000000000..af9e4455c6
+
+ @Override
+ public boolean containsValue(Object value) {
-+ return value instanceof WorldServer && get(((WorldServer) value).dimension) != null;
++ return value instanceof WorldServer && get(((WorldServer) value).worldProvider.getDimensionManager()) != null;
+ }
+
+ @Nonnull
@@ -161,7 +161,7 @@ index 0000000000..af9e4455c6
+
+ @Override
+ public DimensionManager next() {
-+ return iterator.next().dimension;
++ return iterator.next().worldProvider.getDimensionManager();
+ }
+
+ @Override
@@ -199,7 +199,7 @@ index 0000000000..af9e4455c6
+ @Override
+ public Entry<DimensionManager, WorldServer> next() {
+ WorldServer entry = iterator.next();
-+ return new SimpleEntry<>(entry.dimension, entry);
++ return new SimpleEntry<>(entry.worldProvider.getDimensionManager(), entry);
+ }
+
+ @Override
@@ -217,7 +217,7 @@ index 0000000000..af9e4455c6
+ }
+}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 55c096bc08..04adcbb6b6 100644
+index 0209330ad..0a02dece6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -78,7 +78,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -239,7 +239,7 @@ index 55c096bc08..04adcbb6b6 100644
this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld()));
}
@@ -590,7 +590,6 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
- // this.nextTick += 100L;
+ // this.nextTick = SystemUtils.getMonotonicMillis() + 10L;
this.executeModerately();
// Iterator iterator = DimensionManager.a().iterator();
-
diff --git a/Spigot-Server-Patches/0316-PreSpawnerSpawnEvent.patch b/Spigot-Server-Patches/0315-PreSpawnerSpawnEvent.patch
index 5e16f16ac9..7285d9f8bc 100644
--- a/Spigot-Server-Patches/0316-PreSpawnerSpawnEvent.patch
+++ b/Spigot-Server-Patches/0315-PreSpawnerSpawnEvent.patch
@@ -1,4 +1,4 @@
-From 3e17e7cf08ae72ecb2f2f7a2cd72186188c71bb6 Mon Sep 17 00:00:00 2001
+From 2e24ac06e3a238982ad6c4f8a997c4b7cfccf3a5 Mon Sep 17 00:00:00 2001
From: Phoenix616 <[email protected]>
Date: Tue, 18 Sep 2018 23:53:23 +0100
Subject: [PATCH] PreSpawnerSpawnEvent
@@ -9,7 +9,7 @@ SpawnerSpawnEvent gets called instead of the CreatureSpawnEvent for
spawners.
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
-index bca0e3a2e2..96080b6c73 100644
+index 55764deec..dbb8098d6 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -108,11 +108,11 @@ public abstract class MobSpawnerAbstract {
diff --git a/Spigot-Server-Patches/0317-Catch-JsonParseException-in-Entity-and-TE-names.patch b/Spigot-Server-Patches/0316-Catch-JsonParseException-in-Entity-and-TE-names.patch
index c37a2b9d78..780a20f081 100644
--- a/Spigot-Server-Patches/0317-Catch-JsonParseException-in-Entity-and-TE-names.patch
+++ b/Spigot-Server-Patches/0316-Catch-JsonParseException-in-Entity-and-TE-names.patch
@@ -1,4 +1,4 @@
-From c9d621cca01f33243a1433499213955a892bc3cd Mon Sep 17 00:00:00 2001
+From 7002617ae09ca1a57ca7a72648b528047e78b358 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Sat, 22 Sep 2018 15:56:59 -0400
Subject: [PATCH] Catch JsonParseException in Entity and TE names
@@ -26,7 +26,7 @@ index 4b7aefb7a..9e568d5d1 100644
if (nbttagcompound.hasKeyOfType("TrackOutput", 1)) {
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 60d43bb50..969e7a111 100644
+index b060a74a1..b1cf9b85f 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1647,7 +1647,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
diff --git a/Spigot-Server-Patches/0318-Avoid-dimension-id-collisions.patch b/Spigot-Server-Patches/0317-Avoid-dimension-id-collisions.patch
index 725d48389e..b02bc31d20 100644
--- a/Spigot-Server-Patches/0318-Avoid-dimension-id-collisions.patch
+++ b/Spigot-Server-Patches/0317-Avoid-dimension-id-collisions.patch
@@ -1,4 +1,4 @@
-From 7c3871ebd4902e631d039bb26b9b17eae7ce2cc1 Mon Sep 17 00:00:00 2001
+From 2b69d7f4b9412f29bb5dd3f7e9e2f9c4c5933a9d Mon Sep 17 00:00:00 2001
From: Brokkonaut <[email protected]>
Date: Tue, 25 Sep 2018 06:53:43 +0200
Subject: [PATCH] Avoid dimension id collisions
@@ -8,15 +8,15 @@ we would reuse an existing dimension id, if some other dimension was
unloaded before.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index de98e896c2..034716a20a 100644
+index 2e03556f2..467583f1d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -971,7 +971,7 @@ public final class CraftServer implements Server {
boolean used = false;
do {
for (WorldServer server : console.getWorlds()) {
-- used = server.dimension.getDimensionID() == dimension;
-+ used = server.dimension.getDimensionID() + 1 == dimension; // Paper - getDimensionID returns the dimension - 1, so we have to add 1
+- used = server.getWorldProvider().getDimensionManager().getDimensionID() == dimension;
++ used = server.getWorldProvider().getDimensionManager().getDimensionID() + 1 == dimension; // Paper - getDimensionID returns the dimension - 1, so we have to add 1
if (used) {
dimension++;
break;
diff --git a/Spigot-Server-Patches/0319-Honor-EntityAgeable.ageLock.patch b/Spigot-Server-Patches/0318-Honor-EntityAgeable.ageLock.patch
index 6113ff996e..0e530d9b57 100644
--- a/Spigot-Server-Patches/0319-Honor-EntityAgeable.ageLock.patch
+++ b/Spigot-Server-Patches/0318-Honor-EntityAgeable.ageLock.patch
@@ -1,11 +1,11 @@
-From d7a4c18a4e730e71f85846a7d53d3674c0b71f50 Mon Sep 17 00:00:00 2001
+From f833510f284d253f645486538ee2048dfe2bd5c4 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sun, 23 Sep 2018 20:59:53 -0500
Subject: [PATCH] Honor EntityAgeable.ageLock
diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java
-index da9740a99e..e87754ef33 100644
+index da9740a99..e87754ef3 100644
--- a/src/main/java/net/minecraft/server/EntityAgeable.java
+++ b/src/main/java/net/minecraft/server/EntityAgeable.java
@@ -85,6 +85,7 @@ public abstract class EntityAgeable extends EntityCreature {
diff --git a/Spigot-Server-Patches/0321-Don-t-recheck-type-after-setting-a-block.patch b/Spigot-Server-Patches/0319-Don-t-recheck-type-after-setting-a-block.patch
index a91585f40a..ae416cfb0e 100644
--- a/Spigot-Server-Patches/0321-Don-t-recheck-type-after-setting-a-block.patch
+++ b/Spigot-Server-Patches/0319-Don-t-recheck-type-after-setting-a-block.patch
@@ -1,4 +1,4 @@
-From 22110e16bbd4752ac2920b96a8e2fee13d10ece5 Mon Sep 17 00:00:00 2001
+From 16d3083eb4af5bfbf22050fa5efdc52452a4304d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 28 Sep 2018 22:27:33 -0400
Subject: [PATCH] Don't recheck type after setting a block
@@ -16,10 +16,10 @@ be having data corruption issues anyways.
This provides a small boost to all setType calls.
diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java
-index d313b9b3ca..2dcfb60f4d 100644
+index 2b4ad100e..4d96e4fb1 100644
--- a/src/main/java/net/minecraft/server/Chunk.java
+++ b/src/main/java/net/minecraft/server/Chunk.java
-@@ -338,7 +338,7 @@ public class Chunk implements IChunkAccess {
+@@ -339,7 +339,7 @@ public class Chunk implements IChunkAccess {
this.world.removeTileEntity(blockposition);
}
diff --git a/Spigot-Server-Patches/0322-Configurable-connection-throttle-kick-message.patch b/Spigot-Server-Patches/0320-Configurable-connection-throttle-kick-message.patch
index 83f1f19950..f58c753b76 100644
--- a/Spigot-Server-Patches/0322-Configurable-connection-throttle-kick-message.patch
+++ b/Spigot-Server-Patches/0320-Configurable-connection-throttle-kick-message.patch
@@ -1,4 +1,4 @@
-From 521a691d8f4b9f9cb4d45347a236b426d7a01c47 Mon Sep 17 00:00:00 2001
+From 397f0632ca0d9587e4ccc3eb585fcf72126c6f03 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Tue, 2 Oct 2018 09:57:50 +0100
Subject: [PATCH] Configurable connection throttle kick message
diff --git a/Spigot-Server-Patches/0320-Ignore-Dimension-NBT-field-in-Entity-data.patch b/Spigot-Server-Patches/0320-Ignore-Dimension-NBT-field-in-Entity-data.patch
deleted file mode 100644
index a46139260a..0000000000
--- a/Spigot-Server-Patches/0320-Ignore-Dimension-NBT-field-in-Entity-data.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From e1c0f3575fee37a5f1b2ed2a4d83506563fde55c Mon Sep 17 00:00:00 2001
-From: Aikar <[email protected]>
-Date: Thu, 27 Sep 2018 00:08:31 -0400
-Subject: [PATCH] Ignore Dimension NBT field in Entity data
-
-Minecraft is trying to set Dimension Objects based on a Dimension ID
-
-Dimension ID's for custom worlds are dynamically allocate dand not guaranteed
-consistent.
-
-This removes checking the NBT data, as the Entity will always have its
-DimensionManager set to the world it is being placed into.
-
-This fixes corrupt entities breaking chunk saving in custom worlds.
-
-diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 969e7a111..941d4eae8 100644
---- a/src/main/java/net/minecraft/server/Entity.java
-+++ b/src/main/java/net/minecraft/server/Entity.java
-@@ -1632,7 +1632,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
- this.setAirTicks(nbttagcompound.getShort("Air"));
- this.onGround = nbttagcompound.getBoolean("OnGround");
- if (nbttagcompound.hasKey("Dimension")) {
-- this.dimension = DimensionManager.a(nbttagcompound.getInt("Dimension"));
-+ //this.dimension = DimensionManager.a(nbttagcompound.getInt("Dimension")); // Paper - always controlled by world
- }
-
- this.invulnerable = nbttagcompound.getBoolean("Invulnerable");
---
-2.21.0
-
diff --git a/Spigot-Server-Patches/0323-Hook-into-CB-plugin-rewrites.patch b/Spigot-Server-Patches/0321-Hook-into-CB-plugin-rewrites.patch
index 467e2f529e..bd29aec027 100644
--- a/Spigot-Server-Patches/0323-Hook-into-CB-plugin-rewrites.patch
+++ b/Spigot-Server-Patches/0321-Hook-into-CB-plugin-rewrites.patch
@@ -1,4 +1,4 @@
-From a40845d2056dc19c755700b856c7f18ec843d829 Mon Sep 17 00:00:00 2001
+From 04d90bf82be6f7b17fa6cf1a15b57a8f2e186c47 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Wed, 3 Oct 2018 20:09:18 -0400
Subject: [PATCH] Hook into CB plugin rewrites
@@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're
debugging in an IDE pre-relocate.
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
-index 467b2d9385..61f1023557 100644
+index 467b2d938..61f102355 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
@@ -6,7 +6,9 @@ import java.io.FileOutputStream;
diff --git a/Spigot-Server-Patches/0324-Allow-setting-the-vex-s-summoner.patch b/Spigot-Server-Patches/0322-Allow-setting-the-vex-s-summoner.patch
index 0aaa08538b..39227feabb 100644
--- a/Spigot-Server-Patches/0324-Allow-setting-the-vex-s-summoner.patch
+++ b/Spigot-Server-Patches/0322-Allow-setting-the-vex-s-summoner.patch
@@ -1,11 +1,11 @@
-From 7f07cbbf0ecb65b67ebb8e1f00f569aeb1d33807 Mon Sep 17 00:00:00 2001
+From a9e0d1a0128455b66e09c38a5c2e1426a17e3c2e Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 6 Oct 2018 21:47:44 -0500
Subject: [PATCH] Allow setting the vex's summoner
diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java
-index 83e022c91b..c569330689 100644
+index 83e022c91..c56933068 100644
--- a/src/main/java/net/minecraft/server/EntityVex.java
+++ b/src/main/java/net/minecraft/server/EntityVex.java
@@ -133,6 +133,7 @@ public class EntityVex extends EntityMonster {
@@ -17,7 +17,7 @@ index 83e022c91b..c569330689 100644
this.c = entityinsentient;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
-index 169c951ec3..2f7df3074f 100644
+index 169c951ec..2f7df3074 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java
@@ -23,6 +23,10 @@ public class CraftVex extends CraftMonster implements Vex {
diff --git a/Spigot-Server-Patches/0325-Add-sun-related-API.patch b/Spigot-Server-Patches/0323-Add-sun-related-API.patch
index e536b84ea4..cea9e63d05 100644
--- a/Spigot-Server-Patches/0325-Add-sun-related-API.patch
+++ b/Spigot-Server-Patches/0323-Add-sun-related-API.patch
@@ -1,4 +1,4 @@
-From 6f55238bc936a3be2d872c5f7a0b8c71b9832acf Mon Sep 17 00:00:00 2001
+From 86fd77f780aa41b7cc576b4bdf0e61a5cf60f961 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sun, 7 Oct 2018 00:54:21 -0500
Subject: [PATCH] Add sun related API
@@ -17,7 +17,7 @@ index f1621a9e9..a8318c88a 100644
if (this.world.J() && !this.world.isClientSide) {
float f = this.aE();
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index acd1b856e..8bbcbbf89 100644
+index 830780b49..fee14bb6d 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -669,6 +669,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -29,7 +29,7 @@ index acd1b856e..8bbcbbf89 100644
return this.d < 4;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index 583fc6f75..b9786909b 100644
+index ca41b6d6b..073400f23 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -740,6 +740,13 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/0326-Check-Drowned-for-Villager-Aggression-Config.patch b/Spigot-Server-Patches/0324-Check-Drowned-for-Villager-Aggression-Config.patch
index 8963cdce1c..37ce95542d 100644
--- a/Spigot-Server-Patches/0326-Check-Drowned-for-Villager-Aggression-Config.patch
+++ b/Spigot-Server-Patches/0324-Check-Drowned-for-Villager-Aggression-Config.patch
@@ -1,11 +1,11 @@
-From a658ab3ec9a81df868f7045a06ff30ddaca85079 Mon Sep 17 00:00:00 2001
+From 3a093eec87f06eca566b10f21c8ecb4fab5805ea Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Wed, 10 Oct 2018 21:22:44 -0500
Subject: [PATCH] Check Drowned for Villager Aggression Config
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
-index 10957c8778..449fbee60f 100644
+index 3d41af863..817769764 100644
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
@@ -29,7 +29,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
diff --git a/Spigot-Server-Patches/0327-Here-s-Johnny.patch b/Spigot-Server-Patches/0325-Here-s-Johnny.patch
index 7cdfe78c30..51762c5de3 100644
--- a/Spigot-Server-Patches/0327-Here-s-Johnny.patch
+++ b/Spigot-Server-Patches/0325-Here-s-Johnny.patch
@@ -1,11 +1,11 @@
-From a267b66190a872c833e4c3a3472df0e9be69490d Mon Sep 17 00:00:00 2001
+From f3d0b16716045edf78c0abf479f5382c2ec6d3aa Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 12 Oct 2018 01:37:22 -0500
Subject: [PATCH] Here's Johnny!
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
-index b566e77869..106e7c5f56 100644
+index dbd189afe..9d3c37dce 100644
--- a/src/main/java/net/minecraft/server/EntityVindicator.java
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java
@@ -11,7 +11,7 @@ public class EntityVindicator extends EntityIllagerAbstract {
@@ -18,7 +18,7 @@ index b566e77869..106e7c5f56 100644
public EntityVindicator(EntityTypes<? extends EntityVindicator> entitytypes, World world) {
super(entitytypes, world);
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
-index 951d479298..5ff957ced7 100644
+index 951d47929..5ff957ced 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java
@@ -25,4 +25,14 @@ public class CraftVindicator extends CraftIllager implements Vindicator {
diff --git a/Spigot-Server-Patches/0328-Turtle-API.patch b/Spigot-Server-Patches/0326-Turtle-API.patch
index 5ca38d9cc1..03891a6493 100644
--- a/Spigot-Server-Patches/0328-Turtle-API.patch
+++ b/Spigot-Server-Patches/0326-Turtle-API.patch
@@ -1,11 +1,11 @@
-From a51ed1f531b83e655b0bcba4a2a1ed26a65ea39d Mon Sep 17 00:00:00 2001
+From d37a4df25157249bd33e4ddb13976849176aeb4d Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 29 Sep 2018 16:08:23 -0500
Subject: [PATCH] Turtle API
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
-index 1b4933c077..b7929c5c46 100644
+index 1b4933c07..b7929c5c4 100644
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
@@ -27,51 +27,63 @@ public class EntityTurtle extends EntityAnimal {
@@ -104,7 +104,7 @@ index 1b4933c077..b7929c5c46 100644
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java
-index 123a2c75ca..8edcf7af65 100644
+index 123a2c75c..8edcf7af6 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java
@@ -1,6 +1,8 @@
diff --git a/Spigot-Server-Patches/0329-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0327-Limit-lightning-strike-effect-distance.patch
index 9ea42292ef..228fbd5296 100644
--- a/Spigot-Server-Patches/0329-Limit-lightning-strike-effect-distance.patch
+++ b/Spigot-Server-Patches/0327-Limit-lightning-strike-effect-distance.patch
@@ -1,11 +1,11 @@
-From 4372354a6b40fe4e47682a1f4975a2fa335f7257 Mon Sep 17 00:00:00 2001
+From b83a25415627e39b211dd487f01524f92ff960dd Mon Sep 17 00:00:00 2001
From: Trigary <[email protected]>
Date: Fri, 14 Sep 2018 17:42:08 +0200
Subject: [PATCH] Limit lightning strike effect distance
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index 2c27be63ea..fb44fccc92 100644
+index 2c27be63e..fb44fccc9 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -234,6 +234,28 @@ public class PaperWorldConfig {
@@ -38,7 +38,7 @@ index 2c27be63ea..fb44fccc92 100644
public boolean firePhysicsEventForRedstone = false;
private void firePhysicsEventForRedstone() {
diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java
-index adf68d1650..fbcda86b38 100644
+index adf68d165..fbcda86b3 100644
--- a/src/main/java/net/minecraft/server/EntityLightning.java
+++ b/src/main/java/net/minecraft/server/EntityLightning.java
@@ -64,6 +64,17 @@ public class EntityLightning extends Entity {
@@ -69,10 +69,10 @@ index adf68d1650..fbcda86b38 100644
--this.lifeTicks;
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 281b11f010..e60fc0d585 100644
+index 892c49506..661ea58b8 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -1189,7 +1189,7 @@ public class WorldServer extends World {
+@@ -1182,7 +1182,7 @@ public class WorldServer extends World {
}
// CraftBukkit end
this.globalEntityList.add(entitylightning);
diff --git a/Spigot-Server-Patches/0330-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch b/Spigot-Server-Patches/0328-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch
index 665dcf2d52..d7e4f875aa 100644
--- a/Spigot-Server-Patches/0330-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch
+++ b/Spigot-Server-Patches/0328-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch
@@ -1,4 +1,4 @@
-From 43fb23d86ba0eb613e10e15816af1b2abe597f67 Mon Sep 17 00:00:00 2001
+From 6e2c48ed3c978e78e0d74fd0d0048dfd1765980d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 17 Oct 2018 19:17:27 -0400
Subject: [PATCH] MC-50319: Check other worlds for shooter of projectiles
@@ -11,7 +11,7 @@ If the projectile fails to find the shooter in the current world, check
other worlds.
diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java
-index c19828ed56..7deeaa0834 100644
+index c19828ed5..7deeaa083 100644
--- a/src/main/java/net/minecraft/server/EntityProjectile.java
+++ b/src/main/java/net/minecraft/server/EntityProjectile.java
@@ -213,11 +213,21 @@ public abstract class EntityProjectile extends Entity implements IProjectile {
diff --git a/Spigot-Server-Patches/0331-Call-player-spectator-target-events.patch b/Spigot-Server-Patches/0329-Call-player-spectator-target-events.patch
index 8f08381d10..b6b9ed3ad1 100644
--- a/Spigot-Server-Patches/0331-Call-player-spectator-target-events.patch
+++ b/Spigot-Server-Patches/0329-Call-player-spectator-target-events.patch
@@ -1,11 +1,11 @@
-From cd563ddeac82f466e39ae9821d4cf0675bfc4fa3 Mon Sep 17 00:00:00 2001
+From c4bb29d6e705e5938f85ba2c2448daa843c234b6 Mon Sep 17 00:00:00 2001
From: Caleb Bassham <[email protected]>
Date: Fri, 28 Sep 2018 02:32:19 -0500
Subject: [PATCH] Call player spectator target events
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index c5621d9dc..cbcf86b60 100644
+index 0f3be967e..1c1c3a9b5 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -60,7 +60,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
diff --git a/Spigot-Server-Patches/0332-Add-Velocity-IP-Forwarding-Support.patch b/Spigot-Server-Patches/0330-Add-Velocity-IP-Forwarding-Support.patch
index 4b4664bbf7..c1b7dce876 100644
--- a/Spigot-Server-Patches/0332-Add-Velocity-IP-Forwarding-Support.patch
+++ b/Spigot-Server-Patches/0330-Add-Velocity-IP-Forwarding-Support.patch
@@ -1,4 +1,4 @@
-From de0ac6d4f045984c9bca24554ae2b8b17babcbd7 Mon Sep 17 00:00:00 2001
+From 2438891aab7c354df7549a2b71c7bc7989795293 Mon Sep 17 00:00:00 2001
From: Andrew Steinborn <[email protected]>
Date: Mon, 8 Oct 2018 14:36:14 -0400
Subject: [PATCH] Add Velocity IP Forwarding Support
diff --git a/Spigot-Server-Patches/0333-Add-more-Witch-API.patch b/Spigot-Server-Patches/0331-Add-more-Witch-API.patch
index c60803a135..ae12f64046 100644
--- a/Spigot-Server-Patches/0333-Add-more-Witch-API.patch
+++ b/Spigot-Server-Patches/0331-Add-more-Witch-API.patch
@@ -1,11 +1,11 @@
-From de63395f1f3c11be3c9c2474811a6e3d4976ec31 Mon Sep 17 00:00:00 2001
+From 0e8d054718a2058311545e3c11b1c5ef9675112a Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 12 Oct 2018 14:10:46 -0500
Subject: [PATCH] Add more Witch API
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
-index ae9efb72c1..3cbb34a0ce 100644
+index ae9efb72c..3cbb34a0c 100644
--- a/src/main/java/net/minecraft/server/EntityWitch.java
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
@@ -1,5 +1,11 @@
@@ -96,7 +96,7 @@ index ae9efb72c1..3cbb34a0ce 100644
public SoundEffect dW() {
return SoundEffects.ENTITY_WITCH_CELEBRATE;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
-index bae107e76e..b43a2bbd5b 100644
+index bae107e76..b43a2bbd5 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java
@@ -1,12 +1,18 @@
diff --git a/Spigot-Server-Patches/0334-Fix-MC-93764.patch b/Spigot-Server-Patches/0332-Fix-MC-93764.patch
index 203272820f..a557655d4a 100644
--- a/Spigot-Server-Patches/0334-Fix-MC-93764.patch
+++ b/Spigot-Server-Patches/0332-Fix-MC-93764.patch
@@ -1,11 +1,11 @@
-From aedfff84f881068ca6b450ffb2bca37b4d6ed776 Mon Sep 17 00:00:00 2001
+From b99595bced24c8b10e641089ee1b81b81c89f35f Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Fri, 19 Oct 2018 19:38:45 -0500
Subject: [PATCH] Fix MC-93764
diff --git a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java
-index c25be16423..b323df98e5 100644
+index 715faef17..b97408cff 100644
--- a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java
+++ b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java
@@ -27,7 +27,7 @@ public class WorldProviderTheEnd extends WorldProvider {
diff --git a/Spigot-Server-Patches/0335-Add-option-to-prevent-players-from-moving-into-unloa.patch b/Spigot-Server-Patches/0333-Add-option-to-prevent-players-from-moving-into-unloa.patch
index 3fa297c883..ec423135fd 100644
--- a/Spigot-Server-Patches/0335-Add-option-to-prevent-players-from-moving-into-unloa.patch
+++ b/Spigot-Server-Patches/0333-Add-option-to-prevent-players-from-moving-into-unloa.patch
@@ -1,4 +1,4 @@
-From 6f34ebdd0dda7090edb962cf3d8951758d97999b Mon Sep 17 00:00:00 2001
+From a96103ced927454e05bb337ceca2bbf72ba0a4e9 Mon Sep 17 00:00:00 2001
From: Gabriele C <[email protected]>
Date: Mon, 22 Oct 2018 17:34:10 +0200
Subject: [PATCH] Add option to prevent players from moving into unloaded
@@ -6,7 +6,7 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
-index fb44fccc92..ad793ffa38 100644
+index fb44fccc9..ad793ffa3 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -434,4 +434,9 @@ public class PaperWorldConfig {
@@ -20,7 +20,7 @@ index fb44fccc92..ad793ffa38 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index bc04400484..b0fe05c26b 100644
+index d163836d0..3eae38a8a 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -346,6 +346,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0336-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0334-Reset-players-airTicks-on-respawn.patch
index 6876e97c59..ac80bf2e98 100644
--- a/Spigot-Server-Patches/0336-Reset-players-airTicks-on-respawn.patch
+++ b/Spigot-Server-Patches/0334-Reset-players-airTicks-on-respawn.patch
@@ -1,11 +1,11 @@
-From 7a0f04ee81f62b896a32dc69570a183706171816 Mon Sep 17 00:00:00 2001
+From cf8dc731a198046af0f477ff9d04e31265c31a14 Mon Sep 17 00:00:00 2001
From: GreenMeanie <[email protected]>
Date: Sat, 20 Oct 2018 22:34:02 -0400
Subject: [PATCH] Reset players airTicks on respawn
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 941d4eae8..ff1488389 100644
+index b1cf9b85f..91a7925dd 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -2268,7 +2268,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -18,7 +18,7 @@ index 941d4eae8..ff1488389 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index cbcf86b60..f5244de49 100644
+index 1c1c3a9b5..e1f618684 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1857,6 +1857,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
diff --git a/Spigot-Server-Patches/0337-Strip-private-area-unicode-characters-from-signs.patch b/Spigot-Server-Patches/0335-Strip-private-area-unicode-characters-from-signs.patch
index 240b3964d6..ac76be1529 100644
--- a/Spigot-Server-Patches/0337-Strip-private-area-unicode-characters-from-signs.patch
+++ b/Spigot-Server-Patches/0335-Strip-private-area-unicode-characters-from-signs.patch
@@ -1,4 +1,4 @@
-From 710758c98f59d5b99d69a98b5d3a6d3462d6581d Mon Sep 17 00:00:00 2001
+From 7d88f5608cfd251ea0135286fadbce3017465eb2 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 23 Oct 2018 20:53:43 -0400
Subject: [PATCH] Strip private area unicode characters from signs
@@ -20,12 +20,12 @@ think of no reason to use it.
Fixes GH-1571
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
-index 9de03a24cf..4165c6d11a 100644
+index 626ba9b17..7b5d534f4 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -14,6 +14,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
private final String[] k = new String[4];
- private EnumColor l;
+ private EnumColor color;
+ // Paper start - Strip invalid unicode from signs on load
+ private static final boolean keepInvalidUnicode = Boolean.getBoolean("Paper.keepInvalidUnicode"); // Allow people to keep their bad unicode if they really want it
@@ -34,13 +34,12 @@ index 9de03a24cf..4165c6d11a 100644
+
public TileEntitySign() {
super(TileEntityTypes.SIGN);
- this.l = EnumColor.BLACK;
-@@ -36,6 +41,13 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
+ this.color = EnumColor.BLACK;
+@@ -36,6 +41,12 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
// CraftBukkit end
- nbttagcompound.setString("Color", this.l.b());
-+
-+ // Paper start - Only remove private area unicode once
+ nbttagcompound.setString("Color", this.color.b());
++ // Paper start - Only remove private area unicode once // TODO - this doesn't need to run for every sign, check data ver
+ if (this.privateUnicodeRemoved) {
+ nbttagcompound.setBoolean("Paper.RemovedPrivateUnicode", true);
+ }
@@ -49,9 +48,9 @@ index 9de03a24cf..4165c6d11a 100644
return nbttagcompound;
}
-@@ -45,6 +57,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
+@@ -45,6 +56,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
super.load(nbttagcompound);
- this.l = EnumColor.a(nbttagcompound.getString("Color"), EnumColor.BLACK);
+ this.color = EnumColor.a(nbttagcompound.getString("Color"), EnumColor.BLACK);
+ // Paper start - Keep track, only do it once per sign
+ this.privateUnicodeRemoved = nbttagcompound.getBoolean("Paper.RemovedPrivateUnicode");
@@ -61,7 +60,7 @@ index 9de03a24cf..4165c6d11a 100644
// CraftBukkit start - Add an option to convert signs correctly
// This is done with a flag instead of all the time because
// we have no way to tell whether a sign is from 1.7.10 or 1.8
-@@ -57,6 +74,19 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
+@@ -57,6 +73,19 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
s = "\"\"";
}
@@ -79,9 +78,9 @@ index 9de03a24cf..4165c6d11a 100644
+ // Paper end
+
try {
- //IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s); // Paper - move down - the old format might throw a json error
+ //IChatBaseComponent ichatbasecomponent = IChatBaseComponent.ChatSerializer.a(s.isEmpty() ? "\"\"" : s); // Paper - move down - the old format might throw a json error
-@@ -83,6 +113,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
+@@ -83,6 +112,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
this.k[i] = null;
}
diff --git a/Spigot-Server-Patches/0338-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/Spigot-Server-Patches/0336-Don-t-sleep-after-profile-lookups-if-not-needed.patch
index 296ebeae03..315febab15 100644
--- a/Spigot-Server-Patches/0338-Don-t-sleep-after-profile-lookups-if-not-needed.patch
+++ b/Spigot-Server-Patches/0336-Don-t-sleep-after-profile-lookups-if-not-needed.patch
@@ -1,4 +1,4 @@
-From d14d577ae1dfbe2dc65b84621acea663c30a7469 Mon Sep 17 00:00:00 2001
+From 8a65bcf0402b43faf4d94299e205b1de8d8e15e8 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 23 Oct 2018 20:25:05 -0400
Subject: [PATCH] Don't sleep after profile lookups if not needed
@@ -7,7 +7,7 @@ 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 71e48e87b4..23f1447cfc 100644
+index 71e48e87b..23f1447cf 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 {
diff --git a/Spigot-Server-Patches/0339-Use-more-reasonable-thread-count-default-for-bootstr.patch b/Spigot-Server-Patches/0337-Use-more-reasonable-thread-count-default-for-bootstr.patch
index eea1af674d..052a929c14 100644
--- a/Spigot-Server-Patches/0339-Use-more-reasonable-thread-count-default-for-bootstr.patch
+++ b/Spigot-Server-Patches/0337-Use-more-reasonable-thread-count-default-for-bootstr.patch
@@ -1,11 +1,11 @@
-From f11017165079dc57df28219b8d6cf2347e7a140f Mon Sep 17 00:00:00 2001
+From b8d8a3ccf38dc16afce3222d25187059256fca24 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 23 Oct 2018 23:14:38 -0400
Subject: [PATCH] Use more reasonable thread count default for bootstrap
diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java
-index 5fae5a1233..6bc576f10f 100644
+index 5fae5a123..6bc576f10 100644
--- a/src/main/java/net/minecraft/server/SystemUtils.java
+++ b/src/main/java/net/minecraft/server/SystemUtils.java
@@ -66,7 +66,7 @@ public class SystemUtils {
diff --git a/Spigot-Server-Patches/0340-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch b/Spigot-Server-Patches/0338-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch
index d1fc5c3697..e0ba5bfa10 100644
--- a/Spigot-Server-Patches/0340-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch
+++ b/Spigot-Server-Patches/0338-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch
@@ -1,4 +1,4 @@
-From c79457837608a93dc4a9977a48002dc2808cd783 Mon Sep 17 00:00:00 2001
+From a78ed2192a056e3311e6745b0962666697315077 Mon Sep 17 00:00:00 2001
From: MisterVector <[email protected]>
Date: Thu, 1 Nov 2018 14:50:05 -0700
Subject: [PATCH] MC-136865: Use valid item for enchantment checks on block
@@ -13,7 +13,7 @@ keep the clone of the item used to a non empty value so it represents
the item used.
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
-index f692da609b..5bc8bd7cdc 100644
+index f692da609..5bc8bd7cd 100644
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
@@ -354,10 +354,11 @@ public class PlayerInteractManager {
diff --git a/Spigot-Server-Patches/0341-Optimize-World-Time-Updates.patch b/Spigot-Server-Patches/0339-Optimize-World-Time-Updates.patch
index ff3d96d63d..7c3a22fd53 100644
--- a/Spigot-Server-Patches/0341-Optimize-World-Time-Updates.patch
+++ b/Spigot-Server-Patches/0339-Optimize-World-Time-Updates.patch
@@ -1,4 +1,4 @@
-From 8ae3adeaed928dc6462f6acddcbc9e3c86ba00bd Mon Sep 17 00:00:00 2001
+From 1a9a458d2db1bb48a62b9b8f009459e508263d3b Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 2 Nov 2018 23:11:51 -0400
Subject: [PATCH] Optimize World Time Updates
@@ -8,7 +8,7 @@ the updates per world, so that we can re-use the same packet
object for every player unless they have per-player time enabled.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 04adcbb6b6..200bac9c32 100644
+index 0a02dece6..1858e956b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1119,12 +1119,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
diff --git a/Spigot-Server-Patches/0342-Restore-custom-InventoryHolder-support.patch b/Spigot-Server-Patches/0340-Restore-custom-InventoryHolder-support.patch
index be17c361af..7790c6b565 100644
--- a/Spigot-Server-Patches/0342-Restore-custom-InventoryHolder-support.patch
+++ b/Spigot-Server-Patches/0340-Restore-custom-InventoryHolder-support.patch
@@ -1,4 +1,4 @@
-From 539dbb6c3beb7e970087c8eab09ba5b692f0cba0 Mon Sep 17 00:00:00 2001
+From 4a37b045c016897214bc00dceabedbeb5f3957f1 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Mon, 5 Nov 2018 04:23:51 +0000
Subject: [PATCH] Restore custom InventoryHolder support
@@ -17,7 +17,7 @@ will always work as intended in the past, those without will create implementati
based inventories.
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java
-index 9957ed0402..ae280dd40b 100644
+index 9957ed040..ae280dd40 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java
@@ -39,10 +39,20 @@ public final class CraftInventoryCreator {
diff --git a/Spigot-Server-Patches/0343-Use-Vanilla-Minecart-Speeds.patch b/Spigot-Server-Patches/0341-Use-Vanilla-Minecart-Speeds.patch
index 0d18b7d6e2..a98dfe6b4a 100644
--- a/Spigot-Server-Patches/0343-Use-Vanilla-Minecart-Speeds.patch
+++ b/Spigot-Server-Patches/0341-Use-Vanilla-Minecart-Speeds.patch
@@ -1,4 +1,4 @@
-From e04348ac3f0f84e0aa0b4f7b0ab2627f1d53179a Mon Sep 17 00:00:00 2001
+From 40bdfc69e61ae7de077f81d346584a706c2de5b2 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 8 Nov 2018 21:33:09 -0500
Subject: [PATCH] Use Vanilla Minecart Speeds
@@ -6,7 +6,7 @@ Subject: [PATCH] Use Vanilla Minecart Speeds
CraftBukkit changed the values on flying speed, restore back to vanilla
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
-index 6fc332dbff..828a8711d1 100644
+index 6fc332dbf..828a8711d 100644
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
@@ -35,9 +35,9 @@ public abstract class EntityMinecartAbstract extends Entity {
diff --git a/Spigot-Server-Patches/0344-Fix-SpongeAbsortEvent-handling.patch b/Spigot-Server-Patches/0342-Fix-SpongeAbsortEvent-handling.patch
index 76a420588c..e178fd7492 100644
--- a/Spigot-Server-Patches/0344-Fix-SpongeAbsortEvent-handling.patch
+++ b/Spigot-Server-Patches/0342-Fix-SpongeAbsortEvent-handling.patch
@@ -1,4 +1,4 @@
-From fdd3a46f035dc1a66d6e2d01bbbe1c8afee794af Mon Sep 17 00:00:00 2001
+From bd5ffdf5d23fd7077da1ef8e76177882e41c3004 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sat, 10 Nov 2018 05:15:21 +0000
Subject: [PATCH] Fix SpongeAbsortEvent handling
@@ -6,10 +6,10 @@ Subject: [PATCH] Fix SpongeAbsortEvent handling
Only process drops when the block is actually going to be removed
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
-index 549c50de7d..5e66099443 100644
+index 8d69a1556..5b98c5255 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
-@@ -465,7 +465,7 @@ public class Block implements IMaterial {
+@@ -473,7 +473,7 @@ public class Block implements IMaterial {
iblockdata.dropNaturally(world, blockposition, ItemStack.a);
}
@@ -19,7 +19,7 @@ index 549c50de7d..5e66099443 100644
if (world instanceof WorldServer) {
a(iblockdata, (WorldServer) world, blockposition, tileentity).forEach((itemstack) -> {
diff --git a/src/main/java/net/minecraft/server/BlockSponge.java b/src/main/java/net/minecraft/server/BlockSponge.java
-index 4e281ce6dd..6a64af71b9 100644
+index 4e281ce6d..6a64af71b 100644
--- a/src/main/java/net/minecraft/server/BlockSponge.java
+++ b/src/main/java/net/minecraft/server/BlockSponge.java
@@ -113,8 +113,11 @@ public class BlockSponge extends Block {
diff --git a/Spigot-Server-Patches/0345-Don-t-allow-digging-into-unloaded-chunks.patch b/Spigot-Server-Patches/0343-Don-t-allow-digging-into-unloaded-chunks.patch
index 3aa71c8030..06b1df0a0e 100644
--- a/Spigot-Server-Patches/0345-Don-t-allow-digging-into-unloaded-chunks.patch
+++ b/Spigot-Server-Patches/0343-Don-t-allow-digging-into-unloaded-chunks.patch
@@ -1,11 +1,11 @@
-From a0660a9b6852d52368de4eaf9a42b73bd83684fa Mon Sep 17 00:00:00 2001
+From 8dbf7d82a6cf1bdadb7c5a18c5f7d4152791a857 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sun, 11 Nov 2018 21:01:09 +0000
Subject: [PATCH] Don't allow digging into unloaded chunks
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index b0fe05c26b..e7d3a5479b 100644
+index 3eae38a8a..bd7c13e7f 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -1245,6 +1245,11 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0346-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0344-Optimize-redstone-algorithm.patch
index 24e9696621..cdc006699b 100644
--- a/Spigot-Server-Patches/0346-Optimize-redstone-algorithm.patch
+++ b/Spigot-Server-Patches/0344-Optimize-redstone-algorithm.patch
@@ -1,4 +1,4 @@
-From 1befa1b4906acf0477abe19ae45aacfb4c3326a0 Mon Sep 17 00:00:00 2001
+From 43705821706467660596aa9b64e3f2342e7a6ed3 Mon Sep 17 00:00:00 2001
From: theosib <[email protected]>
Date: Thu, 27 Sep 2018 01:43:35 -0600
Subject: [PATCH] Optimize redstone algorithm
@@ -1124,7 +1124,7 @@ index da903f74b..aa35e0d06 100644
c(iblockdata, world, blockposition);
world.a(blockposition, false);
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 8bbcbbf89..34d7b9314 100644
+index fee14bb6d..388692c32 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -548,6 +548,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -1135,7 +1135,7 @@ index 8bbcbbf89..34d7b9314 100644
public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) {
if (!this.isClientSide) {
IBlockData iblockdata = this.getType(blockposition);
-@@ -1309,6 +1310,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -1306,6 +1307,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0))));
}
diff --git a/Spigot-Server-Patches/0347-force-entity-dismount-during-teleportation.patch b/Spigot-Server-Patches/0345-force-entity-dismount-during-teleportation.patch
index b6cdc09fed..0896e5861e 100644
--- a/Spigot-Server-Patches/0347-force-entity-dismount-during-teleportation.patch
+++ b/Spigot-Server-Patches/0345-force-entity-dismount-during-teleportation.patch
@@ -1,4 +1,4 @@
-From 5e42d9e4061851b4ff927c800f3c1add6c957642 Mon Sep 17 00:00:00 2001
+From 3b9e28226a8ab1060744b350de7445df15849a5a Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Thu, 15 Nov 2018 13:38:37 +0000
Subject: [PATCH] force entity dismount during teleportation
@@ -20,7 +20,7 @@ this is going to be the best soultion all around.
Improvements/suggestions welcome!
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index ff1488389..b1ab590d1 100644
+index 91a7925dd..c71dc3614 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1990,12 +1990,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -72,7 +72,7 @@ index ff1488389..b1ab590d1 100644
if (event.isCancelled()) {
return false;
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
-index f17c1c54b..e811a2917 100644
+index 2f614dfb6..4bea5f1ea 100644
--- a/src/main/java/net/minecraft/server/EntityHuman.java
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
@@ -937,9 +937,11 @@ public abstract class EntityHuman extends EntityLiving {
@@ -91,7 +91,7 @@ index f17c1c54b..e811a2917 100644
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 88cb1ac8f..3e819f540 100644
+index 2631e9a4b..75608c8a1 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2661,11 +2661,13 @@ public abstract class EntityLiving extends Entity {
@@ -112,7 +112,7 @@ index 88cb1ac8f..3e819f540 100644
this.B(entity);
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index f5244de49..0d3dba95b 100644
+index e1f618684..0c289f23b 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -997,11 +997,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
diff --git a/Spigot-Server-Patches/0348-Book-Size-Limits.patch b/Spigot-Server-Patches/0346-Book-Size-Limits.patch
index 4d416992fc..659dbbac90 100644
--- a/Spigot-Server-Patches/0348-Book-Size-Limits.patch
+++ b/Spigot-Server-Patches/0346-Book-Size-Limits.patch
@@ -1,4 +1,4 @@
-From 86ef8ef7d0edbda3d6104a21220694ffc6f3fcff Mon Sep 17 00:00:00 2001
+From 293d53fc28714f65f571ed4aafcace9cc70bf975 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 16 Nov 2018 23:08:50 -0500
Subject: [PATCH] Book Size Limits
@@ -22,7 +22,7 @@ index a79cba50e..e5e41c662 100644
+ }
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 530457772..630a0271e 100644
+index bd7c13e7f..f46a4868b 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -14,6 +14,7 @@ import java.util.Iterator;
diff --git a/Spigot-Server-Patches/0349-Make-the-default-permission-message-configurable.patch b/Spigot-Server-Patches/0347-Make-the-default-permission-message-configurable.patch
index 22cbc133fb..b58c7c937b 100644
--- a/Spigot-Server-Patches/0349-Make-the-default-permission-message-configurable.patch
+++ b/Spigot-Server-Patches/0347-Make-the-default-permission-message-configurable.patch
@@ -1,4 +1,4 @@
-From af2233bf1ab9d5f83b9363524f3b015cbf485320 Mon Sep 17 00:00:00 2001
+From c44b0f8d58232a141fcb2cff363d947afbe5be5a Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Sun, 18 Nov 2018 19:49:56 +0000
Subject: [PATCH] Make the default permission message configurable
@@ -29,7 +29,7 @@ index e5e41c662..8942a06bf 100644
private static void savePlayerData() {
savePlayerData = getBoolean("settings.save-player-data", savePlayerData);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 034716a20..982dce480 100644
+index 467583f1d..050bf3eb4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2123,6 +2123,11 @@ public final class CraftServer implements Server {
diff --git a/Spigot-Server-Patches/0350-Add-more-Zombie-API.patch b/Spigot-Server-Patches/0348-Add-more-Zombie-API.patch
index decf554fd6..ce1bdad4d5 100644
--- a/Spigot-Server-Patches/0350-Add-more-Zombie-API.patch
+++ b/Spigot-Server-Patches/0348-Add-more-Zombie-API.patch
@@ -1,4 +1,4 @@
-From 1e97a9aac0db26666990c50fd5e02102f277fcd4 Mon Sep 17 00:00:00 2001
+From 7685c146ffe17dc7cab2d4ef3b1512602b06a1a0 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sun, 7 Oct 2018 04:29:59 -0500
Subject: [PATCH] Add more Zombie API
@@ -18,7 +18,7 @@ index a8318c88a..ba90cdef1 100644
byte b0 = (Byte) this.datawatcher.get(EntityInsentient.b);
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index 2f0fab469..dea1d2d4d 100644
+index 171c1ae4a..b20fe8e52 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -31,6 +31,7 @@ public class EntityZombie extends EntityMonster {
@@ -50,7 +50,7 @@ index 2f0fab469..dea1d2d4d 100644
+
protected void eb() {
this.b(EntityTypes.DROWNED);
- this.world.a((EntityHuman) null, 1040, new BlockPosition((int) this.locX, (int) this.locY, (int) this.locZ), 0);
+ this.world.a((EntityHuman) null, 1040, new BlockPosition(this), 0);
@@ -253,10 +262,17 @@ public class EntityZombie extends EntityMonster {
}
}
diff --git a/Spigot-Server-Patches/0351-Prevent-rayTrace-from-loading-chunks.patch b/Spigot-Server-Patches/0349-Prevent-rayTrace-from-loading-chunks.patch
index 34ee8bf377..704bbefd87 100644
--- a/Spigot-Server-Patches/0351-Prevent-rayTrace-from-loading-chunks.patch
+++ b/Spigot-Server-Patches/0349-Prevent-rayTrace-from-loading-chunks.patch
@@ -1,4 +1,4 @@
-From 665d6fa6419fbe4df9cd3ff13a3eff4ea5ab815e Mon Sep 17 00:00:00 2001
+From be94bed55b001c7e5c9b87298d67d1dc06cced88 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Mon, 26 Nov 2018 19:21:58 -0500
Subject: [PATCH] Prevent rayTrace from loading chunks
@@ -7,7 +7,7 @@ ray tracing into an unloaded chunk should be treated as a miss
this saves a ton of lag for when AI tries to raytrace near unloaded chunks.
diff --git a/src/main/java/net/minecraft/server/IBlockAccess.java b/src/main/java/net/minecraft/server/IBlockAccess.java
-index 809ca0983a..c44edda65a 100644
+index 6e365f402..b1423a3c8 100644
--- a/src/main/java/net/minecraft/server/IBlockAccess.java
+++ b/src/main/java/net/minecraft/server/IBlockAccess.java
@@ -27,7 +27,15 @@ public interface IBlockAccess {
diff --git a/Spigot-Server-Patches/0352-Handle-Large-Packets-disconnecting-client.patch b/Spigot-Server-Patches/0350-Handle-Large-Packets-disconnecting-client.patch
index 1162a5d596..d14b4f26e6 100644
--- a/Spigot-Server-Patches/0352-Handle-Large-Packets-disconnecting-client.patch
+++ b/Spigot-Server-Patches/0350-Handle-Large-Packets-disconnecting-client.patch
@@ -1,4 +1,4 @@
-From b33b43bb7ec8a77fd9a8a799b9eaed8fedbdb891 Mon Sep 17 00:00:00 2001
+From ca88dedb52175740a645146bde3b6784d3ffcd4f Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Tue, 27 Nov 2018 21:18:06 -0500
Subject: [PATCH] Handle Large Packets disconnecting client
@@ -7,7 +7,7 @@ If a players inventory is too big to send in a single packet,
split the inventory set into multiple packets instead.
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
-index 38386d5886..2c28b97d81 100644
+index 38386d588..2c28b97d8 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -99,6 +99,15 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -27,7 +27,7 @@ index 38386d5886..2c28b97d81 100644
NetworkManager.LOGGER.debug("Skipping packet due to errors", throwable.getCause());
} else {
diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java
-index 601d4d0fa2..2d8e6a2f4a 100644
+index 601d4d0fa..2d8e6a2f4 100644
--- a/src/main/java/net/minecraft/server/Packet.java
+++ b/src/main/java/net/minecraft/server/Packet.java
@@ -10,6 +10,12 @@ public interface Packet<T extends PacketListener> {
@@ -44,7 +44,7 @@ index 601d4d0fa2..2d8e6a2f4a 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java
-index 63c4dbd327..b0cfef52cb 100644
+index 63c4dbd32..b0cfef52c 100644
--- a/src/main/java/net/minecraft/server/PacketEncoder.java
+++ b/src/main/java/net/minecraft/server/PacketEncoder.java
@@ -49,7 +49,31 @@ public class PacketEncoder extends MessageToByteEncoder<Packet<?>> {
@@ -80,7 +80,7 @@ index 63c4dbd327..b0cfef52cb 100644
+ // Paper end
}
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
-index d19a30ad87..58eccd9c63 100644
+index d19a30ad8..58eccd9c6 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -68,7 +68,7 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
@@ -93,7 +93,7 @@ index d19a30ad87..58eccd9c63 100644
} else {
this.e = new byte[i];
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java
-index f7c3655671..631234324d 100644
+index f7c365567..631234324 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java
@@ -9,6 +9,15 @@ public class PacketPlayOutWindowItems implements Packet<PacketListenerPlayOut> {
diff --git a/Spigot-Server-Patches/0353-Lazy-init-world-storage-in-CraftOfflinePlayer.patch b/Spigot-Server-Patches/0351-Lazy-init-world-storage-in-CraftOfflinePlayer.patch
index 7927aedace..251fad69f6 100644
--- a/Spigot-Server-Patches/0353-Lazy-init-world-storage-in-CraftOfflinePlayer.patch
+++ b/Spigot-Server-Patches/0351-Lazy-init-world-storage-in-CraftOfflinePlayer.patch
@@ -1,4 +1,4 @@
-From 4c3684cafaafe3790c9823fa9b5c1452c0e90486 Mon Sep 17 00:00:00 2001
+From c373f08dbad4eeed6518929abf85ad106deadc74 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Tue, 11 Dec 2018 22:25:07 -0500
Subject: [PATCH] Lazy init world storage in CraftOfflinePlayer
@@ -8,7 +8,7 @@ worlds loaded. This is typically a rare occurrence but probably one that
should be covered as best we can.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index 6a448c02ec..c1ef1c950d 100644
+index 6a448c02e..c1ef1c950 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -25,12 +25,12 @@ import org.bukkit.plugin.Plugin;
diff --git a/Spigot-Server-Patches/0354-Add-PlayerConnectionCloseEvent.patch b/Spigot-Server-Patches/0352-Add-PlayerConnectionCloseEvent.patch
index a8f726ce43..53e645abac 100644
--- a/Spigot-Server-Patches/0354-Add-PlayerConnectionCloseEvent.patch
+++ b/Spigot-Server-Patches/0352-Add-PlayerConnectionCloseEvent.patch
@@ -1,4 +1,4 @@
-From cdba41a4878c3f4c05534bbf254b34f916411228 Mon Sep 17 00:00:00 2001
+From 8a063d13d5f6ef5a85cdd458baec125a33fa26df Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Sun, 7 Oct 2018 12:05:28 -0700
Subject: [PATCH] Add PlayerConnectionCloseEvent
@@ -34,7 +34,7 @@ how PlayerPreLoginEvent interacts with PlayerConnectionCloseEvent
is undefined.
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
-index 5d46a975e3..9e4bc24058 100644
+index 5d46a975e..9e4bc2405 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -35,9 +35,9 @@ public class LoginListener implements PacketLoginInListener {
@@ -50,7 +50,7 @@ index 5d46a975e3..9e4bc24058 100644
private SecretKey loginKey;
private EntityPlayer l;
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
-index 2c28b97d81..1b0643c27f 100644
+index 2c28b97d8..1b0643c27 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -346,6 +346,26 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
diff --git a/Spigot-Server-Patches/0355-Prevent-Enderman-from-loading-chunks.patch b/Spigot-Server-Patches/0353-Prevent-Enderman-from-loading-chunks.patch
index 9a4e933a92..d4fdcbb7d6 100644
--- a/Spigot-Server-Patches/0355-Prevent-Enderman-from-loading-chunks.patch
+++ b/Spigot-Server-Patches/0353-Prevent-Enderman-from-loading-chunks.patch
@@ -1,14 +1,14 @@
-From d7a0ae4e988e0cf5d0d5f1be7b5350ce2aa994e0 Mon Sep 17 00:00:00 2001
+From ac4e7b05b9c8a792585e21bb9384155e410d27d9 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Tue, 18 Dec 2018 02:15:08 +0000
Subject: [PATCH] Prevent Enderman from loading chunks
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
-index de2d995349..f08f139e97 100644
+index ad1553f6e..c6a2e0839 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
-@@ -315,7 +315,8 @@ public class EntityEnderman extends EntityMonster {
+@@ -325,7 +325,8 @@ public class EntityEnderman extends EntityMonster {
int j = MathHelper.floor(this.enderman.locY + random.nextDouble() * 3.0D);
int k = MathHelper.floor(this.enderman.locZ - 2.0D + random.nextDouble() * 4.0D);
BlockPosition blockposition = new BlockPosition(i, j, k);
@@ -18,7 +18,7 @@ index de2d995349..f08f139e97 100644
Block block = iblockdata.getBlock();
Vec3D vec3d = new Vec3D((double) MathHelper.floor(this.enderman.locX) + 0.5D, (double) j + 0.5D, (double) MathHelper.floor(this.enderman.locZ) + 0.5D);
Vec3D vec3d1 = new Vec3D((double) i + 0.5D, (double) j + 0.5D, (double) k + 0.5D);
-@@ -357,7 +358,8 @@ public class EntityEnderman extends EntityMonster {
+@@ -367,7 +368,8 @@ public class EntityEnderman extends EntityMonster {
int j = MathHelper.floor(this.a.locY + random.nextDouble() * 2.0D);
int k = MathHelper.floor(this.a.locZ - 1.0D + random.nextDouble() * 2.0D);
BlockPosition blockposition = new BlockPosition(i, j, k);
diff --git a/Spigot-Server-Patches/0356-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/Spigot-Server-Patches/0354-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
index 4f7ab9ab4d..ebb9d7710b 100644
--- a/Spigot-Server-Patches/0356-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
+++ b/Spigot-Server-Patches/0354-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch
@@ -1,4 +1,4 @@
-From c68da94e83b9233205d2f4306f1c351b7ea99d17 Mon Sep 17 00:00:00 2001
+From 1278518ef157890ac490119fc70833b5fab86187 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Wed, 2 Jan 2019 00:35:43 -0600
Subject: [PATCH] Add APIs to replace OfflinePlayer#getLastPlayed
@@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and
documented as to their purpose.
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index d23178331e..412b2e79ad 100644
+index 0c289f23b..3c7fa3b34 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -75,6 +75,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -28,7 +28,7 @@ index d23178331e..412b2e79ad 100644
public boolean queueHealthUpdatePacket = false;
public net.minecraft.server.PacketPlayOutUpdateHealth queuedHealthUpdatePacket;
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 97f4f7e1bd..417465c0e7 100644
+index af437120e..1eae8057d 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -94,6 +94,7 @@ public abstract class PlayerList {
@@ -40,7 +40,7 @@ index 97f4f7e1bd..417465c0e7 100644
UserCache usercache = this.server.getUserCache();
GameProfile gameprofile1 = usercache.a(gameprofile.getId());
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
-index c1ef1c950d..3824180ee5 100644
+index c1ef1c950..3824180ee 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
@@ -256,6 +256,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
@@ -106,7 +106,7 @@ index c1ef1c950d..3824180ee5 100644
public Location getBedSpawnLocation() {
NBTTagCompound data = getData();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 6a390c1146..3b02b282e3 100644
+index deacc2187..367e8cfc1 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -137,6 +137,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -117,7 +117,7 @@ index 6a390c1146..3b02b282e3 100644
// Paper end
public CraftPlayer(CraftServer server, EntityPlayer entity) {
-@@ -1364,6 +1365,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1363,6 +1364,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
this.firstPlayed = firstPlayed;
}
@@ -136,7 +136,7 @@ index 6a390c1146..3b02b282e3 100644
public void readExtraData(NBTTagCompound nbttagcompound) {
hasPlayedBefore = true;
if (nbttagcompound.hasKey("bukkit")) {
-@@ -1386,6 +1399,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1385,6 +1398,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
public void setExtraData(NBTTagCompound nbttagcompound) {
@@ -145,7 +145,7 @@ index 6a390c1146..3b02b282e3 100644
if (!nbttagcompound.hasKey("bukkit")) {
nbttagcompound.set("bukkit", new NBTTagCompound());
}
-@@ -1400,6 +1415,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1399,6 +1414,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
data.setLong("firstPlayed", getFirstPlayed());
data.setLong("lastPlayed", System.currentTimeMillis());
data.setString("lastKnownName", handle.getName());
diff --git a/Spigot-Server-Patches/0357-Fix-PlayerEditBookEvent.patch b/Spigot-Server-Patches/0355-Fix-PlayerEditBookEvent.patch
index a6eaf89195..49fae44d73 100644
--- a/Spigot-Server-Patches/0357-Fix-PlayerEditBookEvent.patch
+++ b/Spigot-Server-Patches/0355-Fix-PlayerEditBookEvent.patch
@@ -1,4 +1,4 @@
-From 0570f27d30527beebf4a36fcb3fb584af5000215 Mon Sep 17 00:00:00 2001
+From 414ae3622b3470e439711445447b5bef8dfb0053 Mon Sep 17 00:00:00 2001
From: Michael Himing <[email protected]>
Date: Sun, 16 Dec 2018 13:07:33 +1100
Subject: [PATCH] Fix PlayerEditBookEvent
@@ -10,7 +10,7 @@ it impossible to properly cancel the event or modify the book meta
cancelled writing
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 6096f309bc..2fce176402 100644
+index f46a4868b..448645e52 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -859,9 +859,11 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0358-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/Spigot-Server-Patches/0356-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
index 7b70f3fcb3..21d03536f0 100644
--- a/Spigot-Server-Patches/0358-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
+++ b/Spigot-Server-Patches/0356-Workaround-for-vehicle-tracking-issue-on-disconnect.patch
@@ -1,11 +1,11 @@
-From 68cc5d952fc9e0db1bdab48c0ed0602e73b1a038 Mon Sep 17 00:00:00 2001
+From a03f4dfcbb5c767e33b2dd41499f2a955088bb47 Mon Sep 17 00:00:00 2001
From: connorhartley <[email protected]>
Date: Mon, 7 Jan 2019 14:43:48 -0600
Subject: [PATCH] Workaround for vehicle tracking issue on disconnect
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index 8eb6a5fb7..f905ff4a3 100644
+index 3c7fa3b34..3ecf18379 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1280,6 +1280,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
diff --git a/Spigot-Server-Patches/0359-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch b/Spigot-Server-Patches/0357-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch
index b6ca62694a..9864ce35a5 100644
--- a/Spigot-Server-Patches/0359-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch
+++ b/Spigot-Server-Patches/0357-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch
@@ -1,4 +1,4 @@
-From 3fbbc13b8148e47fb1b31182153fca4269b5cdd3 Mon Sep 17 00:00:00 2001
+From 46f75f3330ad19cc82b7bc3525856742ccdb5b31 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Thu, 31 Jan 2019 16:33:36 -0500
Subject: [PATCH] Fire BlockPistonRetractEvent for all empty pistons
@@ -24,7 +24,7 @@ Instead we opt to remove the check entirely so that the event fires for
all piston types.
diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java
-index 170a339eda..a5573f21fc 100644
+index 141006e36..78603d2cb 100644
--- a/src/main/java/net/minecraft/server/BlockPiston.java
+++ b/src/main/java/net/minecraft/server/BlockPiston.java
@@ -121,7 +121,7 @@ public class BlockPiston extends BlockDirectional {
diff --git a/Spigot-Server-Patches/0360-Block-Entity-remove-from-being-called-on-Players.patch b/Spigot-Server-Patches/0358-Block-Entity-remove-from-being-called-on-Players.patch
index d63798c3fc..d70a230ea4 100644
--- a/Spigot-Server-Patches/0360-Block-Entity-remove-from-being-called-on-Players.patch
+++ b/Spigot-Server-Patches/0358-Block-Entity-remove-from-being-called-on-Players.patch
@@ -1,4 +1,4 @@
-From e798ed0fcba4a65f89e072964e4eec5bdabae302 Mon Sep 17 00:00:00 2001
+From 3f5b27d7d97cd84fd839f1452df1fbf9175f1d01 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Mon, 4 Feb 2019 23:33:24 -0500
Subject: [PATCH] Block Entity#remove from being called on Players
@@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to
be unintentional in the few cases we've seen so far.
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3b02b282e3..3bc7a64fac 100644
+index 367e8cfc1..c020d0b4e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1954,6 +1954,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1953,6 +1953,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetCooldown() {
getHandle().resetCooldown();
}
diff --git a/Spigot-Server-Patches/0361-Allow-Saving-of-Oversized-Chunks.patch b/Spigot-Server-Patches/0359-Allow-Saving-of-Oversized-Chunks.patch
index 30f9dd687b..f9f029e573 100644
--- a/Spigot-Server-Patches/0361-Allow-Saving-of-Oversized-Chunks.patch
+++ b/Spigot-Server-Patches/0359-Allow-Saving-of-Oversized-Chunks.patch
@@ -1,4 +1,4 @@
-From 5e39f5c9c4bedcb73854976493e6a0aa4df4c585 Mon Sep 17 00:00:00 2001
+From 6600a81e2e68c4369bee74bb358ce39c6edfcb55 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 15 Feb 2019 01:08:19 -0500
Subject: [PATCH] Allow Saving of Oversized Chunks
diff --git a/Spigot-Server-Patches/0362-BlockDestroyEvent.patch b/Spigot-Server-Patches/0360-BlockDestroyEvent.patch
index e4c1e8eabb..8956d075d4 100644
--- a/Spigot-Server-Patches/0362-BlockDestroyEvent.patch
+++ b/Spigot-Server-Patches/0360-BlockDestroyEvent.patch
@@ -1,4 +1,4 @@
-From 7d73d345fb5c9ad84aa68fa7d80de4dcee6088a6 Mon Sep 17 00:00:00 2001
+From 1113f9e96c05daefa52eb617e4166abad06a9201 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 6 Feb 2019 00:20:33 -0500
Subject: [PATCH] BlockDestroyEvent
@@ -11,7 +11,7 @@ floating in the air.
This can replace many uses of BlockPhysicsEvent
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index 34d7b9314..ab56086e1 100644
+index 388692c32..98f9ac7de 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -478,8 +478,20 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
diff --git a/Spigot-Server-Patches/0363-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch b/Spigot-Server-Patches/0361-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch
index 592d259b95..0a7ecb7652 100644
--- a/Spigot-Server-Patches/0363-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch
+++ b/Spigot-Server-Patches/0361-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch
@@ -1,4 +1,4 @@
-From 488aaf0d7001e17a95bf6cb1d5bbcbedc148cb17 Mon Sep 17 00:00:00 2001
+From 840ad42258da7577373eb2094ca7a20c3896ec2a Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 18 Jan 2019 00:08:15 -0500
Subject: [PATCH] Fix Custom Shapeless Custom Crafting Recipes
@@ -10,7 +10,7 @@ This made the Bukkit RecipeChoice API not work for Shapeless.
This reimplements vanilla logic using the same test logic as Shaped
diff --git a/src/main/java/net/minecraft/server/ShapelessRecipes.java b/src/main/java/net/minecraft/server/ShapelessRecipes.java
-index 070fc1e3ec..691e697d68 100644
+index 070fc1e3e..691e697d6 100644
--- a/src/main/java/net/minecraft/server/ShapelessRecipes.java
+++ b/src/main/java/net/minecraft/server/ShapelessRecipes.java
@@ -63,16 +63,46 @@ public class ShapelessRecipes implements RecipeCrafting {
diff --git a/Spigot-Server-Patches/0364-Fix-sign-edit-memory-leak.patch b/Spigot-Server-Patches/0362-Fix-sign-edit-memory-leak.patch
index c68ca09268..44d23424bb 100644
--- a/Spigot-Server-Patches/0364-Fix-sign-edit-memory-leak.patch
+++ b/Spigot-Server-Patches/0362-Fix-sign-edit-memory-leak.patch
@@ -1,4 +1,4 @@
-From 88c7354bb25d2a8c9085bff32e142c78768c647e Mon Sep 17 00:00:00 2001
+From 10f84a9bf3351fb48bf6ab781861e150b7b4398e Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Thu, 28 Feb 2019 00:15:28 -0500
Subject: [PATCH] Fix sign edit memory leak
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix sign edit memory leak
when a player edits a sign, a reference to their Entity is never cleand up.
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 2fce176402..af3374e861 100644
+index 448645e52..1ff7825be 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2560,7 +2560,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -19,7 +19,7 @@ index 2fce176402..af3374e861 100644
this.sendPacket(tileentity.getUpdatePacket()); // CraftBukkit
return;
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
-index 4165c6d11a..7abf533c58 100644
+index 7b5d534f4..daf0aeb43 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -17,6 +17,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
@@ -30,7 +30,7 @@ index 4165c6d11a..7abf533c58 100644
// Paper end
public TileEntitySign() {
-@@ -142,7 +143,10 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
+@@ -141,7 +142,10 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
}
public void a(EntityHuman entityhuman) {
diff --git a/Spigot-Server-Patches/0365-Limit-Client-Sign-length-more.patch b/Spigot-Server-Patches/0363-Limit-Client-Sign-length-more.patch
index b3061d2531..14cfe799c5 100644
--- a/Spigot-Server-Patches/0365-Limit-Client-Sign-length-more.patch
+++ b/Spigot-Server-Patches/0363-Limit-Client-Sign-length-more.patch
@@ -1,4 +1,4 @@
-From 44ff22cec85f0a1938e0185294c7eded3c6542a8 Mon Sep 17 00:00:00 2001
+From 4ce31deee65fb7ff9e1d6cb451cca751cdc444ff Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 27 Feb 2019 22:18:40 -0500
Subject: [PATCH] Limit Client Sign length more
@@ -22,7 +22,7 @@ it only impacts data sent from the client.
Set -DPaper.maxSignLength=XX to change limit or -1 to disable
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index af3374e861..b3193bc3fa 100644
+index 1ff7825be..8f9a02629 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -103,6 +103,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0366-Don-t-check-ConvertSigns-boolean-every-sign-save.patch b/Spigot-Server-Patches/0364-Don-t-check-ConvertSigns-boolean-every-sign-save.patch
index 3c8d783ab6..6c6af290a8 100644
--- a/Spigot-Server-Patches/0366-Don-t-check-ConvertSigns-boolean-every-sign-save.patch
+++ b/Spigot-Server-Patches/0364-Don-t-check-ConvertSigns-boolean-every-sign-save.patch
@@ -1,4 +1,4 @@
-From 2ea5b15f3e2585b2f20ee9aad0c764a0f83e5ea8 Mon Sep 17 00:00:00 2001
+From 1034846e7d49d8a9e34206ab37e640b2f16a74ad Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 2 Mar 2019 11:11:29 -0500
Subject: [PATCH] Don't check ConvertSigns boolean every sign save
@@ -7,7 +7,7 @@ property lookups arent super cheap. they synchronize, validate
and check security managers.
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
-index 7abf533c58..713bb4cd52 100644
+index daf0aeb43..91c99222d 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -18,6 +18,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
diff --git a/Spigot-Server-Patches/0367-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch b/Spigot-Server-Patches/0365-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch
index 2f6636ad0e..6ec5dcf50d 100644
--- a/Spigot-Server-Patches/0367-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch
+++ b/Spigot-Server-Patches/0365-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch
@@ -1,4 +1,4 @@
-From f20b9a893da351bcc50180f12c8705eef5bf6b7c Mon Sep 17 00:00:00 2001
+From ad75d8048af225ed023b51771054e5590bd13e68 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 2 Mar 2019 14:55:01 -0500
Subject: [PATCH] Handle Excessive Signs in Chunks creating too large of
@@ -11,7 +11,7 @@ Use -DPaper.excessiveSignsLimit=500 to configure that limit, or -1
to disable the limit and let your players be abused.
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
-index 1b0643c27f..4766f7b773 100644
+index 1b0643c27..4766f7b77 100644
--- a/src/main/java/net/minecraft/server/NetworkManager.java
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
@@ -220,6 +220,15 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
@@ -31,7 +31,7 @@ index 1b0643c27f..4766f7b773 100644
private void sendPacketQueue() { this.o(); } // Paper - OBFHELPER
diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java
-index 2d8e6a2f4a..8d0965a053 100644
+index 2d8e6a2f4..8d0965a05 100644
--- a/src/main/java/net/minecraft/server/Packet.java
+++ b/src/main/java/net/minecraft/server/Packet.java
@@ -11,6 +11,7 @@ public interface Packet<T extends PacketListener> {
@@ -43,7 +43,7 @@ index 2d8e6a2f4a..8d0965a053 100644
return false;
}
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
-index 58eccd9c63..ef71a1feb3 100644
+index 58eccd9c6..ef71a1feb 100644
--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
+++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java
@@ -20,6 +20,15 @@ public class PacketPlayOutMapChunk implements Packet<PacketListenerPlayOut> {
diff --git a/Spigot-Server-Patches/0368-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/Spigot-Server-Patches/0366-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch
index 517b560306..908145a658 100644
--- a/Spigot-Server-Patches/0368-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch
+++ b/Spigot-Server-Patches/0366-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch
@@ -1,4 +1,4 @@
-From 3275c0e9ab25bfdb58ea04478cb83b454885654c Mon Sep 17 00:00:00 2001
+From 89e715f84dbd1e1af5f92e1305ed4cbe28f11643 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 2 Mar 2019 16:12:35 -0500
Subject: [PATCH] MC-145260: Fix Whitelist On/Off inconsistency
@@ -11,7 +11,7 @@ everything to the Whitelist object.
https://github.com/PaperMC/Paper/issues/1880
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
-index c169d01762..55bc4b265d 100644
+index c169d0176..55bc4b265 100644
--- a/src/main/java/net/minecraft/server/JsonList.java
+++ b/src/main/java/net/minecraft/server/JsonList.java
@@ -64,6 +64,7 @@ public class JsonList<K, V extends JsonListEntry<K>> {
@@ -23,7 +23,7 @@ index c169d01762..55bc4b265d 100644
this.e = flag;
}
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 417465c0e7..990aa330d7 100644
+index 1eae8057d..e6c894463 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
@@ -62,7 +62,7 @@ public abstract class PlayerList {
@@ -33,9 +33,9 @@ index 417465c0e7..990aa330d7 100644
- private boolean hasWhitelist;
+ //private boolean hasWhitelist;
protected final int maxPlayers;
- private int s;
+ private int viewDistance;
private EnumGamemode t;
-@@ -898,9 +898,9 @@ public abstract class PlayerList {
+@@ -899,9 +899,9 @@ public abstract class PlayerList {
}
public boolean isWhitelisted(GameProfile gameprofile, org.bukkit.event.player.PlayerLoginEvent loginEvent) {
boolean isOp = this.operators.d(gameprofile);
@@ -47,7 +47,7 @@ index 417465c0e7..990aa330d7 100644
event.callEvent();
if (!event.isWhitelisted()) {
if (loginEvent != null) {
-@@ -1029,11 +1029,11 @@ public abstract class PlayerList {
+@@ -1030,11 +1030,11 @@ public abstract class PlayerList {
}
public boolean getHasWhitelist() {
diff --git a/Spigot-Server-Patches/0369-Set-Zombie-last-tick-at-start-of-drowning-process.patch b/Spigot-Server-Patches/0367-Set-Zombie-last-tick-at-start-of-drowning-process.patch
index fcd6dbb0d3..4d63b2fc3e 100644
--- a/Spigot-Server-Patches/0369-Set-Zombie-last-tick-at-start-of-drowning-process.patch
+++ b/Spigot-Server-Patches/0367-Set-Zombie-last-tick-at-start-of-drowning-process.patch
@@ -1,4 +1,4 @@
-From aa2603b2b859a8435d19c86f229a4f018c4e106e Mon Sep 17 00:00:00 2001
+From 58afd3fbe341b0e72cde79ca176a8dae8fdd67e0 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Mon, 4 Mar 2019 02:23:28 -0500
Subject: [PATCH] Set Zombie last tick at start of drowning process
@@ -6,7 +6,7 @@ Subject: [PATCH] Set Zombie last tick at start of drowning process
Fixes GH-1887
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
-index dea1d2d4d2..b06235d46d 100644
+index b20fe8e52..40a796384 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -167,6 +167,7 @@ public class EntityZombie extends EntityMonster {
diff --git a/Spigot-Server-Patches/0370-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/Spigot-Server-Patches/0368-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch
index 030dfcac6f..679621dee9 100644
--- a/Spigot-Server-Patches/0370-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch
+++ b/Spigot-Server-Patches/0368-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch
@@ -1,14 +1,14 @@
-From 363886a7827855bd064381b61f2d070253f7fc42 Mon Sep 17 00:00:00 2001
+From 9c7cd0871e1fb54da242899be23a5c54841f1148 Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <[email protected]>
Date: Wed, 13 Mar 2019 20:08:09 +0200
Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 990aa330d7..51272a51bb 100644
+index e6c894463..ce66596c6 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -1033,6 +1033,7 @@ public abstract class PlayerList {
+@@ -1034,6 +1034,7 @@ public abstract class PlayerList {
}
public void setHasWhitelist(boolean flag) {
diff --git a/Spigot-Server-Patches/0371-Add-LivingEntity-getTargetEntity.patch b/Spigot-Server-Patches/0369-Add-LivingEntity-getTargetEntity.patch
index 9cf918f482..ecfef71232 100644
--- a/Spigot-Server-Patches/0371-Add-LivingEntity-getTargetEntity.patch
+++ b/Spigot-Server-Patches/0369-Add-LivingEntity-getTargetEntity.patch
@@ -1,4 +1,4 @@
-From 0d182f9394258fa2098734587c774a3a81eef263 Mon Sep 17 00:00:00 2001
+From d8ae1979c8d8088ae4086bdb8bb0e5314599fe51 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 22 Sep 2018 00:33:08 -0500
Subject: [PATCH] Add LivingEntity#getTargetEntity
@@ -46,7 +46,7 @@ index b38fc50bb..d02c77664 100644
double[] adouble = new double[] { 1.0D};
double d0 = vec3d1.x - vec3d.x;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index b1ab590d1..0adf4b69a 100644
+index c71dc3614..a49d02da1 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1443,6 +1443,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -66,7 +66,7 @@ index b1ab590d1..0adf4b69a 100644
return 0.0F;
}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
-index 3e819f540..20e8ae96d 100644
+index 75608c8a1..75d845a75 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -3217,6 +3217,37 @@ public abstract class EntityLiving extends Entity {
diff --git a/Spigot-Server-Patches/0372-Use-proper-max-length-when-serialising-BungeeCord-te.patch b/Spigot-Server-Patches/0370-Use-proper-max-length-when-serialising-BungeeCord-te.patch
index 026e542ecf..a0bf677e3a 100644
--- a/Spigot-Server-Patches/0372-Use-proper-max-length-when-serialising-BungeeCord-te.patch
+++ b/Spigot-Server-Patches/0370-Use-proper-max-length-when-serialising-BungeeCord-te.patch
@@ -1,4 +1,4 @@
-From 914af13a97c42cdb25c0577076f6efc39f1c9b64 Mon Sep 17 00:00:00 2001
+From 6456d7d5076e856e3f5fefbdfb3ced5aab8502b7 Mon Sep 17 00:00:00 2001
From: kashike <[email protected]>
Date: Wed, 20 Mar 2019 21:19:29 -0700
Subject: [PATCH] Use proper max length when serialising BungeeCord text
diff --git a/Spigot-Server-Patches/0373-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0371-Entity-getEntitySpawnReason.patch
index 8017c7aadd..dec6f57774 100644
--- a/Spigot-Server-Patches/0373-Entity-getEntitySpawnReason.patch
+++ b/Spigot-Server-Patches/0371-Entity-getEntitySpawnReason.patch
@@ -1,4 +1,4 @@
-From 27c174a8be5a9a526e6809af5e8d64fec60c8417 Mon Sep 17 00:00:00 2001
+From 0e5de1c6ae53d6eba93f429dfdb092e7dc485272 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 24 Mar 2019 00:24:52 -0400
Subject: [PATCH] Entity#getEntitySpawnReason
@@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners,
or DEFAULT since data was not stored.
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
-index 0adf4b69a..b4bd05220 100644
+index a49d02da1..d02e48a86 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -68,6 +68,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -59,10 +59,10 @@ index 0adf4b69a..b4bd05220 100644
} catch (Throwable throwable) {
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 51272a51b..4bc465ef4 100644
+index ce66596c6..5645147da 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -249,7 +249,7 @@ public abstract class PlayerList {
+@@ -250,7 +250,7 @@ public abstract class PlayerList {
// CraftBukkit start
WorldServer finalWorldServer = worldserver;
Entity entity = EntityTypes.a(nbttagcompound1.getCompound("Entity"), finalWorldServer, (entity1) -> {
@@ -72,10 +72,10 @@ index 51272a51b..4bc465ef4 100644
});
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
-index 72b8561ac..03da9b3f2 100644
+index 661ea58b8..101f4ee5d 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
-@@ -939,6 +939,7 @@ public class WorldServer extends World {
+@@ -932,6 +932,7 @@ public class WorldServer extends World {
// CraftBukkit start
private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) {
org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot
@@ -84,7 +84,7 @@ index 72b8561ac..03da9b3f2 100644
if (entity.dead) {
// Paper start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
-index af0fc9bd7..f1938695d 100644
+index 52f72e147..11a3e7b69 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1053,5 +1053,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
diff --git a/Spigot-Server-Patches/0374-Update-entity-Metadata-for-all-tracked-players.patch b/Spigot-Server-Patches/0372-Update-entity-Metadata-for-all-tracked-players.patch
index 20946ccd40..d0d96ccb1b 100644
--- a/Spigot-Server-Patches/0374-Update-entity-Metadata-for-all-tracked-players.patch
+++ b/Spigot-Server-Patches/0372-Update-entity-Metadata-for-all-tracked-players.patch
@@ -1,4 +1,4 @@
-From 1ff7126971d1710dfe5d0f9f9e96f0a790089423 Mon Sep 17 00:00:00 2001
+From 3fba1c0e308d323e7657e28ee82febef76a60f8f Mon Sep 17 00:00:00 2001
From: AgentTroll <[email protected]>
Date: Fri, 22 Mar 2019 22:24:03 -0700
Subject: [PATCH] Update entity Metadata for all tracked players
@@ -22,7 +22,7 @@ index afd8748da..17b6ab57c 100644
this.f.accept(packet);
if (this.tracker instanceof EntityPlayer) {
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index b3193bc3f..3587f73e1 100644
+index 8f9a02629..ef57cd68f 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2020,7 +2020,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0375-Fire-event-on-GS4-query.patch b/Spigot-Server-Patches/0373-Fire-event-on-GS4-query.patch
index 03ab271ff0..ca81e35ca1 100644
--- a/Spigot-Server-Patches/0375-Fire-event-on-GS4-query.patch
+++ b/Spigot-Server-Patches/0373-Fire-event-on-GS4-query.patch
@@ -1,4 +1,4 @@
-From 0e53ea4dd57aef9bc1250dc5d34ddceaea53d47b Mon Sep 17 00:00:00 2001
+From a3c3387cd562cea592c735a98e4774f91020c3cb Mon Sep 17 00:00:00 2001
From: Mark Vainomaa <[email protected]>
Date: Sun, 17 Mar 2019 21:46:56 +0200
Subject: [PATCH] Fire event on GS4 query
diff --git a/Spigot-Server-Patches/0376-Implement-PlayerPostRespawnEvent.patch b/Spigot-Server-Patches/0374-Implement-PlayerPostRespawnEvent.patch
index 221b8ccfed..71d400067d 100644
--- a/Spigot-Server-Patches/0376-Implement-PlayerPostRespawnEvent.patch
+++ b/Spigot-Server-Patches/0374-Implement-PlayerPostRespawnEvent.patch
@@ -1,14 +1,14 @@
-From 3254acb9263fd3571734030983a9b58f0f0a7202 Mon Sep 17 00:00:00 2001
+From ffae7d08159aaa41e9dcfe2353f3d02ae8537fe7 Mon Sep 17 00:00:00 2001
From: MisterVector <[email protected]>
Date: Fri, 26 Oct 2018 21:31:00 -0700
Subject: [PATCH] Implement PlayerPostRespawnEvent
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
-index 4bc465ef4..67461cd2a 100644
+index 5645147da..0e7e47f83 100644
--- a/src/main/java/net/minecraft/server/PlayerList.java
+++ b/src/main/java/net/minecraft/server/PlayerList.java
-@@ -636,9 +636,14 @@ public abstract class PlayerList {
+@@ -637,9 +637,14 @@ public abstract class PlayerList {
// this.a(entityplayer1, entityplayer, worldserver); // CraftBukkit - removed
@@ -24,7 +24,7 @@ index 4bc465ef4..67461cd2a 100644
CraftWorld cworld = (CraftWorld) this.server.server.getWorld(entityplayer.spawnWorld);
if (cworld != null && blockposition != null) {
Optional<Vec3D> optional = EntityHuman.getBed(cworld.getHandle(), blockposition, flag1);
-@@ -671,6 +676,7 @@ public abstract class PlayerList {
+@@ -672,6 +677,7 @@ public abstract class PlayerList {
location = respawnEvent.getRespawnLocation();
if (!flag) entityplayer.reset(); // SPIGOT-4785
@@ -32,7 +32,7 @@ index 4bc465ef4..67461cd2a 100644
} else {
location.setWorld(server.getWorldServer(dimensionmanager).getWorld());
}
-@@ -732,6 +738,13 @@ public abstract class PlayerList {
+@@ -733,6 +739,13 @@ public abstract class PlayerList {
if (entityplayer.playerConnection.isDisconnected()) {
this.savePlayerFile(entityplayer);
}
diff --git a/Spigot-Server-Patches/0377-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch b/Spigot-Server-Patches/0375-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch
index bdca0db527..0ca6621664 100644
--- a/Spigot-Server-Patches/0377-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch
+++ b/Spigot-Server-Patches/0375-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch
@@ -1,4 +1,4 @@
-From 4767b1bbc871b6a58aed21ca288b15924832fd4c Mon Sep 17 00:00:00 2001
+From dd3bf068fbdf1e9b24be75713abd4e983459a481 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sun, 24 Mar 2019 18:09:20 -0400
Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items
@@ -6,7 +6,7 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items
vanilla checks for == 0
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
-index c5fefa060..43fc790a6 100644
+index ddd1f6307..7e9256314 100644
--- a/src/main/java/net/minecraft/server/EntityItem.java
+++ b/src/main/java/net/minecraft/server/EntityItem.java
@@ -59,6 +59,7 @@ public class EntityItem extends Entity {
@@ -17,7 +17,7 @@ index c5fefa060..43fc790a6 100644
if (this.age != -32768) this.age += elapsedTicks;
this.lastTick = MinecraftServer.currentTick;
// CraftBukkit end
-@@ -143,6 +144,7 @@ public class EntityItem extends Entity {
+@@ -145,6 +146,7 @@ public class EntityItem extends Entity {
// CraftBukkit start - Use wall time for pickup and despawn timers
int elapsedTicks = MinecraftServer.currentTick - this.lastTick;
if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks;
diff --git a/Spigot-Server-Patches/0378-Implement-getters-and-setters-for-EntityItem-owner-a.patch b/Spigot-Server-Patches/0376-Implement-getters-and-setters-for-EntityItem-owner-a.patch
index 3b11bbeaed..c47d57a130 100644
--- a/Spigot-Server-Patches/0378-Implement-getters-and-setters-for-EntityItem-owner-a.patch
+++ b/Spigot-Server-Patches/0376-Implement-getters-and-setters-for-EntityItem-owner-a.patch
@@ -1,4 +1,4 @@
-From 10204d4fa6ec2479dc404e08a4c401671717eb5b Mon Sep 17 00:00:00 2001
+From 86a985dcf01260eb221879345473b4267009d7f8 Mon Sep 17 00:00:00 2001
From: BillyGalbreath <[email protected]>
Date: Sat, 6 Oct 2018 20:54:23 -0500
Subject: [PATCH] Implement getters and setters for EntityItem owner and
@@ -6,7 +6,7 @@ Subject: [PATCH] Implement getters and setters for EntityItem owner and
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
-index 3f552b5905..cb756b1ba0 100644
+index 3f552b590..cb756b1ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -8,6 +8,11 @@ import org.bukkit.entity.EntityType;
diff --git a/Spigot-Server-Patches/0379-Server-Tick-Events.patch b/Spigot-Server-Patches/0377-Server-Tick-Events.patch
index 0e78729295..208d5ed84d 100644
--- a/Spigot-Server-Patches/0379-Server-Tick-Events.patch
+++ b/Spigot-Server-Patches/0377-Server-Tick-Events.patch
@@ -1,4 +1,4 @@
-From 2a67323ac67aa4357f86d01ce473d17ddf9f8097 Mon Sep 17 00:00:00 2001
+From 0939ef5dc79de68937f15014d63ae095ab9bcc3d Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 27 Mar 2019 22:48:45 -0400
Subject: [PATCH] Server Tick Events
@@ -6,7 +6,7 @@ Subject: [PATCH] Server Tick Events
Fires event at start and end of a server tick
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index 200bac9c32..f8ec6a5184 100644
+index 1858e956b..6e77fa35b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1050,6 +1050,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
diff --git a/Spigot-Server-Patches/0380-PlayerDeathEvent-getItemsToKeep.patch b/Spigot-Server-Patches/0378-PlayerDeathEvent-getItemsToKeep.patch
index d63b45289d..182a6b4526 100644
--- a/Spigot-Server-Patches/0380-PlayerDeathEvent-getItemsToKeep.patch
+++ b/Spigot-Server-Patches/0378-PlayerDeathEvent-getItemsToKeep.patch
@@ -1,4 +1,4 @@
-From d094a10b31c30a382ae88366d22ad40a047bd1ea Mon Sep 17 00:00:00 2001
+From 882e169413c81c7166e3f15b7f5d82b8c7c1b999 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Wed, 27 Mar 2019 23:01:33 -0400
Subject: [PATCH] PlayerDeathEvent#getItemsToKeep
@@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death
Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
-index a18afbcdde..f17e799309 100644
+index 3ecf18379..e9f158d8e 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -508,6 +508,46 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
diff --git a/Spigot-Server-Patches/0381-Optimize-Persistent-Data-Loading.patch b/Spigot-Server-Patches/0379-Optimize-Persistent-Data-Loading.patch
index e7e5f559cf..a7e8198baf 100644
--- a/Spigot-Server-Patches/0381-Optimize-Persistent-Data-Loading.patch
+++ b/Spigot-Server-Patches/0379-Optimize-Persistent-Data-Loading.patch
@@ -1,4 +1,4 @@
-From 3eccc08f2ede9106b83b801535b818571f6f8e1a Mon Sep 17 00:00:00 2001
+From eed90fc4e6231fca13003863b1c1a8db975e48e3 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Fri, 29 Mar 2019 01:25:11 -0400
Subject: [PATCH] Optimize Persistent Data Loading
@@ -14,7 +14,7 @@ These files take a long time to convert on large worlds and crashes the server.
Additionally, cache the result of a file being missing so we don't keep spam checking it.
diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java
-index 47a4ea9985..62081349f1 100644
+index 47a4ea998..62081349f 100644
--- a/src/main/java/net/minecraft/server/WorldPersistentData.java
+++ b/src/main/java/net/minecraft/server/WorldPersistentData.java
@@ -26,6 +26,7 @@ public class WorldPersistentData {
diff --git a/Spigot-Server-Patches/0382-Allow-login-events-to-fire-only-after-the-server-plu.patch b/Spigot-Server-Patches/0380-Allow-login-events-to-fire-only-after-the-server-plu.patch
index bf9557cab4..85e2be75e8 100644
--- a/Spigot-Server-Patches/0382-Allow-login-events-to-fire-only-after-the-server-plu.patch
+++ b/Spigot-Server-Patches/0380-Allow-login-events-to-fire-only-after-the-server-plu.patch
@@ -1,4 +1,4 @@
-From 1bd99ef08a30a187374aa94ba3751bef4f20e5fc Mon Sep 17 00:00:00 2001
+From df4584e81bbed5243a3d0bd9a4132518e1a71bed Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Sun, 31 Mar 2019 22:02:24 -0700
Subject: [PATCH] Allow login events to fire only after the server plugins are
@@ -7,7 +7,7 @@ Subject: [PATCH] Allow login events to fire only after the server plugins are
Event threads will simply block until they're ready to accept.
diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java
-index 9e4bc24058..028c23dbe6 100644
+index 9e4bc2405..028c23dbe 100644
--- a/src/main/java/net/minecraft/server/LoginListener.java
+++ b/src/main/java/net/minecraft/server/LoginListener.java
@@ -285,6 +285,36 @@ public class LoginListener implements PacketLoginInListener {
@@ -56,7 +56,7 @@ index 9e4bc24058..028c23dbe6 100644
java.net.InetAddress address = ((java.net.InetSocketAddress) networkManager.getSocketAddress()).getAddress();
java.util.UUID uniqueId = i.getId();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
-index f8ec6a5184..33c7a295ea 100644
+index 6e77fa35b..70f730996 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -462,6 +462,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
diff --git a/Spigot-Server-Patches/0383-Make-region-files-more-reliable-to-write-to.patch b/Spigot-Server-Patches/0381-Make-region-files-more-reliable-to-write-to.patch
index 236a19379d..0828232f75 100644
--- a/Spigot-Server-Patches/0383-Make-region-files-more-reliable-to-write-to.patch
+++ b/Spigot-Server-Patches/0381-Make-region-files-more-reliable-to-write-to.patch
@@ -1,4 +1,4 @@
-From 2be054a15c5fa8799a83dcdc6ae22305b6ea8421 Mon Sep 17 00:00:00 2001
+From cb6935ecc7e790e1fa0a4f7e1230a311b17b962b Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Mon, 1 Apr 2019 18:57:32 -0700
Subject: [PATCH] Make region files more reliable to write to
@@ -37,7 +37,7 @@ affect save performance if the startup flag is used (especially on
HDDs).
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
-index ed2ccebb23..2e14d84657 100644
+index ed2ccebb2..2e14d8465 100644
--- a/src/main/java/net/minecraft/server/RegionFile.java
+++ b/src/main/java/net/minecraft/server/RegionFile.java
@@ -29,7 +29,7 @@ public class RegionFile implements AutoCloseable {
diff --git a/Spigot-Server-Patches/0384-Optimize-GameRules-to-use-LinkedHashMap.patch b/Spigot-Server-Patches/0382-Optimize-GameRules-to-use-LinkedHashMap.patch
index f372ee6be6..05b054512e 100644
--- a/Spigot-Server-Patches/0384-Optimize-GameRules-to-use-LinkedHashMap.patch
+++ b/Spigot-Server-Patches/0382-Optimize-GameRules-to-use-LinkedHashMap.patch
@@ -1,4 +1,4 @@
-From fc04d1491133783f7c34c7dd55e2bf109f747df8 Mon Sep 17 00:00:00 2001
+From 7f6af3d7949b464786340f3a11cd7678bdb35680 Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Thu, 4 Apr 2019 17:55:05 -0700
Subject: [PATCH] Optimize GameRules to use LinkedHashMap
@@ -6,7 +6,7 @@ Subject: [PATCH] Optimize GameRules to use LinkedHashMap
Previously TreeMap was used which has poor get(K) performance.
diff --git a/src/main/java/net/minecraft/server/GameRules.java b/src/main/java/net/minecraft/server/GameRules.java
-index 3de9d264db..c6a8004745 100644
+index 3de9d264d..c6a800474 100644
--- a/src/main/java/net/minecraft/server/GameRules.java
+++ b/src/main/java/net/minecraft/server/GameRules.java
@@ -17,7 +17,17 @@ import javax.annotation.Nullable;
@@ -49,7 +49,7 @@ index 3de9d264db..c6a8004745 100644
}
diff --git a/src/test/java/org/bukkit/GameRuleTest.java b/src/test/java/org/bukkit/GameRuleTest.java
-index 1ed0f4cf2b..40edb8d668 100644
+index 1ed0f4cf2..40edb8d66 100644
--- a/src/test/java/org/bukkit/GameRuleTest.java
+++ b/src/test/java/org/bukkit/GameRuleTest.java
@@ -21,7 +21,7 @@ public class GameRuleTest {
diff --git a/Spigot-Server-Patches/0385-Optimize-Captured-TileEntity-Lookup.patch b/Spigot-Server-Patches/0383-Optimize-Captured-TileEntity-Lookup.patch
index ddcc6e2218..0a5595b416 100644
--- a/Spigot-Server-Patches/0385-Optimize-Captured-TileEntity-Lookup.patch
+++ b/Spigot-Server-Patches/0383-Optimize-Captured-TileEntity-Lookup.patch
@@ -1,4 +1,4 @@
-From d2b2e3091b3cf797a06a1fc5c86388e90d87f384 Mon Sep 17 00:00:00 2001
+From 931a4ab5fd5f003c2ea96f932a2054b8ac5623c6 Mon Sep 17 00:00:00 2001
From: Aikar <[email protected]>
Date: Sat, 6 Apr 2019 10:16:48 -0400
Subject: [PATCH] Optimize Captured TileEntity Lookup
@@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to
just do a get call since the value can never be null.
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index ab56086e1..a1e660767 100644
+index 98f9ac7de..8f8bc28a1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
-@@ -1051,12 +1051,13 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
+@@ -1053,12 +1053,13 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
return null;
} else {
// CraftBukkit start
diff --git a/Spigot-Server-Patches/0386-Add-Heightmap-API.patch b/Spigot-Server-Patches/0384-Add-Heightmap-API.patch
index 3e63938b17..583f5db64a 100644
--- a/Spigot-Server-Patches/0386-Add-Heightmap-API.patch
+++ b/Spigot-Server-Patches/0384-Add-Heightmap-API.patch
@@ -1,11 +1,11 @@
-From 898e971f01f728b6ddddda340224e41a63a39a53 Mon Sep 17 00:00:00 2001
+From 5a098ad86885033e772180ab1512eded5323753d Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Tue, 1 Jan 2019 02:22:01 -0800
Subject: [PATCH] Add Heightmap API
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
-index a1e660767..4caf5d9af 100644
+index 8f8bc28a1..bcd397127 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -617,8 +617,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose
@@ -20,7 +20,7 @@ index a1e660767..4caf5d9af 100644
if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index b9786909b..cd3814cdd 100644
+index 073400f23..e18ae24bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -317,6 +317,29 @@ public class CraftWorld implements World {
diff --git a/Spigot-Server-Patches/0387-Handle-bad-chunks-more-gracefully.patch b/Spigot-Server-Patches/0385-Handle-bad-chunks-more-gracefully.patch
index 18b440c2f5..0fc51cf840 100644
--- a/Spigot-Server-Patches/0387-Handle-bad-chunks-more-gracefully.patch
+++ b/Spigot-Server-Patches/0385-Handle-bad-chunks-more-gracefully.patch
@@ -1,4 +1,4 @@
-From 71807748b0b5a66e584ee33e6fbf7156bab458ff Mon Sep 17 00:00:00 2001
+From d8b88fa191c6889982feff85a41cdcfc7207b11c Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Mon, 15 Apr 2019 02:24:52 +0100
Subject: [PATCH] Handle bad chunks more gracefully
@@ -15,7 +15,7 @@ Should Mojang choose to alter this behavior in the future, this change
will simply defer to whatever that new behavior is.
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
-index 6893f3cd34..717b0b1f08 100644
+index b61864641..d39d49944 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -171,8 +171,21 @@ public abstract class RegionFileCache implements AutoCloseable {
diff --git a/Spigot-Server-Patches/0388-Mob-Spawner-API-Enhancements.patch b/Spigot-Server-Patches/0386-Mob-Spawner-API-Enhancements.patch
index 3be9ede980..bcd9ef9933 100644
--- a/Spigot-Server-Patches/0388-Mob-Spawner-API-Enhancements.patch
+++ b/Spigot-Server-Patches/0386-Mob-Spawner-API-Enhancements.patch
@@ -1,11 +1,11 @@
-From b4ef112f5b372442d85cf0fd34b2b6b813f25e8e Mon Sep 17 00:00:00 2001
+From 748fd8addd85852e68cf2df3eddc548c571af9b0 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <[email protected]>
Date: Fri, 19 Apr 2019 12:41:13 -0500
Subject: [PATCH] Mob Spawner API Enhancements
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
-index 96080b6c73..c0f5a55120 100644
+index dbb8098d6..e9bcb5aba 100644
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
@@ -46,6 +46,7 @@ public abstract class MobSpawnerAbstract {
@@ -40,7 +40,7 @@ index 96080b6c73..c0f5a55120 100644
NBTTagList nbttaglist = nbttagcompound.getList("SpawnPotentials", 10);
@@ -237,10 +245,15 @@ public abstract class MobSpawnerAbstract {
} else if (!this.mobs.isEmpty()) {
- this.a((MobSpawnerData) WeightedRandom.a(this.a().random, this.mobs));
+ this.setSpawnData((MobSpawnerData) WeightedRandom.a(this.a().random, this.mobs));
}
-
+ // Paper start - use ints if set
@@ -82,7 +82,7 @@ index 96080b6c73..c0f5a55120 100644
nbttagcompound.setShort("MaxNearbyEntities", (short) this.maxNearbyEntities);
nbttagcompound.setShort("RequiredPlayerRange", (short) this.requiredPlayerRange);
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java
-index 5c4c3c70c7..e78e3804ba 100644
+index 5c4c3c70c..e78e3804b 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java
@@ -121,4 +121,16 @@ public class CraftCreatureSpawner extends CraftBlockEntityState<TileEntityMobSpa
diff --git a/Spigot-Server-Patches/0389-don-t-NPE-on-dimensionmanager-toString.patch b/Spigot-Server-Patches/0387-don-t-NPE-on-dimensionmanager-toString.patch
index 634c727903..a08385342e 100644
--- a/Spigot-Server-Patches/0389-don-t-NPE-on-dimensionmanager-toString.patch
+++ b/Spigot-Server-Patches/0387-don-t-NPE-on-dimensionmanager-toString.patch
@@ -1,4 +1,4 @@
-From bd56fb5c4a5eee6d61c68e569a6f758cb48bad78 Mon Sep 17 00:00:00 2001
+From 405b66362d347ad7dd90b62b8359a1d5aa9abf48 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Mon, 22 Apr 2019 19:51:14 +0100
Subject: [PATCH] don't NPE on dimensionmanager toString
@@ -14,22 +14,20 @@ this is not super elegant, but is the only route that promises not to
break stuff.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-index 982dce4800..d18a530a4d 100644
+index 050bf3eb4..56e8a613e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
-@@ -997,7 +997,14 @@ public final class CraftServer implements Server {
+@@ -997,7 +997,12 @@ public final class CraftServer implements Server {
}
DimensionManager actualDimension = DimensionManager.a(creator.environment().getId());
-- DimensionManager internalDimension = new DimensionManager(dimension, name, name, (w, manager) -> actualDimension.getWorldProvider(w), actualDimension.hasSkyLight());
-+ // Paper start - override toString
-+ DimensionManager internalDimension = new DimensionManager(dimension, name, name, (w, manager) -> actualDimension.getWorldProvider(w), actualDimension.hasSkyLight()) {
+- DimensionManager internalDimension = DimensionManager.register(name, new DimensionManager(dimension, actualDimension.getSuffix(), actualDimension.folder, (w, manager) -> actualDimension.providerFactory.apply(w, manager), actualDimension.hasSkyLight(), actualDimension));
++ DimensionManager internalDimension = DimensionManager.register(name, new DimensionManager(dimension, actualDimension.getSuffix(), actualDimension.folder, (w, manager) -> actualDimension.providerFactory.apply(w, manager), actualDimension.hasSkyLight(), actualDimension) {
+ @Override
+ public String toString() {
+ return name;
+ }
-+ };
-+ // Paper end
++ });
WorldServer internal = (WorldServer) new WorldServer(console, console.executorService, sdm, worlddata, internalDimension, console.getMethodProfiler(), getServer().worldLoadListenerFactory.create(11), creator.environment(), generator);
if (!(worlds.containsKey(name.toLowerCase(java.util.Locale.ENGLISH)))) {
diff --git a/Spigot-Server-Patches/0390-Per-Player-View-Distance-API-placeholders.patch b/Spigot-Server-Patches/0388-Per-Player-View-Distance-API-placeholders.patch
index 8d1d948330..f29cbf2c50 100644
--- a/Spigot-Server-Patches/0390-Per-Player-View-Distance-API-placeholders.patch
+++ b/Spigot-Server-Patches/0388-Per-Player-View-Distance-API-placeholders.patch
@@ -1,4 +1,4 @@
-From bb70dfdde09bd9c4005e67d370f2401b3eea5295 Mon Sep 17 00:00:00 2001
+From 6eb897728c2cf8982d1406ed268ce608f1b04ad8 Mon Sep 17 00:00:00 2001
From: Zach Brown <[email protected]>
Date: Mon, 6 May 2019 01:29:25 -0400
Subject: [PATCH] Per-Player View Distance API placeholders
@@ -7,7 +7,7 @@ I hope to look at this more in-depth soon. It appears doable.
However this should not block the update.
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
-index 6d51413d18..fe4a3efa30 100644
+index 9ada10cc7..5751d39e0 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -570,9 +570,9 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -23,7 +23,7 @@ index 6d51413d18..fe4a3efa30 100644
double deltaX = this.locX - player.locX;
double deltaZ = this.locZ - player.locZ;
diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java
-index 48b22894aa..dbd8542069 100644
+index 48b22894a..dbd854206 100644
--- a/src/main/java/net/minecraft/server/EntityWither.java
+++ b/src/main/java/net/minecraft/server/EntityWither.java
@@ -208,9 +208,9 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
@@ -39,10 +39,10 @@ index 48b22894aa..dbd8542069 100644
double deltaX = this.locX - player.locX;
double deltaZ = this.locZ - player.locZ;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-index 3bc7a64fac..d94f4c03c2 100644
+index c020d0b4e..9f267414d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
-@@ -1963,6 +1963,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
+@@ -1962,6 +1962,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
super.remove();
}
}
diff --git a/Spigot-Server-Patches/0391-Async-Chunk-placeholder.patch b/Spigot-Server-Patches/0389-Async-Chunk-placeholder.patch
index f8c4864f6c..cbc2129118 100644
--- a/Spigot-Server-Patches/0391-Async-Chunk-placeholder.patch
+++ b/Spigot-Server-Patches/0389-Async-Chunk-placeholder.patch
@@ -1,4 +1,4 @@
-From 75d57f76e6c5fd5c01f0696d01dbe7957267b017 Mon Sep 17 00:00:00 2001
+From 08d847cb80c0a7ba3b44f0ac6a9a0a91a45c6321 Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Mon, 6 May 2019 12:29:24 -0700
Subject: [PATCH] Async Chunk placeholder
@@ -6,7 +6,7 @@ Subject: [PATCH] Async Chunk placeholder
Until we figure out Mojang's ticket system.
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
-index d2c3ea0dc3..f4ce7c59c8 100644
+index e18ae24bf..a263d8e7f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -14,6 +14,7 @@ import java.util.Objects;
@@ -17,7 +17,7 @@ index d2c3ea0dc3..f4ce7c59c8 100644
import java.util.function.Predicate;
import net.minecraft.server.AxisAlignedBB;
import net.minecraft.server.BiomeBase;
-@@ -2135,6 +2136,17 @@ public class CraftWorld implements World {
+@@ -2118,6 +2119,17 @@ public class CraftWorld implements World {
return (nearest == null) ? null : new Location(this, nearest.getX(), nearest.getY(), nearest.getZ());
}
diff --git a/Spigot-Server-Patches/0392-Fix-CB-call-to-changed-postToMainThread-method.patch b/Spigot-Server-Patches/0390-Fix-CB-call-to-changed-postToMainThread-method.patch
index 3745738735..4b68a5c2df 100644
--- a/Spigot-Server-Patches/0392-Fix-CB-call-to-changed-postToMainThread-method.patch
+++ b/Spigot-Server-Patches/0390-Fix-CB-call-to-changed-postToMainThread-method.patch
@@ -1,11 +1,11 @@
-From 2f3037b6d9668bdf41e57d7a54e3ad241f065fb3 Mon Sep 17 00:00:00 2001
+From 1c49d5e92992eed534dcf79ce695c622da25f932 Mon Sep 17 00:00:00 2001
From: Shane Freeder <[email protected]>
Date: Fri, 10 May 2019 18:38:19 +0100
Subject: [PATCH] Fix CB call to changed postToMainThread method
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
-index 4dcfc423c..8c663f90c 100644
+index ef57cd68f..2b48ebbc3 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -281,7 +281,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
diff --git a/Spigot-Server-Patches/0393-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/Spigot-Server-Patches/0391-Fix-sounds-when-item-frames-are-modified-MC-123450.patch
index 1946a47a05..bf550088e4 100644
--- a/Spigot-Server-Patches/0393-Fix-sounds-when-item-frames-are-modified-MC-123450.patch
+++ b/Spigot-Server-Patches/0391-Fix-sounds-when-item-frames-are-modified-MC-123450.patch
@@ -1,4 +1,4 @@
-From 7f0c00a99054e83c7b46e49338c063f162c4b196 Mon Sep 17 00:00:00 2001
+From 4cf4195808543f331efd8e40cad8235fad0b8d72 Mon Sep 17 00:00:00 2001
From: Phoenix616 <[email protected]>
Date: Sat, 27 Apr 2019 20:00:43 +0100
Subject: [PATCH] Fix sounds when item frames are modified (MC-123450)
diff --git a/Spigot-Server-Patches/0394-Fix-MC-151674-Close-RegionFiles-when-they-get-evicte.patch b/Spigot-Server-Patches/0392-Fix-MC-151674-Close-RegionFiles-when-they-get-evicte.patch
index 26e69fefeb..dd4076f651 100644
--- a/Spigot-Server-Patches/0394-Fix-MC-151674-Close-RegionFiles-when-they-get-evicte.patch
+++ b/Spigot-Server-Patches/0392-Fix-MC-151674-Close-RegionFiles-when-they-get-evicte.patch
@@ -1,4 +1,4 @@
-From 4ee0a7fa87c1a754cdcd04bdea98dff8fa09a0dc Mon Sep 17 00:00:00 2001
+From b35691f592e433ffc5ad25a09639b337d923996c Mon Sep 17 00:00:00 2001
From: Spottedleaf <[email protected]>
Date: Sun, 12 May 2019 19:25:53 -0700
Subject: [PATCH] Fix MC-151674 Close RegionFiles when they get evicted from
@@ -7,7 +7,7 @@ Subject: [PATCH] Fix MC-151674 Close RegionFiles when they get evicted from
https://bugs.mojang.com/browse/MC-151674
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
-index d39d4994..e0bfa39c 100644
+index d39d49944..e0bfa39c3 100644
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
@@ -56,7 +56,7 @@ public abstract class RegionFileCache implements AutoCloseable {
diff --git a/work/BuildData b/work/BuildData
-Subproject df665071847a0ace1b4b7149f504e5bb8eca992
+Subproject e5aeddf8cfe1a4d3d4cf930f1bd0617a4a68343
diff --git a/work/Bukkit b/work/Bukkit
-Subproject fe0cadf0559d68852de1122f4c5e31f9bd4d4ce
+Subproject 8bcd3fd1e139f791985113e0de85ccab3385bbc
diff --git a/work/CraftBukkit b/work/CraftBukkit
-Subproject 7d29eb5e5a25352a51096efb57a0900793bba2d
+Subproject 89c52b7b0eced8aef6ebbab4adcc1d77e7e4c35
diff --git a/work/Spigot b/work/Spigot
-Subproject 1eece4fcb49d23d9f09dd21e0e5462a5d3d81b8
+Subproject 8043ebcb9a2b897a8c4c9dd516373d7cbfbca85