From b00d8710092bec924b216bf691f9ff7add954bf6 Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Thu, 12 Dec 2019 00:43:22 +0100 Subject: [PATCH] Patches 100-260 (#2729) --- ...API-Replenishable-Lootables-Feature.patch} | 18 ++-- ...-scoreboard-teams-to-scoreboard.dat.patch} | 8 +- ...em-property-for-disabling-watchdoge.patch} | 4 +- ...0101-Optimize-UserCache-Thread-Safe.patch} | 12 +-- ...locking-on-Network-Manager-creation.patch} | 14 +-- ...-Optional-TNT-doesn-t-move-in-water.patch} | 26 +++--- ...-redstone-torch-rapid-clock-removal.patch} | 10 +-- ...h => 0105-Add-server-name-parameter.patch} | 6 +- ...n-Wither-Death-sounds-to-same-world.patch} | 20 ++--- ...=> 0107-Fix-Double-World-Add-issues.patch} | 8 +- ...tch => 0108-Fix-Old-Sign-Conversion.patch} | 14 +-- ...-profiles-that-have-no-UUID-and-no-.patch} | 6 +- ...ative-vehicle-moved-wrongly-message.patch} | 8 +- ...rs-that-dismount-from-other-players.patch} | 12 +-- ...etting-for-proxy-online-mode-status.patch} | 12 +-- ...timise-BlockState-s-hashCode-equals.patch} | 12 +-- ...nfigurable-packet-in-spam-threshold.patch} | 10 +-- ...5-Configurable-flying-kick-messages.patch} | 12 +-- ...ch => 0116-Chunk-registration-fixes.patch} | 16 ++-- ...k-reference-on-Craft-Entity-removal.patch} | 6 +- ...to-fix-bad-Y-levels-on-player-login.patch} | 6 +- ...ion-to-remove-corrupt-tile-entities.patch} | 10 +-- ...nt.patch => 0120-Add-EntityZapEvent.patch} | 16 ++-- ...-from-ArmorStand-and-SpawnEgg-items.patch} | 10 +-- ...22-Cache-user-authenticator-threads.patch} | 18 ++-- ....patch => 0123-Optimise-removeQueue.patch} | 14 +-- ...-Allow-Reloading-of-Command-Aliases.patch} | 8 +- ...-Add-source-to-PlayerExpChangeEvent.patch} | 8 +- ...-Don-t-let-fishinghooks-use-portals.patch} | 24 ++--- ... => 0127-Add-ProjectileCollideEvent.patch} | 22 ++--- ...ent-Pathfinding-out-of-World-Border.patch} | 8 +- ...Bound-Treasure-Maps-to-World-Border.patch} | 10 +-- ...igurable-Cartographer-Treasure-Maps.patch} | 26 +++--- ... => 0131-Optimize-ItemStack.isEmpty.patch} | 8 +- ...o-control-if-armour-stands-can-move.patch} | 8 +- ...3-Properly-fix-item-duplication-bug.patch} | 12 +-- ...=> 0134-String-based-Action-Bar-API.patch} | 8 +- ...-API-s.patch => 0135-Firework-API-s.patch} | 38 ++++---- ... 0136-PlayerTeleportEndGatewayEvent.patch} | 8 +- ...ovide-E-TE-Chunk-count-stat-methods.patch} | 8 +- ...h => 0138-Enforce-Sync-Player-Saves.patch} | 8 +- ...low-entities-to-ride-themselves-572.patch} | 8 +- ...I-for-Reason-Source-Triggering-play.patch} | 88 +++++++++---------- ...patch => 0141-Cap-Entity-Collisions.patch} | 16 ++-- ...-CraftScheduler-Async-Task-Debugger.patch} | 6 +- ...ore-aggressive-in-the-chunk-unload-.patch} | 27 +++--- ...> 0144-Do-not-let-armorstands-drown.patch} | 22 ++--- ...e-async-calls-to-restart-the-server.patch} | 22 ++--- ...roperty-to-disable-book-size-limits.patch} | 6 +- ...e-parrots-stay-on-shoulders-despite.patch} | 20 ++--- ...-option-to-prevent-player-names-fro.patch} | 10 +-- ...leAppender-for-console-improvements.patch} | 30 +++---- ...rable-option-to-disable-creeper-lin.patch} | 12 +-- ....patch => 0151-Item-canEntityPickup.patch} | 16 ++-- ...layerPickupItemEvent-setFlyAtPlayer.patch} | 14 +-- ...> 0153-PlayerAttemptPickupItemEvent.patch} | 10 +-- ...tch => 0154-Add-UnknownCommandEvent.patch} | 8 +- ...tch => 0155-Basic-PlayerProfile-API.patch} | 32 +++---- ... 0156-Shoulder-Entities-Release-API.patch} | 12 +-- ...patch => 0157-Profile-Lookup-Events.patch} | 6 +- ...layer-logins-during-server-shutdown.patch} | 6 +- ...patch => 0159-Entity-fromMobSpawner.patch} | 20 ++--- ...0-Improve-the-Saddle-API-for-Horses.patch} | 10 +-- ...plement-ensureServerConversions-API.patch} | 8 +- ...> 0162-Implement-getI18NDisplayName.patch} | 8 +- ...=> 0163-ProfileWhitelistVerifyEvent.patch} | 12 +-- ...ch => 0164-Fix-this-stupid-bullshit.patch} | 8 +- ...wns-should-honor-nametags-and-leash.patch} | 8 +- ...mer-when-spawner-event-is-cancelled.patch} | 10 +-- ...7-Fix-MC-117075-TE-Unload-Lag-Spike.patch} | 8 +- ...a-custom-authentication-servers-dow.patch} | 8 +- ...atch => 0169-LivingEntity-setKiller.patch} | 14 +-- ...ms-to-redirect-System.out-err-to-lo.patch} | 8 +- ...-prefixes-using-Log4J-configuration.patch} | 10 +-- ...Include-Log4J2-SLF4J-implementation.patch} | 6 +- ...efix-for-various-plugins-bypassing-.patch} | 6 +- ...t.patch => 0174-Add-PlayerJumpEvent.patch} | 12 +-- ...-handle-PacketPlayInKeepAlive-async.patch} | 8 +- ...t-protocol-version-and-virtual-host.patch} | 16 ++-- ...t-serverside-behavior-of-keepalives.patch} | 8 +- ...Effects-only-to-players-who-can-see.patch} | 50 +++++------ ...maximum-exp-value-when-merging-orbs.patch} | 8 +- ... => 0180-Add-PlayerArmorChangeEvent.patch} | 12 +-- ...om-being-processed-when-the-player-.patch} | 6 +- ...-implementations-for-captured-block.patch} | 8 +- ...get-a-BlockState-without-a-snapshot.patch} | 12 +-- ...patch => 0184-AsyncTabCompleteEvent.patch} | 16 ++-- ...85-Avoid-NPE-in-PathfinderGoalTempt.patch} | 6 +- ...=> 0186-PlayerPickupExperienceEvent.patch} | 12 +-- ...tch => 0187-ExperienceOrbMergeEvent.patch} | 6 +- ...-Ability-to-apply-mending-to-XP-API.patch} | 14 +-- ...max-squid-spawn-height-configurable.patch} | 8 +- ...patch => 0190-PreCreatureSpawnEvent.patch} | 53 ++++++----- ...-PlayerNaturallySpawnCreaturesEvent.patch} | 8 +- ...Add-setPlayerProfile-API-for-Skulls.patch} | 8 +- ...> 0193-Fill-Profile-Property-Events.patch} | 6 +- ...layerAdvancementCriterionGrantEvent.patch} | 6 +- ...ch => 0195-Add-ArmorStand-Item-Meta.patch} | 12 +-- ...Extend-Player-Interact-cancellation.patch} | 10 +-- ... 0197-Tameable-getOwnerUniqueId-API.patch} | 8 +- ...-crits-helps-mitigate-hacked-client.patch} | 10 +-- ...ing-location-from-InventoryEnderChe.patch} | 6 +- ...ted-Ice-from-loading-holding-chunks.patch} | 21 ++--- ...e-Explicit-Network-Manager-Flushing.patch} | 6 +- ...t-extended-PaperServerListPingEvent.patch} | 20 ++--- ... 0203-Improved-Async-Task-Scheduler.patch} | 8 +- ...-PlayerProfile-in-AsyncPreLoginEven.patch} | 6 +- ...=> 0205-Player.setPlayerProfile-API.patch} | 30 +++---- ...h => 0206-Fix-Dragon-Server-Crashes.patch} | 16 ++-- ...patch => 0207-getPlayerUniqueId-API.patch} | 8 +- ...ake-player-data-saving-configurable.patch} | 8 +- ...e-legacy-ping-handler-more-reliable.patch} | 6 +- ...erverListPingEvent-for-legacy-pings.patch} | 8 +- ...1-Flag-to-disable-the-channel-limit.patch} | 10 +-- ...-method-to-open-already-placed-sign.patch} | 6 +- ...rable-sprint-interruption-on-attack.patch} | 10 +-- ...allowed-colored-signs-to-be-created.patch} | 8 +- ...t.patch => 0215-EndermanEscapeEvent.patch} | 32 +++---- ...h => 0216-Enderman.teleportRandomly.patch} | 18 ++-- ...217-Block-Enderpearl-Travel-Exploit.patch} | 10 +-- ...d.spawnParticle-API-and-add-Builder.patch} | 16 ++-- ...h => 0219-EndermanAttackPlayerEvent.patch} | 8 +- ...tch => 0220-WitchConsumePotionEvent.patch} | 6 +- ...patch => 0221-WitchThrowPotionEvent.patch} | 8 +- ...tem-entities-with-World.spawnEntity.patch} | 8 +- ...patch => 0223-WitchReadyPotionEvent.patch} | 12 +-- ...224-ItemStack-getMaxItemUseDuration.patch} | 10 +-- ...ement-EntityTeleportEndGatewayEvent.patch} | 8 +- ...d-flag-on-cancel-of-Explosion-Event.patch} | 10 +-- ...ch => 0227-Fix-CraftEntity-hashCode.patch} | 8 +- ...e-Alternative-LootPool-Luck-Formula.patch} | 12 +-- ...ls-when-failing-to-save-player-data.patch} | 6 +- ...-shield-blocking-delay-configurable.patch} | 16 ++-- ...cipes-in-RecipeBook-to-avoid-data-e.patch} | 10 +-- ...nt-consumeArrow-and-getArrowItem-AP.patch} | 14 +-- ...patch => 0233-PlayerReadyArrowEvent.patch} | 12 +-- ...-EntityShootBowEvent-for-Illusioner.patch} | 6 +- ...lement-EntityKnockbackByEntityEvent.patch} | 8 +- ...patch => 0236-Expand-Explosions-API.patch} | 8 +- ...vingEntity-Hand-Raised-Item-Use-API.patch} | 32 +++---- ...-API.patch => 0238-RangedEntity-API.patch} | 20 ++--- ...o-disable-ender-dragon-legacy-check.patch} | 8 +- ...-Implement-World.getEntity-UUID-API.patch} | 8 +- ...0241-InventoryCloseEvent-Reason-API.patch} | 40 ++++----- ...0242-Configurable-Bed-Search-Radius.patch} | 12 +-- ...I.patch => 0243-Vex-getSummoner-API.patch} | 8 +- ...ventory-when-cancelling-PlayerInter.patch} | 8 +- ...e-the-Entity-Random-seed-for-squids.patch} | 8 +- ...illa-entity-warnings-for-duplicates.patch} | 8 +- ...e-if-stack-size-above-max-stack-size.patch | 24 +++++ ...48-Use-asynchronous-Log4j-2-loggers.patch} | 6 +- ...more-information-to-Entity.toString.patch} | 10 +-- ...es-option-to-debug-dupe-uuid-issues.patch} | 26 +++--- ...e-if-stack-size-above-max-stack-size.patch | 24 ----- ...ts.patch => 0251-EnderDragon-Events.patch} | 18 ++-- ...atch => 0252-PlayerElytraBoostEvent.patch} | 10 +-- ...Speedup-BlockPos-by-fixing-inlining.patch} | 56 ++++++------ ...patch => 0254-Optimize-RegistryID.c.patch} | 6 +- ...Chunks-from-Hoppers-and-other-things.patch | 0 ...imize-World.isLoaded-BlockPosition-Z.patch | 0 .../0257-PlayerLaunchProjectileEvent.patch | 2 +- 161 files changed, 1054 insertions(+), 1053 deletions(-) rename Spigot-Server-Patches/{0100-LootTable-API-Replenishable-Lootables-Feature.patch => 0098-LootTable-API-Replenishable-Lootables-Feature.patch} (98%) rename Spigot-Server-Patches/{0101-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch => 0099-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch} (91%) rename Spigot-Server-Patches/{0102-System-property-for-disabling-watchdoge.patch => 0100-System-property-for-disabling-watchdoge.patch} (92%) rename Spigot-Server-Patches/{0103-Optimize-UserCache-Thread-Safe.patch => 0101-Optimize-UserCache-Thread-Safe.patch} (94%) rename Spigot-Server-Patches/{0104-Avoid-blocking-on-Network-Manager-creation.patch => 0102-Avoid-blocking-on-Network-Manager-creation.patch} (85%) rename Spigot-Server-Patches/{0105-Optional-TNT-doesn-t-move-in-water.patch => 0103-Optional-TNT-doesn-t-move-in-water.patch} (87%) rename Spigot-Server-Patches/{0106-Faster-redstone-torch-rapid-clock-removal.patch => 0104-Faster-redstone-torch-rapid-clock-removal.patch} (94%) rename Spigot-Server-Patches/{0107-Add-server-name-parameter.patch => 0105-Add-server-name-parameter.patch} (89%) rename Spigot-Server-Patches/{0108-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch => 0106-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch} (84%) rename Spigot-Server-Patches/{0109-Fix-Double-World-Add-issues.patch => 0107-Fix-Double-World-Add-issues.patch} (86%) rename Spigot-Server-Patches/{0110-Fix-Old-Sign-Conversion.patch => 0108-Fix-Old-Sign-Conversion.patch} (90%) rename Spigot-Server-Patches/{0111-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch => 0109-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch} (89%) rename Spigot-Server-Patches/{0112-More-informative-vehicle-moved-wrongly-message.patch => 0110-More-informative-vehicle-moved-wrongly-message.patch} (84%) rename Spigot-Server-Patches/{0113-Re-track-players-that-dismount-from-other-players.patch => 0111-Re-track-players-that-dismount-from-other-players.patch} (73%) rename Spigot-Server-Patches/{0114-Add-setting-for-proxy-online-mode-status.patch => 0112-Add-setting-for-proxy-online-mode-status.patch} (92%) rename Spigot-Server-Patches/{0115-Optimise-BlockState-s-hashCode-equals.patch => 0113-Optimise-BlockState-s-hashCode-equals.patch} (94%) rename Spigot-Server-Patches/{0116-Configurable-packet-in-spam-threshold.patch => 0114-Configurable-packet-in-spam-threshold.patch} (91%) rename Spigot-Server-Patches/{0117-Configurable-flying-kick-messages.patch => 0115-Configurable-flying-kick-messages.patch} (89%) rename Spigot-Server-Patches/{0118-Chunk-registration-fixes.patch => 0116-Chunk-registration-fixes.patch} (57%) rename Spigot-Server-Patches/{0119-Remove-FishingHook-reference-on-Craft-Entity-removal.patch => 0117-Remove-FishingHook-reference-on-Craft-Entity-removal.patch} (89%) rename Spigot-Server-Patches/{0120-Auto-fix-bad-Y-levels-on-player-login.patch => 0118-Auto-fix-bad-Y-levels-on-player-login.patch} (90%) rename Spigot-Server-Patches/{0121-Option-to-remove-corrupt-tile-entities.patch => 0119-Option-to-remove-corrupt-tile-entities.patch} (88%) rename Spigot-Server-Patches/{0122-Add-EntityZapEvent.patch => 0120-Add-EntityZapEvent.patch} (87%) rename Spigot-Server-Patches/{0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch => 0121-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch} (91%) rename Spigot-Server-Patches/{0126-Optimise-removeQueue.patch => 0122-Cache-user-authenticator-threads.patch} (89%) rename Spigot-Server-Patches/{0125-Cache-user-authenticator-threads.patch => 0123-Optimise-removeQueue.patch} (90%) rename Spigot-Server-Patches/{0127-Allow-Reloading-of-Command-Aliases.patch => 0124-Allow-Reloading-of-Command-Aliases.patch} (89%) rename Spigot-Server-Patches/{0128-Add-source-to-PlayerExpChangeEvent.patch => 0125-Add-source-to-PlayerExpChangeEvent.patch} (94%) rename Spigot-Server-Patches/{0130-Don-t-let-fishinghooks-use-portals.patch => 0126-Don-t-let-fishinghooks-use-portals.patch} (65%) rename Spigot-Server-Patches/{0131-Add-ProjectileCollideEvent.patch => 0127-Add-ProjectileCollideEvent.patch} (93%) rename Spigot-Server-Patches/{0132-Prevent-Pathfinding-out-of-World-Border.patch => 0128-Prevent-Pathfinding-out-of-World-Border.patch} (87%) rename Spigot-Server-Patches/{0133-Bound-Treasure-Maps-to-World-Border.patch => 0129-Bound-Treasure-Maps-to-World-Border.patch} (92%) rename Spigot-Server-Patches/{0134-Configurable-Cartographer-Treasure-Maps.patch => 0130-Configurable-Cartographer-Treasure-Maps.patch} (63%) rename Spigot-Server-Patches/{0135-Optimize-ItemStack.isEmpty.patch => 0131-Optimize-ItemStack.isEmpty.patch} (82%) rename Spigot-Server-Patches/{0136-Add-API-methods-to-control-if-armour-stands-can-move.patch => 0132-Add-API-methods-to-control-if-armour-stands-can-move.patch} (91%) rename Spigot-Server-Patches/{0137-Properly-fix-item-duplication-bug.patch => 0133-Properly-fix-item-duplication-bug.patch} (82%) rename Spigot-Server-Patches/{0138-String-based-Action-Bar-API.patch => 0134-String-based-Action-Bar-API.patch} (93%) rename Spigot-Server-Patches/{0139-Firework-API-s.patch => 0135-Firework-API-s.patch} (81%) rename Spigot-Server-Patches/{0140-PlayerTeleportEndGatewayEvent.patch => 0136-PlayerTeleportEndGatewayEvent.patch} (88%) rename Spigot-Server-Patches/{0141-Provide-E-TE-Chunk-count-stat-methods.patch => 0137-Provide-E-TE-Chunk-count-stat-methods.patch} (92%) rename Spigot-Server-Patches/{0142-Enforce-Sync-Player-Saves.patch => 0138-Enforce-Sync-Player-Saves.patch} (85%) rename Spigot-Server-Patches/{0143-Don-t-allow-entities-to-ride-themselves-572.patch => 0139-Don-t-allow-entities-to-ride-themselves-572.patch} (82%) rename Spigot-Server-Patches/{0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch => 0140-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch} (81%) rename Spigot-Server-Patches/{0145-Cap-Entity-Collisions.patch => 0141-Cap-Entity-Collisions.patch} (87%) rename Spigot-Server-Patches/{0146-Remove-CraftScheduler-Async-Task-Debugger.patch => 0142-Remove-CraftScheduler-Async-Task-Debugger.patch} (95%) rename Spigot-Server-Patches/{0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch => 0143-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch} (61%) rename Spigot-Server-Patches/{0148-Do-not-let-armorstands-drown.patch => 0144-Do-not-let-armorstands-drown.patch} (70%) rename Spigot-Server-Patches/{0149-Properly-handle-async-calls-to-restart-the-server.patch => 0145-Properly-handle-async-calls-to-restart-the-server.patch} (95%) rename Spigot-Server-Patches/{0150-Add-system-property-to-disable-book-size-limits.patch => 0146-Add-system-property-to-disable-book-size-limits.patch} (96%) rename Spigot-Server-Patches/{0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch => 0147-Add-option-to-make-parrots-stay-on-shoulders-despite.patch} (84%) rename Spigot-Server-Patches/{0152-Add-configuration-option-to-prevent-player-names-fro.patch => 0148-Add-configuration-option-to-prevent-player-names-fro.patch} (87%) rename Spigot-Server-Patches/{0153-Use-TerminalConsoleAppender-for-console-improvements.patch => 0149-Use-TerminalConsoleAppender-for-console-improvements.patch} (97%) rename Spigot-Server-Patches/{0154-provide-a-configurable-option-to-disable-creeper-lin.patch => 0150-provide-a-configurable-option-to-disable-creeper-lin.patch} (85%) rename Spigot-Server-Patches/{0155-Item-canEntityPickup.patch => 0151-Item-canEntityPickup.patch} (85%) rename Spigot-Server-Patches/{0156-PlayerPickupItemEvent-setFlyAtPlayer.patch => 0152-PlayerPickupItemEvent-setFlyAtPlayer.patch} (82%) rename Spigot-Server-Patches/{0157-PlayerAttemptPickupItemEvent.patch => 0153-PlayerAttemptPickupItemEvent.patch} (87%) rename Spigot-Server-Patches/{0158-Add-UnknownCommandEvent.patch => 0154-Add-UnknownCommandEvent.patch} (91%) rename Spigot-Server-Patches/{0159-Basic-PlayerProfile-API.patch => 0155-Basic-PlayerProfile-API.patch} (96%) rename Spigot-Server-Patches/{0160-Shoulder-Entities-Release-API.patch => 0156-Shoulder-Entities-Release-API.patch} (92%) rename Spigot-Server-Patches/{0161-Profile-Lookup-Events.patch => 0157-Profile-Lookup-Events.patch} (97%) rename Spigot-Server-Patches/{0162-Block-player-logins-during-server-shutdown.patch => 0158-Block-player-logins-during-server-shutdown.patch} (90%) rename Spigot-Server-Patches/{0163-Entity-fromMobSpawner.patch => 0159-Entity-fromMobSpawner.patch} (85%) rename Spigot-Server-Patches/{0164-Improve-the-Saddle-API-for-Horses.patch => 0160-Improve-the-Saddle-API-for-Horses.patch} (94%) rename Spigot-Server-Patches/{0165-Implement-ensureServerConversions-API.patch => 0161-Implement-ensureServerConversions-API.patch} (85%) rename Spigot-Server-Patches/{0166-Implement-getI18NDisplayName.patch => 0162-Implement-getI18NDisplayName.patch} (92%) rename Spigot-Server-Patches/{0167-ProfileWhitelistVerifyEvent.patch => 0163-ProfileWhitelistVerifyEvent.patch} (90%) rename Spigot-Server-Patches/{0168-Fix-this-stupid-bullshit.patch => 0164-Fix-this-stupid-bullshit.patch} (90%) rename Spigot-Server-Patches/{0169-Ocelot-despawns-should-honor-nametags-and-leash.patch => 0165-Ocelot-despawns-should-honor-nametags-and-leash.patch} (81%) rename Spigot-Server-Patches/{0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch => 0166-Reset-spawner-timer-when-spawner-event-is-cancelled.patch} (82%) rename Spigot-Server-Patches/{0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch => 0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch} (83%) rename Spigot-Server-Patches/{0172-Allow-specifying-a-custom-authentication-servers-dow.patch => 0168-Allow-specifying-a-custom-authentication-servers-dow.patch} (94%) rename Spigot-Server-Patches/{0173-LivingEntity-setKiller.patch => 0169-LivingEntity-setKiller.patch} (87%) rename Spigot-Server-Patches/{0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch => 0170-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch} (93%) rename Spigot-Server-Patches/{0175-Handle-plugin-prefixes-using-Log4J-configuration.patch => 0171-Handle-plugin-prefixes-using-Log4J-configuration.patch} (95%) rename Spigot-Server-Patches/{0176-Include-Log4J2-SLF4J-implementation.patch => 0172-Include-Log4J2-SLF4J-implementation.patch} (86%) rename Spigot-Server-Patches/{0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch => 0173-Disable-logger-prefix-for-various-plugins-bypassing-.patch} (95%) rename Spigot-Server-Patches/{0178-Add-PlayerJumpEvent.patch => 0174-Add-PlayerJumpEvent.patch} (91%) rename Spigot-Server-Patches/{0179-handle-PacketPlayInKeepAlive-async.patch => 0175-handle-PacketPlayInKeepAlive-async.patch} (92%) rename Spigot-Server-Patches/{0180-Expose-client-protocol-version-and-virtual-host.patch => 0176-Expose-client-protocol-version-and-virtual-host.patch} (94%) rename Spigot-Server-Patches/{0181-revert-serverside-behavior-of-keepalives.patch => 0177-revert-serverside-behavior-of-keepalives.patch} (96%) rename Spigot-Server-Patches/{0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch => 0178-Send-attack-SoundEffects-only-to-players-who-can-see.patch} (59%) rename Spigot-Server-Patches/{0183-Option-for-maximum-exp-value-when-merging-orbs.patch => 0179-Option-for-maximum-exp-value-when-merging-orbs.patch} (95%) rename Spigot-Server-Patches/{0184-Add-PlayerArmorChangeEvent.patch => 0180-Add-PlayerArmorChangeEvent.patch} (89%) rename Spigot-Server-Patches/{0185-Prevent-logins-from-being-processed-when-the-player-.patch => 0181-Prevent-logins-from-being-processed-when-the-player-.patch} (90%) rename Spigot-Server-Patches/{0186-use-CB-BlockState-implementations-for-captured-block.patch => 0182-use-CB-BlockState-implementations-for-captured-block.patch} (88%) rename Spigot-Server-Patches/{0187-API-to-get-a-BlockState-without-a-snapshot.patch => 0183-API-to-get-a-BlockState-without-a-snapshot.patch} (95%) rename Spigot-Server-Patches/{0188-AsyncTabCompleteEvent.patch => 0184-AsyncTabCompleteEvent.patch} (95%) rename Spigot-Server-Patches/{0189-Avoid-NPE-in-PathfinderGoalTempt.patch => 0185-Avoid-NPE-in-PathfinderGoalTempt.patch} (88%) rename Spigot-Server-Patches/{0190-PlayerPickupExperienceEvent.patch => 0186-PlayerPickupExperienceEvent.patch} (79%) rename Spigot-Server-Patches/{0191-ExperienceOrbMergeEvent.patch => 0187-ExperienceOrbMergeEvent.patch} (93%) rename Spigot-Server-Patches/{0192-Ability-to-apply-mending-to-XP-API.patch => 0188-Ability-to-apply-mending-to-XP-API.patch} (92%) rename Spigot-Server-Patches/{0193-Make-max-squid-spawn-height-configurable.patch => 0189-Make-max-squid-spawn-height-configurable.patch} (93%) rename Spigot-Server-Patches/{0194-PreCreatureSpawnEvent.patch => 0190-PreCreatureSpawnEvent.patch} (70%) rename Spigot-Server-Patches/{0195-PlayerNaturallySpawnCreaturesEvent.patch => 0191-PlayerNaturallySpawnCreaturesEvent.patch} (92%) rename Spigot-Server-Patches/{0196-Add-setPlayerProfile-API-for-Skulls.patch => 0192-Add-setPlayerProfile-API-for-Skulls.patch} (96%) rename Spigot-Server-Patches/{0197-Fill-Profile-Property-Events.patch => 0193-Fill-Profile-Property-Events.patch} (94%) rename Spigot-Server-Patches/{0198-PlayerAdvancementCriterionGrantEvent.patch => 0194-PlayerAdvancementCriterionGrantEvent.patch} (90%) rename Spigot-Server-Patches/{0199-Add-ArmorStand-Item-Meta.patch => 0195-Add-ArmorStand-Item-Meta.patch} (97%) rename Spigot-Server-Patches/{0200-Extend-Player-Interact-cancellation.patch => 0196-Extend-Player-Interact-cancellation.patch} (94%) rename Spigot-Server-Patches/{0201-Tameable-getOwnerUniqueId-API.patch => 0197-Tameable-getOwnerUniqueId-API.patch} (91%) rename Spigot-Server-Patches/{0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch => 0198-Toggleable-player-crits-helps-mitigate-hacked-client.patch} (88%) rename Spigot-Server-Patches/{0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch => 0199-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch} (91%) rename Spigot-Server-Patches/{0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch => 0200-Prevent-Frosted-Ice-from-loading-holding-chunks.patch} (58%) rename Spigot-Server-Patches/{0205-Disable-Explicit-Network-Manager-Flushing.patch => 0201-Disable-Explicit-Network-Manager-Flushing.patch} (93%) rename Spigot-Server-Patches/{0206-Implement-extended-PaperServerListPingEvent.patch => 0202-Implement-extended-PaperServerListPingEvent.patch} (96%) rename Spigot-Server-Patches/{0207-Improved-Async-Task-Scheduler.patch => 0203-Improved-Async-Task-Scheduler.patch} (99%) rename Spigot-Server-Patches/{0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch => 0204-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch} (95%) rename Spigot-Server-Patches/{0209-Player.setPlayerProfile-API.patch => 0205-Player.setPlayerProfile-API.patch} (90%) rename Spigot-Server-Patches/{0210-Fix-Dragon-Server-Crashes.patch => 0206-Fix-Dragon-Server-Crashes.patch} (71%) rename Spigot-Server-Patches/{0211-getPlayerUniqueId-API.patch => 0207-getPlayerUniqueId-API.patch} (90%) rename Spigot-Server-Patches/{0212-Make-player-data-saving-configurable.patch => 0208-Make-player-data-saving-configurable.patch} (92%) rename Spigot-Server-Patches/{0213-Make-legacy-ping-handler-more-reliable.patch => 0209-Make-legacy-ping-handler-more-reliable.patch} (98%) rename Spigot-Server-Patches/{0214-Call-PaperServerListPingEvent-for-legacy-pings.patch => 0210-Call-PaperServerListPingEvent-for-legacy-pings.patch} (98%) rename Spigot-Server-Patches/{0215-Flag-to-disable-the-channel-limit.patch => 0211-Flag-to-disable-the-channel-limit.patch} (87%) rename Spigot-Server-Patches/{0216-Add-method-to-open-already-placed-sign.patch => 0212-Add-method-to-open-already-placed-sign.patch} (92%) rename Spigot-Server-Patches/{0217-Configurable-sprint-interruption-on-attack.patch => 0213-Configurable-sprint-interruption-on-attack.patch} (89%) rename Spigot-Server-Patches/{0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch => 0214-Fix-exploit-that-allowed-colored-signs-to-be-created.patch} (86%) rename Spigot-Server-Patches/{0219-EndermanEscapeEvent.patch => 0215-EndermanEscapeEvent.patch} (75%) rename Spigot-Server-Patches/{0220-Enderman.teleportRandomly.patch => 0216-Enderman.teleportRandomly.patch} (71%) rename Spigot-Server-Patches/{0221-Block-Enderpearl-Travel-Exploit.patch => 0217-Block-Enderpearl-Travel-Exploit.patch} (90%) rename Spigot-Server-Patches/{0222-Expand-World.spawnParticle-API-and-add-Builder.patch => 0218-Expand-World.spawnParticle-API-and-add-Builder.patch} (89%) rename Spigot-Server-Patches/{0223-EndermanAttackPlayerEvent.patch => 0219-EndermanAttackPlayerEvent.patch} (88%) rename Spigot-Server-Patches/{0224-WitchConsumePotionEvent.patch => 0220-WitchConsumePotionEvent.patch} (92%) rename Spigot-Server-Patches/{0225-WitchThrowPotionEvent.patch => 0221-WitchThrowPotionEvent.patch} (83%) rename Spigot-Server-Patches/{0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch => 0222-Allow-spawning-Item-entities-with-World.spawnEntity.patch} (87%) rename Spigot-Server-Patches/{0227-WitchReadyPotionEvent.patch => 0223-WitchReadyPotionEvent.patch} (78%) rename Spigot-Server-Patches/{0228-ItemStack-getMaxItemUseDuration.patch => 0224-ItemStack-getMaxItemUseDuration.patch} (88%) rename Spigot-Server-Patches/{0229-Implement-EntityTeleportEndGatewayEvent.patch => 0225-Implement-EntityTeleportEndGatewayEvent.patch} (91%) rename Spigot-Server-Patches/{0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch => 0226-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch} (87%) rename Spigot-Server-Patches/{0231-Fix-CraftEntity-hashCode.patch => 0227-Fix-CraftEntity-hashCode.patch} (90%) rename Spigot-Server-Patches/{0232-Configurable-Alternative-LootPool-Luck-Formula.patch => 0228-Configurable-Alternative-LootPool-Luck-Formula.patch} (94%) rename Spigot-Server-Patches/{0233-Print-Error-details-when-failing-to-save-player-data.patch => 0229-Print-Error-details-when-failing-to-save-player-data.patch} (88%) rename Spigot-Server-Patches/{0234-Make-shield-blocking-delay-configurable.patch => 0230-Make-shield-blocking-delay-configurable.patch} (87%) rename Spigot-Server-Patches/{0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch => 0231-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch} (84%) rename Spigot-Server-Patches/{0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch => 0232-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch} (94%) rename Spigot-Server-Patches/{0237-PlayerReadyArrowEvent.patch => 0233-PlayerReadyArrowEvent.patch} (86%) rename Spigot-Server-Patches/{0238-Fire-EntityShootBowEvent-for-Illusioner.patch => 0234-Fire-EntityShootBowEvent-for-Illusioner.patch} (93%) rename Spigot-Server-Patches/{0239-Implement-EntityKnockbackByEntityEvent.patch => 0235-Implement-EntityKnockbackByEntityEvent.patch} (89%) rename Spigot-Server-Patches/{0240-Expand-Explosions-API.patch => 0236-Expand-Explosions-API.patch} (88%) rename Spigot-Server-Patches/{0241-LivingEntity-Hand-Raised-Item-Use-API.patch => 0237-LivingEntity-Hand-Raised-Item-Use-API.patch} (76%) rename Spigot-Server-Patches/{0242-RangedEntity-API.patch => 0238-RangedEntity-API.patch} (95%) rename Spigot-Server-Patches/{0243-Add-config-to-disable-ender-dragon-legacy-check.patch => 0239-Add-config-to-disable-ender-dragon-legacy-check.patch} (94%) rename Spigot-Server-Patches/{0244-Implement-World.getEntity-UUID-API.patch => 0240-Implement-World.getEntity-UUID-API.patch} (83%) rename Spigot-Server-Patches/{0245-InventoryCloseEvent-Reason-API.patch => 0241-InventoryCloseEvent-Reason-API.patch} (90%) rename Spigot-Server-Patches/{0246-Configurable-Bed-Search-Radius.patch => 0242-Configurable-Bed-Search-Radius.patch} (96%) rename Spigot-Server-Patches/{0247-Vex-getSummoner-API.patch => 0243-Vex-getSummoner-API.patch} (91%) rename Spigot-Server-Patches/{0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch => 0244-Refresh-player-inventory-when-cancelling-PlayerInter.patch} (87%) rename Spigot-Server-Patches/{0249-Don-t-change-the-Entity-Random-seed-for-squids.patch => 0245-Don-t-change-the-Entity-Random-seed-for-squids.patch} (80%) rename Spigot-Server-Patches/{0250-Re-add-vanilla-entity-warnings-for-duplicates.patch => 0246-Re-add-vanilla-entity-warnings-for-duplicates.patch} (86%) create mode 100644 Spigot-Server-Patches/0247-Avoid-item-merge-if-stack-size-above-max-stack-size.patch rename Spigot-Server-Patches/{0252-Use-asynchronous-Log4j-2-loggers.patch => 0248-Use-asynchronous-Log4j-2-loggers.patch} (94%) rename Spigot-Server-Patches/{0253-add-more-information-to-Entity.toString.patch => 0249-add-more-information-to-Entity.toString.patch} (83%) rename Spigot-Server-Patches/{0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch => 0250-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch} (89%) delete mode 100644 Spigot-Server-Patches/0251-Avoid-item-merge-if-stack-size-above-max-stack-size.patch rename Spigot-Server-Patches/{0255-EnderDragon-Events.patch => 0251-EnderDragon-Events.patch} (88%) rename Spigot-Server-Patches/{0256-PlayerElytraBoostEvent.patch => 0252-PlayerElytraBoostEvent.patch} (86%) rename Spigot-Server-Patches/{0258-Speedup-BlockPos-by-fixing-inlining.patch => 0253-Speedup-BlockPos-by-fixing-inlining.patch} (84%) rename Spigot-Server-Patches/{0259-Optimize-RegistryID.c.patch => 0254-Optimize-RegistryID.c.patch} (95%) rename {Spigot-Server-Patches => removed/1.15}/0123-Don-t-load-Chunks-from-Hoppers-and-other-things.patch (100%) rename {Spigot-Server-Patches => removed/1.15}/0129-Optimize-World.isLoaded-BlockPosition-Z.patch (100%) rename {Spigot-Server-Patches => removed/1.15}/0257-PlayerLaunchProjectileEvent.patch (99%) diff --git a/Spigot-Server-Patches/0100-LootTable-API-Replenishable-Lootables-Feature.patch b/Spigot-Server-Patches/0098-LootTable-API-Replenishable-Lootables-Feature.patch similarity index 98% rename from Spigot-Server-Patches/0100-LootTable-API-Replenishable-Lootables-Feature.patch rename to Spigot-Server-Patches/0098-LootTable-API-Replenishable-Lootables-Feature.patch index 8e328af132..f76b7df5ee 100644 --- a/Spigot-Server-Patches/0100-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/Spigot-Server-Patches/0098-LootTable-API-Replenishable-Lootables-Feature.patch @@ -1,4 +1,4 @@ -From 35f24483bdf3ab1260b36b66e51f4836bb0c33a0 Mon Sep 17 00:00:00 2001 +From acc3c97129aadff8f9139c652a9da0e165979f8b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 1 May 2016 21:19:14 -0400 Subject: [PATCH] LootTable API & Replenishable Lootables Feature @@ -11,7 +11,7 @@ This feature is good for long term worlds so that newer players do not suffer with "Every chest has been looted" diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index bea878970..934097163 100644 +index d00e8155d..277f7618e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -265,4 +265,26 @@ public class PaperWorldConfig { @@ -520,19 +520,19 @@ index 000000000..d50410532 + } +} diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 36bfee227..4793bc7d8 100644 +index 167d22574..2e56c7f57 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -72,6 +72,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; - } +@@ -73,6 +73,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + }; + // Paper end + public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper private CraftEntity bukkitEntity; public CraftEntity getBukkitEntity() { diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java -index 676d67dc3..8e6e7ed60 100644 +index 72d0c53cd..fd8e8ae20 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java +++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java @@ -15,10 +15,11 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp @@ -591,7 +591,7 @@ index 676d67dc3..8e6e7ed60 100644 if (entityhuman != null) { diff --git a/src/main/java/net/minecraft/server/TileEntityLootable.java b/src/main/java/net/minecraft/server/TileEntityLootable.java -index 56c7f9b4e..a12d49fc4 100644 +index 8f776e0df..04a6511ff 100644 --- a/src/main/java/net/minecraft/server/TileEntityLootable.java +++ b/src/main/java/net/minecraft/server/TileEntityLootable.java @@ -6,8 +6,9 @@ import javax.annotation.Nullable; @@ -756,5 +756,5 @@ index 334bd5bb3..f5b31237f 100644 public CraftMinecartHopper(CraftServer server, EntityMinecartHopper entity) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0101-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/Spigot-Server-Patches/0099-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch similarity index 91% rename from Spigot-Server-Patches/0101-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch rename to Spigot-Server-Patches/0099-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch index 99a4628bdf..1e7864fc02 100644 --- a/Spigot-Server-Patches/0101-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch +++ b/Spigot-Server-Patches/0099-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch @@ -1,11 +1,11 @@ -From 67287a0553617ecd063e0328812389e8741a5ca4 Mon Sep 17 00:00:00 2001 +From c4233c4dd155a34c72f37ecdc80a2cebdd537d8e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 May 2016 23:33:08 -0400 Subject: [PATCH] Don't save empty scoreboard teams to scoreboard.dat diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index dc3438890..cbfe12734 100644 +index e4f0db64c..67f35fe66 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -228,4 +228,9 @@ public class PaperConfig { @@ -19,7 +19,7 @@ index dc3438890..cbfe12734 100644 + } } diff --git a/src/main/java/net/minecraft/server/PersistentScoreboard.java b/src/main/java/net/minecraft/server/PersistentScoreboard.java -index fab5962e2..de7ac6c20 100644 +index 1eab0c310..6bf66972f 100644 --- a/src/main/java/net/minecraft/server/PersistentScoreboard.java +++ b/src/main/java/net/minecraft/server/PersistentScoreboard.java @@ -174,6 +174,7 @@ public class PersistentScoreboard extends PersistentBase { @@ -31,5 +31,5 @@ index fab5962e2..de7ac6c20 100644 nbttagcompound.setString("Name", scoreboardteam.getName()); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0102-System-property-for-disabling-watchdoge.patch b/Spigot-Server-Patches/0100-System-property-for-disabling-watchdoge.patch similarity index 92% rename from Spigot-Server-Patches/0102-System-property-for-disabling-watchdoge.patch rename to Spigot-Server-Patches/0100-System-property-for-disabling-watchdoge.patch index 50a9944560..22ecd79aa8 100644 --- a/Spigot-Server-Patches/0102-System-property-for-disabling-watchdoge.patch +++ b/Spigot-Server-Patches/0100-System-property-for-disabling-watchdoge.patch @@ -1,4 +1,4 @@ -From 9708222bc4a17ecae0b74e1e953f16e0d4497d67 Mon Sep 17 00:00:00 2001 +From 9c7277dfab9dcd62aa8a511cc200a97a058f8334 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 12 May 2016 23:02:58 -0500 Subject: [PATCH] System property for disabling watchdoge @@ -18,5 +18,5 @@ index 56f5f54bd..9532aada8 100644 Logger log = Bukkit.getServer().getLogger(); log.log( Level.SEVERE, "------------------------------" ); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0101-Optimize-UserCache-Thread-Safe.patch similarity index 94% rename from Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch rename to Spigot-Server-Patches/0101-Optimize-UserCache-Thread-Safe.patch index 37961643c6..0c8201fc64 100644 --- a/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0101-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 87f6d99f3b919bc730e3f98ec6243fafa015479d Mon Sep 17 00:00:00 2001 +From 025d5128eaa1e73d661b4545dc3e44ed1b49414c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 20:47:41 -0400 Subject: [PATCH] Optimize UserCache / Thread Safe @@ -10,10 +10,10 @@ Additionally, move Saving of the User cache to be done async, incase the user never changed the default setting for Spigot's save on stop only. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 17b9e9a31d..6a2933f4ff 100644 +index 2a40bb0b8..38bf3ea44 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -751,7 +751,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Mon, 16 May 2016 23:19:16 -0400 Subject: [PATCH] Avoid blocking on Network Manager creation @@ -6,18 +6,18 @@ Subject: [PATCH] Avoid blocking on Network Manager creation Per Paper issue 294 diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java -index 7de96ae69d..379c79272b 100644 +index bd5563577..e6fac155d 100644 --- a/src/main/java/net/minecraft/server/ServerConnection.java +++ b/src/main/java/net/minecraft/server/ServerConnection.java @@ -39,6 +39,15 @@ public class ServerConnection { public volatile boolean c; private final List f = Collections.synchronizedList(Lists.newArrayList()); - private final List g = Collections.synchronizedList(Lists.newArrayList()); + private final List listeningChannels = Collections.synchronizedList(Lists.newArrayList()); + // Paper start - prevent blocking on adding a new network manager while the server is ticking + private final List pending = Collections.synchronizedList(Lists.newArrayList()); + private void addPending() { + synchronized (pending) { -+ this.g.addAll(pending); // Paper - OBFHELPER - List of network managers ++ this.listeningChannels.addAll(pending); + pending.clear(); + } + } @@ -29,19 +29,19 @@ index 7de96ae69d..379c79272b 100644 channel.pipeline().addLast("timeout", new ReadTimeoutHandler(30)).addLast("legacy_query", new LegacyPingHandler(ServerConnection.this)).addLast("splitter", new PacketSplitter()).addLast("decoder", new PacketDecoder(EnumProtocolDirection.SERVERBOUND)).addLast("prepender", new PacketPrepender()).addLast("encoder", new PacketEncoder(EnumProtocolDirection.CLIENTBOUND)); NetworkManager networkmanager = new NetworkManager(EnumProtocolDirection.SERVERBOUND); -- ServerConnection.this.g.add(networkmanager); +- ServerConnection.this.listeningChannels.add(networkmanager); + pending.add(networkmanager); // Paper channel.pipeline().addLast("packet_handler", networkmanager); networkmanager.setPacketListener(new HandshakeListener(ServerConnection.this.e, networkmanager)); } @@ -112,6 +121,7 @@ public class ServerConnection { - synchronized (this.g) { + synchronized (this.listeningChannels) { // Spigot Start + addPending(); // Paper // This prevents players from 'gaming' the server, and strategically relogging to increase their position in the tick order if ( org.spigotmc.SpigotConfig.playerShuffle > 0 && MinecraftServer.currentTick % org.spigotmc.SpigotConfig.playerShuffle == 0 ) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0105-Optional-TNT-doesn-t-move-in-water.patch b/Spigot-Server-Patches/0103-Optional-TNT-doesn-t-move-in-water.patch similarity index 87% rename from Spigot-Server-Patches/0105-Optional-TNT-doesn-t-move-in-water.patch rename to Spigot-Server-Patches/0103-Optional-TNT-doesn-t-move-in-water.patch index 09c84fd7cd..71cd2b0ded 100644 --- a/Spigot-Server-Patches/0105-Optional-TNT-doesn-t-move-in-water.patch +++ b/Spigot-Server-Patches/0103-Optional-TNT-doesn-t-move-in-water.patch @@ -1,11 +1,11 @@ -From c6fac8147b0b1b3a1019625eb4e2ffaa05f22c3c Mon Sep 17 00:00:00 2001 +From 446ab7ff2aba9834e4775dd86f62429fac2ef20d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional TNT doesn't move in water diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 934097163..300cc68a7 100644 +index 277f7618e..1dbeb209e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,7 +2,6 @@ package com.destroystokyo.paper; @@ -32,13 +32,13 @@ index 934097163..300cc68a7 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 4793bc7d8..0981e9c8c 100644 +index 2e56c7f57..e04b3f4e2 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2698,6 +2698,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2705,6 +2705,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } - public boolean bE() { + public boolean bM() { + // Paper start + return this.pushedByWater(); + } @@ -49,12 +49,12 @@ index 4793bc7d8..0981e9c8c 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index f2ee53ab9..dc0d944ea 100644 +index 7625dca00..75193e87d 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -@@ -80,7 +80,27 @@ public class EntityTNTPrimed extends Entity { - this.ay(); - this.world.addParticle(Particles.SMOKE, this.locX, this.locY + 0.5D, this.locZ, 0.0D, 0.0D, 0.0D); +@@ -79,7 +79,27 @@ public class EntityTNTPrimed extends Entity { + this.world.addParticle(Particles.SMOKE, this.locX(), this.locY() + 0.5D, this.locZ(), 0.0D, 0.0D, 0.0D); + } } - + // Paper start - Optional prevent TNT from moving in water @@ -81,8 +81,8 @@ index f2ee53ab9..dc0d944ea 100644 } private void explode() { -@@ -149,4 +169,11 @@ public class EntityTNTPrimed extends Entity { - public Packet N() { +@@ -148,4 +168,11 @@ public class EntityTNTPrimed extends Entity { + public Packet L() { return new PacketPlayOutSpawnEntity(this); } + @@ -94,7 +94,7 @@ index f2ee53ab9..dc0d944ea 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index f04a9d18c..cd7e0299a 100644 +index a13fd9b34..3ff7a7b4a 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -36,7 +36,7 @@ public class EntityTrackerEntry { @@ -107,5 +107,5 @@ index f04a9d18c..cd7e0299a 100644 private java.util.Map trackedPlayerMap = null; -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0106-Faster-redstone-torch-rapid-clock-removal.patch b/Spigot-Server-Patches/0104-Faster-redstone-torch-rapid-clock-removal.patch similarity index 94% rename from Spigot-Server-Patches/0106-Faster-redstone-torch-rapid-clock-removal.patch rename to Spigot-Server-Patches/0104-Faster-redstone-torch-rapid-clock-removal.patch index 6c77ef9822..821bb91dba 100644 --- a/Spigot-Server-Patches/0106-Faster-redstone-torch-rapid-clock-removal.patch +++ b/Spigot-Server-Patches/0104-Faster-redstone-torch-rapid-clock-removal.patch @@ -1,4 +1,4 @@ -From 3d14572f7a9ba30b0eae0daf0a239b60e3ebc457 Mon Sep 17 00:00:00 2001 +From d20759aaff7ab4cb1819c6677dc52aa2871cffa1 Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Mon, 23 May 2016 12:12:37 +0200 Subject: [PATCH] Faster redstone torch rapid clock removal @@ -6,7 +6,7 @@ Subject: [PATCH] Faster redstone torch rapid clock removal Only resize the the redstone torch list once, since resizing arrays / lists is costly diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java -index a99f979ef..919ba8a14 100644 +index 98a255ae5..4c3062ece 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java @@ -11,7 +11,7 @@ import org.bukkit.event.block.BlockRedstoneEvent; // CraftBukkit @@ -77,10 +77,10 @@ index a99f979ef..919ba8a14 100644 public RedstoneUpdateInfo(BlockPosition blockposition, long i) { this.a = blockposition; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f396ca691..4ce18f85b 100644 +index 7d5f6e220..312e32f1b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -99,6 +99,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose +@@ -98,6 +98,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { private org.spigotmc.TickLimiter tileLimiter; private int tileTickPosition; public final Map explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions @@ -89,5 +89,5 @@ index f396ca691..4ce18f85b 100644 public CraftWorld getWorld() { return this.world; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0107-Add-server-name-parameter.patch b/Spigot-Server-Patches/0105-Add-server-name-parameter.patch similarity index 89% rename from Spigot-Server-Patches/0107-Add-server-name-parameter.patch rename to Spigot-Server-Patches/0105-Add-server-name-parameter.patch index b945aea374..12019f5c21 100644 --- a/Spigot-Server-Patches/0107-Add-server-name-parameter.patch +++ b/Spigot-Server-Patches/0105-Add-server-name-parameter.patch @@ -1,11 +1,11 @@ -From 5ea1c896146e882a1c8debaf9578405d40cf1ed1 Mon Sep 17 00:00:00 2001 +From 8a1aad77aff1c228dc3c0b3b00ce5f0f6ffde89d Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Sat, 28 May 2016 16:54:03 +0200 Subject: [PATCH] Add server-name parameter diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 484f1995a..ad1da9ddd 100644 +index 2481c1860..4a4e56e76 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -136,6 +136,14 @@ public class Main { @@ -24,5 +24,5 @@ index 484f1995a..ad1da9ddd 100644 }; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0108-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch b/Spigot-Server-Patches/0106-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch similarity index 84% rename from Spigot-Server-Patches/0108-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch rename to Spigot-Server-Patches/0106-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch index 3c135c4b45..402519ad80 100644 --- a/Spigot-Server-Patches/0108-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch +++ b/Spigot-Server-Patches/0106-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch @@ -1,4 +1,4 @@ -From 7ef1b66691b9ff7a782e4903c8e5f6b31bba08bb Mon Sep 17 00:00:00 2001 +From aef341f706c37a285e09e421050f6e029eb47d6c Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 31 May 2016 22:53:50 -0400 Subject: [PATCH] Only send Dragon/Wither Death sounds to same world @@ -6,11 +6,11 @@ Subject: [PATCH] Only send Dragon/Wither Death sounds to same world Also fix view distance lookup diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 9ecbc8e3e..0421052d2 100644 +index e11ccdbd8..e0d240a89 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java -@@ -563,8 +563,11 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { - if (this.bL == 1) { +@@ -572,8 +572,11 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { + if (this.bA == 1) { // CraftBukkit start - Use relative location for far away sounds // this.world.b(1028, new BlockPosition(this), 0); - int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16; @@ -20,11 +20,11 @@ index 9ecbc8e3e..0421052d2 100644 + for (EntityPlayer player : ((WorldServer)world).getPlayers()) { + final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch + // Paper end - double deltaX = this.locX - player.locX; - double deltaZ = this.locZ - player.locZ; + double deltaX = this.locX() - player.locX(); + double deltaZ = this.locZ() - player.locZ(); double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index 92acd504a..ee1b0a884 100644 +index 2edf466ee..2e95069c1 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -207,8 +207,11 @@ public class EntityWither extends EntityMonster implements IRangedEntity { @@ -38,9 +38,9 @@ index 92acd504a..ee1b0a884 100644 + for (EntityPlayer player : ((WorldServer)world).getPlayers()) { + final int viewDistance = player.getViewDistance(); // TODO apply view distance api patch + // Paper end - double deltaX = this.locX - player.locX; - double deltaZ = this.locZ - player.locZ; + double deltaX = this.locX() - player.locX(); + double deltaZ = this.locZ() - player.locZ(); double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch b/Spigot-Server-Patches/0107-Fix-Double-World-Add-issues.patch similarity index 86% rename from Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch rename to Spigot-Server-Patches/0107-Fix-Double-World-Add-issues.patch index 5dd7b247d5..a49f07a7e5 100644 --- a/Spigot-Server-Patches/0109-Fix-Double-World-Add-issues.patch +++ b/Spigot-Server-Patches/0107-Fix-Double-World-Add-issues.patch @@ -1,4 +1,4 @@ -From 55251a666bc4d1120c00d23ad77ee7caf7d757ed Mon Sep 17 00:00:00 2001 +From db10dbff71b014658808050b7f633e3e63505bd1 Mon Sep 17 00:00:00 2001 From: Aikar 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 d50e804102..71130dd2e4 100644 +index ea9899889..f606a7340 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -975,6 +975,7 @@ public class WorldServer extends World { +@@ -983,6 +983,7 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot @@ -20,5 +20,5 @@ index d50e804102..71130dd2e4 100644 // WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getName(entity.getEntityType())); // CraftBukkit return false; -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch b/Spigot-Server-Patches/0108-Fix-Old-Sign-Conversion.patch similarity index 90% rename from Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch rename to Spigot-Server-Patches/0108-Fix-Old-Sign-Conversion.patch index 909e9ccac8..166d4d2725 100644 --- a/Spigot-Server-Patches/0110-Fix-Old-Sign-Conversion.patch +++ b/Spigot-Server-Patches/0108-Fix-Old-Sign-Conversion.patch @@ -1,4 +1,4 @@ -From 599276513a14e0ed0db9767795ca02f258ab5fdf Mon Sep 17 00:00:00 2001 +From abef8b250ac2af6f388497dc00abd5fbb8fc7c70 Mon Sep 17 00:00:00 2001 From: Aikar 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 7bcd9786a..775ec6389 100644 +index dad966825..8c411ff07 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,7 +25,7 @@ index 7bcd9786a..775ec6389 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index e1db24316..af6977dcd 100644 +index e2f3cec74..630b27915 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -20,6 +20,7 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -33,14 +33,14 @@ index e1db24316..af6977dcd 100644 // CraftBukkit end private static final Logger LOGGER = LogManager.getLogger(); + boolean isLoadingStructure = false; // Paper - private final TileEntityTypes b; public TileEntityTypes getTileEntityType() { return b; } // Paper - OBFHELPER + private final TileEntityTypes tileType; public TileEntityTypes getTileEntityType() { return tileType; } // Paper - OBFHELPER @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 914f4e6da..ddf8f4659 100644 +index 4a48c09e9..03f6ddf00 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 { // +@@ -55,13 +55,14 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // } try { @@ -58,5 +58,5 @@ index 914f4e6da..ddf8f4659 100644 if (this.world instanceof WorldServer) { try { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0111-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch b/Spigot-Server-Patches/0109-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch similarity index 89% rename from Spigot-Server-Patches/0111-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch rename to Spigot-Server-Patches/0109-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch index fcae8e4c2a..be371d087c 100644 --- a/Spigot-Server-Patches/0111-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch +++ b/Spigot-Server-Patches/0109-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch @@ -1,11 +1,11 @@ -From bb8c40312cc74d634ee982f9df515eb7b072f4dc Mon Sep 17 00:00:00 2001 +From 09d2c6aeec8d9ec23c454e41eff56df692cdf858 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 16 Jul 2016 19:11:17 -0500 Subject: [PATCH] Don't lookup game profiles that have no UUID and no name diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java -index ea0256755..b0d883d49 100644 +index 566f3db39..e8143eff4 100644 --- a/src/main/java/net/minecraft/server/UserCache.java +++ b/src/main/java/net/minecraft/server/UserCache.java @@ -86,7 +86,7 @@ public class UserCache { @@ -18,5 +18,5 @@ index ea0256755..b0d883d49 100644 GameProfile gameprofile = new GameProfile(uuid, s); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0112-More-informative-vehicle-moved-wrongly-message.patch b/Spigot-Server-Patches/0110-More-informative-vehicle-moved-wrongly-message.patch similarity index 84% rename from Spigot-Server-Patches/0112-More-informative-vehicle-moved-wrongly-message.patch rename to Spigot-Server-Patches/0110-More-informative-vehicle-moved-wrongly-message.patch index 6a4d75e0fb..986f9effea 100644 --- a/Spigot-Server-Patches/0112-More-informative-vehicle-moved-wrongly-message.patch +++ b/Spigot-Server-Patches/0110-More-informative-vehicle-moved-wrongly-message.patch @@ -1,14 +1,14 @@ -From 3c1bfaec22e1743156d4806b5e56b666a63294e9 Mon Sep 17 00:00:00 2001 +From ae8e72862897e15a4aeb4e6acbe938df9cb5ee6e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 28 Jul 2016 17:58:53 -0500 Subject: [PATCH] More informative vehicle moved wrongly message diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 046bcb27e3..39662f1462 100644 +index 8f182fcc8..53d201c59 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -362,7 +362,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -365,7 +365,7 @@ public class PlayerConnection implements PacketListenerPlayIn { if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot flag1 = true; @@ -18,5 +18,5 @@ index 046bcb27e3..39662f1462 100644 Location curPos = this.getPlayer().getLocation(); // Spigot -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch b/Spigot-Server-Patches/0111-Re-track-players-that-dismount-from-other-players.patch similarity index 73% rename from Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch rename to Spigot-Server-Patches/0111-Re-track-players-that-dismount-from-other-players.patch index 0fb7e508a1..2dd3a8f43b 100644 --- a/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch +++ b/Spigot-Server-Patches/0111-Re-track-players-that-dismount-from-other-players.patch @@ -1,16 +1,16 @@ -From 7fc9411e0c2d870ae25a7e0c3da3ea22ddb5d24d Mon Sep 17 00:00:00 2001 +From 8071a5ef7c8dcdde949b15fef8891a6ec1fbf14e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 31 Jul 2016 16:33:03 -0500 Subject: [PATCH] Re-track players that dismount from other players diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 9dfa92f88..940663bd3 100644 +index 6595dca86..a9827322c 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -980,6 +980,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { - if (entity1 != entity && this.playerConnection != null) { - this.playerConnection.a(this.locX, this.locY, this.locZ, this.yaw, this.pitch); +@@ -979,6 +979,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + if (!this.isSpectator()) { + super.b(blockposition); } + // Paper start - "Fixes" an issue in which the vehicle player would not be notified that the passenger dismounted + if (entity instanceof EntityPlayer) { @@ -24,5 +24,5 @@ index 9dfa92f88..940663bd3 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0114-Add-setting-for-proxy-online-mode-status.patch b/Spigot-Server-Patches/0112-Add-setting-for-proxy-online-mode-status.patch similarity index 92% rename from Spigot-Server-Patches/0114-Add-setting-for-proxy-online-mode-status.patch rename to Spigot-Server-Patches/0112-Add-setting-for-proxy-online-mode-status.patch index 4e952548f8..cb23b411b9 100644 --- a/Spigot-Server-Patches/0114-Add-setting-for-proxy-online-mode-status.patch +++ b/Spigot-Server-Patches/0112-Add-setting-for-proxy-online-mode-status.patch @@ -1,11 +1,11 @@ -From 8076467ee1a1540dbc421f8aa8f049cb4e36fbac Mon Sep 17 00:00:00 2001 +From 26c83d73e35ac4a256132b67ea1b142006b7b89a Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Fri, 5 Aug 2016 01:03:08 +0200 Subject: [PATCH] Add setting for proxy online mode status diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index cbfe12734d..1daa2e4535 100644 +index 67f35fe66..53f96a157 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -22,6 +22,7 @@ import org.bukkit.configuration.InvalidConfigurationException; @@ -31,7 +31,7 @@ index cbfe12734d..1daa2e4535 100644 + } } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 21a8ed3231..0794aff5b7 100644 +index 1422503e1..d3c2e1bed 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -58,7 +58,8 @@ public class NameReferencingFileConverter { @@ -45,10 +45,10 @@ index 21a8ed3231..0794aff5b7 100644 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6f6b0bea39..893d3e5c4c 100644 +index 09c62261a..08019fc94 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1358,7 +1358,8 @@ public final class CraftServer implements Server { +@@ -1361,7 +1361,8 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode @@ -59,5 +59,5 @@ index 6f6b0bea39..893d3e5c4c 100644 profile = console.getUserCache().getProfile( name ); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0115-Optimise-BlockState-s-hashCode-equals.patch b/Spigot-Server-Patches/0113-Optimise-BlockState-s-hashCode-equals.patch similarity index 94% rename from Spigot-Server-Patches/0115-Optimise-BlockState-s-hashCode-equals.patch rename to Spigot-Server-Patches/0113-Optimise-BlockState-s-hashCode-equals.patch index f86f709b07..784b0c1ae9 100644 --- a/Spigot-Server-Patches/0115-Optimise-BlockState-s-hashCode-equals.patch +++ b/Spigot-Server-Patches/0113-Optimise-BlockState-s-hashCode-equals.patch @@ -1,4 +1,4 @@ -From 8b1b9b76920b2208bf6b134392699f93f12812d8 Mon Sep 17 00:00:00 2001 +From ea817a1e785ca6f37864a8d6f05700b020fd05aa Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Fri, 19 Aug 2016 01:52:56 +0100 Subject: [PATCH] Optimise BlockState's hashCode/equals @@ -9,7 +9,7 @@ object identity checks safely. Use a simpler optimized hashcode diff --git a/src/main/java/net/minecraft/server/BlockState.java b/src/main/java/net/minecraft/server/BlockState.java -index 77b25317a..be7e10d85 100644 +index 0ce77d923..00e67b567 100644 --- a/src/main/java/net/minecraft/server/BlockState.java +++ b/src/main/java/net/minecraft/server/BlockState.java @@ -28,23 +28,13 @@ public abstract class BlockState> implements IBlockState @@ -41,7 +41,7 @@ index 77b25317a..be7e10d85 100644 public int c() { diff --git a/src/main/java/net/minecraft/server/BlockStateBoolean.java b/src/main/java/net/minecraft/server/BlockStateBoolean.java -index 31cb8ac84..3f085c7d6 100644 +index d8738447d..7ca302b52 100644 --- a/src/main/java/net/minecraft/server/BlockStateBoolean.java +++ b/src/main/java/net/minecraft/server/BlockStateBoolean.java @@ -30,8 +30,7 @@ public class BlockStateBoolean extends BlockState { @@ -55,7 +55,7 @@ index 31cb8ac84..3f085c7d6 100644 return true; } else if (object instanceof BlockStateBoolean && super.equals(object)) { diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java -index 59d86fc66..82a1fac6f 100644 +index 1486d460c..7cdadc6b6 100644 --- a/src/main/java/net/minecraft/server/BlockStateEnum.java +++ b/src/main/java/net/minecraft/server/BlockStateEnum.java @@ -49,8 +49,7 @@ public class BlockStateEnum & INamable> extends BlockState @@ -69,7 +69,7 @@ index 59d86fc66..82a1fac6f 100644 return true; } else if (object instanceof BlockStateEnum && super.equals(object)) { diff --git a/src/main/java/net/minecraft/server/BlockStateInteger.java b/src/main/java/net/minecraft/server/BlockStateInteger.java -index 6861c2b05..74ef69952 100644 +index 6f35c365f..0499a7170 100644 --- a/src/main/java/net/minecraft/server/BlockStateInteger.java +++ b/src/main/java/net/minecraft/server/BlockStateInteger.java @@ -38,8 +38,7 @@ public class BlockStateInteger extends BlockState { @@ -83,5 +83,5 @@ index 6861c2b05..74ef69952 100644 return true; } else if (object instanceof BlockStateInteger && super.equals(object)) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0116-Configurable-packet-in-spam-threshold.patch b/Spigot-Server-Patches/0114-Configurable-packet-in-spam-threshold.patch similarity index 91% rename from Spigot-Server-Patches/0116-Configurable-packet-in-spam-threshold.patch rename to Spigot-Server-Patches/0114-Configurable-packet-in-spam-threshold.patch index 82c89a001e..a0d6a79bfc 100644 --- a/Spigot-Server-Patches/0116-Configurable-packet-in-spam-threshold.patch +++ b/Spigot-Server-Patches/0114-Configurable-packet-in-spam-threshold.patch @@ -1,11 +1,11 @@ -From c948e40ab09a0873d5df1d64a05b26cb7e56bf93 Mon Sep 17 00:00:00 2001 +From d2a96b33351af347c2a04ff69900bb0a12cac3a3 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 11 Sep 2016 14:30:57 -0500 Subject: [PATCH] Configurable packet in spam threshold diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 1daa2e4535..5d0645c829 100644 +index 53f96a157..010b17d2e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -243,4 +243,13 @@ public class PaperConfig { @@ -23,10 +23,10 @@ index 1daa2e4535..5d0645c829 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 39662f1462..586d40a471 100644 +index 53d201c59..77cfec712 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1191,13 +1191,14 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1203,13 +1203,14 @@ public class PlayerConnection implements PacketListenerPlayIn { // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; @@ -44,5 +44,5 @@ index 39662f1462..586d40a471 100644 limitedPackets = 0; return true; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0117-Configurable-flying-kick-messages.patch b/Spigot-Server-Patches/0115-Configurable-flying-kick-messages.patch similarity index 89% rename from Spigot-Server-Patches/0117-Configurable-flying-kick-messages.patch rename to Spigot-Server-Patches/0115-Configurable-flying-kick-messages.patch index 2fdc8a857d..6cd497d818 100644 --- a/Spigot-Server-Patches/0117-Configurable-flying-kick-messages.patch +++ b/Spigot-Server-Patches/0115-Configurable-flying-kick-messages.patch @@ -1,11 +1,11 @@ -From 680b0199706bd0c2dd2fe8d1049639b3ab4597ed Mon Sep 17 00:00:00 2001 +From 7248ca8d9378b2bc237f55b06d86c4b12ec3ce4a Mon Sep 17 00:00:00 2001 From: kashike Date: Tue, 20 Sep 2016 00:58:01 +0000 Subject: [PATCH] Configurable flying kick messages diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5d0645c82..b5a50afd2 100644 +index 010b17d2e..5a83fc21c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -252,4 +252,11 @@ public class PaperConfig { @@ -21,10 +21,10 @@ index 5d0645c82..b5a50afd2 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index cfd34f516..bf09c3939 100644 +index 77cfec712..16b70221e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -144,7 +144,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -147,7 +147,7 @@ public class PlayerConnection implements PacketListenerPlayIn { if (this.B) { if (++this.C > 80) { PlayerConnection.LOGGER.warn("{} was kicked for floating too long!", this.player.getDisplayName().getString()); @@ -33,7 +33,7 @@ index cfd34f516..bf09c3939 100644 return; } } else { -@@ -163,7 +163,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -166,7 +166,7 @@ public class PlayerConnection implements PacketListenerPlayIn { if (this.D && this.player.getRootVehicle().getRidingPassenger() == this.player) { if (++this.E > 80) { PlayerConnection.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getDisplayName().getString()); @@ -43,5 +43,5 @@ index cfd34f516..bf09c3939 100644 } } else { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0116-Chunk-registration-fixes.patch similarity index 57% rename from Spigot-Server-Patches/0118-Chunk-registration-fixes.patch rename to Spigot-Server-Patches/0116-Chunk-registration-fixes.patch index 2de2e888f4..c55a99aa1f 100644 --- a/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch +++ b/Spigot-Server-Patches/0116-Chunk-registration-fixes.patch @@ -1,4 +1,4 @@ -From 63e3abede167a6ad15b8d1038272539970038de2 Mon Sep 17 00:00:00 2001 +From c7c90ed5c44caa05b2d5c6ac1187a0598236b011 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 22:54:28 -0400 Subject: [PATCH] Chunk registration fixes @@ -8,18 +8,18 @@ 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 71130dd2e4..491c9c9170 100644 +index f606a7340..38e618c78 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -664,7 +664,7 @@ public class WorldServer extends World { +@@ -682,7 +682,7 @@ public class WorldServer extends World { public void chunkCheck(Entity entity) { this.getMethodProfiler().enter("chunkCheck"); - int i = MathHelper.floor(entity.locX / 16.0D); -- int j = MathHelper.floor(entity.locY / 16.0D); -+ int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior - int k = MathHelper.floor(entity.locZ / 16.0D); + int i = MathHelper.floor(entity.locX() / 16.0D); +- int j = MathHelper.floor(entity.locY() / 16.0D); ++ int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY() / 16.0D))); // Paper - stay consistent with chunk add/remove behavior; + int k = MathHelper.floor(entity.locZ() / 16.0D); if (!entity.inChunk || entity.chunkX != i || entity.chunkY != j || entity.chunkZ != k) { -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0119-Remove-FishingHook-reference-on-Craft-Entity-removal.patch b/Spigot-Server-Patches/0117-Remove-FishingHook-reference-on-Craft-Entity-removal.patch similarity index 89% rename from Spigot-Server-Patches/0119-Remove-FishingHook-reference-on-Craft-Entity-removal.patch rename to Spigot-Server-Patches/0117-Remove-FishingHook-reference-on-Craft-Entity-removal.patch index 7ae98c1481..5696358f5d 100644 --- a/Spigot-Server-Patches/0119-Remove-FishingHook-reference-on-Craft-Entity-removal.patch +++ b/Spigot-Server-Patches/0117-Remove-FishingHook-reference-on-Craft-Entity-removal.patch @@ -1,11 +1,11 @@ -From e80bcc2cdb86f9d14f7fbab055861b4429e26236 Mon Sep 17 00:00:00 2001 +From 5d8c462a578281978caa06c6224ed118f19736ed Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 16 Jun 2016 00:17:23 -0400 Subject: [PATCH] Remove FishingHook reference on Craft Entity removal diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java -index 1ed9a4e32..9eb980137 100644 +index cd04a2b99..174b9f543 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java @@ -66,4 +66,15 @@ public class CraftFishHook extends AbstractProjectile implements FishHook { @@ -25,5 +25,5 @@ index 1ed9a4e32..9eb980137 100644 + } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0120-Auto-fix-bad-Y-levels-on-player-login.patch b/Spigot-Server-Patches/0118-Auto-fix-bad-Y-levels-on-player-login.patch similarity index 90% rename from Spigot-Server-Patches/0120-Auto-fix-bad-Y-levels-on-player-login.patch rename to Spigot-Server-Patches/0118-Auto-fix-bad-Y-levels-on-player-login.patch index 5f116ea0ab..49bda0a378 100644 --- a/Spigot-Server-Patches/0120-Auto-fix-bad-Y-levels-on-player-login.patch +++ b/Spigot-Server-Patches/0118-Auto-fix-bad-Y-levels-on-player-login.patch @@ -1,4 +1,4 @@ -From cdf2b5d7860c49e030f00eb18980fee17cc69726 Mon Sep 17 00:00:00 2001 +From 33e34cbc44e672162a56cbb8daae4bf5028d5d59 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 23:48:39 -0400 Subject: [PATCH] Auto fix bad Y levels on player login @@ -6,7 +6,7 @@ Subject: [PATCH] Auto fix bad Y levels on player login Bring down to a saner Y level if super high, as this can cause the server to crash diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 2d29e9d86..7b0c89ce7 100644 +index a9827322c..3e958eaf8 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -193,6 +193,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -18,5 +18,5 @@ index 2d29e9d86..7b0c89ce7 100644 if (this.getMinecraftServer().getForceGamemode()) { this.playerInteractManager.setGameMode(this.getMinecraftServer().getGamemode()); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch b/Spigot-Server-Patches/0119-Option-to-remove-corrupt-tile-entities.patch similarity index 88% rename from Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch rename to Spigot-Server-Patches/0119-Option-to-remove-corrupt-tile-entities.patch index aefe093855..922ad6ca6f 100644 --- a/Spigot-Server-Patches/0121-Option-to-remove-corrupt-tile-entities.patch +++ b/Spigot-Server-Patches/0119-Option-to-remove-corrupt-tile-entities.patch @@ -1,11 +1,11 @@ -From 24ca14338a4d1ce533cc3d4d70841719e5e56200 Mon Sep 17 00:00:00 2001 +From a85d7e8d80aed8641a9b3be4b0133fd7eeba958b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 5 Oct 2016 16:27:36 -0500 Subject: [PATCH] Option to remove corrupt tile entities diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 300cc68a7..83d430ee5 100644 +index 1dbeb209e..fd1be52f3 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 300cc68a7..83d430ee5 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 85e17253d..1da80e244 100644 +index 034e8684d..1efddb533 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -533,6 +533,12 @@ public class Chunk implements IChunkAccess { +@@ -526,6 +526,12 @@ public class Chunk implements IChunkAccess { "Chunk coordinates: " + (this.loc.x * 16) + "," + (this.loc.z * 16)); e.printStackTrace(); ServerInternalException.reportInternalException(e); @@ -36,5 +36,5 @@ index 85e17253d..1da80e244 100644 // CraftBukkit end } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0120-Add-EntityZapEvent.patch similarity index 87% rename from Spigot-Server-Patches/0122-Add-EntityZapEvent.patch rename to Spigot-Server-Patches/0120-Add-EntityZapEvent.patch index 9364a5bdf8..b98093c3a5 100644 --- a/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch +++ b/Spigot-Server-Patches/0120-Add-EntityZapEvent.patch @@ -1,14 +1,14 @@ -From cab0f672ad4486733d5c31352b443b59ad4572ab Mon Sep 17 00:00:00 2001 +From d7df64d30bc7aabaa32fb4a6c58c89b21f33eee7 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Sun, 16 Oct 2016 23:19:30 -0700 Subject: [PATCH] Add EntityZapEvent diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index ee5bfd6f0c..7136e274af 100644 +index 5c24e22c7..8d277566e 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java -@@ -167,6 +167,12 @@ public class EntityPig extends EntityAnimal { +@@ -164,6 +164,12 @@ public class EntityPig extends EntityAnimal { entitypigzombie.setCustomNameVisible(this.getCustomNameVisible()); } @@ -22,10 +22,10 @@ index ee5bfd6f0c..7136e274af 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 89065deb4f..dcd02930d9 100644 +index 27afee2e3..00300c6aa 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -693,6 +693,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -678,6 +678,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation public void onLightningStrike(EntityLightning entitylightning) { EntityWitch entitywitch = (EntityWitch) EntityTypes.WITCH.a(this.world); @@ -35,11 +35,11 @@ index 89065deb4f..dcd02930d9 100644 + } + // Paper end + - entitywitch.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch); + entitywitch.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch); 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 7936180b47..9af320a562 100644 +index de26145ee..ba14f66f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1040,6 +1040,14 @@ public class CraftEventFactory { @@ -58,5 +58,5 @@ index 7936180b47..9af320a562 100644 HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power); horse.getBukkitEntity().getServer().getPluginManager().callEvent(event); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch b/Spigot-Server-Patches/0121-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch similarity index 91% rename from Spigot-Server-Patches/0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch rename to Spigot-Server-Patches/0121-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch index a5cbb1a6a8..5374905f13 100644 --- a/Spigot-Server-Patches/0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch +++ b/Spigot-Server-Patches/0121-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch @@ -1,11 +1,11 @@ -From e385888483f36d5a346d3d59d1b3a89f532b042f Mon Sep 17 00:00:00 2001 +From 62498f0d28b7d705658e1d9b2c1d765d6e78fba8 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 12 Nov 2016 23:25:22 -0600 Subject: [PATCH] Filter bad data from ArmorStand and SpawnEgg items diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 83d430ee5..5d7d6fa36 100644 +index fd1be52f3..ba8edcf7e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,6 +2,7 @@ package com.destroystokyo.paper; @@ -30,10 +30,10 @@ index 83d430ee5..5d7d6fa36 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 0f9fa4113..0a6d2b9b3 100644 +index 55d1b3529..2e908c749 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java -@@ -233,6 +233,15 @@ public class EntityFallingBlock extends Entity { +@@ -231,6 +231,15 @@ public class EntityFallingBlock extends Entity { @Override protected void a(NBTTagCompound nbttagcompound) { this.block = GameProfileSerializer.d(nbttagcompound.getCompound("BlockState")); @@ -50,5 +50,5 @@ index 0f9fa4113..0a6d2b9b3 100644 if (nbttagcompound.hasKeyOfType("HurtEntities", 99)) { this.hurtEntities = nbttagcompound.getBoolean("HurtEntities"); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0126-Optimise-removeQueue.patch b/Spigot-Server-Patches/0122-Cache-user-authenticator-threads.patch similarity index 89% rename from Spigot-Server-Patches/0126-Optimise-removeQueue.patch rename to Spigot-Server-Patches/0122-Cache-user-authenticator-threads.patch index b51f3c082b..087129a773 100644 --- a/Spigot-Server-Patches/0126-Optimise-removeQueue.patch +++ b/Spigot-Server-Patches/0122-Cache-user-authenticator-threads.patch @@ -1,11 +1,11 @@ -From fcd2c72a3b622328ce01a7e9591fd2b024ecee6f Mon Sep 17 00:00:00 2001 -From: Alfie Cleveland -Date: Fri, 25 Nov 2016 13:22:40 +0000 -Subject: [PATCH] Optimise removeQueue +From aa46a8f287929842c58b58a76698f21363033112 Mon Sep 17 00:00:00 2001 +From: vemacs +Date: Wed, 23 Nov 2016 08:31:45 -0500 +Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 8ba828a03..170f741d4 100644 +index 3e958eaf8..bf74db31e 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -4,7 +4,9 @@ import com.google.common.collect.Lists; @@ -50,7 +50,7 @@ index 8ba828a03..170f741d4 100644 this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(aint)); } -@@ -1330,7 +1339,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1299,7 +1308,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.lastHealthSent = -1.0F; this.lastFoodSent = -1; // this.recipeBook.a((RecipeBook) entityplayer.recipeBook); // CraftBukkit @@ -63,9 +63,9 @@ index 8ba828a03..170f741d4 100644 + this.removeQueue.addAll(entityplayer.removeQueue); + } + // Paper end - this.cp = entityplayer.cp; - this.cu = entityplayer.cu; + this.cm = entityplayer.cm; + this.cr = entityplayer.cr; this.setShoulderEntityLeft(entityplayer.getShoulderEntityLeft()); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0125-Cache-user-authenticator-threads.patch b/Spigot-Server-Patches/0123-Optimise-removeQueue.patch similarity index 90% rename from Spigot-Server-Patches/0125-Cache-user-authenticator-threads.patch rename to Spigot-Server-Patches/0123-Optimise-removeQueue.patch index e09e9170ba..eee2fdc671 100644 --- a/Spigot-Server-Patches/0125-Cache-user-authenticator-threads.patch +++ b/Spigot-Server-Patches/0123-Optimise-removeQueue.patch @@ -1,11 +1,11 @@ -From 0b49c3de819289a7beb6bebc8cf16c245c7b3bcc Mon Sep 17 00:00:00 2001 -From: vemacs -Date: Wed, 23 Nov 2016 08:31:45 -0500 -Subject: [PATCH] Cache user authenticator threads +From 3191d5030755745de632e7c0bd730420854ab721 Mon Sep 17 00:00:00 2001 +From: Alfie Cleveland +Date: Fri, 25 Nov 2016 13:22:40 +0000 +Subject: [PATCH] Optimise removeQueue diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 3db306655d..49df63d6de 100644 +index 2480bc64b..3683fa298 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -97,6 +97,12 @@ public class LoginListener implements PacketLoginInListener { @@ -54,7 +54,7 @@ index 3db306655d..49df63d6de 100644 @@ -251,10 +259,8 @@ public class LoginListener implements PacketLoginInListener { - return LoginListener.this.server.U() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; + return LoginListener.this.server.X() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } - }; - @@ -66,5 +66,5 @@ index 3db306655d..49df63d6de 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0127-Allow-Reloading-of-Command-Aliases.patch b/Spigot-Server-Patches/0124-Allow-Reloading-of-Command-Aliases.patch similarity index 89% rename from Spigot-Server-Patches/0127-Allow-Reloading-of-Command-Aliases.patch rename to Spigot-Server-Patches/0124-Allow-Reloading-of-Command-Aliases.patch index 1ceadc4726..934225b65d 100644 --- a/Spigot-Server-Patches/0127-Allow-Reloading-of-Command-Aliases.patch +++ b/Spigot-Server-Patches/0124-Allow-Reloading-of-Command-Aliases.patch @@ -1,4 +1,4 @@ -From 194c189b347a96b95a782873d42e50a6fd2c4f49 Mon Sep 17 00:00:00 2001 +From 5d6cdd4b74075ea7c458c940fef53f190a094039 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Mon, 28 Nov 2016 10:21:52 -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/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 893d3e5c4c..ca6158dc73 100644 +index 08019fc94..811c33b90 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2077,5 +2077,24 @@ public final class CraftServer implements Server { +@@ -2080,5 +2080,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } @@ -35,5 +35,5 @@ index 893d3e5c4c..ca6158dc73 100644 // Paper end } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0128-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0125-Add-source-to-PlayerExpChangeEvent.patch similarity index 94% rename from Spigot-Server-Patches/0128-Add-source-to-PlayerExpChangeEvent.patch rename to Spigot-Server-Patches/0125-Add-source-to-PlayerExpChangeEvent.patch index 0c1bfa4b1b..a2f4ecb197 100644 --- a/Spigot-Server-Patches/0128-Add-source-to-PlayerExpChangeEvent.patch +++ b/Spigot-Server-Patches/0125-Add-source-to-PlayerExpChangeEvent.patch @@ -1,11 +1,11 @@ -From 144c47833db03fc0dc276696b61a9cecb506785f Mon Sep 17 00:00:00 2001 +From 777724ba4ea181c7f4d8297a1ce33d17a59c6d36 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Thu, 8 Sep 2016 08:48:33 -0700 Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 332dc0e53a..eec6de9ad7 100644 +index f72bb0c13..0447800d9 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -193,7 +193,7 @@ public class EntityExperienceOrb extends Entity { @@ -18,7 +18,7 @@ index 332dc0e53a..eec6de9ad7 100644 this.die(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9af320a562..30492170b5 100644 +index ba14f66f7..3c52b40a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -111,6 +111,7 @@ import org.bukkit.entity.ThrownPotion; @@ -48,5 +48,5 @@ index 9af320a562..30492170b5 100644 return handleBlockGrowEvent(world, pos, block, 3); } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0130-Don-t-let-fishinghooks-use-portals.patch b/Spigot-Server-Patches/0126-Don-t-let-fishinghooks-use-portals.patch similarity index 65% rename from Spigot-Server-Patches/0130-Don-t-let-fishinghooks-use-portals.patch rename to Spigot-Server-Patches/0126-Don-t-let-fishinghooks-use-portals.patch index e5b48a3efa..36da24643a 100644 --- a/Spigot-Server-Patches/0130-Don-t-let-fishinghooks-use-portals.patch +++ b/Spigot-Server-Patches/0126-Don-t-let-fishinghooks-use-portals.patch @@ -1,30 +1,30 @@ -From 700d379ba7196379a92553b35172a62cdeb80fa7 Mon Sep 17 00:00:00 2001 +From 2dfb3d9a41f295d3dccb9165aa9c8c7ce86d3af6 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 16 Dec 2016 16:03:19 -0600 Subject: [PATCH] Don't let fishinghooks use portals diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2a65a6685..187fea130 100644 +index e04b3f4e2..63d44401a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -156,7 +156,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke - public boolean af; +@@ -161,7 +161,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke + public boolean ac; public boolean impulse; public int portalCooldown; -- protected boolean ai; -+ protected boolean ai; public final boolean inPortal() { return this.ai; } // Paper - OBFHELPER - protected int aj; +- protected boolean af; ++ protected boolean af; public final boolean inPortal() { return this.af; } // Paper - OBFHELPER + protected int ag; public DimensionManager dimension; - protected BlockPosition al; + protected BlockPosition ai; diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 84e6d660d..74b726937 100644 +index b10de807e..7a8b8b0d6 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java -@@ -163,6 +163,12 @@ public class EntityFishingHook extends Entity { +@@ -160,6 +160,12 @@ public class EntityFishingHook extends Entity { this.setMot(this.getMot().a(0.92D)); - this.setPosition(this.locX, this.locY, this.locZ); + this.Z(); + + // Paper start - These shouldn't be going through portals + if (this.inPortal()) { @@ -35,5 +35,5 @@ index 84e6d660d..74b726937 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0131-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0127-Add-ProjectileCollideEvent.patch similarity index 93% rename from Spigot-Server-Patches/0131-Add-ProjectileCollideEvent.patch rename to Spigot-Server-Patches/0127-Add-ProjectileCollideEvent.patch index a5582ef77f..52549d2d97 100644 --- a/Spigot-Server-Patches/0131-Add-ProjectileCollideEvent.patch +++ b/Spigot-Server-Patches/0127-Add-ProjectileCollideEvent.patch @@ -1,14 +1,14 @@ -From 486d30c530a76c840f613c62d703fae42aa0ff95 Mon Sep 17 00:00:00 2001 +From ca1e8bd890fa9400cfd8e757611b8ae929ee7c4e Mon Sep 17 00:00:00 2001 From: Techcable Date: Fri, 16 Dec 2016 21:25:39 -0600 Subject: [PATCH] Add ProjectileCollideEvent diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 2b829abac6..a9575d310b 100644 +index fc70d50ac..0c3664758 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java -@@ -184,6 +184,17 @@ public abstract class EntityArrow extends Entity implements IProjectile { +@@ -187,6 +187,17 @@ public abstract class EntityArrow extends Entity implements IProjectile { } } @@ -27,7 +27,7 @@ index 2b829abac6..a9575d310b 100644 this.a((MovingObjectPosition) object); this.impulse = true; diff --git a/src/main/java/net/minecraft/server/EntityFireball.java b/src/main/java/net/minecraft/server/EntityFireball.java -index 1a9fee8da1..14c4394933 100644 +index 078cc2523..6756c79b3 100644 --- a/src/main/java/net/minecraft/server/EntityFireball.java +++ b/src/main/java/net/minecraft/server/EntityFireball.java @@ -67,7 +67,16 @@ public abstract class EntityFireball extends Entity { @@ -49,10 +49,10 @@ index 1a9fee8da1..14c4394933 100644 // CraftBukkit start - Fire ProjectileHitEvent diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 390f1a24d0..758559d35d 100644 +index 7a8b8b0d6..8ad0d0db1 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java -@@ -217,7 +217,16 @@ public class EntityFishingHook extends Entity { +@@ -214,7 +214,16 @@ public class EntityFishingHook extends Entity { return !entity.isSpectator() && (entity.isInteractable() || entity instanceof EntityItem) && (entity != this.owner || this.g >= 5); }, RayTrace.BlockCollisionOption.COLLIDER, true); @@ -71,11 +71,11 @@ index 390f1a24d0..758559d35d 100644 if (movingobjectposition.getType() == MovingObjectPosition.EnumMovingObjectType.ENTITY) { this.hooked = ((MovingObjectPositionEntity) movingobjectposition).getEntity(); diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index d1710259ce..5f0cb4c33d 100644 +index 2e4c9d426..724b78b5d 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java -@@ -102,7 +102,16 @@ public abstract class EntityProjectile extends Entity implements IProjectile { - this.as = null; +@@ -99,7 +99,16 @@ public abstract class EntityProjectile extends Entity implements IProjectile { + this.ap = null; } - if (movingobjectposition.getType() != MovingObjectPosition.EnumMovingObjectType.MISS) { @@ -93,7 +93,7 @@ index d1710259ce..5f0cb4c33d 100644 this.c(((MovingObjectPositionBlock) movingobjectposition).getBlockPosition()); } else { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 30492170b5..7f38d82a61 100644 +index 3c52b40a3..2bf53db88 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1144,6 +1144,16 @@ public class CraftEventFactory { @@ -114,5 +114,5 @@ index 30492170b5..7f38d82a61 100644 Projectile bukkitEntity = (Projectile) entity.getBukkitEntity(); ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch b/Spigot-Server-Patches/0128-Prevent-Pathfinding-out-of-World-Border.patch similarity index 87% rename from Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch rename to Spigot-Server-Patches/0128-Prevent-Pathfinding-out-of-World-Border.patch index 92bb7ee0ab..86e2e724bc 100644 --- a/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch +++ b/Spigot-Server-Patches/0128-Prevent-Pathfinding-out-of-World-Border.patch @@ -1,4 +1,4 @@ -From 0c29a08334c31ceac93202ef8cc943e177ea67e5 Mon Sep 17 00:00:00 2001 +From b89099d63eb89b7c3abd6fa4e07b99cd6668ab98 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Dec 2016 23:07:42 -0500 Subject: [PATCH] Prevent Pathfinding out of World Border @@ -6,10 +6,10 @@ 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 126c05adc7..be6aa59749 100644 +index 39a0c45bb..bdd092e49 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -115,7 +115,7 @@ public abstract class NavigationAbstract { +@@ -123,7 +123,7 @@ public abstract class NavigationAbstract { // Paper start - Pathfind event boolean copiedSet = false; for (BlockPosition possibleTarget : set) { @@ -19,5 +19,5 @@ index 126c05adc7..be6aa59749 100644 if (!copiedSet) { copiedSet = true; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0133-Bound-Treasure-Maps-to-World-Border.patch b/Spigot-Server-Patches/0129-Bound-Treasure-Maps-to-World-Border.patch similarity index 92% rename from Spigot-Server-Patches/0133-Bound-Treasure-Maps-to-World-Border.patch rename to Spigot-Server-Patches/0129-Bound-Treasure-Maps-to-World-Border.patch index 1715eae5b4..bbf10cc9be 100644 --- a/Spigot-Server-Patches/0133-Bound-Treasure-Maps-to-World-Border.patch +++ b/Spigot-Server-Patches/0129-Bound-Treasure-Maps-to-World-Border.patch @@ -1,4 +1,4 @@ -From f1df25df924b5fe017bb7cadcc6b633a7ca8b231 Mon Sep 17 00:00:00 2001 +From b6ea5bc92d6f07a2a5aa0cc9fe7f19a8b9f180ee Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 20 Dec 2016 15:15:11 -0500 Subject: [PATCH] Bound Treasure Maps to World Border @@ -11,10 +11,10 @@ that is outside happens to be closer, but unreachable, yet another reachable one is in border that would of been missed. diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java -index 464e1e101..7b2eace75 100644 +index 0f248b6de..e8ce2ecf2 100644 --- a/src/main/java/net/minecraft/server/StructureGenerator.java +++ b/src/main/java/net/minecraft/server/StructureGenerator.java -@@ -103,6 +103,7 @@ public abstract class StructureGenerator +@@ -108,6 +108,7 @@ public abstract class StructureGenerator if (flag1 || flag2) { ChunkCoordIntPair chunkcoordintpair = this.a(chunkgenerator, seededrandom, j, k, i1, j1); @@ -23,7 +23,7 @@ index 464e1e101..7b2eace75 100644 if (structurestart != null && structurestart.e()) { diff --git a/src/main/java/net/minecraft/server/WorldBorder.java b/src/main/java/net/minecraft/server/WorldBorder.java -index 1388610a7..890258137 100644 +index 4ee13ac45..5f10c4338 100644 --- a/src/main/java/net/minecraft/server/WorldBorder.java +++ b/src/main/java/net/minecraft/server/WorldBorder.java @@ -24,6 +24,18 @@ public class WorldBorder { @@ -46,5 +46,5 @@ index 1388610a7..890258137 100644 return (double) chunkcoordintpair.f() > this.c() && (double) chunkcoordintpair.d() < this.e() && (double) chunkcoordintpair.g() > this.d() && (double) chunkcoordintpair.e() < this.f(); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0134-Configurable-Cartographer-Treasure-Maps.patch b/Spigot-Server-Patches/0130-Configurable-Cartographer-Treasure-Maps.patch similarity index 63% rename from Spigot-Server-Patches/0134-Configurable-Cartographer-Treasure-Maps.patch rename to Spigot-Server-Patches/0130-Configurable-Cartographer-Treasure-Maps.patch index c93e2076b6..1646ecd7f2 100644 --- a/Spigot-Server-Patches/0134-Configurable-Cartographer-Treasure-Maps.patch +++ b/Spigot-Server-Patches/0130-Configurable-Cartographer-Treasure-Maps.patch @@ -1,4 +1,4 @@ -From 410b3f9d1345376d03424baec0e783aa30a41649 Mon Sep 17 00:00:00 2001 +From 6a2c7cb959467d46b721e83a2f25eef3a9a12cf5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 20 Dec 2016 15:26:27 -0500 Subject: [PATCH] Configurable Cartographer Treasure Maps @@ -9,7 +9,7 @@ Also allow turning off treasure maps all together as they can eat up Map ID's which are limited in quantity. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5d7d6fa36..0d2537ab8 100644 +index ba8edcf7e..bf11448bc 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -310,4 +310,14 @@ public class PaperWorldConfig { @@ -28,19 +28,19 @@ index 5d7d6fa36..0d2537ab8 100644 + } } diff --git a/src/main/java/net/minecraft/server/VillagerTrades.java b/src/main/java/net/minecraft/server/VillagerTrades.java -index 8cee460bd..99374fe2a 100644 +index 3bcf0b385..4764ffef7 100644 --- a/src/main/java/net/minecraft/server/VillagerTrades.java +++ b/src/main/java/net/minecraft/server/VillagerTrades.java -@@ -89,7 +89,8 @@ public class VillagerTrades { - @Override - public MerchantRecipe a(Entity entity, Random random) { - World world = entity.world; -- BlockPosition blockposition = world.a(this.b, new BlockPosition(entity), 100, true); -+ if (!world.paperConfig.enableTreasureMaps) return null; //Paper -+ BlockPosition blockposition = world.a(this.b, new BlockPosition(entity), 100, !world.paperConfig.treasureMapsAlreadyDiscovered); //Paper +@@ -92,7 +92,8 @@ public class VillagerTrades { + return null; + } else { + WorldServer worldserver = (WorldServer) entity.world; +- BlockPosition blockposition = worldserver.a(this.b, new BlockPosition(entity), 100, true); ++ if (!worldserver.paperConfig.enableTreasureMaps) return null; //Paper ++ BlockPosition blockposition = worldserver.a(this.b, new BlockPosition(entity), 100, !worldserver.paperConfig.treasureMapsAlreadyDiscovered); //Paper - if (blockposition != null) { - ItemStack itemstack = ItemWorldMap.createFilledMapView(world, blockposition.getX(), blockposition.getZ(), (byte) 2, true, true); + if (blockposition != null) { + ItemStack itemstack = ItemWorldMap.createFilledMapView(worldserver, blockposition.getX(), blockposition.getZ(), (byte) 2, true, true); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0135-Optimize-ItemStack.isEmpty.patch b/Spigot-Server-Patches/0131-Optimize-ItemStack.isEmpty.patch similarity index 82% rename from Spigot-Server-Patches/0135-Optimize-ItemStack.isEmpty.patch rename to Spigot-Server-Patches/0131-Optimize-ItemStack.isEmpty.patch index 6918dab55f..4e273d4a8a 100644 --- a/Spigot-Server-Patches/0135-Optimize-ItemStack.isEmpty.patch +++ b/Spigot-Server-Patches/0131-Optimize-ItemStack.isEmpty.patch @@ -1,4 +1,4 @@ -From 679bef409a36a11aecd5edb2bf998581b3f324de Mon Sep 17 00:00:00 2001 +From bf58400df5a723d81164dc713ed54293b8ff6dc4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Dec 2016 03:48:29 -0500 Subject: [PATCH] Optimize ItemStack.isEmpty() @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize ItemStack.isEmpty() Remove hashMap lookup every check, simplify code to remove ternary diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 5bc078d31..09d0de48e 100644 +index 0a1596ff0..2d0a8c58f 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java -@@ -145,7 +145,7 @@ public final class ItemStack { +@@ -150,7 +150,7 @@ public final class ItemStack { } public boolean isEmpty() { @@ -19,5 +19,5 @@ index 5bc078d31..09d0de48e 100644 public ItemStack cloneAndSubtract(int i) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0132-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 91% rename from Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to Spigot-Server-Patches/0132-Add-API-methods-to-control-if-armour-stands-can-move.patch index ed766fb84b..51f46adfd0 100644 --- a/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0132-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From acb6a2a74f23b56bdaa44797acc636ebfec78049 Mon Sep 17 00:00:00 2001 +From 5503284388857eb1a7a16fb5d85d84f5c66edf6d Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 2e7d966c2..3e78b152f 100644 +index 9d0b85d1c..37ce4d48b 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -43,6 +43,7 @@ public class EntityArmorStand extends EntityLiving { @@ -16,7 +16,7 @@ index 2e7d966c2..3e78b152f 100644 public EntityArmorStand(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -801,4 +802,13 @@ public class EntityArmorStand extends EntityLiving { +@@ -817,4 +818,13 @@ public class EntityArmorStand extends EntityLiving { return this.getEntityType().k().a(f); } @@ -52,5 +52,5 @@ index 2b66a08ad..124c3185b 100644 + // Paper end } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0133-Properly-fix-item-duplication-bug.patch similarity index 82% rename from Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch rename to Spigot-Server-Patches/0133-Properly-fix-item-duplication-bug.patch index 1efeb54c3a..c4048961e3 100644 --- a/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0133-Properly-fix-item-duplication-bug.patch @@ -1,4 +1,4 @@ -From 7615e6c4249f387bd62392ce23bf5f759be70b85 Mon Sep 17 00:00:00 2001 +From d53b09c688a512f440207e31541029476496d469 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Tue, 27 Dec 2016 01:57:57 +0000 Subject: [PATCH] Properly fix item duplication bug @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 170f741d4..88bc8b531 100644 +index bf74db31e..4e6601617 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1803,7 +1803,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1767,7 +1767,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override protected boolean isFrozen() { @@ -19,10 +19,10 @@ index 170f741d4..88bc8b531 100644 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 13c1d9b91..068827e2e 100644 +index 16b70221e..cc6a2aaeb 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 { +@@ -2525,7 +2525,7 @@ public class PlayerConnection implements PacketListenerPlayIn { } public final boolean isDisconnected() { @@ -32,5 +32,5 @@ index 13c1d9b91..068827e2e 100644 // CraftBukkit end -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0138-String-based-Action-Bar-API.patch b/Spigot-Server-Patches/0134-String-based-Action-Bar-API.patch similarity index 93% rename from Spigot-Server-Patches/0138-String-based-Action-Bar-API.patch rename to Spigot-Server-Patches/0134-String-based-Action-Bar-API.patch index 028098232a..d3ee978b18 100644 --- a/Spigot-Server-Patches/0138-String-based-Action-Bar-API.patch +++ b/Spigot-Server-Patches/0134-String-based-Action-Bar-API.patch @@ -1,4 +1,4 @@ -From f9190f756fad99e0f3dd79bfabfbbf310d7ffc29 Mon Sep 17 00:00:00 2001 +From 2711c437c0a4ce474e4579a6a11b84393ec9907b Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Dec 2016 15:02:42 -0500 Subject: [PATCH] String based Action Bar API @@ -42,10 +42,10 @@ index c96f3ed17..1f6a12632 100644 public static boolean isMainThread() { return MinecraftServer.getServer().isMainThread(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d854d4844..d06415382 100644 +index 534e2756d..1c5007015 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -217,6 +217,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -216,6 +216,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start @@ -65,5 +65,5 @@ index d854d4844..d06415382 100644 public void setPlayerListHeaderFooter(BaseComponent[] header, BaseComponent[] footer) { if (header != null) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0139-Firework-API-s.patch b/Spigot-Server-Patches/0135-Firework-API-s.patch similarity index 81% rename from Spigot-Server-Patches/0139-Firework-API-s.patch rename to Spigot-Server-Patches/0135-Firework-API-s.patch index effd5fb472..4782889415 100644 --- a/Spigot-Server-Patches/0139-Firework-API-s.patch +++ b/Spigot-Server-Patches/0135-Firework-API-s.patch @@ -1,11 +1,11 @@ -From 76db7975abcdafa9fcfec1b5448d2bde8f9b4cff Mon Sep 17 00:00:00 2001 +From 83eee358ab42e7130b5dad53a4c0a98f202610c4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 28 Dec 2016 07:18:33 +0100 Subject: [PATCH] Firework API's diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java -index 8f4116cde..dbbb96ac5 100644 +index 4f51b9b65..278ef79d8 100644 --- a/src/main/java/net/minecraft/server/EntityFireworks.java +++ b/src/main/java/net/minecraft/server/EntityFireworks.java @@ -3,6 +3,8 @@ package net.minecraft.server; @@ -18,7 +18,7 @@ index 8f4116cde..dbbb96ac5 100644 public class EntityFireworks extends Entity implements IProjectile { @@ -12,7 +14,8 @@ public class EntityFireworks extends Entity implements IProjectile { - public static final DataWatcherObject d = DataWatcher.a(EntityFireworks.class, DataWatcherRegistry.i); // PAIL + public static final DataWatcherObject SHOT_AT_ANGLE = DataWatcher.a(EntityFireworks.class, DataWatcherRegistry.i); private int ticksFlown; public int expectedLifespan; - private EntityLiving ridingEntity; @@ -27,10 +27,10 @@ index 8f4116cde..dbbb96ac5 100644 public EntityFireworks(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -271,6 +274,11 @@ public class EntityFireworks extends Entity implements IProjectile { +@@ -268,6 +271,11 @@ public class EntityFireworks extends Entity implements IProjectile { } - nbttagcompound.setBoolean("ShotAtAngle", (Boolean) this.datawatcher.get(EntityFireworks.d)); + nbttagcompound.setBoolean("ShotAtAngle", (Boolean) this.datawatcher.get(EntityFireworks.SHOT_AT_ANGLE)); + // Paper start + if (this.spawningEntity != null) { + nbttagcompound.setUUID("SpawningEntity", this.spawningEntity); @@ -39,9 +39,9 @@ index 8f4116cde..dbbb96ac5 100644 } @Override -@@ -286,7 +294,11 @@ public class EntityFireworks extends Entity implements IProjectile { +@@ -283,7 +291,11 @@ public class EntityFireworks extends Entity implements IProjectile { if (nbttagcompound.hasKey("ShotAtAngle")) { - this.datawatcher.set(EntityFireworks.d, nbttagcompound.getBoolean("ShotAtAngle")); + this.datawatcher.set(EntityFireworks.SHOT_AT_ANGLE, nbttagcompound.getBoolean("ShotAtAngle")); } - + // Paper start @@ -53,30 +53,30 @@ index 8f4116cde..dbbb96ac5 100644 @Override diff --git a/src/main/java/net/minecraft/server/ItemCrossbow.java b/src/main/java/net/minecraft/server/ItemCrossbow.java -index 28d7fdeef..874d9f500 100644 +index 6f2f6b9f5..608be9e70 100644 --- a/src/main/java/net/minecraft/server/ItemCrossbow.java +++ b/src/main/java/net/minecraft/server/ItemCrossbow.java @@ -199,6 +199,7 @@ public class ItemCrossbow extends ItemProjectileWeapon { if (flag1) { - object = new EntityFireworks(world, itemstack1, entityliving.locX, entityliving.locY + (double) entityliving.getHeadHeight() - 0.15000000596046448D, entityliving.locZ, true); + object = new EntityFireworks(world, itemstack1, entityliving.locX(), entityliving.getHeadY() - 0.15000000596046448D, entityliving.locZ(), true); + ((EntityFireworks) object).spawningEntity = entityliving.getUniqueID(); // Paper } else { object = a(world, entityliving, itemstack, itemstack1); if (flag || f3 != 0.0F) { diff --git a/src/main/java/net/minecraft/server/ItemFireworks.java b/src/main/java/net/minecraft/server/ItemFireworks.java -index 37caa79cb..aea46ffae 100644 +index 914297bad..76b253a50 100644 --- a/src/main/java/net/minecraft/server/ItemFireworks.java +++ b/src/main/java/net/minecraft/server/ItemFireworks.java -@@ -17,6 +17,7 @@ public class ItemFireworks extends Item { - ItemStack itemstack = itemactioncontext.getItemStack(); +@@ -18,6 +18,7 @@ public class ItemFireworks extends Item { Vec3D vec3d = itemactioncontext.j(); - EntityFireworks entityfireworks = new EntityFireworks(world, vec3d.x, vec3d.y, vec3d.z, itemstack); + EnumDirection enumdirection = itemactioncontext.getClickedFace(); + EntityFireworks entityfireworks = new EntityFireworks(world, vec3d.x + (double) enumdirection.getAdjacentX() * 0.15D, vec3d.y + (double) enumdirection.getAdjacentY() * 0.15D, vec3d.z + (double) enumdirection.getAdjacentZ() * 0.15D, itemstack); + entityfireworks.spawningEntity = itemactioncontext.getEntity().getUniqueID(); // Paper world.addEntity(entityfireworks); itemstack.subtract(1); -@@ -31,7 +32,11 @@ public class ItemFireworks extends Item { +@@ -32,7 +33,11 @@ public class ItemFireworks extends Item { ItemStack itemstack = entityhuman.b(enumhand); if (!world.isClientSide) { @@ -90,10 +90,10 @@ index 37caa79cb..aea46ffae 100644 itemstack.subtract(1); } diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index 3f6d2676e..b1fd18151 100644 +index 75604dbc6..98deaba12 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java -@@ -112,7 +112,7 @@ public class NBTTagCompound implements NBTBase { +@@ -136,7 +136,7 @@ public class NBTTagCompound implements NBTBase { return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least")); } @@ -103,7 +103,7 @@ index 3f6d2676e..b1fd18151 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java -index d3cbad9a5..219a1e4c0 100644 +index 475b7b004..de74e7214 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFirework.java @@ -2,6 +2,7 @@ package org.bukkit.craftbukkit.entity; @@ -128,7 +128,7 @@ index d3cbad9a5..219a1e4c0 100644 private final Random random = new Random(); @@ -78,4 +82,17 @@ public class CraftFirework extends CraftEntity implements Firework { public void setShotAtAngle(boolean shotAtAngle) { - getHandle().getDataWatcher().set(EntityFireworks.d, shotAtAngle); + getHandle().getDataWatcher().set(EntityFireworks.SHOT_AT_ANGLE, shotAtAngle); } + + // Paper start @@ -145,5 +145,5 @@ index d3cbad9a5..219a1e4c0 100644 + // Paper end } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0140-PlayerTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0136-PlayerTeleportEndGatewayEvent.patch similarity index 88% rename from Spigot-Server-Patches/0140-PlayerTeleportEndGatewayEvent.patch rename to Spigot-Server-Patches/0136-PlayerTeleportEndGatewayEvent.patch index a9f7a60b8f..69880b6cc2 100644 --- a/Spigot-Server-Patches/0140-PlayerTeleportEndGatewayEvent.patch +++ b/Spigot-Server-Patches/0136-PlayerTeleportEndGatewayEvent.patch @@ -1,4 +1,4 @@ -From 453ea87e48a77798e95881e9c9f593066e3875c6 Mon Sep 17 00:00:00 2001 +From b399ea16b2848230ce345357ac855fc4e9b19a21 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 31 Dec 2016 21:44:50 -0500 Subject: [PATCH] PlayerTeleportEndGatewayEvent @@ -6,10 +6,10 @@ Subject: [PATCH] PlayerTeleportEndGatewayEvent Allows you to access the Gateway being used in a teleport event diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -index 2f44cf89f..1783f5914 100644 +index b907a3c4d..78fba7937 100644 --- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java +++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java -@@ -132,7 +132,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick +@@ -133,7 +133,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick location.setPitch(player.getLocation().getPitch()); location.setYaw(player.getLocation().getYaw()); @@ -19,5 +19,5 @@ index 2f44cf89f..1783f5914 100644 if (teleEvent.isCancelled()) { return; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0141-Provide-E-TE-Chunk-count-stat-methods.patch b/Spigot-Server-Patches/0137-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 92% rename from Spigot-Server-Patches/0141-Provide-E-TE-Chunk-count-stat-methods.patch rename to Spigot-Server-Patches/0137-Provide-E-TE-Chunk-count-stat-methods.patch index 007ecf26ae..bf4dc8480b 100644 --- a/Spigot-Server-Patches/0141-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/Spigot-Server-Patches/0137-Provide-E-TE-Chunk-count-stat-methods.patch @@ -1,4 +1,4 @@ -From 66248ba62555ea5329f7a91875e29baa69650ba9 Mon Sep 17 00:00:00 2001 +From 94daa691d441e249ceeffd0b9d6849bfd8417f4b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 Jan 2017 15:24:46 -0500 Subject: [PATCH] Provide E/TE/Chunk count stat methods @@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 253177d1b6..63ef42d860 100644 +index 31213dd20..ebe30cc21 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -274,6 +274,48 @@ public class CraftWorld implements World { +@@ -275,6 +275,48 @@ public class CraftWorld implements World { private int waterAnimalSpawn = -1; private int ambientSpawn = -1; @@ -60,5 +60,5 @@ index 253177d1b6..63ef42d860 100644 public CraftWorld(WorldServer world, ChunkGenerator gen, Environment env) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch b/Spigot-Server-Patches/0138-Enforce-Sync-Player-Saves.patch similarity index 85% rename from Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch rename to Spigot-Server-Patches/0138-Enforce-Sync-Player-Saves.patch index 102047ec35..bbe7963485 100644 --- a/Spigot-Server-Patches/0142-Enforce-Sync-Player-Saves.patch +++ b/Spigot-Server-Patches/0138-Enforce-Sync-Player-Saves.patch @@ -1,4 +1,4 @@ -From 7b82841465226946c7984c2825385fe912d96c59 Mon Sep 17 00:00:00 2001 +From df4a5a4b9a37740c2ad02f8e9f51f4167f1257d6 Mon Sep 17 00:00:00 2001 From: Aikar 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 ee5297dc3..ccf8b7c70 100644 +index b7012b5b6..ce5bd2229 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -930,11 +930,13 @@ public abstract class PlayerList { +@@ -931,11 +931,13 @@ public abstract class PlayerList { } public void savePlayers() { @@ -25,5 +25,5 @@ index ee5297dc3..ccf8b7c70 100644 public WhiteList getWhitelist() { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0143-Don-t-allow-entities-to-ride-themselves-572.patch b/Spigot-Server-Patches/0139-Don-t-allow-entities-to-ride-themselves-572.patch similarity index 82% rename from Spigot-Server-Patches/0143-Don-t-allow-entities-to-ride-themselves-572.patch rename to Spigot-Server-Patches/0139-Don-t-allow-entities-to-ride-themselves-572.patch index 5d843238ed..b0ae663622 100644 --- a/Spigot-Server-Patches/0143-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/Spigot-Server-Patches/0139-Don-t-allow-entities-to-ride-themselves-572.patch @@ -1,14 +1,14 @@ -From ec3b684b139bf03519280a5324d5cf789fa9f1f6 Mon Sep 17 00:00:00 2001 +From d9e303b768837901e71e950b680879ca1ec734f4 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Sun, 8 Jan 2017 04:31:36 +0000 Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 187fea130..f2be5b5a3 100644 +index 63d44401a..1619d9f41 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2043,6 +2043,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2025,6 +2025,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } protected boolean addPassenger(Entity entity) { // CraftBukkit @@ -17,5 +17,5 @@ index 187fea130..f2be5b5a3 100644 throw new IllegalStateException("Use x.startRiding(y), not y.addPassenger(x)"); } else { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0140-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 81% rename from Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to Spigot-Server-Patches/0140-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index f915bdf367..12cc732ec5 100644 --- a/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0140-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From 81a7559230ad173c9c710bfbc2e21200b6218cc1 Mon Sep 17 00:00:00 2001 +From 72e3bfa7713a5deae4baf261a1fd63a6a5a7ef10 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:31:46 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player @@ -8,7 +8,7 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 1426bd01ad..880fc52703 100644 +index e485d4a82..3e4fc4ee5 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -511,13 +511,13 @@ public class Block implements IMaterial { @@ -28,7 +28,7 @@ index 1426bd01ad..880fc52703 100644 } diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java -index 2d2cd09ad1..ed88e208d0 100644 +index 2d2cd09ad..ed88e208d 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,20 +41,20 @@ index 2d2cd09ad1..ed88e208d0 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 cf857b88de..5fae347db2 100644 +index e0d240a89..07abcc1e2 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 { +@@ -616,7 +616,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { int j = EntityExperienceOrb.getOrbValue(i); i -= j; -- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j)); -+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j, org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, this.killer, this)); // Paper +- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j)); ++ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j, org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, this.killer, this)); // Paper } } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index eec6de9ad7..35f03947d6 100644 +index 0447800d9..d4275e733 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,102 +134,102 @@ index eec6de9ad7..35f03947d6 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 758559d35d..2a351701b4 100644 +index 8ad0d0db1..8d48154e5 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 { +@@ -401,7 +401,7 @@ public class EntityFishingHook extends Entity { this.world.addEntity(entityitem); // CraftBukkit start - this.random.nextInt(6) + 1 -> playerFishEvent.getExpToDrop() if (playerFishEvent.getExpToDrop() > 0) { -- this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX, this.owner.locY + 0.5D, this.owner.locZ + 0.5D, playerFishEvent.getExpToDrop())); -+ this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX, this.owner.locY + 0.5D, this.owner.locZ + 0.5D, playerFishEvent.getExpToDrop(), org.bukkit.entity.ExperienceOrb.SpawnReason.FISHING, this.owner, this)); // Paper +- this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX(), this.owner.locY() + 0.5D, this.owner.locZ() + 0.5D, playerFishEvent.getExpToDrop())); ++ this.owner.world.addEntity(new EntityExperienceOrb(this.owner.world, this.owner.locX(), this.owner.locY() + 0.5D, this.owner.locZ() + 0.5D, playerFishEvent.getExpToDrop(), org.bukkit.entity.ExperienceOrb.SpawnReason.FISHING, this.owner, this)); // Paper } // 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 5fa937aeae..6ba5e98400 100644 +index 191e7dfaf..be85a76ac 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -385,7 +385,8 @@ public abstract class EntityLiving extends Entity { +@@ -1377,7 +1377,8 @@ public abstract class EntityLiving extends Entity { int j = EntityExperienceOrb.getOrbValue(i); i -= j; -- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j)); +- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j)); + EntityLiving attacker = killer != null ? killer : lastDamager; // Paper -+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j, this instanceof EntityPlayer ? org.bukkit.entity.ExperienceOrb.SpawnReason.PLAYER_DEATH : org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, attacker, this)); // Paper ++ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j, this instanceof EntityPlayer ? org.bukkit.entity.ExperienceOrb.SpawnReason.PLAYER_DEATH : org.bukkit.entity.ExperienceOrb.SpawnReason.ENTITY_DEATH, attacker, this)); // Paper } 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 4ac5cce062..05970c5644 100644 +index 0bfc0a773..ba2f90cc6 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 { int j = EntityExperienceOrb.getOrbValue(i); i -= j; -- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j)); -+ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX, this.locY, this.locZ, j, org.bukkit.entity.ExperienceOrb.SpawnReason.EXP_BOTTLE, getShooter(), this)); // Paper +- this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j)); ++ this.world.addEntity(new EntityExperienceOrb(this.world, this.locX(), this.locY(), this.locZ(), j, org.bukkit.entity.ExperienceOrb.SpawnReason.EXP_BOTTLE, getShooter(), this)); // Paper } this.die(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 25c7214ded..594cc70def 100644 +index c73cc9ae4..76296119a 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java -@@ -508,7 +508,7 @@ public class EntityTurtle extends EntityAnimal { +@@ -510,7 +510,7 @@ public class EntityTurtle extends EntityAnimal { Random random = this.animal.getRandom(); if (this.b.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) { -- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, random.nextInt(7) + 1)); -+ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, random.nextInt(7) + 1, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer)); // Paper; +- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), random.nextInt(7) + 1)); ++ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), random.nextInt(7) + 1, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer)); // Paper; } } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index dcd02930d9..8a5127c5d1 100644 +index 00300c6aa..4aa947e24 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -504,7 +504,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -506,7 +506,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation } 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 +- 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 1753c67aa9..a24e7127d7 100644 +index fa814814f..14ccf33c0 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.isRewardExp()) { int i = 3 + this.random.nextInt(4); -- 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 +- 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/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 363a98bece..0cc34400be 100644 +index 1ab2668e9..2b708761d 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 { if (this.b.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) { // CraftBukkit start - use event experience if (experience > 0) { -- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, experience)); -+ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX, this.animal.locY, this.animal.locZ, experience, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer, entityageable)); // Paper +- this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), experience)); ++ this.b.addEntity(new EntityExperienceOrb(this.b, this.animal.locX(), this.animal.locY(), this.animal.locZ(), experience, org.bukkit.entity.ExperienceOrb.SpawnReason.BREED, entityplayer, entityageable)); // Paper } // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index d4df766111..bce3844dd5 100644 +index 46154b281..56f249c43 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -364,7 +364,7 @@ public class PlayerInteractManager { +@@ -374,7 +374,7 @@ public class PlayerInteractManager { // Drop event experience if (flag && event != null) { @@ -239,7 +239,7 @@ index d4df766111..bce3844dd5 100644 return true; 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,23 +252,23 @@ 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 0cb2e6d874..2bbd3663a7 100644 +index 2a51a241e..0419aea92 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 while (i > 0) { j = EntityExperienceOrb.getOrbValue(i); i -= j; -- entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX, entityhuman.locY + 0.5D, entityhuman.locZ + 0.5D, j)); -+ entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX, entityhuman.locY + 0.5D, entityhuman.locZ + 0.5D, j, org.bukkit.entity.ExperienceOrb.SpawnReason.FURNACE, entityhuman)); // Paper +- entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX(), entityhuman.locY() + 0.5D, entityhuman.locZ() + 0.5D, j)); ++ entityhuman.world.addEntity(new EntityExperienceOrb(entityhuman.world, entityhuman.locX(), entityhuman.locY() + 0.5D, entityhuman.locZ() + 0.5D, j, org.bukkit.entity.ExperienceOrb.SpawnReason.FURNACE, entityhuman)); // Paper } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 63ef42d860..0e4f4cda0b 100644 +index ebe30cc21..b7db32833 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1733,7 +1733,7 @@ public class CraftWorld implements World { +@@ -1749,7 +1749,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 63ef42d860..0e4f4cda0b 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 { @@ -301,5 +301,5 @@ index 1b512cc45c..fbad045675 100644 public EntityExperienceOrb getHandle() { return (EntityExperienceOrb) entity; -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0145-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0141-Cap-Entity-Collisions.patch similarity index 87% rename from Spigot-Server-Patches/0145-Cap-Entity-Collisions.patch rename to Spigot-Server-Patches/0141-Cap-Entity-Collisions.patch index 59af8b325e..e10c637a55 100644 --- a/Spigot-Server-Patches/0145-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0141-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From e4d0e2c4c05de3b2d3f6554050f3e1cae9bce922 Mon Sep 17 00:00:00 2001 +From c667019226f7a78de46e1e18cdc92176f0b1044c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jan 2017 18:07:56 -0500 Subject: [PATCH] Cap Entity Collisions @@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped. You can set this to 0 to disable collisions. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 0d2537ab8..2d01984f0 100644 +index bf11448bc..e00e1e8f6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -320,4 +320,10 @@ public class PaperWorldConfig { @@ -27,10 +27,10 @@ index 0d2537ab8..2d01984f0 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f4188fc75..482864ac6 100644 +index 1619d9f41..fcfe8f550 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -184,6 +184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -189,6 +189,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public final boolean defaultActivationState; public long activatedTick = Integer.MIN_VALUE; public boolean fromMobSpawner; @@ -39,10 +39,10 @@ index f4188fc75..482864ac6 100644 // Spigot end diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 6ba5e9840..79edb3b3c 100644 +index be85a76ac..6379b361a 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2560,8 +2560,11 @@ public abstract class EntityLiving extends Entity { +@@ -2621,8 +2621,11 @@ public abstract class EntityLiving extends Entity { } } @@ -53,8 +53,8 @@ index 6ba5e9840..79edb3b3c 100644 + entity.numCollisions++; // Paper + numCollisions++; // Paper - this.D(entity); + this.C(entity); } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0146-Remove-CraftScheduler-Async-Task-Debugger.patch b/Spigot-Server-Patches/0142-Remove-CraftScheduler-Async-Task-Debugger.patch similarity index 95% rename from Spigot-Server-Patches/0146-Remove-CraftScheduler-Async-Task-Debugger.patch rename to Spigot-Server-Patches/0142-Remove-CraftScheduler-Async-Task-Debugger.patch index 87388f8568..f4491eacfb 100644 --- a/Spigot-Server-Patches/0146-Remove-CraftScheduler-Async-Task-Debugger.patch +++ b/Spigot-Server-Patches/0142-Remove-CraftScheduler-Async-Task-Debugger.patch @@ -1,4 +1,4 @@ -From 8a89d0054aa70d747bc10d9a0f546df94ab6bb3e Mon Sep 17 00:00:00 2001 +From 37411084342435f6aad5b3250a8c95300c63489c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 5 Feb 2017 00:04:04 -0500 Subject: [PATCH] Remove CraftScheduler Async Task Debugger @@ -9,7 +9,7 @@ One report of a suspected memory leak with the system. This adds additional overhead to asynchronous task dispatching diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 552daf4376..e102be583c 100644 +index 552daf437..e102be583 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -414,7 +414,7 @@ public class CraftScheduler implements BukkitScheduler { @@ -47,5 +47,5 @@ index 552daf4376..e102be583c 100644 @Deprecated -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0143-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch similarity index 61% rename from Spigot-Server-Patches/0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch rename to Spigot-Server-Patches/0143-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index f581d9f8a1..8c904589fb 100644 --- a/Spigot-Server-Patches/0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/Spigot-Server-Patches/0143-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -1,23 +1,23 @@ -From 3728f0b19240c5f228fb7caa3e467ab7f78f9155 Mon Sep 17 00:00:00 2001 +From ea0c748587a2f8db9942b79451971ba63d98d112 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 7 Feb 2017 16:55:35 -0600 Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 14b0875eee..63140fb642 100644 +index 1d4eddd93..492d1538f 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -109,7 +109,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { - this.v = new AtomicInteger(); +@@ -110,7 +110,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { + this.u = new AtomicInteger(); this.playerMap = new PlayerMap(); this.trackedEntities = new Int2ObjectOpenHashMap(); -- this.A = Queues.newConcurrentLinkedQueue(); -+ this.A = new com.destroystokyo.paper.utils.CachedSizeConcurrentLinkedQueue<>(); // Paper +- this.z = Queues.newConcurrentLinkedQueue(); ++ this.z = new com.destroystokyo.paper.utils.CachedSizeConcurrentLinkedQueue<>(); // Paper this.definedStructureManager = definedstructuremanager; - this.x = worldserver.getWorldProvider().getDimensionManager().a(file); + this.w = worldserver.getWorldProvider().getDimensionManager().a(file); this.world = worldserver; -@@ -354,7 +354,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -356,7 +356,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // Spigot start org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; activityAccountant.startActivity(0.5); @@ -26,17 +26,16 @@ index 14b0875eee..63140fb642 100644 // Spigot end while (longiterator.hasNext()) { // Spigot long j = longiterator.nextLong(); -@@ -376,7 +376,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -378,7 +378,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { Runnable runnable; -- while ((booleansupplier.getAsBoolean() || this.A.size() > 2000) && (runnable = (Runnable) this.A.poll()) != null) { -+ int queueTarget = Math.min(this.A.size() - 100, (int) (this.A.size() * UNLOAD_QUEUE_RESIZE_FACTOR)); // Paper - Target this queue as well -+ -+ while ((booleansupplier.getAsBoolean() || this.A.size() > queueTarget) && (runnable = (Runnable) this.A.poll()) != null) { // Paper - Target this queue as well +- while ((booleansupplier.getAsBoolean() || this.z.size() > 2000) && (runnable = (Runnable) this.z.poll()) != null) { ++ int queueTarget = Math.min(this.z.size() - 100, (int) (this.z.size() * UNLOAD_QUEUE_RESIZE_FACTOR)); // Paper - Target this queue as well ++ while ((booleansupplier.getAsBoolean() || this.z.size() > queueTarget) && (runnable = (Runnable) this.z.poll()) != null) { // Paper - Target this queue as well runnable.run(); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0144-Do-not-let-armorstands-drown.patch similarity index 70% rename from Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch rename to Spigot-Server-Patches/0144-Do-not-let-armorstands-drown.patch index 2aac8c92ee..053e162014 100644 --- a/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0144-Do-not-let-armorstands-drown.patch @@ -1,14 +1,14 @@ -From 2f2e638edbbacbf9356bc1679b56ac781e14df12 Mon Sep 17 00:00:00 2001 +From fb88fcc7b5baa69684dd4771823d7a4a8aa14ed2 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 18 Feb 2017 19:29:58 -0600 Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 3e78b152f..9e6633a1b 100644 +index 37ce4d48b..80bf58b05 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java -@@ -810,5 +810,10 @@ public class EntityArmorStand extends EntityLiving { +@@ -826,5 +826,10 @@ public class EntityArmorStand extends EntityLiving { super.move(moveType, vec3d); } } @@ -20,26 +20,26 @@ index 3e78b152f..9e6633a1b 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 79edb3b3c..a016cbb21 100644 +index 6379b361a..f6cb18639 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -223,6 +223,7 @@ public abstract class EntityLiving extends Entity { +@@ -227,6 +227,7 @@ public abstract class EntityLiving extends Entity { super.a(d0, flag, iblockdata, blockposition); } -+ public boolean canBreatheUnderwater() { return this.cm(); } // Paper - OBFHELPER - public boolean cm() { ++ public boolean canBreatheUnderwater() { return this.cB(); } // Paper - OBFHELPER + public boolean cB() { return this.getMonsterType() == EnumMonsterType.UNDEAD; } -@@ -262,7 +263,7 @@ public abstract class EntityLiving extends Entity { +@@ -266,7 +267,7 @@ public abstract class EntityLiving extends Entity { if (this.isAlive()) { - if (this.a(TagsFluid.WATER) && this.world.getType(new BlockPosition(this.locX, this.locY + (double) this.getHeadHeight(), this.locZ)).getBlock() != Blocks.BUBBLE_COLUMN) { -- if (!this.cm() && !MobEffectUtil.c(this) && !flag1) { + if (this.a(TagsFluid.WATER) && this.world.getType(new BlockPosition(this.locX(), this.getHeadY(), this.locZ())).getBlock() != Blocks.BUBBLE_COLUMN) { +- if (!this.cB() && !MobEffectUtil.c(this) && !flag1) { + if (!this.canBreatheUnderwater() && !MobEffectUtil.c(this) && !flag1) { // Paper - use OBFHELPER so it can be overridden this.setAirTicks(this.l(this.getAirTicks())); if (this.getAirTicks() == -20) { this.setAirTicks(0); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0145-Properly-handle-async-calls-to-restart-the-server.patch similarity index 95% rename from Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch rename to Spigot-Server-Patches/0145-Properly-handle-async-calls-to-restart-the-server.patch index 24337dffbc..dc74a535c1 100644 --- a/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0145-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From 7dc83c0fff37f349a9d529e535df8226404a49b2 Mon Sep 17 00:00:00 2001 +From 6be55762cf5ee4507a7f72325554765c96dc7d2c Mon Sep 17 00:00:00 2001 From: Zach Brown 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 6a2933f4ff..f621350ea6 100644 +index 38bf3ea44..a180ba6b0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -88,6 +88,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 13 May 2017 20:11:21 -0500 Subject: [PATCH] Add system property to disable book size limits @@ -11,7 +11,7 @@ to make books with as much data as they want. Do not use this without limiting incoming data from packets in some other way. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index 804fe9499..7262920c1 100644 +index 0e89025a0..1bf74bdae 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -36,6 +36,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { @@ -57,5 +57,5 @@ index 804fe9499..7262920c1 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0147-Add-option-to-make-parrots-stay-on-shoulders-despite.patch similarity index 84% rename from Spigot-Server-Patches/0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch rename to Spigot-Server-Patches/0147-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index bfb46bd743..d623f91ed7 100644 --- a/Spigot-Server-Patches/0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/Spigot-Server-Patches/0147-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -1,4 +1,4 @@ -From 4e20ea037a039e8799ae11a8767bb7eb482b6865 Mon Sep 17 00:00:00 2001 +From 2efa7347f652e1e7343139018169984a046c3812 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 16 May 2017 21:29:08 -0500 Subject: [PATCH] Add option to make parrots stay on shoulders despite movement @@ -11,7 +11,7 @@ I suspect Mojang may switch to this behavior before full release. To be converted into a Paper-API event 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 2d01984f0..42c4a9445 100644 +index e00e1e8f6..f151e43c3 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -326,4 +326,10 @@ public class PaperWorldConfig { @@ -26,25 +26,25 @@ index 2d01984f0..42c4a9445 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 4ceac0a2f..c162c6b73 100644 +index 242d0df1c..673e2b79d 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -451,7 +451,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -463,7 +463,7 @@ public abstract class EntityHuman extends EntityLiving { this.j(this.getShoulderEntityLeft()); this.j(this.getShoulderEntityRight()); - if (!this.world.isClientSide && (this.fallDistance > 0.5F || this.isInWater() || this.isPassenger()) || this.abilities.isFlying || this.isSleeping()) { + if (!this.world.isClientSide && (this.fallDistance > 0.5F || this.isInWater()) || this.abilities.isFlying || this.isSleeping()) { - this.releaseShoulderEntities(); + if (!this.world.paperConfig.parrotsHangOnBetter) this.releaseShoulderEntities(); // Paper - Hang on! } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 068827e2e..579c551f9 100644 +index cc6a2aaeb..01ab2e151 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1756,6 +1756,13 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1772,6 +1772,13 @@ public class PlayerConnection implements PacketListenerPlayIn { switch (packetplayinentityaction.c()) { - case START_SNEAKING: + case PRESS_SHIFT_KEY: this.player.setSneaking(true); + + // Paper start - Hang on! @@ -54,8 +54,8 @@ index 068827e2e..579c551f9 100644 + // Paper end + break; - case STOP_SNEAKING: + case RELEASE_SHIFT_KEY: this.player.setSneaking(false); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0152-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-Server-Patches/0148-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 87% rename from Spigot-Server-Patches/0152-Add-configuration-option-to-prevent-player-names-fro.patch rename to Spigot-Server-Patches/0148-Add-configuration-option-to-prevent-player-names-fro.patch index d3b078c62f..b923639f33 100644 --- a/Spigot-Server-Patches/0152-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-Server-Patches/0148-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From 047c0fb7c02a50bdd6e251d0d179adf2210b76c4 Mon Sep 17 00:00:00 2001 +From 0c7cb8c62714ae93958efc38d6b7a613fccc339c Mon Sep 17 00:00:00 2001 From: kashike Date: Fri, 9 Jun 2017 07:24:34 -0700 Subject: [PATCH] Add configuration option to prevent player names from being @@ -6,7 +6,7 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index b5a50afd24..11d2a1013b 100644 +index 5a83fc21c..295b8390c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -259,4 +259,9 @@ public class PaperConfig { @@ -20,10 +20,10 @@ index b5a50afd24..11d2a1013b 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ca6158dc73..8e6f23d278 100644 +index 811c33b90..77bb68605 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2096,5 +2096,10 @@ public final class CraftServer implements Server { +@@ -2099,5 +2099,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } @@ -35,5 +35,5 @@ index ca6158dc73..8e6f23d278 100644 // Paper end } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0149-Use-TerminalConsoleAppender-for-console-improvements.patch similarity index 97% rename from Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch rename to Spigot-Server-Patches/0149-Use-TerminalConsoleAppender-for-console-improvements.patch index 56dffe41b9..b0121a0ce2 100644 --- a/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0149-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From f00c943e438f24b1dc0c345a59fb52431b5a127d Mon Sep 17 00:00:00 2001 +From 9c98c9243d9cc8b495dce4ef15ed0df94c8d0df5 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index 04b0dd9a7..58b14a740 100644 +index ae1de6d01..f716e9870 100644 --- a/pom.xml +++ b/pom.xml @@ -41,10 +41,27 @@ @@ -143,7 +143,7 @@ index 000000000..685deaa0e + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 895049287..92d0aa6d6 100644 +index a5a8bad4f..dfe806291 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -85,6 +85,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -185,7 +185,7 @@ index 895049287..92d0aa6d6 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 759c71397..6c9a43d66 100644 +index a180ba6b0..7df3ae0ec 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate; @@ -197,7 +197,7 @@ index 759c71397..6c9a43d66 100644 import org.bukkit.Bukkit; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.Main; -@@ -158,7 +158,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -207,7 +207,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0154-provide-a-configurable-option-to-disable-creeper-lin.patch b/Spigot-Server-Patches/0150-provide-a-configurable-option-to-disable-creeper-lin.patch similarity index 85% rename from Spigot-Server-Patches/0154-provide-a-configurable-option-to-disable-creeper-lin.patch rename to Spigot-Server-Patches/0150-provide-a-configurable-option-to-disable-creeper-lin.patch index 75343920ba..2dcae93ffb 100644 --- a/Spigot-Server-Patches/0154-provide-a-configurable-option-to-disable-creeper-lin.patch +++ b/Spigot-Server-Patches/0150-provide-a-configurable-option-to-disable-creeper-lin.patch @@ -1,4 +1,4 @@ -From bf0e527e71fd52aa2bcc2fcd66a19a6fdbc90c5a Mon Sep 17 00:00:00 2001 +From 221b72d1ca538a47727288b31db4e4069ec289e7 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Jun 2017 21:01:18 +0100 Subject: [PATCH] provide a configurable option to disable creeper lingering @@ -6,7 +6,7 @@ Subject: [PATCH] provide a configurable option to disable creeper lingering diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 42c4a9445..891a52b2a 100644 +index f151e43c3..c145e27cc 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -332,4 +332,10 @@ public class PaperWorldConfig { @@ -21,18 +21,18 @@ index 42c4a9445..891a52b2a 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 53b1e2ac0..100a1a10c 100644 +index 859b52845..dabe40c5f 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java -@@ -226,7 +226,7 @@ public class EntityCreeper extends EntityMonster { +@@ -228,7 +228,7 @@ public class EntityCreeper extends EntityMonster { private void createEffectCloud() { Collection collection = this.getEffects(); - if (!collection.isEmpty()) { + if (!collection.isEmpty() && !world.paperConfig.disableCreeperLingeringEffect) { // Paper - EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.locX, this.locY, this.locZ); + EntityAreaEffectCloud entityareaeffectcloud = new EntityAreaEffectCloud(this.world, this.locX(), this.locY(), this.locZ()); entityareaeffectcloud.setSource(this); // CraftBukkit -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0155-Item-canEntityPickup.patch b/Spigot-Server-Patches/0151-Item-canEntityPickup.patch similarity index 85% rename from Spigot-Server-Patches/0155-Item-canEntityPickup.patch rename to Spigot-Server-Patches/0151-Item-canEntityPickup.patch index c37986995b..abbc303dac 100644 --- a/Spigot-Server-Patches/0155-Item-canEntityPickup.patch +++ b/Spigot-Server-Patches/0151-Item-canEntityPickup.patch @@ -1,17 +1,17 @@ -From 4e73cb7abb2e428e3f77a0a75b9b45d63aa2c43d Mon Sep 17 00:00:00 2001 +From d5f7773be6ecef58bcea504533c3bb613ee1ceb5 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 5 May 2017 03:57:17 -0500 Subject: [PATCH] Item#canEntityPickup diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 6e304492cf..a14d490ade 100644 +index dac3540c6..eadac07f6 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -511,6 +511,11 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -513,6 +513,11 @@ public abstract class EntityInsentient extends EntityLiving { EntityItem entityitem = (EntityItem) iterator.next(); - if (!entityitem.dead && !entityitem.getItemStack().isEmpty() && !entityitem.q()) { + if (!entityitem.dead && !entityitem.getItemStack().isEmpty() && !entityitem.p()) { + // Paper Start + if (!entityitem.canMobPickup) { + continue; @@ -21,10 +21,10 @@ index 6e304492cf..a14d490ade 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 0569ad9af8..c0b81223f1 100644 +index f657607a1..9973fc0b1 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java -@@ -19,6 +19,7 @@ public class EntityItem extends Entity { +@@ -20,6 +20,7 @@ public class EntityItem extends Entity { private UUID owner; public final float b; private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit @@ -33,7 +33,7 @@ index 0569ad9af8..c0b81223f1 100644 public EntityItem(EntityTypes entitytypes, World world) { super(entitytypes, world); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index cc593fbc99..3f552b5905 100644 +index cc593fbc9..3f552b590 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -48,6 +48,16 @@ public class CraftItem extends CraftEntity implements Item { @@ -54,5 +54,5 @@ index cc593fbc99..3f552b5905 100644 public String toString() { return "CraftItem"; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0156-PlayerPickupItemEvent-setFlyAtPlayer.patch b/Spigot-Server-Patches/0152-PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 82% rename from Spigot-Server-Patches/0156-PlayerPickupItemEvent-setFlyAtPlayer.patch rename to Spigot-Server-Patches/0152-PlayerPickupItemEvent-setFlyAtPlayer.patch index 19111064d9..a9d79bc472 100644 --- a/Spigot-Server-Patches/0156-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/Spigot-Server-Patches/0152-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -1,14 +1,14 @@ -From 9ebb4b20c387475c0154b08cfe1b769899387fee Mon Sep 17 00:00:00 2001 +From d564e48afbfbcf86f14ef7d91940a5fc82b7b9ee Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 27decbd06..17c291569 100644 +index 9973fc0b1..4b2e19f30 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java -@@ -318,6 +318,7 @@ public class EntityItem extends Entity { +@@ -322,6 +322,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 27decbd06..17c291569 100644 if (this.pickupDelay <= 0 && canHold > 0) { itemstack.setCount(canHold); -@@ -325,8 +326,14 @@ public class EntityItem extends Entity { +@@ -329,8 +330,14 @@ 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); @@ -31,10 +31,10 @@ index 27decbd06..17c291569 100644 return; } -@@ -350,7 +357,11 @@ public class EntityItem extends Entity { +@@ -354,7 +361,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)) { + if (this.pickupDelay == 0 && (this.owner == null || this.owner.equals(entityhuman.getUniqueID())) && entityhuman.inventory.pickup(itemstack)) { - entityhuman.receive(this, i); + // Paper Start + if (flyAtPlayer) { @@ -45,5 +45,5 @@ index 27decbd06..17c291569 100644 this.die(); itemstack.setCount(i); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0157-PlayerAttemptPickupItemEvent.patch b/Spigot-Server-Patches/0153-PlayerAttemptPickupItemEvent.patch similarity index 87% rename from Spigot-Server-Patches/0157-PlayerAttemptPickupItemEvent.patch rename to Spigot-Server-Patches/0153-PlayerAttemptPickupItemEvent.patch index 645f47555f..c8e051ded9 100644 --- a/Spigot-Server-Patches/0157-PlayerAttemptPickupItemEvent.patch +++ b/Spigot-Server-Patches/0153-PlayerAttemptPickupItemEvent.patch @@ -1,14 +1,14 @@ -From 5908c0f26e8452837d9a92f7bf31821e27639437 Mon Sep 17 00:00:00 2001 +From 48df7a39fc7f335f7b3b6e7404156087612219af Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 1baff88c4a..f1f86ef8b5 100644 +index 4b2e19f30..fcc1c0993 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; +@@ -9,6 +9,7 @@ import javax.annotation.Nullable; import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.player.PlayerPickupItemEvent; // CraftBukkit end @@ -16,7 +16,7 @@ index 1baff88c4a..f1f86ef8b5 100644 public class EntityItem extends Entity { -@@ -320,6 +321,22 @@ public class EntityItem extends Entity { +@@ -324,6 +325,22 @@ public class EntityItem extends Entity { int remaining = i - canHold; boolean flyAtPlayer = false; // Paper @@ -40,5 +40,5 @@ index 1baff88c4a..f1f86ef8b5 100644 itemstack.setCount(canHold); // Call legacy event -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0158-Add-UnknownCommandEvent.patch b/Spigot-Server-Patches/0154-Add-UnknownCommandEvent.patch similarity index 91% rename from Spigot-Server-Patches/0158-Add-UnknownCommandEvent.patch rename to Spigot-Server-Patches/0154-Add-UnknownCommandEvent.patch index d3bd4335d1..fc74e64bd4 100644 --- a/Spigot-Server-Patches/0158-Add-UnknownCommandEvent.patch +++ b/Spigot-Server-Patches/0154-Add-UnknownCommandEvent.patch @@ -1,11 +1,11 @@ -From f4b1ac869326bd16b7c94847d5ece41e4dc896c8 Mon Sep 17 00:00:00 2001 +From 0da274f7c094ef3191d0881e7739d9109eb19975 Mon Sep 17 00:00:00 2001 From: Sweepyoface Date: Sat, 17 Jun 2017 18:48:21 -0400 Subject: [PATCH] Add UnknownCommandEvent diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7179692e11..344c99d107 100644 +index cd58906ad..202f6ad68 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -77,6 +77,7 @@ import net.minecraft.server.WorldServer; @@ -24,7 +24,7 @@ index 7179692e11..344c99d107 100644 import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerChatTabCompleteEvent; import org.bukkit.event.server.BroadcastMessageEvent; -@@ -737,7 +739,13 @@ public final class CraftServer implements Server { +@@ -738,7 +740,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { @@ -40,5 +40,5 @@ index 7179692e11..344c99d107 100644 // Spigot end -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0159-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0155-Basic-PlayerProfile-API.patch similarity index 96% rename from Spigot-Server-Patches/0159-Basic-PlayerProfile-API.patch rename to Spigot-Server-Patches/0155-Basic-PlayerProfile-API.patch index 825f61411e..c559b2f1fa 100644 --- a/Spigot-Server-Patches/0159-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0155-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From de22020424bc3d2831d68f812df2172635cc433b Mon Sep 17 00:00:00 2001 +From abd5f22ee2480d2a88bb8d450e212b6788ea857c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 15 Jan 2018 22:11:48 -0500 Subject: [PATCH] Basic PlayerProfile API @@ -7,7 +7,7 @@ Establishes base extension of profile systems for future edits too diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java new file mode 100644 -index 0000000000..b151a13c1b +index 000000000..b151a13c1 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java @@ -0,0 +1,280 @@ @@ -293,7 +293,7 @@ index 0000000000..b151a13c1b +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java new file mode 100644 -index 0000000000..25836b975b +index 000000000..25836b975 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java @@ -0,0 +1,30 @@ @@ -329,7 +329,7 @@ index 0000000000..25836b975b +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java new file mode 100644 -index 0000000000..3bcdb8f93f +index 000000000..3bcdb8f93 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java @@ -0,0 +1,17 @@ @@ -352,7 +352,7 @@ index 0000000000..3bcdb8f93f +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java new file mode 100644 -index 0000000000..4b2a67423f +index 000000000..4b2a67423 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java @@ -0,0 +1,29 @@ @@ -387,7 +387,7 @@ index 0000000000..4b2a67423f +} diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java new file mode 100644 -index 0000000000..3aceb0ea8a +index 000000000..3aceb0ea8 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java @@ -0,0 +1,11 @@ @@ -403,7 +403,7 @@ index 0000000000..3aceb0ea8a + } +} diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 1f6a126329..6d278a0da5 100644 +index 1f6a12632..6d278a0da 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -1,7 +1,10 @@ @@ -429,10 +429,10 @@ index 1f6a126329..6d278a0da5 100644 * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6c9a43d66b..6e6c662f95 100644 +index 7df3ae0ec..1ddb10741 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1277,7 +1277,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 17 Jun 2017 15:18:30 -0400 Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 28a8cfdd3..6acab2b97 100644 +index 673e2b79d..2d982ce1e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1801,20 +1801,44 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1893,20 +1893,44 @@ public abstract class EntityHuman extends EntityLiving { } @@ -42,7 +42,7 @@ index 28a8cfdd3..6acab2b97 100644 ((EntityTameableAnimal) entity).setOwnerUUID(this.uniqueID); } - entity.setPosition(this.locX, this.locY + 0.699999988079071D, this.locZ); + entity.setPosition(this.locX(), this.locY() + 0.699999988079071D, this.locZ()); - return ((WorldServer) this.world).addEntitySerialized(entity, CreatureSpawnEvent.SpawnReason.SHOULDER_ENTITY); // CraftBukkit - }).orElse(true); // CraftBukkit + boolean addedToWorld = ((WorldServer) this.world).addEntitySerialized(entity, CreatureSpawnEvent.SpawnReason.SHOULDER_ENTITY); // CraftBukkit @@ -58,7 +58,7 @@ index 28a8cfdd3..6acab2b97 100644 @Override public abstract boolean isSpectator(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 027063239..37b057c51 100644 +index 66cd2db1e..a1397d142 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -665,6 +665,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -95,5 +95,5 @@ index 027063239..37b057c51 100644 public boolean discoverRecipe(NamespacedKey recipe) { return discoverRecipes(Arrays.asList(recipe)) != 0; -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0161-Profile-Lookup-Events.patch b/Spigot-Server-Patches/0157-Profile-Lookup-Events.patch similarity index 97% rename from Spigot-Server-Patches/0161-Profile-Lookup-Events.patch rename to Spigot-Server-Patches/0157-Profile-Lookup-Events.patch index 8196fd5238..48b5441469 100644 --- a/Spigot-Server-Patches/0161-Profile-Lookup-Events.patch +++ b/Spigot-Server-Patches/0157-Profile-Lookup-Events.patch @@ -1,4 +1,4 @@ -From db5fd6216ff20d4670dc04f0222792982220196f Mon Sep 17 00:00:00 2001 +From 231e2f402814cd547155b82ee47531f0a81dfb97 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 17:00:32 -0400 Subject: [PATCH] Profile Lookup Events @@ -7,7 +7,7 @@ Adds a Pre Lookup Event and a Post Lookup Event so that plugins may prefill in p profiles that had to be looked up. diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java -index 3bcdb8f93f..bb9894318e 100644 +index 3bcdb8f93..bb9894318 100644 --- a/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java +++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java @@ -1,17 +1,68 @@ @@ -81,5 +81,5 @@ index 3bcdb8f93f..bb9894318e 100644 } } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0162-Block-player-logins-during-server-shutdown.patch b/Spigot-Server-Patches/0158-Block-player-logins-during-server-shutdown.patch similarity index 90% rename from Spigot-Server-Patches/0162-Block-player-logins-during-server-shutdown.patch rename to Spigot-Server-Patches/0158-Block-player-logins-during-server-shutdown.patch index 2a71958179..1873f0dc9c 100644 --- a/Spigot-Server-Patches/0162-Block-player-logins-during-server-shutdown.patch +++ b/Spigot-Server-Patches/0158-Block-player-logins-during-server-shutdown.patch @@ -1,11 +1,11 @@ -From f59189466e67ed2dd9a28bb8f55af3f6a6b57266 Mon Sep 17 00:00:00 2001 +From 94a516b0a57ec3612f96098903af158bff7ce867 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 2 Jul 2017 21:35:56 -0500 Subject: [PATCH] Block player logins during server shutdown diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 49df63d6de..977a5009dd 100644 +index 3683fa298..6f7c71579 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -49,6 +49,12 @@ public class LoginListener implements PacketLoginInListener { @@ -22,5 +22,5 @@ index 49df63d6de..977a5009dd 100644 this.c(); } else if (this.g == LoginListener.EnumProtocolState.DELAY_ACCEPT) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0163-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0159-Entity-fromMobSpawner.patch similarity index 85% rename from Spigot-Server-Patches/0163-Entity-fromMobSpawner.patch rename to Spigot-Server-Patches/0159-Entity-fromMobSpawner.patch index 782a9ec0de..939148237c 100644 --- a/Spigot-Server-Patches/0163-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0159-Entity-fromMobSpawner.patch @@ -1,14 +1,14 @@ -From 84600057c686d41de05de42fa07a3c3285851bb2 Mon Sep 17 00:00:00 2001 +From 56e14834b23acaeffb94083b1e35cc7a40b98c33 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 18 Jun 2017 18:17:05 -0500 Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 482864ac6..be4ebcadb 100644 +index fcfe8f550..7c4ab7fe7 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -184,6 +184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -189,6 +189,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public final boolean defaultActivationState; public long activatedTick = Integer.MIN_VALUE; public boolean fromMobSpawner; @@ -16,7 +16,7 @@ index 482864ac6..be4ebcadb 100644 protected int numCollisions = 0; // Paper public void inactiveTick() { } // Spigot end -@@ -1635,6 +1636,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1621,6 +1622,10 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (this.origin != null) { nbttagcompound.set("Paper.Origin", this.createList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index 482864ac6..be4ebcadb 100644 // Paper end return nbttagcompound; } catch (Throwable throwable) { -@@ -1763,6 +1768,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -1741,6 +1746,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke if (!originTag.isEmpty()) { origin = new Location(world.getWorld(), originTag.getDoubleAt(0), originTag.getDoubleAt(1), originTag.getDoubleAt(2)); } @@ -37,10 +37,10 @@ index 482864ac6..be4ebcadb 100644 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 13e62e3d7..4bd511dd7 100644 +index deb32db2b..8384a2cbf 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -@@ -133,6 +133,7 @@ public abstract class MobSpawnerAbstract { +@@ -134,6 +134,7 @@ public abstract class MobSpawnerAbstract { ((EntityInsentient) entity).prepare(world, world.getDamageScaler(new BlockPosition(entity)), EnumMobSpawn.SPAWNER, (GroupDataEntity) null, (NBTTagCompound) null); } } @@ -49,10 +49,10 @@ index 13e62e3d7..4bd511dd7 100644 if ( entity.world.spigotConfig.nerfSpawnerMobs ) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 91c5bb511..09ca9a3eb 100644 +index bb07dec3c..495a7c464 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1048,5 +1048,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1045,5 +1045,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { Location origin = getHandle().origin; return origin == null ? null : origin.clone(); } @@ -64,5 +64,5 @@ index 91c5bb511..09ca9a3eb 100644 // Paper end } -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0164-Improve-the-Saddle-API-for-Horses.patch b/Spigot-Server-Patches/0160-Improve-the-Saddle-API-for-Horses.patch similarity index 94% rename from Spigot-Server-Patches/0164-Improve-the-Saddle-API-for-Horses.patch rename to Spigot-Server-Patches/0160-Improve-the-Saddle-API-for-Horses.patch index dac72bf5cf..850386ea14 100644 --- a/Spigot-Server-Patches/0164-Improve-the-Saddle-API-for-Horses.patch +++ b/Spigot-Server-Patches/0160-Improve-the-Saddle-API-for-Horses.patch @@ -1,4 +1,4 @@ -From c7287c81488d289834b45064849790e3dac26be7 Mon Sep 17 00:00:00 2001 +From dca9dc7dc24627c6e09515251c1235d96365f14f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 10 Dec 2016 16:24:06 -0500 Subject: [PATCH] Improve the Saddle API for Horses @@ -7,7 +7,7 @@ Not all horses with Saddles have armor. This lets us break up the horses with sa and access their saddle state separately from an interface shared with Armor. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index 09016e3547..9952db3eb5 100644 +index 09016e354..9952db3eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java @@ -6,6 +6,7 @@ import net.minecraft.server.EntityHorseAbstract; @@ -27,7 +27,7 @@ index 09016e3547..9952db3eb5 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java -index 63991bf4be..9a47a1adc1 100644 +index 63991bf4b..9a47a1adc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java @@ -4,7 +4,7 @@ import net.minecraft.server.IInventory; @@ -41,7 +41,7 @@ index 63991bf4be..9a47a1adc1 100644 super(inventory); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java new file mode 100644 -index 0000000000..99cfbaf90b +index 000000000..99cfbaf90 --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java @@ -0,0 +1,15 @@ @@ -61,5 +61,5 @@ index 0000000000..99cfbaf90b + +} -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0165-Implement-ensureServerConversions-API.patch b/Spigot-Server-Patches/0161-Implement-ensureServerConversions-API.patch similarity index 85% rename from Spigot-Server-Patches/0165-Implement-ensureServerConversions-API.patch rename to Spigot-Server-Patches/0161-Implement-ensureServerConversions-API.patch index e5af013654..ff11584a25 100644 --- a/Spigot-Server-Patches/0165-Implement-ensureServerConversions-API.patch +++ b/Spigot-Server-Patches/0161-Implement-ensureServerConversions-API.patch @@ -1,4 +1,4 @@ -From 2dc39a751a5a43ea381bbaf121d5ddee83cabacb Mon Sep 17 00:00:00 2001 +From 8529676f2d0453ba34b52228e3f97076a989b4a6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 22:43:12 -0400 Subject: [PATCH] Implement ensureServerConversions API @@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index b15406014..bd04174c3 100644 +index c9b59fd8d..57f50cccf 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -332,4 +332,10 @@ public final class CraftItemFactory implements ItemFactory { +@@ -334,4 +334,10 @@ public final class CraftItemFactory implements ItemFactory { public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException { return ((CraftMetaItem) meta).updateMaterial(material); } @@ -22,5 +22,5 @@ index b15406014..bd04174c3 100644 + // Paper end } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0166-Implement-getI18NDisplayName.patch b/Spigot-Server-Patches/0162-Implement-getI18NDisplayName.patch similarity index 92% rename from Spigot-Server-Patches/0166-Implement-getI18NDisplayName.patch rename to Spigot-Server-Patches/0162-Implement-getI18NDisplayName.patch index a165bebfcb..258dc3f129 100644 --- a/Spigot-Server-Patches/0166-Implement-getI18NDisplayName.patch +++ b/Spigot-Server-Patches/0162-Implement-getI18NDisplayName.patch @@ -1,4 +1,4 @@ -From 1a37b18ef694433c929d94f2e4e5d197ac6c917b Mon Sep 17 00:00:00 2001 +From b1453ada4f219bce1fa153db344add1a5082d5ec Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:59:38 -0400 Subject: [PATCH] Implement getI18NDisplayName @@ -25,10 +25,10 @@ index c0c13798f..601273933 100644 return this.c(s); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index bd04174c3..3cddf254a 100644 +index 57f50cccf..72cc4980e 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -337,5 +337,18 @@ public final class CraftItemFactory implements ItemFactory { +@@ -339,5 +339,18 @@ public final class CraftItemFactory implements ItemFactory { public ItemStack ensureServerConversions(ItemStack item) { return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item)); } @@ -48,5 +48,5 @@ index bd04174c3..3cddf254a 100644 // Paper end } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0167-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0163-ProfileWhitelistVerifyEvent.patch similarity index 90% rename from Spigot-Server-Patches/0167-ProfileWhitelistVerifyEvent.patch rename to Spigot-Server-Patches/0163-ProfileWhitelistVerifyEvent.patch index 92768324e4..656dd2dc16 100644 --- a/Spigot-Server-Patches/0167-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-Server-Patches/0163-ProfileWhitelistVerifyEvent.patch @@ -1,14 +1,14 @@ -From 9363bf8ee294b4e8687c4af786bd781e781ad95b Mon Sep 17 00:00:00 2001 +From 5823c5485f3d20cd2cd53ff1229f0243e79a774b Mon Sep 17 00:00:00 2001 From: Aikar 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 6a77707983..a167843bfb 100644 +index 308bc3baf..002f7e844 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -521,9 +521,9 @@ public abstract class PlayerList { +@@ -522,9 +522,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 6a77707983..a167843bfb 100644 } else if (getIPBans().isBanned(socketaddress) && !getIPBans().get(socketaddress).hasExpired()) { IpBanEntry ipbanentry = this.l.get(socketaddress); -@@ -892,9 +892,25 @@ public abstract class PlayerList { +@@ -893,9 +893,25 @@ public abstract class PlayerList { this.server.getCommandDispatcher().a(entityplayer); } @@ -46,7 +46,7 @@ index 6a77707983..a167843bfb 100644 + // Paper end public boolean isOp(GameProfile gameprofile) { - return this.operators.d(gameprofile) || this.server.b(gameprofile) && this.server.getWorldServer(DimensionManager.OVERWORLD).getWorldData().t() || this.u; + return this.operators.d(gameprofile) || this.server.a(gameprofile) && this.server.getWorldServer(DimensionManager.OVERWORLD).getWorldData().t() || this.u; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0168-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0164-Fix-this-stupid-bullshit.patch similarity index 90% rename from Spigot-Server-Patches/0168-Fix-this-stupid-bullshit.patch rename to Spigot-Server-Patches/0164-Fix-this-stupid-bullshit.patch index 3e69069c9b..c6086c3859 100644 --- a/Spigot-Server-Patches/0168-Fix-this-stupid-bullshit.patch +++ b/Spigot-Server-Patches/0164-Fix-this-stupid-bullshit.patch @@ -1,4 +1,4 @@ -From ecb854e19a77c30ab24c008aa7b8568584c9a765 Mon Sep 17 00:00:00 2001 +From 1afac47b97ebd139492651cc002123164c99f701 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sun, 6 Aug 2017 17:17:53 -0500 Subject: [PATCH] Fix this stupid bullshit @@ -9,12 +9,12 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa and to provide some level of hint without being disruptive. diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 486629a6d..56ac679b2 100644 +index b562e95dc..140b82275 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -217,10 +217,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -28); + deadline.add(Calendar.DAY_OF_YEAR, -3); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit @@ -29,5 +29,5 @@ index 486629a6d..56ac679b2 100644 } -- -2.24.0 +2.17.1 diff --git a/Spigot-Server-Patches/0169-Ocelot-despawns-should-honor-nametags-and-leash.patch b/Spigot-Server-Patches/0165-Ocelot-despawns-should-honor-nametags-and-leash.patch similarity index 81% rename from Spigot-Server-Patches/0169-Ocelot-despawns-should-honor-nametags-and-leash.patch rename to Spigot-Server-Patches/0165-Ocelot-despawns-should-honor-nametags-and-leash.patch index 7d750f3874..f3154490e9 100644 --- a/Spigot-Server-Patches/0169-Ocelot-despawns-should-honor-nametags-and-leash.patch +++ b/Spigot-Server-Patches/0165-Ocelot-despawns-should-honor-nametags-and-leash.patch @@ -1,14 +1,14 @@ -From 2e0688b36f97187cb8f065e164e5fd0fa9059935 Mon Sep 17 00:00:00 2001 +From 94586121247edbc9777d6629a0d18c3b8c386f53 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:54:40 -0500 Subject: [PATCH] Ocelot despawns should honor nametags and leash diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index a6b15efd5d..edc5f696c0 100644 +index 062411455..d9a7b8ac1 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java -@@ -82,7 +82,7 @@ public class EntityOcelot extends EntityAnimal { +@@ -81,7 +81,7 @@ public class EntityOcelot extends EntityAnimal { @Override public boolean isTypeNotPersistent(double d0) { @@ -18,5 +18,5 @@ index a6b15efd5d..edc5f696c0 100644 @Override -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/Spigot-Server-Patches/0166-Reset-spawner-timer-when-spawner-event-is-cancelled.patch similarity index 82% rename from Spigot-Server-Patches/0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch rename to Spigot-Server-Patches/0166-Reset-spawner-timer-when-spawner-event-is-cancelled.patch index 840685bf7e..0b666513b3 100644 --- a/Spigot-Server-Patches/0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch +++ b/Spigot-Server-Patches/0166-Reset-spawner-timer-when-spawner-event-is-cancelled.patch @@ -1,14 +1,14 @@ -From 393e17f7fb0841095ec391a7a7192c6b81604ffb Mon Sep 17 00:00:00 2001 +From fc0c24008c1783f514a071176e2e159cfd820172 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:45:19 -0500 Subject: [PATCH] Reset spawner timer when spawner event is cancelled diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 4bd511dd7c..59bd9ccd70 100644 +index 8384a2cbf..258e96ba5 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -@@ -139,6 +139,9 @@ public abstract class MobSpawnerAbstract { +@@ -140,6 +140,9 @@ public abstract class MobSpawnerAbstract { { entity.fromMobSpawner = true; } @@ -18,7 +18,7 @@ index 4bd511dd7c..59bd9ccd70 100644 if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, blockposition).isCancelled()) { Entity vehicle = entity.getVehicle(); if (vehicle != null) { -@@ -156,7 +159,7 @@ public abstract class MobSpawnerAbstract { +@@ -157,7 +160,7 @@ public abstract class MobSpawnerAbstract { ((EntityInsentient) entity).doSpawnEffect(); } @@ -28,5 +28,5 @@ index 4bd511dd7c..59bd9ccd70 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/Spigot-Server-Patches/0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch similarity index 83% rename from Spigot-Server-Patches/0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch rename to Spigot-Server-Patches/0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch index ed0f063eab..bff95a0ef4 100644 --- a/Spigot-Server-Patches/0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/Spigot-Server-Patches/0167-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -1,14 +1,14 @@ -From 71b39eb3328c1d4bb08e116a0410410bec249da8 Mon Sep 17 00:00:00 2001 +From cb98e4077354d4495e2a641196c2b4e4fee88bd9 Mon Sep 17 00:00:00 2001 From: mezz Date: Wed, 9 Aug 2017 17:51:22 -0500 Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d6f04c823a..8add757cc8 100644 +index 312e32f1b..8cbad8362 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -734,7 +734,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose +@@ -654,7 +654,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { gameprofilerfiller.enter("blockEntities"); timings.tileEntityTick.startTiming(); // Spigot if (!this.tileEntityListUnload.isEmpty()) { @@ -22,5 +22,5 @@ index d6f04c823a..8add757cc8 100644 this.tileEntityListUnload.clear(); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0172-Allow-specifying-a-custom-authentication-servers-dow.patch b/Spigot-Server-Patches/0168-Allow-specifying-a-custom-authentication-servers-dow.patch similarity index 94% rename from Spigot-Server-Patches/0172-Allow-specifying-a-custom-authentication-servers-dow.patch rename to Spigot-Server-Patches/0168-Allow-specifying-a-custom-authentication-servers-dow.patch index 12d01893f2..fc484f20f8 100644 --- a/Spigot-Server-Patches/0172-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/Spigot-Server-Patches/0168-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -1,4 +1,4 @@ -From 3e8591beff5e88eda41d6790603446fbe00fe15c Mon Sep 17 00:00:00 2001 +From af7e3f0496ac4b7f4dd6f8b9b60329b68aa759cb Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 17 Aug 2017 16:08:20 -0700 Subject: [PATCH] Allow specifying a custom "authentication servers down" kick @@ -6,7 +6,7 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 11d2a1013b..11f08c2b73 100644 +index 295b8390c..5884b04f7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -1,5 +1,6 @@ @@ -27,7 +27,7 @@ index 11d2a1013b..11f08c2b73 100644 + } } diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 977a5009dd..c3ff7a6b8f 100644 +index 6f7c71579..a1be28390 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -247,6 +247,10 @@ public class LoginListener implements PacketLoginInListener { @@ -42,5 +42,5 @@ index 977a5009dd..c3ff7a6b8f 100644 LoginListener.LOGGER.error("Couldn't verify username because servers are unavailable"); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0173-LivingEntity-setKiller.patch b/Spigot-Server-Patches/0169-LivingEntity-setKiller.patch similarity index 87% rename from Spigot-Server-Patches/0173-LivingEntity-setKiller.patch rename to Spigot-Server-Patches/0169-LivingEntity-setKiller.patch index 8a13be77ea..1b9678ae06 100644 --- a/Spigot-Server-Patches/0173-LivingEntity-setKiller.patch +++ b/Spigot-Server-Patches/0169-LivingEntity-setKiller.patch @@ -1,22 +1,22 @@ -From 3cc596d6759ac8ec57121500b9ddc72e0878c46d Mon Sep 17 00:00:00 2001 +From 0404dd95e23bd99fcf65b823dcf94cc16545caa5 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 31 Jul 2017 01:49:48 -0500 Subject: [PATCH] LivingEntity#setKiller diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index a016cbb21..46dfb3c49 100644 +index f6cb18639..bf049bfc4 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -76,7 +76,7 @@ public abstract class EntityLiving extends Entity { - public float aN; - public float aO; +@@ -80,7 +80,7 @@ public abstract class EntityLiving extends Entity { + public float aL; + public float aM; public EntityHuman killer; - protected int lastDamageByPlayerTime; + public int lastDamageByPlayerTime; // Paper - protected -> public protected boolean killed; protected int ticksFarFromPlayer; - protected float aT; + protected float aR; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 7e9aff668..b8482c632 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -39,5 +39,5 @@ index 7e9aff668..b8482c632 100644 public boolean addPotionEffect(PotionEffect effect) { return addPotionEffect(effect, false); -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/Spigot-Server-Patches/0170-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch similarity index 93% rename from Spigot-Server-Patches/0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch rename to Spigot-Server-Patches/0170-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch index 37269c3aec..78b193b71b 100644 --- a/Spigot-Server-Patches/0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch +++ b/Spigot-Server-Patches/0170-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -1,4 +1,4 @@ -From 293d21b77ff488266b8137593bf35c8cb805ba94 Mon Sep 17 00:00:00 2001 +From 51f074f0e0f071356d81aace1d38ceaf4fe2a3e8 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Mon, 18 Sep 2017 12:00:03 +0200 Subject: [PATCH] Use Log4j IOStreams to redirect System.out/err to logger @@ -12,7 +12,7 @@ results in a separate line, even though it should not result in a line break. Log4j's implementation handles it correctly. diff --git a/pom.xml b/pom.xml -index 58b14a740e..a70c0ec07a 100644 +index f716e9870..e6395c773 100644 --- a/pom.xml +++ b/pom.xml @@ -63,6 +63,11 @@ @@ -28,7 +28,7 @@ index 58b14a740e..a70c0ec07a 100644 org.ow2.asm asm diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 92d0aa6d66..c6eb88c34b 100644 +index dfe806291..6e95a0452 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -147,8 +147,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -45,5 +45,5 @@ index 92d0aa6d66..c6eb88c34b 100644 thread.setDaemon(true); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0175-Handle-plugin-prefixes-using-Log4J-configuration.patch b/Spigot-Server-Patches/0171-Handle-plugin-prefixes-using-Log4J-configuration.patch similarity index 95% rename from Spigot-Server-Patches/0175-Handle-plugin-prefixes-using-Log4J-configuration.patch rename to Spigot-Server-Patches/0171-Handle-plugin-prefixes-using-Log4J-configuration.patch index 50c152f29b..db95ff71c9 100644 --- a/Spigot-Server-Patches/0175-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/Spigot-Server-Patches/0171-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -1,4 +1,4 @@ -From d6a94ec50d3adf4c4c7ed9c15c680b40bab4f77e Mon Sep 17 00:00:00 2001 +From 8124c833fa4861c85f5451ca8e3e5033b0d83bde Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:14:55 +0200 Subject: [PATCH] Handle plugin prefixes using Log4J configuration @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/pom.xml b/pom.xml -index a70c0ec07a..5ab1f29846 100644 +index e6395c773..026dcfdab 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ @@ -28,7 +28,7 @@ index a70c0ec07a..5ab1f29846 100644 org.apache.logging.log4j diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index d873256c01..783aa6db1f 100644 +index d873256c0..783aa6db1 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -286,7 +286,7 @@ public class SpigotConfig @@ -41,7 +41,7 @@ index d873256c01..783aa6db1f 100644 public static int playerShuffle; diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 08b6bb7f97..9f8334376f 100644 +index 08b6bb7f9..9f8334376 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -2,10 +2,22 @@ @@ -70,5 +70,5 @@ index 08b6bb7f97..9f8334376f 100644 -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0176-Include-Log4J2-SLF4J-implementation.patch b/Spigot-Server-Patches/0172-Include-Log4J2-SLF4J-implementation.patch similarity index 86% rename from Spigot-Server-Patches/0176-Include-Log4J2-SLF4J-implementation.patch rename to Spigot-Server-Patches/0172-Include-Log4J2-SLF4J-implementation.patch index 5ad16c6648..0c8eec61ba 100644 --- a/Spigot-Server-Patches/0176-Include-Log4J2-SLF4J-implementation.patch +++ b/Spigot-Server-Patches/0172-Include-Log4J2-SLF4J-implementation.patch @@ -1,11 +1,11 @@ -From bf759fa436ae169e7e28d17abdd048943a1d2e54 Mon Sep 17 00:00:00 2001 +From 81c4efd41672172bdc421347dfc9429c64348208 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:33:35 +0200 Subject: [PATCH] Include Log4J2 SLF4J implementation diff --git a/pom.xml b/pom.xml -index d955106433..b7db74c9ba 100644 +index 026dcfdab..dbc425524 100644 --- a/pom.xml +++ b/pom.xml @@ -63,6 +63,12 @@ @@ -22,5 +22,5 @@ index d955106433..b7db74c9ba 100644 org.apache.logging.log4j log4j-iostreams -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch b/Spigot-Server-Patches/0173-Disable-logger-prefix-for-various-plugins-bypassing-.patch similarity index 95% rename from Spigot-Server-Patches/0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch rename to Spigot-Server-Patches/0173-Disable-logger-prefix-for-various-plugins-bypassing-.patch index 08cfdb3800..637972d226 100644 --- a/Spigot-Server-Patches/0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch +++ b/Spigot-Server-Patches/0173-Disable-logger-prefix-for-various-plugins-bypassing-.patch @@ -1,4 +1,4 @@ -From 1950fa644d4c5e34543c88115d259bc2133591ef Mon Sep 17 00:00:00 2001 +From 60dfcd4e3f304e962558e5263c9e03c13b40058e Mon Sep 17 00:00:00 2001 From: Minecrell Date: Sat, 23 Sep 2017 21:07:20 +0200 Subject: [PATCH] Disable logger prefix for various plugins bypassing the @@ -11,7 +11,7 @@ log. Disable the logger prefix for these plugins so the messages show up correctly. diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 9f8334376f..6711e6dff9 100644 +index 9f8334376..6711e6dff 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -5,7 +5,8 @@ @@ -35,5 +35,5 @@ index 9f8334376f..6711e6dff9 100644 -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0178-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0174-Add-PlayerJumpEvent.patch similarity index 91% rename from Spigot-Server-Patches/0178-Add-PlayerJumpEvent.patch rename to Spigot-Server-Patches/0174-Add-PlayerJumpEvent.patch index 79dc684571..ea59c788bd 100644 --- a/Spigot-Server-Patches/0178-Add-PlayerJumpEvent.patch +++ b/Spigot-Server-Patches/0174-Add-PlayerJumpEvent.patch @@ -1,11 +1,11 @@ -From 246163fe2f7e4f715d94d4a759d31cc34fba3d75 Mon Sep 17 00:00:00 2001 +From 066208622cb57436c6e832f8b57820d4b9be3c8c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 28 Sep 2017 17:21:44 -0400 Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 579c551f95..5e3ca96871 100644 +index 01ab2e151..399724d6a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -58,6 +58,8 @@ import org.bukkit.inventory.CraftingInventory; @@ -17,9 +17,9 @@ index 579c551f95..5e3ca96871 100644 import co.aikar.timings.MinecraftTimings; // Paper // CraftBukkit end -@@ -913,7 +915,34 @@ public class PlayerConnection implements PacketListenerPlayIn { - d8 = d5 - this.p; - d9 = d6 - this.q; +@@ -925,7 +927,34 @@ public class PlayerConnection implements PacketListenerPlayIn { + } + if (this.player.onGround && !packetplayinflying.b() && d8 > 0.0D) { - this.player.jump(); + // Paper start - Add player jump event @@ -54,5 +54,5 @@ index 579c551f95..5e3ca96871 100644 this.player.move(EnumMoveType.PLAYER, new Vec3D(d7, d8, d9)); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0179-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0175-handle-PacketPlayInKeepAlive-async.patch similarity index 92% rename from Spigot-Server-Patches/0179-handle-PacketPlayInKeepAlive-async.patch rename to Spigot-Server-Patches/0175-handle-PacketPlayInKeepAlive-async.patch index 8e27d28ca1..6890a4a248 100644 --- a/Spigot-Server-Patches/0179-handle-PacketPlayInKeepAlive-async.patch +++ b/Spigot-Server-Patches/0175-handle-PacketPlayInKeepAlive-async.patch @@ -1,4 +1,4 @@ -From 78d292bb028979a78ee9567c774e6d97f4aa24f7 Mon Sep 17 00:00:00 2001 +From 531d21dac3ed12422173380c48104e9c09248412 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 5 Oct 2017 01:54:07 +0100 Subject: [PATCH] handle PacketPlayInKeepAlive async @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5e3ca96871..0cb68a8553 100644 +index 399724d6a..a4660f2b8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2476,14 +2476,18 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2486,14 +2486,18 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInKeepAlive packetplayinkeepalive) { @@ -40,5 +40,5 @@ index 5e3ca96871..0cb68a8553 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0180-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-Server-Patches/0176-Expose-client-protocol-version-and-virtual-host.patch similarity index 94% rename from Spigot-Server-Patches/0180-Expose-client-protocol-version-and-virtual-host.patch rename to Spigot-Server-Patches/0176-Expose-client-protocol-version-and-virtual-host.patch index 02083f02a4..c534b3978b 100644 --- a/Spigot-Server-Patches/0180-Expose-client-protocol-version-and-virtual-host.patch +++ b/Spigot-Server-Patches/0176-Expose-client-protocol-version-and-virtual-host.patch @@ -1,4 +1,4 @@ -From 7792dcfee7c0a9197d18e8cd965acffb0fa7e5f3 Mon Sep 17 00:00:00 2001 +From 710d05e1055a1d076ee3615b9a82256baba38b5e Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 10 Oct 2017 18:45:20 +0200 Subject: [PATCH] Expose client protocol version and virtual host @@ -6,7 +6,7 @@ Subject: [PATCH] Expose client protocol version and virtual host diff --git a/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java new file mode 100644 -index 0000000000..5caca6439d +index 000000000..5caca6439 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java @@ -0,0 +1,50 @@ @@ -61,7 +61,7 @@ index 0000000000..5caca6439d + +} diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index 078b711c47..740c8d2728 100644 +index d0b9c6e3d..8928d93e4 100644 --- a/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java @@ -15,6 +15,7 @@ public class HandshakeListener implements PacketHandshakingInListener { @@ -84,7 +84,7 @@ index 078b711c47..740c8d2728 100644 @Override diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 3ccf166366..e2d8ed88f0 100644 +index 3ccf16636..e2d8ed88f 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -60,6 +60,10 @@ public class NetworkManager extends SimpleChannelInboundHandler> { @@ -99,7 +99,7 @@ index 3ccf166366..e2d8ed88f0 100644 public NetworkManager(EnumProtocolDirection enumprotocoldirection) { this.h = enumprotocoldirection; diff --git a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java -index 4f008e4723..8545146fb1 100644 +index 4f008e472..8545146fb 100644 --- a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java +++ b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java @@ -35,6 +35,7 @@ public class PacketHandshakingInSetProtocol implements Packet Date: Sun, 15 Oct 2017 00:29:07 +0100 Subject: [PATCH] revert serverside behavior of keepalives @@ -17,7 +17,7 @@ from networking or during connections flood of chunk packets on slower clients, at the cost of dead connections being kept open for longer. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 0cb68a8553..1d140b3fe7 100644 +index a4660f2b8..9af8e947e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -70,7 +70,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -37,7 +37,7 @@ index 0cb68a8553..1d140b3fe7 100644 public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) { this.minecraftServer = minecraftserver; -@@ -179,18 +180,26 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -182,18 +183,26 @@ public class PlayerConnection implements PacketListenerPlayIn { } this.minecraftServer.getMethodProfiler().enter("keepAlive"); @@ -74,5 +74,5 @@ index 0cb68a8553..1d140b3fe7 100644 this.minecraftServer.getMethodProfiler().exit(); // CraftBukkit start -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0178-Send-attack-SoundEffects-only-to-players-who-can-see.patch similarity index 59% rename from Spigot-Server-Patches/0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch rename to Spigot-Server-Patches/0178-Send-attack-SoundEffects-only-to-players-who-can-see.patch index 1401c03fa0..0713ce78f3 100644 --- a/Spigot-Server-Patches/0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/Spigot-Server-Patches/0178-Send-attack-SoundEffects-only-to-players-who-can-see.patch @@ -1,4 +1,4 @@ -From b9256e9dff588622499e1f768a5ebefef50626db Mon Sep 17 00:00:00 2001 +From 23a78d79f6a374067ac84e4ac07d2160bf2e6614 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 31 Oct 2017 03:26:18 +0100 Subject: [PATCH] Send attack SoundEffects only to players who can see the @@ -6,11 +6,11 @@ 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 6acab2b97..50ded7483 100644 +index 2d982ce1e..fd7de143e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -957,6 +957,15 @@ public abstract class EntityHuman extends EntityLiving { - return super.isFrozen() || this.isSleeping(); +@@ -1023,6 +1023,15 @@ public abstract class EntityHuman extends EntityLiving { + return vec3d; } + // Paper start - send SoundEffect to everyone who can see fromEntity @@ -23,59 +23,59 @@ index 6acab2b97..50ded7483 100644 + // Paper end + public void attack(Entity entity) { - if (entity.bs()) { + if (entity.bA()) { if (!entity.t(this)) { -@@ -981,7 +990,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1047,7 +1056,7 @@ public abstract class EntityHuman extends EntityLiving { int i = b0 + EnchantmentManager.b((EntityLiving) this); if (this.isSprinting() && flag) { -- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F); -+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility +- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F); ++ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility ++i; flag1 = true; } -@@ -1056,7 +1065,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1122,7 +1131,7 @@ public abstract class EntityHuman extends EntityLiving { } } -- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); -+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility - this.dE(); +- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); ++ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility + this.ea(); } -@@ -1084,15 +1093,15 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1150,15 +1159,15 @@ public abstract class EntityHuman extends EntityLiving { } if (flag2) { -- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F); -+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility +- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F); ++ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility this.a(entity); } if (!flag2 && !flag3) { if (flag) { -- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F); -+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility +- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F); ++ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility } else { -- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F); -+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility +- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F); ++ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility } } -@@ -1144,7 +1153,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1210,7 +1219,7 @@ public abstract class EntityHuman extends EntityLiving { this.applyExhaustion(world.spigotConfig.combatExhaustion); // Spigot - Change to use configurable value } else { -- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F); -+ sendSoundEffect(this, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility +- this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F); ++ sendSoundEffect(this, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F); // Paper - send while respecting visibility if (flag4) { entity.extinguish(); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 8add757cc..22f1d9e27 100644 +index 8cbad8362..117939bb7 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -671,6 +671,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose +@@ -591,6 +591,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable { this.playSound(entityhuman, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, soundeffect, soundcategory, f, f1); } @@ -88,5 +88,5 @@ index 8add757cc..22f1d9e27 100644 public abstract void playSound(@Nullable EntityHuman entityhuman, Entity entity, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0183-Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/0179-Option-for-maximum-exp-value-when-merging-orbs.patch similarity index 95% rename from Spigot-Server-Patches/0183-Option-for-maximum-exp-value-when-merging-orbs.patch rename to Spigot-Server-Patches/0179-Option-for-maximum-exp-value-when-merging-orbs.patch index 8856b1ffaa..86ff2f2edb 100644 --- a/Spigot-Server-Patches/0183-Option-for-maximum-exp-value-when-merging-orbs.patch +++ b/Spigot-Server-Patches/0179-Option-for-maximum-exp-value-when-merging-orbs.patch @@ -1,11 +1,11 @@ -From 3885f25d48d36b79204cfdd48b64c40227a54199 Mon Sep 17 00:00:00 2001 +From 2fceac6687db42c0f6c5fa45ee062a4d55722d6f Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 891a52b2a..063ba6a1d 100644 +index c145e27cc..671587631 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 891a52b2a..063ba6a1d 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7f38d82a6..a438e4320 100644 +index 2bf53db88..e310f2afe 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -537,16 +537,32 @@ public class CraftEventFactory { @@ -60,5 +60,5 @@ index 7f38d82a6..a438e4320 100644 // Spigot end } else if (!(entity instanceof EntityPlayer)) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0184-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0180-Add-PlayerArmorChangeEvent.patch similarity index 89% rename from Spigot-Server-Patches/0184-Add-PlayerArmorChangeEvent.patch rename to Spigot-Server-Patches/0180-Add-PlayerArmorChangeEvent.patch index 90636c83c0..b0a7ff463a 100644 --- a/Spigot-Server-Patches/0184-Add-PlayerArmorChangeEvent.patch +++ b/Spigot-Server-Patches/0180-Add-PlayerArmorChangeEvent.patch @@ -1,11 +1,11 @@ -From d8089c4bf30144a196c0cea8306ef6d32899ce37 Mon Sep 17 00:00:00 2001 +From 353818a8456ac6461323ddb7ac6d1815cef712db Mon Sep 17 00:00:00 2001 From: pkt77 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 46dfb3c498..74c1f7c447 100644 +index bf049bfc4..c03fcd2d3 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1,5 +1,6 @@ @@ -14,8 +14,8 @@ index 46dfb3c498..74c1f7c447 100644 +import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent; import com.google.common.base.Objects; import com.google.common.collect.ImmutableList; - import com.google.common.collect.Maps; -@@ -2276,6 +2277,13 @@ public abstract class EntityLiving extends Entity { + import com.google.common.collect.ImmutableSet; +@@ -2334,6 +2335,13 @@ public abstract class EntityLiving extends Entity { ItemStack itemstack1 = this.getEquipment(enumitemslot); if (!ItemStack.matches(itemstack1, itemstack)) { @@ -30,7 +30,7 @@ index 46dfb3c498..74c1f7c447 100644 if (!itemstack.isEmpty()) { this.getAttributeMap().a(itemstack.a(enumitemslot)); diff --git a/src/main/java/net/minecraft/server/EnumItemSlot.java b/src/main/java/net/minecraft/server/EnumItemSlot.java -index 02a7ae6785..60b235f16f 100644 +index 02a7ae678..60b235f16 100644 --- a/src/main/java/net/minecraft/server/EnumItemSlot.java +++ b/src/main/java/net/minecraft/server/EnumItemSlot.java @@ -16,6 +16,7 @@ public enum EnumItemSlot { @@ -42,5 +42,5 @@ index 02a7ae6785..60b235f16f 100644 return this.g; } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0185-Prevent-logins-from-being-processed-when-the-player-.patch b/Spigot-Server-Patches/0181-Prevent-logins-from-being-processed-when-the-player-.patch similarity index 90% rename from Spigot-Server-Patches/0185-Prevent-logins-from-being-processed-when-the-player-.patch rename to Spigot-Server-Patches/0181-Prevent-logins-from-being-processed-when-the-player-.patch index 76cd062f65..38c0f9fffb 100644 --- a/Spigot-Server-Patches/0185-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/Spigot-Server-Patches/0181-Prevent-logins-from-being-processed-when-the-player-.patch @@ -1,4 +1,4 @@ -From 1ef9c95d02515c643df7f8ac642186f4e81ade43 Mon Sep 17 00:00:00 2001 +From 02a7530a63a6e92cd283b0416021f7b128296ae5 Mon Sep 17 00:00:00 2001 From: killme Date: Sun, 12 Nov 2017 19:40:01 +0100 Subject: [PATCH] Prevent logins from being processed when the player has @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent logins from being processed when the player has diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index c3ff7a6b8f..a2af5b4b29 100644 +index a1be28390..828b64e41 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -56,7 +56,11 @@ public class LoginListener implements PacketLoginInListener { @@ -23,5 +23,5 @@ index c3ff7a6b8f..a2af5b4b29 100644 EntityPlayer entityplayer = this.server.getPlayerList().a(this.i.getId()); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0186-use-CB-BlockState-implementations-for-captured-block.patch b/Spigot-Server-Patches/0182-use-CB-BlockState-implementations-for-captured-block.patch similarity index 88% rename from Spigot-Server-Patches/0186-use-CB-BlockState-implementations-for-captured-block.patch rename to Spigot-Server-Patches/0182-use-CB-BlockState-implementations-for-captured-block.patch index cbd2c9c657..873c05599a 100644 --- a/Spigot-Server-Patches/0186-use-CB-BlockState-implementations-for-captured-block.patch +++ b/Spigot-Server-Patches/0182-use-CB-BlockState-implementations-for-captured-block.patch @@ -1,4 +1,4 @@ -From 73f423d4b038df91294e25f806ab2836b290bfbf Mon Sep 17 00:00:00 2001 +From 576298272c0aa61f8fd7f23d99c98bec4b5b2730 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 16 Nov 2017 12:12:41 +0000 Subject: [PATCH] use CB BlockState implementations for captured blocks @@ -18,10 +18,10 @@ 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 22f1d9e27b..e780f7af40 100644 +index 117939bb7..39b136935 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -348,7 +348,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose +@@ -282,7 +282,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { // CraftBukkit start - capture blockstates CraftBlockState blockstate = null; if (this.captureBlockStates) { @@ -31,5 +31,5 @@ index 22f1d9e27b..e780f7af40 100644 } // CraftBukkit end -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0187-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-Server-Patches/0183-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 95% rename from Spigot-Server-Patches/0187-API-to-get-a-BlockState-without-a-snapshot.patch rename to Spigot-Server-Patches/0183-API-to-get-a-BlockState-without-a-snapshot.patch index 1d908c753e..7cc2472afc 100644 --- a/Spigot-Server-Patches/0187-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/Spigot-Server-Patches/0183-API-to-get-a-BlockState-without-a-snapshot.patch @@ -1,4 +1,4 @@ -From 3da7acd8b4c3fb3ae58fe3f8c2c3210ef0f1a790 Mon Sep 17 00:00:00 2001 +From 282a855337c9b21d88e3a025014d290aea141cf8 Mon Sep 17 00:00:00 2001 From: Aikar 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 af6977dcd..c72b01386 100644 +index 630b27915..958279249 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java -@@ -230,7 +230,12 @@ public abstract class TileEntity implements KeyedObject { // Paper +@@ -231,7 +231,12 @@ public abstract class TileEntity implements KeyedObject { // Paper } // CraftBukkit start - add method @@ -29,7 +29,7 @@ index af6977dcd..c72b01386 100644 if (world == null) return null; // Spigot start org.bukkit.block.Block block = world.getWorld().getBlockAt(position.getX(), position.getY(), position.getZ()); -@@ -239,7 +244,7 @@ public abstract class TileEntity implements KeyedObject { // Paper +@@ -240,7 +245,7 @@ public abstract class TileEntity implements KeyedObject { // Paper return null; } // Spigot end @@ -39,7 +39,7 @@ index af6977dcd..c72b01386 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 d3e524093..da3c50c70 100644 +index 3d632543b..887ade5e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -309,6 +309,20 @@ public class CraftBlock implements Block { @@ -131,5 +131,5 @@ index 15022ada0..af15656cc 100644 @Override -- -2.24.0 +2.17.1 diff --git a/Spigot-Server-Patches/0188-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0184-AsyncTabCompleteEvent.patch similarity index 95% rename from Spigot-Server-Patches/0188-AsyncTabCompleteEvent.patch rename to Spigot-Server-Patches/0184-AsyncTabCompleteEvent.patch index 5857f3fea4..5a1d21bc86 100644 --- a/Spigot-Server-Patches/0188-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0184-AsyncTabCompleteEvent.patch @@ -1,4 +1,4 @@ -From 8dc339d494ac04fa85ad7eca65213096c14c98f4 Mon Sep 17 00:00:00 2001 +From 78dda52d682ec67a2f8154d53b92ee578ae623e7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 26 Nov 2017 13:19:58 -0500 Subject: [PATCH] AsyncTabCompleteEvent @@ -14,10 +14,10 @@ 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 1d140b3fe7..6008613fae 100644 +index 9af8e947e..ad2a36627 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -521,10 +521,10 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -524,10 +524,10 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInTabComplete packetplayintabcomplete) { @@ -30,7 +30,7 @@ index 1d140b3fe7..6008613fae 100644 return; } // CraftBukkit end -@@ -534,12 +534,37 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -537,12 +537,37 @@ public class PlayerConnection implements PacketListenerPlayIn { stringreader.skip(); } @@ -72,10 +72,10 @@ index 1d140b3fe7..6008613fae 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 308ae2e157..3938adf7c7 100644 +index 2f7769c00..9fe19fb59 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1668,7 +1668,7 @@ public final class CraftServer implements Server { +@@ -1671,7 +1671,7 @@ public final class CraftServer implements Server { offers = tabCompleteChat(player, message); } @@ -85,7 +85,7 @@ index 308ae2e157..3938adf7c7 100644 return tabEvent.isCancelled() ? Collections.EMPTY_LIST : tabEvent.getCompletions(); diff --git a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java -index 5510266fb1..a51202ed53 100644 +index 5510266fb..a51202ed5 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java +++ b/src/main/java/org/bukkit/craftbukkit/command/ConsoleCommandCompleter.java @@ -28,6 +28,39 @@ public class ConsoleCommandCompleter implements Completer { @@ -129,5 +129,5 @@ index 5510266fb1..a51202ed53 100644 Waitable> waitable = new Waitable>() { @Override -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0189-Avoid-NPE-in-PathfinderGoalTempt.patch b/Spigot-Server-Patches/0185-Avoid-NPE-in-PathfinderGoalTempt.patch similarity index 88% rename from Spigot-Server-Patches/0189-Avoid-NPE-in-PathfinderGoalTempt.patch rename to Spigot-Server-Patches/0185-Avoid-NPE-in-PathfinderGoalTempt.patch index 9c50e6284e..2f25aa6e78 100644 --- a/Spigot-Server-Patches/0189-Avoid-NPE-in-PathfinderGoalTempt.patch +++ b/Spigot-Server-Patches/0185-Avoid-NPE-in-PathfinderGoalTempt.patch @@ -1,11 +1,11 @@ -From f28a5e2b34432128d6bed2ef1671bc526da11581 Mon Sep 17 00:00:00 2001 +From c72f85b26faae29bc8da82ed7ba569f479c5f427 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 29 Nov 2017 22:18:54 -0500 Subject: [PATCH] Avoid NPE in PathfinderGoalTempt diff --git a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java -index fb395bcded..d1164dd682 100644 +index eafdcb916..d37a2fa0a 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalTempt.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalTempt.java @@ -55,7 +55,7 @@ public class PathfinderGoalTempt extends PathfinderGoal { @@ -18,5 +18,5 @@ index fb395bcded..d1164dd682 100644 } } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0190-PlayerPickupExperienceEvent.patch b/Spigot-Server-Patches/0186-PlayerPickupExperienceEvent.patch similarity index 79% rename from Spigot-Server-Patches/0190-PlayerPickupExperienceEvent.patch rename to Spigot-Server-Patches/0186-PlayerPickupExperienceEvent.patch index 50daa111a8..68d6b514f8 100644 --- a/Spigot-Server-Patches/0190-PlayerPickupExperienceEvent.patch +++ b/Spigot-Server-Patches/0186-PlayerPickupExperienceEvent.patch @@ -1,4 +1,4 @@ -From 0b8205b527e5acfa6d114903d7f2c5f322871e34 Mon Sep 17 00:00:00 2001 +From d658459a32f49fc117a6dd2af0355f472518ca05 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 22:02:53 -0500 Subject: [PATCH] PlayerPickupExperienceEvent @@ -6,18 +6,18 @@ Subject: [PATCH] PlayerPickupExperienceEvent Allows plugins to cancel a player picking up an experience orb diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 35f03947d..e6b810756 100644 +index d4275e733..b3edb69a9 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -222,7 +222,7 @@ public class EntityExperienceOrb extends Entity { @Override public void pickup(EntityHuman entityhuman) { if (!this.world.isClientSide) { -- if (this.d == 0 && entityhuman.bF == 0) { -+ if (this.d == 0 && entityhuman.bF == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper - entityhuman.bF = 2; +- if (this.d == 0 && entityhuman.bC == 0) { ++ if (this.d == 0 && entityhuman.bC == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper + entityhuman.bC = 2; entityhuman.receive(this, 1); Entry entry = EnchantmentManager.b(Enchantments.MENDING, (EntityLiving) entityhuman); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0191-ExperienceOrbMergeEvent.patch b/Spigot-Server-Patches/0187-ExperienceOrbMergeEvent.patch similarity index 93% rename from Spigot-Server-Patches/0191-ExperienceOrbMergeEvent.patch rename to Spigot-Server-Patches/0187-ExperienceOrbMergeEvent.patch index 3e087581fe..5f50f82bd1 100644 --- a/Spigot-Server-Patches/0191-ExperienceOrbMergeEvent.patch +++ b/Spigot-Server-Patches/0187-ExperienceOrbMergeEvent.patch @@ -1,4 +1,4 @@ -From 782fe85c988f7dff4bd866321a742aad5865e93d Mon Sep 17 00:00:00 2001 +From f779071caff42d2a59ef762a8d39da9f3e0227e6 Mon Sep 17 00:00:00 2001 From: Aikar 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 5257941e9..489943410 100644 +index e310f2afe..9b314eacc 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -547,7 +547,7 @@ public class CraftEventFactory { @@ -21,5 +21,5 @@ index 5257941e9..489943410 100644 if ((int) newTotal < 0) continue; // Overflow if (maxValue > 0 && newTotal > (long)maxValue) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0192-Ability-to-apply-mending-to-XP-API.patch b/Spigot-Server-Patches/0188-Ability-to-apply-mending-to-XP-API.patch similarity index 92% rename from Spigot-Server-Patches/0192-Ability-to-apply-mending-to-XP-API.patch rename to Spigot-Server-Patches/0188-Ability-to-apply-mending-to-XP-API.patch index 216440a036..9b38dbc803 100644 --- a/Spigot-Server-Patches/0192-Ability-to-apply-mending-to-XP-API.patch +++ b/Spigot-Server-Patches/0188-Ability-to-apply-mending-to-XP-API.patch @@ -1,4 +1,4 @@ -From d5fb0d436ef69748430a2bd4aefd7d74ccc57ff0 Mon Sep 17 00:00:00 2001 +From 72ec0195082095bf3f6043846e3450dd66f06963 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Dec 2017 17:36:49 -0500 Subject: [PATCH] Ability to apply mending to XP API @@ -10,10 +10,10 @@ 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 ed9aedc07..1d16919e6 100644 +index 1822178e8..fabc7a8dd 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 { +@@ -246,6 +246,11 @@ public class EnchantmentManager { return getEnchantmentLevel(Enchantments.CHANNELING, itemstack) > 0; } @@ -26,7 +26,7 @@ index ed9aedc07..1d16919e6 100644 public static Entry b(Enchantment enchantment, EntityLiving entityliving) { Map 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 e6b810756..ba3e66f9e 100644 +index b3edb69a9..87c6b77ce 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -254,10 +254,12 @@ public class EntityExperienceOrb extends Entity { @@ -43,10 +43,10 @@ index e6b810756..ba3e66f9e 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 3e8979dfe..a1481c5b8 100644 +index cade504af..c82de14eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1063,8 +1063,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1047,8 +1047,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return GameMode.getByValue(getHandle().playerInteractManager.getGameMode().getId()); } @@ -88,5 +88,5 @@ index 3e8979dfe..a1481c5b8 100644 } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0193-Make-max-squid-spawn-height-configurable.patch b/Spigot-Server-Patches/0189-Make-max-squid-spawn-height-configurable.patch similarity index 93% rename from Spigot-Server-Patches/0193-Make-max-squid-spawn-height-configurable.patch rename to Spigot-Server-Patches/0189-Make-max-squid-spawn-height-configurable.patch index d4b6007f2f..b318dcacb5 100644 --- a/Spigot-Server-Patches/0193-Make-max-squid-spawn-height-configurable.patch +++ b/Spigot-Server-Patches/0189-Make-max-squid-spawn-height-configurable.patch @@ -1,4 +1,4 @@ -From c8322dca6d932724fccf3fdff4d06653ae0bdcae Mon Sep 17 00:00:00 2001 +From eaaf3357e4e96bf181c4f311f7e20ad9e798830c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 11 Jan 2018 16:47:28 -0600 Subject: [PATCH] Make max squid spawn height configurable @@ -7,7 +7,7 @@ I don't know why upstream made only the minimum height configurable but whatever diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 063ba6a1d..aacce432b 100644 +index 671587631..e315a00cc 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -344,4 +344,9 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 063ba6a1d..aacce432b 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index f8fa64959..735d1879a 100644 +index 8c4f3b2c2..1c1ff2069 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -171,7 +171,8 @@ public class EntitySquid extends EntityWaterAnimal { @@ -35,5 +35,5 @@ index f8fa64959..735d1879a 100644 public void a(float f, float f1, float f2) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0194-PreCreatureSpawnEvent.patch b/Spigot-Server-Patches/0190-PreCreatureSpawnEvent.patch similarity index 70% rename from Spigot-Server-Patches/0194-PreCreatureSpawnEvent.patch rename to Spigot-Server-Patches/0190-PreCreatureSpawnEvent.patch index 25c1e97c87..3906857f50 100644 --- a/Spigot-Server-Patches/0194-PreCreatureSpawnEvent.patch +++ b/Spigot-Server-Patches/0190-PreCreatureSpawnEvent.patch @@ -1,4 +1,4 @@ -From d12fdc3e162f3ed34415d5aab640a2c0dde75f70 Mon Sep 17 00:00:00 2001 +From 77f5f5b6b827dea777daf452900e3aea606e3cbd Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:01:31 -0500 Subject: [PATCH] PreCreatureSpawnEvent @@ -15,40 +15,39 @@ 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/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 59bd9ccd70..6f5d8b0315 100644 +index 258e96ba5..fe8bc7f75 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -@@ -104,6 +104,28 @@ public abstract class MobSpawnerAbstract { +@@ -105,6 +105,27 @@ public abstract class MobSpawnerAbstract { double d5 = j >= 3 ? nbttaglist.h(2) : (double) blockposition.getZ() + (world.random.nextDouble() - world.random.nextDouble()) * (double) this.spawnRange + 0.5D; - if (world.c(((EntityTypes) optional.get()).a(d3, d4, d5)) && EntityPositionTypes.a((EntityTypes) optional.get(), world.getMinecraftWorld(), EnumMobSpawn.SPAWNER, new BlockPosition(d3, d4, d5), world.getRandom())) { -+ // Paper start -+ EntityTypes entityType = optional.get(); -+ String key = EntityTypes.getName(entityType).getKey(); + if (world.a(((EntityTypes) optional.get()).a(d3, d4, d5)) && EntityPositionTypes.a((EntityTypes) optional.get(), world.getMinecraftWorld(), EnumMobSpawn.SPAWNER, new BlockPosition(d3, d4, d5), world.getRandom())) { ++ // Paper start ++ EntityTypes entityType = optional.get(); ++ String key = EntityTypes.getName(entityType).getKey(); + -+ org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(key); -+ if (type != null) { -+ com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event; -+ event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent( -+ MCUtil.toLocation(world, d3, d4, d5), -+ type, -+ org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER -+ ); -+ if (!event.callEvent()) { -+ flag = true; -+ if (event.shouldAbortSpawn()) { -+ break; ++ org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(key); ++ if (type != null) { ++ com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event; ++ event = new com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent( ++ MCUtil.toLocation(world, d3, d4, d5), ++ type, ++ org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER ++ ); ++ if (!event.callEvent()) { ++ flag = true; ++ if (event.shouldAbortSpawn()) { ++ break; ++ } ++ continue; + } -+ continue; + } -+ } -+ // Paper end -+ ++ // Paper end Entity entity = EntityTypes.a(nbttagcompound, world, (entity1) -> { entity1.setPositionRotation(d3, d4, d5, entity1.yaw, entity1.pitch); return entity1; diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 9c065c9997..30da877d53 100644 +index 02157d051..487114367 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 { @@ -61,7 +60,7 @@ index 9c065c9997..30da877d53 100644 while (true) { @@ -77,6 +77,25 @@ public final class SpawnerCreature { - if (a(entitypositiontypes_surface, (IWorldReader) world, (BlockPosition) blockposition_mutableblockposition, entitytypes) && EntityPositionTypes.a(entitytypes, world, EnumMobSpawn.NATURAL, blockposition_mutableblockposition, world.random) && world.c(entitytypes.a((double) f, (double) k, (double) f1))) { + if (a(entitypositiontypes_surface, (IWorldReader) worldserver, (BlockPosition) blockposition_mutableblockposition, entitytypes) && EntityPositionTypes.a(entitytypes, worldserver, EnumMobSpawn.NATURAL, blockposition_mutableblockposition, worldserver.random) && worldserver.a(entitytypes.a((double) f, (double) k, (double) f1))) { EntityInsentient entityinsentient; + // Paper start @@ -84,8 +83,8 @@ index 9c065c9997..30da877d53 100644 + // Paper end + try { - Entity entity = entitytypes.a(world); + Entity entity = entitytypes.a((World) worldserver); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0195-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0191-PlayerNaturallySpawnCreaturesEvent.patch similarity index 92% rename from Spigot-Server-Patches/0195-PlayerNaturallySpawnCreaturesEvent.patch rename to Spigot-Server-Patches/0191-PlayerNaturallySpawnCreaturesEvent.patch index ebd5d32c8c..9e8ad3d81b 100644 --- a/Spigot-Server-Patches/0195-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0191-PlayerNaturallySpawnCreaturesEvent.patch @@ -1,4 +1,4 @@ -From d13d8591c15acda5b1d6521ddad05834b9fbc65b Mon Sep 17 00:00:00 2001 +From 880e221e575862228c507b8f5dcb67ca4d78f2b0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:36:02 -0500 Subject: [PATCH] PlayerNaturallySpawnCreaturesEvent @@ -9,10 +9,10 @@ from triggering monster spawns on a server. Also a highly more effecient way to blanket block spawns in a world diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 6a3a66e7d..649600b3e 100644 +index 492d1538f..df24bac3b 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -842,12 +842,24 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -843,12 +843,24 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange; chunkRange = (chunkRange > 8) ? 8 : chunkRange; @@ -40,5 +40,5 @@ index 6a3a66e7d..649600b3e 100644 } -- -2.24.0 +2.17.1 diff --git a/Spigot-Server-Patches/0196-Add-setPlayerProfile-API-for-Skulls.patch b/Spigot-Server-Patches/0192-Add-setPlayerProfile-API-for-Skulls.patch similarity index 96% rename from Spigot-Server-Patches/0196-Add-setPlayerProfile-API-for-Skulls.patch rename to Spigot-Server-Patches/0192-Add-setPlayerProfile-API-for-Skulls.patch index eeac5570dc..969a083ae6 100644 --- a/Spigot-Server-Patches/0196-Add-setPlayerProfile-API-for-Skulls.patch +++ b/Spigot-Server-Patches/0192-Add-setPlayerProfile-API-for-Skulls.patch @@ -1,4 +1,4 @@ -From 2abab834a6150dde60c05f78153364368618be36 Mon Sep 17 00:00:00 2001 +From 2ef86bc0487e416d204b91b9fb1ca946971dbe13 Mon Sep 17 00:00:00 2001 From: Aikar 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 a83abc722..c29a78fd3 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; @@ -89,5 +89,5 @@ index 0136e1bfe1..aee97b9f03 100644 public OfflinePlayer getOwningPlayer() { if (hasOwner()) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0197-Fill-Profile-Property-Events.patch b/Spigot-Server-Patches/0193-Fill-Profile-Property-Events.patch similarity index 94% rename from Spigot-Server-Patches/0197-Fill-Profile-Property-Events.patch rename to Spigot-Server-Patches/0193-Fill-Profile-Property-Events.patch index 7361714484..c25cb5f37a 100644 --- a/Spigot-Server-Patches/0197-Fill-Profile-Property-Events.patch +++ b/Spigot-Server-Patches/0193-Fill-Profile-Property-Events.patch @@ -1,4 +1,4 @@ -From 983dc15ebbccfcee1a79c984189d6a20984b7223 Mon Sep 17 00:00:00 2001 +From 29b51a8a3a8baa13e34edeb2742e860244d98ccc Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 2 Jan 2018 00:31:26 -0500 Subject: [PATCH] Fill Profile Property Events @@ -11,7 +11,7 @@ If Mojang API does need to be hit, event fire so you can get the results. This is useful for implementing a ProfileCache for Player Skulls diff --git a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java -index 4b2a67423f..61cfdf73c8 100644 +index 4b2a67423..61cfdf73c 100644 --- a/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java +++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java @@ -1,5 +1,7 @@ @@ -40,5 +40,5 @@ index 4b2a67423f..61cfdf73c8 100644 @Override -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0198-PlayerAdvancementCriterionGrantEvent.patch b/Spigot-Server-Patches/0194-PlayerAdvancementCriterionGrantEvent.patch similarity index 90% rename from Spigot-Server-Patches/0198-PlayerAdvancementCriterionGrantEvent.patch rename to Spigot-Server-Patches/0194-PlayerAdvancementCriterionGrantEvent.patch index 32e1260a5a..b4922c8c36 100644 --- a/Spigot-Server-Patches/0198-PlayerAdvancementCriterionGrantEvent.patch +++ b/Spigot-Server-Patches/0194-PlayerAdvancementCriterionGrantEvent.patch @@ -1,11 +1,11 @@ -From 365884033fb92fc9c1f6c5ebbc4b1d73690de74b Mon Sep 17 00:00:00 2001 +From a995742255e4fdbd4865622b4047974b45b91b59 Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 4040eb3b3f..b7f1f39a16 100644 +index 4407e760c..fe5bea363 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 { @@ -22,5 +22,5 @@ index 4040eb3b3f..b7f1f39a16 100644 this.i.add(advancement); flag = true; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0199-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0195-Add-ArmorStand-Item-Meta.patch similarity index 97% rename from Spigot-Server-Patches/0199-Add-ArmorStand-Item-Meta.patch rename to Spigot-Server-Patches/0195-Add-ArmorStand-Item-Meta.patch index f178ac16a2..574a34a384 100644 --- a/Spigot-Server-Patches/0199-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0195-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 8566c6907149379db72cac436dc270dc320039e0 Mon Sep 17 00:00:00 2001 +From adffa3a0e999f6283f0c7cc41049bd40d3a7354c Mon Sep 17 00:00:00 2001 From: Zach Brown 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/CraftMetaArmorStand.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java -index f700522840..3723faccac 100644 +index f70052284..3723facca 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaArmorStand.java @@ -8,13 +8,39 @@ import org.bukkit.Material; @@ -267,7 +267,7 @@ index f700522840..3723faccac 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 479a5686aa..6a6b80b5bd 100644 +index 5ee968f2e..1eede4bcc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -1428,7 +1428,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -288,7 +288,7 @@ index 479a5686aa..6a6b80b5bd 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 b07a3051ca..919f2ffa91 100644 +index 630233960..3a82bede7 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; @@ -299,7 +299,7 @@ index b07a3051ca..919f2ffa91 100644 import net.minecraft.server.Block; import net.minecraft.server.IRegistry; import net.minecraft.server.ITileEntity; -@@ -351,6 +352,7 @@ public class ItemMetaTest extends AbstractTestingBase { +@@ -313,6 +314,7 @@ public class ItemMetaTest extends AbstractTestingBase { final CraftMetaArmorStand meta = (CraftMetaArmorStand) cleanStack.getItemMeta(); meta.entityTag = new NBTTagCompound(); meta.entityTag.setBoolean("Small", true); @@ -308,5 +308,5 @@ index b07a3051ca..919f2ffa91 100644 return cleanStack; } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/0196-Extend-Player-Interact-cancellation.patch similarity index 94% rename from Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch rename to Spigot-Server-Patches/0196-Extend-Player-Interact-cancellation.patch index e50f794d8a..f50221c4b7 100644 --- a/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch +++ b/Spigot-Server-Patches/0196-Extend-Player-Interact-cancellation.patch @@ -1,4 +1,4 @@ -From 834cacda9a16782a8247a1e451c3debe61526423 Mon Sep 17 00:00:00 2001 +From cf5b0d2dad1db1eb4f84e52d537acdff1882a711 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Feb 2018 10:43:46 +0000 Subject: [PATCH] Extend Player Interact cancellation @@ -13,10 +13,10 @@ Update adjacent blocks of doors, double plants, pistons and beds when cancelling interaction. diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 10aa7da31f..aa139aee0e 100644 +index 56f249c43..18ff6dd68 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -136,6 +136,11 @@ public class PlayerInteractManager { +@@ -137,6 +137,11 @@ public class PlayerInteractManager { PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.LEFT_CLICK_BLOCK, blockposition, enumdirection, this.player.inventory.getItemInHand(), EnumHand.MAIN_HAND); if (event.isCancelled()) { // Let the client know the block still exists @@ -28,7 +28,7 @@ index 10aa7da31f..aa139aee0e 100644 this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); // Update any tile entity data for this block TileEntity tileentity = this.world.getTileEntity(blockposition); -@@ -439,7 +444,25 @@ public class PlayerInteractManager { +@@ -449,7 +454,25 @@ public class PlayerInteractManager { ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, bottom ? blockposition.up() : blockposition.down())); } else if (iblockdata.getBlock() instanceof BlockCake) { ((EntityPlayer) entityhuman).getBukkitEntity().sendHealthUpdate(); // SPIGOT-1341 - reset health for cake @@ -55,5 +55,5 @@ index 10aa7da31f..aa139aee0e 100644 enuminteractionresult = (event.useItemInHand() != Event.Result.ALLOW) ? EnumInteractionResult.SUCCESS : EnumInteractionResult.PASS; } else if (this.gamemode == EnumGamemode.SPECTATOR) { -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0201-Tameable-getOwnerUniqueId-API.patch b/Spigot-Server-Patches/0197-Tameable-getOwnerUniqueId-API.patch similarity index 91% rename from Spigot-Server-Patches/0201-Tameable-getOwnerUniqueId-API.patch rename to Spigot-Server-Patches/0197-Tameable-getOwnerUniqueId-API.patch index c82dd95a5a..7f8133802b 100644 --- a/Spigot-Server-Patches/0201-Tameable-getOwnerUniqueId-API.patch +++ b/Spigot-Server-Patches/0197-Tameable-getOwnerUniqueId-API.patch @@ -1,4 +1,4 @@ -From e7671db0140d7ff978a3e1a2652aa527aebfb8fb Mon Sep 17 00:00:00 2001 +From eda073002e6ae458f54b520c7b6c600ab5bdad3a Mon Sep 17 00:00:00 2001 From: Aikar 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 @@ -35,5 +35,5 @@ index 5dfa40dda1..407b95cafd 100644 try { return getHandle().getOwnerUUID(); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0198-Toggleable-player-crits-helps-mitigate-hacked-client.patch similarity index 88% rename from Spigot-Server-Patches/0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch rename to Spigot-Server-Patches/0198-Toggleable-player-crits-helps-mitigate-hacked-client.patch index 068506ea00..d50d2b116d 100644 --- a/Spigot-Server-Patches/0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/Spigot-Server-Patches/0198-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -1,11 +1,11 @@ -From eead92b8e3668ecf3902d8ee6a2cfb96b21f45cb Mon Sep 17 00:00:00 2001 +From 7168d4b9d1760a2b192340f2b1d42c23eec90328 Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sat, 10 Mar 2018 00:50:24 +0100 Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index aacce432b..b87133fcf 100644 +index e315a00cc..2607c4e5f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -187,6 +187,11 @@ public class PaperWorldConfig { @@ -21,10 +21,10 @@ index aacce432b..b87133fcf 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 90e5dd3e7..570974024 100644 +index fd7de143e..eb8f3833e 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -997,6 +997,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1063,6 +1063,7 @@ public abstract class EntityHuman extends EntityLiving { boolean flag2 = flag && this.fallDistance > 0.0F && !this.onGround && !this.isClimbing() && !this.isInWater() && !this.hasEffect(MobEffects.BLINDNESS) && !this.isPassenger() && entity instanceof EntityLiving; @@ -33,5 +33,5 @@ index 90e5dd3e7..570974024 100644 if (flag2) { f *= 1.5F; -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch b/Spigot-Server-Patches/0199-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch similarity index 91% rename from Spigot-Server-Patches/0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch rename to Spigot-Server-Patches/0199-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch index 1041850416..af212d0375 100644 --- a/Spigot-Server-Patches/0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch +++ b/Spigot-Server-Patches/0199-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch @@ -1,4 +1,4 @@ -From 500fdae1ef6a574bb8d2e19fe39cea0927a66a82 Mon Sep 17 00:00:00 2001 +From 32c5eda601084a43d756e78afb3b9f215a8dbcd0 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 10 Mar 2018 13:03:49 +0000 Subject: [PATCH] Fix NPE when getting location from InventoryEnderChest opened @@ -6,7 +6,7 @@ Subject: [PATCH] Fix NPE when getting location from InventoryEnderChest opened diff --git a/src/main/java/net/minecraft/server/InventoryEnderChest.java b/src/main/java/net/minecraft/server/InventoryEnderChest.java -index 5a9ac3960d..fd31b9a6dc 100644 +index 5a9ac3960..fd31b9a6d 100644 --- a/src/main/java/net/minecraft/server/InventoryEnderChest.java +++ b/src/main/java/net/minecraft/server/InventoryEnderChest.java @@ -5,7 +5,7 @@ import org.bukkit.inventory.InventoryHolder; @@ -27,5 +27,5 @@ index 5a9ac3960d..fd31b9a6dc 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch b/Spigot-Server-Patches/0200-Prevent-Frosted-Ice-from-loading-holding-chunks.patch similarity index 58% rename from Spigot-Server-Patches/0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch rename to Spigot-Server-Patches/0200-Prevent-Frosted-Ice-from-loading-holding-chunks.patch index d0ddb07b92..fa7d678adb 100644 --- a/Spigot-Server-Patches/0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch +++ b/Spigot-Server-Patches/0200-Prevent-Frosted-Ice-from-loading-holding-chunks.patch @@ -1,24 +1,25 @@ -From 7e1d6381c1a8e2ab67ec801f5fbc8fc7ed1ba227 Mon Sep 17 00:00:00 2001 +From 220a60e8e84b4da22e86c2aed5f2da427ae2c721 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 10 Mar 2018 16:33:15 -0500 Subject: [PATCH] Prevent Frosted Ice from loading/holding chunks diff --git a/src/main/java/net/minecraft/server/BlockIceFrost.java b/src/main/java/net/minecraft/server/BlockIceFrost.java -index 39c3bbc9cf..881dfb1235 100644 +index 5e414138e..638a0aa5a 100644 --- a/src/main/java/net/minecraft/server/BlockIceFrost.java +++ b/src/main/java/net/minecraft/server/BlockIceFrost.java -@@ -26,7 +26,8 @@ public class BlockIceFrost extends BlockIce { +@@ -26,8 +26,8 @@ public class BlockIceFrost extends BlockIce { EnumDirection enumdirection = aenumdirection[j]; blockposition_pooledblockposition.g(blockposition).c(enumdirection); -- IBlockData iblockdata1 = world.getType(blockposition_pooledblockposition); -+ IBlockData iblockdata1 = world.getTypeIfLoaded(blockposition_pooledblockposition); // Paper - don't load chunks +- IBlockData iblockdata1 = worldserver.getType(blockposition_pooledblockposition); +- ++ IBlockData iblockdata1 = worldserver.getTypeIfLoaded(blockposition_pooledblockposition); // Paper - don't load chunks + if (iblockdata1 == null) continue; // Paper - - if (iblockdata1.getBlock() == this && !this.e(iblockdata1, world, blockposition_pooledblockposition)) { - world.getBlockTickList().a(blockposition_pooledblockposition, this, MathHelper.nextInt(random, world.paperConfig.frostedIceDelayMin, world.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay -@@ -89,7 +90,7 @@ public class BlockIceFrost extends BlockIce { + if (iblockdata1.getBlock() == this && !this.e(iblockdata1, (World) worldserver, blockposition_pooledblockposition)) { + worldserver.getBlockTickList().a(blockposition_pooledblockposition, this, MathHelper.nextInt(random, worldserver.paperConfig.frostedIceDelayMin, worldserver.paperConfig.frostedIceDelayMax)); // Paper - use configurable min/max delay + } +@@ -89,7 +89,7 @@ public class BlockIceFrost extends BlockIce { EnumDirection enumdirection = aenumdirection[l]; blockposition_pooledblockposition.g(blockposition).c(enumdirection); @@ -28,5 +29,5 @@ index 39c3bbc9cf..881dfb1235 100644 if (j >= i) { boolean flag = false; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0205-Disable-Explicit-Network-Manager-Flushing.patch b/Spigot-Server-Patches/0201-Disable-Explicit-Network-Manager-Flushing.patch similarity index 93% rename from Spigot-Server-Patches/0205-Disable-Explicit-Network-Manager-Flushing.patch rename to Spigot-Server-Patches/0201-Disable-Explicit-Network-Manager-Flushing.patch index 83ed3e9078..7fd8b71190 100644 --- a/Spigot-Server-Patches/0205-Disable-Explicit-Network-Manager-Flushing.patch +++ b/Spigot-Server-Patches/0201-Disable-Explicit-Network-Manager-Flushing.patch @@ -1,4 +1,4 @@ -From d57978e971969411eb0978aa748a96c14afb289a Mon Sep 17 00:00:00 2001 +From 39155da9b345372c1221b2d7850c7d7b0f2f8e26 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 11 Mar 2018 14:13:33 -0400 Subject: [PATCH] Disable Explicit Network Manager Flushing @@ -12,7 +12,7 @@ flushing on the netty event loop, so it won't do the flush on the main thread. Renable flushing by passing -Dpaper.explicit-flush=true diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index e2d8ed88f0..08e314af7c 100644 +index e2d8ed88f..08e314af7 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -63,6 +63,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { @@ -33,5 +33,5 @@ index e2d8ed88f0..08e314af7c 100644 if (this.t++ % 20 == 0) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0202-Implement-extended-PaperServerListPingEvent.patch similarity index 96% rename from Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch rename to Spigot-Server-Patches/0202-Implement-extended-PaperServerListPingEvent.patch index 8ed7f0a1c7..0c2c70d035 100644 --- a/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0202-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From a48b6bb616cd974110b453c1d7fdd78ca31638f5 Mon Sep 17 00:00:00 2001 +From 85dd7c98b6fe9a8daaae06ce0aa84d6335381510 Mon Sep 17 00:00:00 2001 From: Minecrell 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 6e6c662f95..8d2be704f9 100644 +index 1ddb10741..97a0a6924 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,6 +1,9 @@ @@ -190,7 +190,7 @@ index 6e6c662f95..8d2be704f9 100644 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.gson.JsonElement; -@@ -1075,7 +1078,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 5000000000L) { this.Z = i; this.serverPing.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.getMaxPlayers(), this.getPlayerCount())); @@ -200,7 +200,7 @@ index 6e6c662f95..8d2be704f9 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 2b08f285d1..295c9ac22d 100644 +index 658ea609c..4bb21c48b 100644 --- a/src/main/java/net/minecraft/server/PacketStatusListener.java +++ b/src/main/java/net/minecraft/server/PacketStatusListener.java @@ -37,6 +37,8 @@ public class PacketStatusListener implements PacketStatusInListener { @@ -223,7 +223,7 @@ index 2b08f285d1..295c9ac22d 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 { @@ -248,7 +248,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 783aa6db1f..33767c85ca 100644 +index 783aa6db1..33767c85c 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -285,7 +285,7 @@ public class SpigotConfig @@ -261,5 +261,5 @@ index 783aa6db1f..33767c85ca 100644 } -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0207-Improved-Async-Task-Scheduler.patch b/Spigot-Server-Patches/0203-Improved-Async-Task-Scheduler.patch similarity index 99% rename from Spigot-Server-Patches/0207-Improved-Async-Task-Scheduler.patch rename to Spigot-Server-Patches/0203-Improved-Async-Task-Scheduler.patch index 2fcc7d8151..f7a16e02dc 100644 --- a/Spigot-Server-Patches/0207-Improved-Async-Task-Scheduler.patch +++ b/Spigot-Server-Patches/0203-Improved-Async-Task-Scheduler.patch @@ -1,4 +1,4 @@ -From 700bf6c53b2c7c155e4486f7955ae011dd02f092 Mon Sep 17 00:00:00 2001 +From cfad943ea663c283bb1f29e4873a882158d2c2d3 Mon Sep 17 00:00:00 2001 From: Aikar 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 { @@ -365,5 +365,5 @@ index e102be583c..5db848de14 100644 private boolean isReady(final int currentTick) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-Server-Patches/0204-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 95% rename from Spigot-Server-Patches/0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to Spigot-Server-Patches/0204-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index 53de360e05..e4c82c4e43 100644 --- a/Spigot-Server-Patches/0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/Spigot-Server-Patches/0204-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -1,4 +1,4 @@ -From 309034ed37f2220843b9b0ceecd7ecccc95e4258 Mon Sep 17 00:00:00 2001 +From 4a6a24dad2e9fbd89fd2843d554781ead788e13b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 11:45:57 -0400 Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent This will allow you to change the players name or skin on login. diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index a2af5b4b29..a272a70303 100644 +index 828b64e41..0614976b8 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -1,5 +1,7 @@ @@ -44,5 +44,5 @@ index a2af5b4b29..a272a70303 100644 if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0) { final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0209-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0205-Player.setPlayerProfile-API.patch similarity index 90% rename from Spigot-Server-Patches/0209-Player.setPlayerProfile-API.patch rename to Spigot-Server-Patches/0205-Player.setPlayerProfile-API.patch index 12a1f6bdf0..f8998ec1a2 100644 --- a/Spigot-Server-Patches/0209-Player.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0205-Player.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 73e8d2932986ca06676e887f4dc839cd86468fd1 Mon Sep 17 00:00:00 2001 +From f17990de6b39edf58fb96266d16b4492b731aa34 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 18 Mar 2018 12:29:48 -0400 Subject: [PATCH] Player.setPlayerProfile API @@ -6,20 +6,20 @@ 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 0ca5e7886b..778356381d 100644 +index eb8f3833e..205a842ee 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -66,7 +66,7 @@ public abstract class EntityHuman extends EntityLiving { - protected int bR; - protected final float bS = 0.02F; - private int bV; -- private final GameProfile bW; -+ private GameProfile bW; public final void setProfile(final GameProfile profile) { this.bW = profile; } // Paper - OBFHELPER - private ItemStack bY; - private final ItemCooldown bZ; + protected int bO; + protected final float bP = 0.02F; + private int bS; +- private final GameProfile bT; ++ private GameProfile bT; public final void setProfile(final GameProfile profile) { this.bT = profile; } // Paper - OBFHELPER + private ItemStack bV; + private final ItemCooldown bW; @Nullable diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index a272a70303..d6befec184 100644 +index 0614976b8..a985ae7ba 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 a272a70303..d6befec184 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 854d6f7999..a2ef3f59ee 100644 +index c82de14eb..87b715d69 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 854d6f7999..a2ef3f59ee 100644 import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.io.BaseEncoding; -@@ -1203,8 +1205,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1187,8 +1189,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 854d6f7999..a2ef3f59ee 100644 PlayerChunkMap.EntityTracker entry = tracker.trackedEntities.get(other.getId()); if (entry != null) { entry.clear(getHandle()); -@@ -1245,8 +1252,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1229,8 +1236,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } hiddenPlayers.remove(player.getUniqueId()); @@ -90,7 +90,7 @@ index 854d6f7999..a2ef3f59ee 100644 getHandle().playerConnection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, other)); -@@ -1255,6 +1267,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1239,6 +1251,46 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entry.updatePlayer(getHandle()); } } @@ -138,5 +138,5 @@ index 854d6f7999..a2ef3f59ee 100644 public void removeDisconnectingPlayer(Player player) { hiddenPlayers.remove(player.getUniqueId()); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0210-Fix-Dragon-Server-Crashes.patch b/Spigot-Server-Patches/0206-Fix-Dragon-Server-Crashes.patch similarity index 71% rename from Spigot-Server-Patches/0210-Fix-Dragon-Server-Crashes.patch rename to Spigot-Server-Patches/0206-Fix-Dragon-Server-Crashes.patch index 478608183e..aafd068a53 100644 --- a/Spigot-Server-Patches/0210-Fix-Dragon-Server-Crashes.patch +++ b/Spigot-Server-Patches/0206-Fix-Dragon-Server-Crashes.patch @@ -1,4 +1,4 @@ -From 36ee48b6a551302d65c329ee8790f1d3c58e531b Mon Sep 17 00:00:00 2001 +From 98467daafc3c829fb77aa7b95d3eeb908cd43e4e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Mar 2018 20:52:07 -0400 Subject: [PATCH] Fix Dragon Server Crashes @@ -7,18 +7,18 @@ 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 a75128f966..98e15834ab 100644 +index c42de9771..40a8beff5 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 - double d2 = this.a.bA.locY + (double) (this.a.bA.getHeight() / 2.0F); +@@ -54,7 +54,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded + double d3 = d2; BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(d0, d2, d1); - while (this.a.world.isEmpty(blockposition_mutableblockposition)) { + while (this.a.world.isEmpty(blockposition_mutableblockposition ) && d2 > 0) { // Paper - --d2; - blockposition_mutableblockposition.c(d0, d2, d1); - } + --d3; + if (d3 < 0.0D) { + d3 = d2; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0211-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0207-getPlayerUniqueId-API.patch similarity index 90% rename from Spigot-Server-Patches/0211-getPlayerUniqueId-API.patch rename to Spigot-Server-Patches/0207-getPlayerUniqueId-API.patch index 3db5804e8d..101134588e 100644 --- a/Spigot-Server-Patches/0211-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0207-getPlayerUniqueId-API.patch @@ -1,4 +1,4 @@ -From 5a68a156dd67d7290fb1dd4f2acfda61f0fe004d Mon Sep 17 00:00:00 2001 +From a8739afeb83ca2ccda5b6485ad3fba3702c1ccf5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:40:24 -0400 Subject: [PATCH] getPlayerUniqueId API @@ -9,10 +9,10 @@ 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 3938adf7c7..8b5765e619 100644 +index 9fe19fb59..296a11f14 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1361,6 +1361,26 @@ public final class CraftServer implements Server { +@@ -1364,6 +1364,26 @@ public final class CraftServer implements Server { return recipients.size(); } @@ -40,5 +40,5 @@ index 3938adf7c7..8b5765e619 100644 @Deprecated public OfflinePlayer getOfflinePlayer(String name) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0212-Make-player-data-saving-configurable.patch b/Spigot-Server-Patches/0208-Make-player-data-saving-configurable.patch similarity index 92% rename from Spigot-Server-Patches/0212-Make-player-data-saving-configurable.patch rename to Spigot-Server-Patches/0208-Make-player-data-saving-configurable.patch index 1c23530d68..5c0c5ce8c8 100644 --- a/Spigot-Server-Patches/0212-Make-player-data-saving-configurable.patch +++ b/Spigot-Server-Patches/0208-Make-player-data-saving-configurable.patch @@ -1,11 +1,11 @@ -From af649ec80359ef4ec3bb5288a046a86b77bbc6be Mon Sep 17 00:00:00 2001 +From 6f44e546f3bf909bfe8955e190a860fd1e7bf36e Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Mon, 26 Mar 2018 18:30:53 +0300 Subject: [PATCH] Make player data saving configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 11f08c2b73..4169ec9a58 100644 +index 5884b04f7..ba341e017 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -270,4 +270,13 @@ public class PaperConfig { @@ -23,7 +23,7 @@ index 11f08c2b73..4169ec9a58 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index a0254d8e51..e60e10c57d 100644 +index a0254d8e5..e60e10c57 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -138,6 +138,7 @@ public class WorldNBTStorage implements IPlayerFileData { @@ -35,5 +35,5 @@ index a0254d8e51..e60e10c57d 100644 NBTTagCompound nbttagcompound = entityhuman.save(new NBTTagCompound()); File file = new File(this.playerDir, entityhuman.getUniqueIDString() + ".dat.tmp"); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0213-Make-legacy-ping-handler-more-reliable.patch b/Spigot-Server-Patches/0209-Make-legacy-ping-handler-more-reliable.patch similarity index 98% rename from Spigot-Server-Patches/0213-Make-legacy-ping-handler-more-reliable.patch rename to Spigot-Server-Patches/0209-Make-legacy-ping-handler-more-reliable.patch index 32f6ac4ef8..01dc0a2134 100644 --- a/Spigot-Server-Patches/0213-Make-legacy-ping-handler-more-reliable.patch +++ b/Spigot-Server-Patches/0209-Make-legacy-ping-handler-more-reliable.patch @@ -1,4 +1,4 @@ -From 41860548562325970f808e9539bd993dc12a8147 Mon Sep 17 00:00:00 2001 +From ce39789a663bcb1d132ab10623b3535fd6680797 Mon Sep 17 00:00:00 2001 From: Minecrell 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 9ee5a1ff02..063efe9bbe 100644 +index 9ee5a1ff0..063efe9bb 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 { @@ -167,5 +167,5 @@ index 9ee5a1ff02..063efe9bbe 100644 channelhandlercontext.pipeline().firstContext().writeAndFlush(bytebuf).addListener(ChannelFutureListener.CLOSE); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0214-Call-PaperServerListPingEvent-for-legacy-pings.patch b/Spigot-Server-Patches/0210-Call-PaperServerListPingEvent-for-legacy-pings.patch similarity index 98% rename from Spigot-Server-Patches/0214-Call-PaperServerListPingEvent-for-legacy-pings.patch rename to Spigot-Server-Patches/0210-Call-PaperServerListPingEvent-for-legacy-pings.patch index ccb79ab989..08b700151c 100644 --- a/Spigot-Server-Patches/0214-Call-PaperServerListPingEvent-for-legacy-pings.patch +++ b/Spigot-Server-Patches/0210-Call-PaperServerListPingEvent-for-legacy-pings.patch @@ -1,4 +1,4 @@ -From 8c7a325ee7c4c95704f476ac9a7a24ad7606092e Mon Sep 17 00:00:00 2001 +From 828caedc08c05b4702952f1447f9a9e79e64586f Mon Sep 17 00:00:00 2001 From: Minecrell 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 063efe9bbe..4a49fe4cc6 100644 +index 063efe9bb..4a49fe4cc 100644 --- a/src/main/java/net/minecraft/server/LegacyPingHandler.java +++ b/src/main/java/net/minecraft/server/LegacyPingHandler.java @@ -1,5 +1,7 @@ @@ -153,5 +153,5 @@ index 063efe9bbe..4a49fe4cc6 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0215-Flag-to-disable-the-channel-limit.patch b/Spigot-Server-Patches/0211-Flag-to-disable-the-channel-limit.patch similarity index 87% rename from Spigot-Server-Patches/0215-Flag-to-disable-the-channel-limit.patch rename to Spigot-Server-Patches/0211-Flag-to-disable-the-channel-limit.patch index b3685e922a..dfd4355a50 100644 --- a/Spigot-Server-Patches/0215-Flag-to-disable-the-channel-limit.patch +++ b/Spigot-Server-Patches/0211-Flag-to-disable-the-channel-limit.patch @@ -1,4 +1,4 @@ -From aaed32a66b35384c79f908f48c76766c658f0f5c Mon Sep 17 00:00:00 2001 +From 346d3423305d7f19d3e2d5a1da0d5cdf45a528bd Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 31 Mar 2018 17:04:26 +0100 Subject: [PATCH] Flag to disable the channel limit @@ -9,10 +9,10 @@ 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 a2ef3f59ee..2bba7f359d 100644 +index 87b715d69..4dc79ca4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -139,6 +139,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -138,6 +138,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; @@ -20,7 +20,7 @@ index a2ef3f59ee..2bba7f359d 100644 // Paper end public CraftPlayer(CraftServer server, EntityPlayer entity) { -@@ -1469,7 +1470,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1453,7 +1454,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void addChannel(String channel) { @@ -30,5 +30,5 @@ index a2ef3f59ee..2bba7f359d 100644 if (channels.add(channel)) { server.getPluginManager().callEvent(new PlayerRegisterChannelEvent(this, channel)); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0212-Add-method-to-open-already-placed-sign.patch similarity index 92% rename from Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch rename to Spigot-Server-Patches/0212-Add-method-to-open-already-placed-sign.patch index 0022066643..6d4bc81c0b 100644 --- a/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch +++ b/Spigot-Server-Patches/0212-Add-method-to-open-already-placed-sign.patch @@ -1,11 +1,11 @@ -From a45f7597a04a99fe14cb4b041ddbbb720c6c8655 Mon Sep 17 00:00:00 2001 +From 97c9c6abb25684ca2eef0039ac1098d3cabf5941 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa 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 6cce1928a..2f24b52dd 100644 +index a1397d142..cd8ad2704 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -764,4 +764,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -27,5 +27,5 @@ index 6cce1928a..2f24b52dd 100644 + // Paper end } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0217-Configurable-sprint-interruption-on-attack.patch b/Spigot-Server-Patches/0213-Configurable-sprint-interruption-on-attack.patch similarity index 89% rename from Spigot-Server-Patches/0217-Configurable-sprint-interruption-on-attack.patch rename to Spigot-Server-Patches/0213-Configurable-sprint-interruption-on-attack.patch index 06f9254313..7cc321378c 100644 --- a/Spigot-Server-Patches/0217-Configurable-sprint-interruption-on-attack.patch +++ b/Spigot-Server-Patches/0213-Configurable-sprint-interruption-on-attack.patch @@ -1,4 +1,4 @@ -From 9e61551040be429bd36b48e1b5f5f188903166c4 Mon Sep 17 00:00:00 2001 +From 40ca4c9ec73dd0d1d305f637e5f29588f16d9303 Mon Sep 17 00:00:00 2001 From: Brokkonaut 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 b87133fcf..c57f7e7e8 100644 +index 2607c4e5f..1d3120b9b 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,10 +20,10 @@ index b87133fcf..c57f7e7e8 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 9df182def..ec99fb62b 100644 +index 205a842ee..4e91fdd69 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1046,7 +1046,11 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1112,7 +1112,11 @@ public abstract class EntityHuman extends EntityLiving { } this.setMot(this.getMot().d(0.6D, 1.0D, 0.6D)); @@ -37,5 +37,5 @@ index 9df182def..ec99fb62b 100644 if (flag3) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0214-Fix-exploit-that-allowed-colored-signs-to-be-created.patch similarity index 86% rename from Spigot-Server-Patches/0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch rename to Spigot-Server-Patches/0214-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index 9abc2dfa0d..37ec412245 100644 --- a/Spigot-Server-Patches/0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0214-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -1,14 +1,14 @@ -From 88c638f67dcd3b367d2c759c77487c4d1419e92e Mon Sep 17 00:00:00 2001 +From ee33643447f7f46a805022cbc1e6ff9ae0025517 Mon Sep 17 00:00:00 2001 From: 0x22 <0x22@futureclient.net> 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 6008613fae..89beac63aa 100644 +index ad2a36627..8757b6751 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2491,7 +2491,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2501,7 +2501,7 @@ public class PlayerConnection implements PacketListenerPlayIn { String[] lines = new String[4]; for (int i = 0; i < astring.length; ++i) { @@ -18,5 +18,5 @@ index 6008613fae..89beac63aa 100644 SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines); this.server.getPluginManager().callEvent(event); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0219-EndermanEscapeEvent.patch b/Spigot-Server-Patches/0215-EndermanEscapeEvent.patch similarity index 75% rename from Spigot-Server-Patches/0219-EndermanEscapeEvent.patch rename to Spigot-Server-Patches/0215-EndermanEscapeEvent.patch index 441fb1748d..5d15aadd73 100644 --- a/Spigot-Server-Patches/0219-EndermanEscapeEvent.patch +++ b/Spigot-Server-Patches/0215-EndermanEscapeEvent.patch @@ -1,4 +1,4 @@ -From 12535a1cf340d627583cbe58a5305d06b760260e Mon Sep 17 00:00:00 2001 +From 95f1d8935e27b90364050306fa692c00ad998f2f Mon Sep 17 00:00:00 2001 From: Aikar 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 99391c0562..de320f8885 100644 +index 4519be39a..60ff02770 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; @@ -19,7 +19,7 @@ index 99391c0562..de320f8885 100644 import java.util.Random; import java.util.UUID; import java.util.function.Predicate; -@@ -55,6 +56,12 @@ public class EntityEnderman extends EntityMonster { +@@ -56,6 +57,12 @@ public class EntityEnderman extends EntityMonster { setGoalTarget(entityliving, org.bukkit.event.entity.EntityTargetEvent.TargetReason.UNKNOWN, true); } @@ -32,29 +32,29 @@ index 99391c0562..de320f8885 100644 @Override public boolean setGoalTarget(EntityLiving entityliving, org.bukkit.event.entity.EntityTargetEvent.TargetReason reason, boolean fireEvent) { if (!super.setGoalTarget(entityliving, reason, fireEvent)) { -@@ -174,7 +181,7 @@ public class EntityEnderman extends EntityMonster { - if (this.world.J() && this.ticksLived >= this.bC + 600) { - float f = this.aF(); +@@ -177,7 +184,7 @@ public class EntityEnderman extends EntityMonster { + if (this.world.J() && this.ticksLived >= this.bA + 600) { + float f = this.aI(); - if (f > 0.5F && this.world.f(new BlockPosition(this)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F) { + if (f > 0.5F && this.world.f(new BlockPosition(this)) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper this.setGoalTarget((EntityLiving) null); - this.dV(); + this.eq(); } -@@ -266,17 +273,19 @@ public class EntityEnderman extends EntityMonster { +@@ -277,17 +284,19 @@ public class EntityEnderman extends EntityMonster { } else if (!(damagesource instanceof EntityDamageSourceIndirect) && damagesource != DamageSource.FIREWORKS) { boolean flag = super.damageEntity(damagesource, f); -- if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0) { -+ if (damagesource.ignoresArmor() && this.random.nextInt(10) != 0 && this.tryEscape(damagesource == DamageSource.DROWN ? EndermanEscapeEvent.Reason.DROWN : EndermanEscapeEvent.Reason.CRITICAL_HIT)) { // Paper - this.dV(); +- if (!this.world.p_() && damagesource.ignoresArmor() && this.random.nextInt(10) != 0) { ++ if (!this.world.p_() && damagesource.ignoresArmor() && this.random.nextInt(10) != 0 && this.tryEscape(damagesource == DamageSource.DROWN ? EndermanEscapeEvent.Reason.DROWN : EndermanEscapeEvent.Reason.CRITICAL_HIT)) { // Paper + this.eq(); } return flag; } else { + if (this.tryEscape(EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start for (int i = 0; i < 64; ++i) { - if (this.dV()) { + if (this.eq()) { return true; } } @@ -62,7 +62,7 @@ index 99391c0562..de320f8885 100644 return false; } -@@ -398,7 +407,7 @@ public class EntityEnderman extends EntityMonster { +@@ -422,7 +431,7 @@ public class EntityEnderman extends EntityMonster { static class PathfinderGoalPlayerWhoLookedAtTarget extends PathfinderGoalNearestAttackableTarget { @@ -71,15 +71,15 @@ index 99391c0562..de320f8885 100644 private EntityHuman j; private int k; private int l; -@@ -456,7 +465,7 @@ public class EntityEnderman extends EntityMonster { +@@ -481,7 +490,7 @@ public class EntityEnderman extends EntityMonster { } else { if (this.c != null && !this.i.isPassenger()) { if (this.i.f((EntityHuman) this.c)) { - if (this.c.h((Entity) this.i) < 16.0D) { + if (this.c.h((Entity) this.i) < 16.0D && this.getEnderman().tryEscape(EndermanEscapeEvent.Reason.STARE)) { - this.i.dV(); + this.i.eq(); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0220-Enderman.teleportRandomly.patch b/Spigot-Server-Patches/0216-Enderman.teleportRandomly.patch similarity index 71% rename from Spigot-Server-Patches/0220-Enderman.teleportRandomly.patch rename to Spigot-Server-Patches/0216-Enderman.teleportRandomly.patch index 5b142c3754..506aacbf8e 100644 --- a/Spigot-Server-Patches/0220-Enderman.teleportRandomly.patch +++ b/Spigot-Server-Patches/0216-Enderman.teleportRandomly.patch @@ -1,4 +1,4 @@ -From 903cfd800fa9c272fb09ab51ff22ff6ea54e1f03 Mon Sep 17 00:00:00 2001 +From 918588265838ec621e001485b36f68a4af54becb Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 30 Apr 2018 13:29:44 -0400 Subject: [PATCH] Enderman.teleportRandomly() @@ -6,19 +6,19 @@ 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 de320f8885..7d2e00085a 100644 +index 60ff02770..6868ca415 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 { +@@ -193,6 +193,7 @@ public class EntityEnderman extends EntityMonster { super.mobTick(); } -+ public final boolean teleportRandomly() { return this.dV(); } // Paper - OBFHELPER - protected boolean dV() { - double d0 = this.locX + (this.random.nextDouble() - 0.5D) * 64.0D; - double d1 = this.locY + (double) (this.random.nextInt(64) - 32); ++ public final boolean teleportRandomly() { return this.eq(); } // Paper - OBFHELPER + protected boolean eq() { + if (!this.world.p_() && this.isAlive()) { + double d0 = this.locX() + (this.random.nextDouble() - 0.5D) * 64.0D; 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 { @@ -30,5 +30,5 @@ index 970efabd37..0c5f359346 100644 public MaterialData getCarriedMaterial() { IBlockData blockData = getHandle().getCarried(); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0221-Block-Enderpearl-Travel-Exploit.patch b/Spigot-Server-Patches/0217-Block-Enderpearl-Travel-Exploit.patch similarity index 90% rename from Spigot-Server-Patches/0221-Block-Enderpearl-Travel-Exploit.patch rename to Spigot-Server-Patches/0217-Block-Enderpearl-Travel-Exploit.patch index 2d139d357c..e09aed1b66 100644 --- a/Spigot-Server-Patches/0221-Block-Enderpearl-Travel-Exploit.patch +++ b/Spigot-Server-Patches/0217-Block-Enderpearl-Travel-Exploit.patch @@ -1,4 +1,4 @@ -From 93ed3640c7b66d82bcdc6bec457caf6a5905af54 Mon Sep 17 00:00:00 2001 +From 36ce57946d39251b606722693561454b8b63e7a2 Mon Sep 17 00:00:00 2001 From: Aikar 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 c57f7e7e8..cb8922329 100644 +index 1d3120b9b..585646ded 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,10 +27,10 @@ index c57f7e7e8..cb8922329 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index 5f0cb4c33..f2f4b2d92 100644 +index 724b78b5d..9eed1dce3 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 { +@@ -201,6 +201,7 @@ public abstract class EntityProjectile extends Entity implements IProjectile { if (nbttagcompound.hasKeyOfType("owner", 10)) { this.shooterId = GameProfileSerializer.b(nbttagcompound.getCompound("owner")); } @@ -39,5 +39,5 @@ index 5f0cb4c33..f2f4b2d92 100644 } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0218-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 89% rename from Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch rename to Spigot-Server-Patches/0218-Expand-World.spawnParticle-API-and-add-Builder.patch index 6fd5ce096d..a156bb1b70 100644 --- a/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0218-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From df81ea15793dde7a234a4e8941be57a3bab1d646 Mon Sep 17 00:00:00 2001 +From 895fce81accc650f3508d1131cc9d246f1b9c88d Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 15 Aug 2017 22:29:12 -0400 Subject: [PATCH] Expand World.spawnParticle API and add Builder @@ -10,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 491c9c9170..b9015cb8a7 100644 +index 38e618c78..4a2e66977 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -53,7 +53,7 @@ public class WorldServer extends World { +@@ -55,7 +55,7 @@ public class WorldServer extends World { public final Int2ObjectMap entitiesById = new Int2ObjectLinkedOpenHashMap(); private final Map entitiesByUUID = Maps.newHashMap(); private final Queue entitiesToAdd = Queues.newArrayDeque(); @@ -22,7 +22,7 @@ index 491c9c9170..b9015cb8a7 100644 boolean tickingEntities; private final MinecraftServer server; private final WorldNBTStorage dataManager; -@@ -1382,12 +1382,17 @@ public class WorldServer extends World { +@@ -1390,12 +1390,17 @@ public class WorldServer extends World { } public int sendParticles(EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) { @@ -31,7 +31,7 @@ index 491c9c9170..b9015cb8a7 100644 + } + public int sendParticles(List receivers, EntityPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) { + // Paper end - PacketPlayOutWorldParticles packetplayoutworldparticles = new PacketPlayOutWorldParticles(t0, force, (float) d0, (float) d1, (float) d2, (float) d3, (float) d4, (float) d5, (float) d6, i); + PacketPlayOutWorldParticles packetplayoutworldparticles = new PacketPlayOutWorldParticles(t0, force, d0, d1, d2, (float) d3, (float) d4, (float) d5, (float) d6, i); // CraftBukkit end int j = 0; @@ -43,10 +43,10 @@ index 491c9c9170..b9015cb8a7 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 0e4f4cda0b..3726f240ce 100644 +index b7db32833..a66e4c3f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2199,11 +2199,17 @@ public class CraftWorld implements World { +@@ -2209,11 +2209,17 @@ public class CraftWorld implements World { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { @@ -66,5 +66,5 @@ index 0e4f4cda0b..3726f240ce 100644 x, y, z, // Position count, // Count -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0223-EndermanAttackPlayerEvent.patch b/Spigot-Server-Patches/0219-EndermanAttackPlayerEvent.patch similarity index 88% rename from Spigot-Server-Patches/0223-EndermanAttackPlayerEvent.patch rename to Spigot-Server-Patches/0219-EndermanAttackPlayerEvent.patch index 015a88b111..099791ef78 100644 --- a/Spigot-Server-Patches/0223-EndermanAttackPlayerEvent.patch +++ b/Spigot-Server-Patches/0219-EndermanAttackPlayerEvent.patch @@ -1,4 +1,4 @@ -From 6643560be4e40630c36e03903e9d10324c9bcd36 Mon Sep 17 00:00:00 2001 +From 2525095dad65d3f653f2900049dabd95e9af773d Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 May 2018 20:18:54 -0400 Subject: [PATCH] EndermanAttackPlayerEvent @@ -8,10 +8,10 @@ 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 7d2e00085a..639f55ed98 100644 +index 6868ca415..607d6da6a 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 { +@@ -141,7 +141,15 @@ public class EntityEnderman extends EntityMonster { this.setCarried(iblockdata); } @@ -28,5 +28,5 @@ index 7d2e00085a..639f55ed98 100644 if (itemstack.getItem() == Blocks.CARVED_PUMPKIN.getItem()) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0224-WitchConsumePotionEvent.patch b/Spigot-Server-Patches/0220-WitchConsumePotionEvent.patch similarity index 92% rename from Spigot-Server-Patches/0224-WitchConsumePotionEvent.patch rename to Spigot-Server-Patches/0220-WitchConsumePotionEvent.patch index 2645b90a60..ec387dc52c 100644 --- a/Spigot-Server-Patches/0224-WitchConsumePotionEvent.patch +++ b/Spigot-Server-Patches/0220-WitchConsumePotionEvent.patch @@ -1,4 +1,4 @@ -From e9a5ef45bd28700d89ae12366e546852377e52f7 Mon Sep 17 00:00:00 2001 +From e2e97b1806e88aecdbbaa983a3f1ec0eac102b39 Mon Sep 17 00:00:00 2001 From: Aikar 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 6b50d5334d..189263bf75 100644 +index ddff0b578..aa9011171 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 { @@ -23,5 +23,5 @@ index 6b50d5334d..189263bf75 100644 if (list != null) { Iterator iterator = list.iterator(); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0225-WitchThrowPotionEvent.patch b/Spigot-Server-Patches/0221-WitchThrowPotionEvent.patch similarity index 83% rename from Spigot-Server-Patches/0225-WitchThrowPotionEvent.patch rename to Spigot-Server-Patches/0221-WitchThrowPotionEvent.patch index 2b3c9a08a9..19205980c3 100644 --- a/Spigot-Server-Patches/0225-WitchThrowPotionEvent.patch +++ b/Spigot-Server-Patches/0221-WitchThrowPotionEvent.patch @@ -1,4 +1,4 @@ -From 58c8d7cc70eec4baf44c06a6cea071b0f9b48a8c Mon Sep 17 00:00:00 2001 +From d752ec090fd564619e2e18a95ef1090909fdeb75 Mon Sep 17 00:00:00 2001 From: Aikar 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 189263bf75..0a40e2ff1b 100644 +index aa9011171..1f2759e95 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 { @@ -27,7 +27,7 @@ index 189263bf75..0a40e2ff1b 100644 + // Paper end entitypotion.pitch -= -20.0F; entitypotion.shoot(d0, d1 + (double) (f1 * 0.2F), d2, 0.75F, 8.0F); - this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_WITCH_THROW, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); + this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_WITCH_THROW, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0222-Allow-spawning-Item-entities-with-World.spawnEntity.patch similarity index 87% rename from Spigot-Server-Patches/0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch rename to Spigot-Server-Patches/0222-Allow-spawning-Item-entities-with-World.spawnEntity.patch index d99ef586dd..20b7297d97 100644 --- a/Spigot-Server-Patches/0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0222-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 415ac6f8e3ed38ff117a4acb97fcb0425a8244a0 Mon Sep 17 00:00:00 2001 +From 2d0626da9401ac4dd34483b139f05c4ef68e7536 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Jun 2018 20:39:20 -0400 Subject: [PATCH] Allow spawning Item entities with World.spawnEntity @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3726f240ce..515f94aa5d 100644 +index a66e4c3f1..6a7c088f9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1427,6 +1427,10 @@ public class CraftWorld implements World { +@@ -1441,6 +1441,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); @@ -23,5 +23,5 @@ index 3726f240ce..515f94aa5d 100644 entity = new EntityFallingBlock(world, x, y, z, world.getType(new BlockPosition(x, y, z))); } else if (Projectile.class.isAssignableFrom(clazz)) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0227-WitchReadyPotionEvent.patch b/Spigot-Server-Patches/0223-WitchReadyPotionEvent.patch similarity index 78% rename from Spigot-Server-Patches/0227-WitchReadyPotionEvent.patch rename to Spigot-Server-Patches/0223-WitchReadyPotionEvent.patch index 4edc7dfd25..730b56ca4a 100644 --- a/Spigot-Server-Patches/0227-WitchReadyPotionEvent.patch +++ b/Spigot-Server-Patches/0223-WitchReadyPotionEvent.patch @@ -1,11 +1,11 @@ -From 7b8e216c26c93b91bbec112feaf5037b903727fd Mon Sep 17 00:00:00 2001 +From 7822c66db3ab96c5b892428bd1c3a7df96645715 Mon Sep 17 00:00:00 2001 From: Aikar 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 0a40e2ff1b..ff4e73fff3 100644 +index 1f2759e95..be6ecfb08 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 { @@ -18,9 +18,9 @@ index 0a40e2ff1b..ff4e73fff3 100644 + org.bukkit.inventory.ItemStack bukkitStack = com.destroystokyo.paper.event.entity.WitchReadyPotionEvent.process((org.bukkit.entity.Witch) this.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(potion)); + this.setSlot(EnumItemSlot.MAINHAND, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(bukkitStack)); + // Paper end - this.bB = this.getItemInMainHand().k(); - this.s(true); - this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_WITCH_DRINK, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); + this.by = this.getItemInMainHand().k(); + this.t(true); + this.world.playSound((EntityHuman) null, this.locX(), this.locY(), this.locZ(), SoundEffects.ENTITY_WITCH_DRINK, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0228-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0224-ItemStack-getMaxItemUseDuration.patch similarity index 88% rename from Spigot-Server-Patches/0228-ItemStack-getMaxItemUseDuration.patch rename to Spigot-Server-Patches/0224-ItemStack-getMaxItemUseDuration.patch index 3a79da9a8f..3c19be0543 100644 --- a/Spigot-Server-Patches/0228-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-Server-Patches/0224-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From 64ccf0a1e755d75f0f30780415ede6261ce9f2c8 Mon Sep 17 00:00:00 2001 +From 73e6994894a822b241cf0cc485ac9b8b1d6a8c76 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 23:00:29 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration @@ -6,10 +6,10 @@ 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 d4ffaea7cb..f849a29e2a 100644 +index 2d0a8c58f..5fc7124dd 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 { +@@ -548,6 +548,7 @@ public final class ItemStack { this.getItem().b(this, world, entityhuman); } @@ -18,7 +18,7 @@ index d4ffaea7cb..f849a29e2a 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 c45fe35e03..e6aac0cff0 100644 +index 410444747..553f60987 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 { @@ -36,5 +36,5 @@ index c45fe35e03..e6aac0cff0 100644 public void addUnsafeEnchantment(Enchantment ench, int level) { Validate.notNull(ench, "Cannot add null enchantment"); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0229-Implement-EntityTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0225-Implement-EntityTeleportEndGatewayEvent.patch similarity index 91% rename from Spigot-Server-Patches/0229-Implement-EntityTeleportEndGatewayEvent.patch rename to Spigot-Server-Patches/0225-Implement-EntityTeleportEndGatewayEvent.patch index 811828cb1e..a025f7a7d0 100644 --- a/Spigot-Server-Patches/0229-Implement-EntityTeleportEndGatewayEvent.patch +++ b/Spigot-Server-Patches/0225-Implement-EntityTeleportEndGatewayEvent.patch @@ -1,14 +1,14 @@ -From d131147b250b5d04ac47721128a5af05f3f32a3a Mon Sep 17 00:00:00 2001 +From 72c985a2c8e569e9471edc10f46e5edd7e9e7cd9 Mon Sep 17 00:00:00 2001 From: Shane Freeder 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 7ca5f04733..15dccc905e 100644 +index 78fba7937..c71f76004 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 +@@ -145,8 +145,19 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick } // CraftBukkit end @@ -30,5 +30,5 @@ index 7ca5f04733..15dccc905e 100644 this.h(); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/Spigot-Server-Patches/0226-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch similarity index 87% rename from Spigot-Server-Patches/0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch rename to Spigot-Server-Patches/0226-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch index f7c6b472d8..daa218ba1a 100644 --- a/Spigot-Server-Patches/0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch +++ b/Spigot-Server-Patches/0226-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch @@ -1,4 +1,4 @@ -From 2249fc498d9c064e9ad6d1b406fb4d7415adcb21 Mon Sep 17 00:00:00 2001 +From 29ec2e2ea3e8cc94fa15a4bdbd7f9fef3a4c3381 Mon Sep 17 00:00:00 2001 From: Aikar 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 100a1a10c9..ae4dd98ee1 100644 +index dabe40c5f..317c1998e 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -12,7 +12,7 @@ public class EntityCreeper extends EntityMonster { @@ -15,10 +15,10 @@ index 100a1a10c9..ae4dd98ee1 100644 private static final DataWatcherObject POWERED = DataWatcher.a(EntityCreeper.class, DataWatcherRegistry.i); - private static final DataWatcherObject d = DataWatcher.a(EntityCreeper.class, DataWatcherRegistry.i); + private static final DataWatcherObject d = DataWatcher.a(EntityCreeper.class, DataWatcherRegistry.i); private static final DataWatcherObject isIgnitedDW = d; // Paper OBFHELPER - private int bz; + private int bw; private int fuseTicks; public int maxFuseTicks = 30; -@@ -217,6 +217,7 @@ public class EntityCreeper extends EntityMonster { +@@ -219,6 +219,7 @@ public class EntityCreeper extends EntityMonster { this.createEffectCloud(); } else { fuseTicks = 0; @@ -27,5 +27,5 @@ index 100a1a10c9..ae4dd98ee1 100644 // CraftBukkit end } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0231-Fix-CraftEntity-hashCode.patch b/Spigot-Server-Patches/0227-Fix-CraftEntity-hashCode.patch similarity index 90% rename from Spigot-Server-Patches/0231-Fix-CraftEntity-hashCode.patch rename to Spigot-Server-Patches/0227-Fix-CraftEntity-hashCode.patch index e94305197f..dd195de8bc 100644 --- a/Spigot-Server-Patches/0231-Fix-CraftEntity-hashCode.patch +++ b/Spigot-Server-Patches/0227-Fix-CraftEntity-hashCode.patch @@ -1,4 +1,4 @@ -From c08536aeb0cb0387c9b623a5b4df96df67131771 Mon Sep 17 00:00:00 2001 +From 22b1f8bebd55c58a20f60090957dc3e8bd4fc9f7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:20:15 -0400 Subject: [PATCH] Fix CraftEntity hashCode @@ -21,10 +21,10 @@ 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 09ca9a3eb..517e42218 100644 +index 495a7c464..915ccb180 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -721,14 +721,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -723,14 +723,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return false; } final CraftEntity other = (CraftEntity) obj; @@ -45,5 +45,5 @@ index 09ca9a3eb..517e42218 100644 @Override -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0232-Configurable-Alternative-LootPool-Luck-Formula.patch b/Spigot-Server-Patches/0228-Configurable-Alternative-LootPool-Luck-Formula.patch similarity index 94% rename from Spigot-Server-Patches/0232-Configurable-Alternative-LootPool-Luck-Formula.patch rename to Spigot-Server-Patches/0228-Configurable-Alternative-LootPool-Luck-Formula.patch index 52652483c0..ab45ae0133 100644 --- a/Spigot-Server-Patches/0232-Configurable-Alternative-LootPool-Luck-Formula.patch +++ b/Spigot-Server-Patches/0228-Configurable-Alternative-LootPool-Luck-Formula.patch @@ -1,4 +1,4 @@ -From 5bfc8dd97d1150abe4bb21086f52c26791b5bc87 Mon Sep 17 00:00:00 2001 +From c15b1063aeb983155071258bb459b721206ddc95 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 15 Jun 2018 00:30:32 -0400 Subject: [PATCH] Configurable Alternative LootPool Luck Formula @@ -36,7 +36,7 @@ This change will result in some major changes to fishing formulas. I would love to see this change in Vanilla, so Mojang please pull :) diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 4169ec9a58..eeef7d330b 100644 +index ba341e017..26ab855dc 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -279,4 +279,12 @@ public class PaperConfig { @@ -53,10 +53,10 @@ index 4169ec9a58..eeef7d330b 100644 + } } diff --git a/src/main/java/net/minecraft/server/LootSelectorEntry.java b/src/main/java/net/minecraft/server/LootSelectorEntry.java -index 1016325bd7..2c979e0b74 100644 +index 3ed6a1e78..03398ce8f 100644 --- a/src/main/java/net/minecraft/server/LootSelectorEntry.java +++ b/src/main/java/net/minecraft/server/LootSelectorEntry.java -@@ -13,8 +13,8 @@ import org.apache.commons.lang3.ArrayUtils; +@@ -11,8 +11,8 @@ import org.apache.commons.lang3.ArrayUtils; public abstract class LootSelectorEntry extends LootEntryAbstract { @@ -67,7 +67,7 @@ index 1016325bd7..2c979e0b74 100644 protected final LootItemFunction[] g; private final BiFunction c; private final LootEntry h = new LootSelectorEntry.c() { -@@ -147,11 +147,38 @@ public abstract class LootSelectorEntry extends LootEntryAbstract { +@@ -145,11 +145,38 @@ public abstract class LootSelectorEntry extends LootEntryAbstract { public abstract class c implements LootEntry { @@ -109,5 +109,5 @@ index 1016325bd7..2c979e0b74 100644 + // Paper end } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0233-Print-Error-details-when-failing-to-save-player-data.patch b/Spigot-Server-Patches/0229-Print-Error-details-when-failing-to-save-player-data.patch similarity index 88% rename from Spigot-Server-Patches/0233-Print-Error-details-when-failing-to-save-player-data.patch rename to Spigot-Server-Patches/0229-Print-Error-details-when-failing-to-save-player-data.patch index 8949b7933d..7fec825cc9 100644 --- a/Spigot-Server-Patches/0233-Print-Error-details-when-failing-to-save-player-data.patch +++ b/Spigot-Server-Patches/0229-Print-Error-details-when-failing-to-save-player-data.patch @@ -1,11 +1,11 @@ -From b9d71ab51bf488d1eb7094d08329ccec6e04659c Mon Sep 17 00:00:00 2001 +From ca65176138244564301d2c5eefd88e0a47ccd942 Mon Sep 17 00:00:00 2001 From: Aikar 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 { @@ -18,5 +18,5 @@ index e60e10c57d..350ac42d6b 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0234-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0230-Make-shield-blocking-delay-configurable.patch similarity index 87% rename from Spigot-Server-Patches/0234-Make-shield-blocking-delay-configurable.patch rename to Spigot-Server-Patches/0230-Make-shield-blocking-delay-configurable.patch index df1deadf58..f7d7200530 100644 --- a/Spigot-Server-Patches/0234-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0230-Make-shield-blocking-delay-configurable.patch @@ -1,11 +1,11 @@ -From 583de78b3b0a8015292a358277c9a45eb458177c Mon Sep 17 00:00:00 2001 +From 7d065a2a08e59025bd4d81b8c2f63f18e66132a1 Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 cb8922329..6c3d074b8 100644 +index 585646ded..54bf1323e 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,19 +19,19 @@ index cb8922329..6c3d074b8 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 74c1f7c44..a873685e4 100644 +index c03fcd2d3..3f493f415 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2922,7 +2922,7 @@ public abstract class EntityLiving extends Entity { +@@ -2996,7 +2996,7 @@ public abstract class EntityLiving extends Entity { if (this.isHandRaised() && !this.activeItem.isEmpty()) { Item item = this.activeItem.getItem(); -- return item.e_(this.activeItem) != EnumAnimation.BLOCK ? false : item.f_(this.activeItem) - this.bo >= 5; -+ return item.e_(this.activeItem) != EnumAnimation.BLOCK ? false : item.f_(this.activeItem) - this.bo >= getShieldBlockingDelay(); // Paper - shieldBlockingDelay +- return item.e_(this.activeItem) != EnumAnimation.BLOCK ? false : item.f_(this.activeItem) - this.bl >= 5; ++ return item.e_(this.activeItem) != EnumAnimation.BLOCK ? false : item.f_(this.activeItem) - this.bl >= getShieldBlockingDelay(); // Paper - shieldBlockingDelay } else { return false; } -@@ -3158,4 +3158,15 @@ public abstract class EntityLiving extends Entity { +@@ -3235,4 +3235,15 @@ public abstract class EntityLiving extends Entity { public void d(EnumHand enumhand) { this.c(enumhand == EnumHand.MAIN_HAND ? EnumItemSlot.MAINHAND : EnumItemSlot.OFFHAND); } @@ -68,5 +68,5 @@ index b8482c632..67f275321 100644 // Paper end } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch b/Spigot-Server-Patches/0231-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch similarity index 84% rename from Spigot-Server-Patches/0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch rename to Spigot-Server-Patches/0231-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch index 349ad8c2b2..5eca43a74a 100644 --- a/Spigot-Server-Patches/0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch +++ b/Spigot-Server-Patches/0231-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch @@ -1,4 +1,4 @@ -From 4db4d3c836ba7a2674d7b58bf4d46b8cc8d4e7e6 Mon Sep 17 00:00:00 2001 +From 18febd91f8f096df4f2ac1d8b426723d0bbee9bc Mon Sep 17 00:00:00 2001 From: Aikar 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 121e1fd538..0e66bdda8c 100644 +index 0203e26ec..aa6e5681f 100644 --- a/src/main/java/net/minecraft/server/RecipeBookServer.java +++ b/src/main/java/net/minecraft/server/RecipeBookServer.java @@ -79,6 +79,10 @@ public class RecipeBookServer extends RecipeBook { @@ -18,7 +18,7 @@ index 121e1fd538..0e66bdda8c 100644 + if (!recipe.isPresent()) continue; + // Paper end - nbttaglist.add(new NBTTagString(minecraftkey.toString())); + nbttaglist.add(NBTTagString.a(minecraftkey.toString())); } @@ -89,6 +93,10 @@ public class RecipeBookServer extends RecipeBook { @@ -29,8 +29,8 @@ index 121e1fd538..0e66bdda8c 100644 + if (!recipe.isPresent()) continue; + // Paper end - nbttaglist1.add(new NBTTagString(minecraftkey1.toString())); + nbttaglist1.add(NBTTagString.a(minecraftkey1.toString())); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0232-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch similarity index 94% rename from Spigot-Server-Patches/0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch rename to Spigot-Server-Patches/0232-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index 6494bb56f7..a987dd2a4a 100644 --- a/Spigot-Server-Patches/0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-Server-Patches/0232-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -1,4 +1,4 @@ -From e7101a32d4ccec5fe80bcf9578bc6abea64e56ec Mon Sep 17 00:00:00 2001 +From fb58d6a90beadd6594463b3e6bb929f9b30a4fd2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 15 Jun 2013 19:51:17 -0400 Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API @@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API Adds ability to get what arrow was shot, and control if it should be consumed. diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index 5c3628035..8f1b5a550 100644 +index d97558da3..fdeb8980d 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -157,7 +157,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -19,7 +19,7 @@ index 5c3628035..8f1b5a550 100644 event.getProjectile().remove(); return; diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java -index 0ea1bf4dc..90592fd38 100644 +index 4b07e18c7..71800b34b 100644 --- a/src/main/java/net/minecraft/server/ItemBow.java +++ b/src/main/java/net/minecraft/server/ItemBow.java @@ -36,6 +36,7 @@ public class ItemBow extends ItemProjectileWeapon { @@ -52,14 +52,14 @@ index 0ea1bf4dc..90592fd38 100644 @@ -88,7 +90,7 @@ public class ItemBow extends ItemProjectileWeapon { } - world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_ARROW_SHOOT, SoundCategory.PLAYERS, 1.0F, 1.0F / (ItemBow.i.nextFloat() * 0.4F + 1.2F) + f * 0.5F); + world.playSound((EntityHuman) null, entityhuman.locX(), entityhuman.locY(), entityhuman.locZ(), SoundEffects.ENTITY_ARROW_SHOOT, SoundCategory.PLAYERS, 1.0F, 1.0F / (ItemBow.i.nextFloat() * 0.4F + 1.2F) + f * 0.5F); - if (!flag1 && !entityhuman.abilities.canInstantlyBuild) { + if (!flag1 && !entityhuman.abilities.canInstantlyBuild && consumeArrow) { // Paper itemstack1.subtract(1); 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 874d9f500..f0d784108 100644 +index 608be9e70..011efc6f5 100644 --- a/src/main/java/net/minecraft/server/ItemCrossbow.java +++ b/src/main/java/net/minecraft/server/ItemCrossbow.java @@ -221,7 +221,7 @@ public class ItemCrossbow extends ItemProjectileWeapon { @@ -72,7 +72,7 @@ index 874d9f500..f0d784108 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 489943410..e58dac2c8 100644 +index 9b314eacc..94fbac5e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -51,6 +51,7 @@ import net.minecraft.server.GeneratorAccess; @@ -104,5 +104,5 @@ index 489943410..e58dac2c8 100644 return event; -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0237-PlayerReadyArrowEvent.patch b/Spigot-Server-Patches/0233-PlayerReadyArrowEvent.patch similarity index 86% rename from Spigot-Server-Patches/0237-PlayerReadyArrowEvent.patch rename to Spigot-Server-Patches/0233-PlayerReadyArrowEvent.patch index 694befaf4d..b77818d8d3 100644 --- a/Spigot-Server-Patches/0237-PlayerReadyArrowEvent.patch +++ b/Spigot-Server-Patches/0233-PlayerReadyArrowEvent.patch @@ -1,4 +1,4 @@ -From 8a68fc4ca19693cb47e182ac21fb3e1db11c2512 Mon Sep 17 00:00:00 2001 +From 87f3926a3b2fc53691d6e4a5490abfafd18728f2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 18 Jun 2018 01:12:53 -0400 Subject: [PATCH] PlayerReadyArrowEvent @@ -7,11 +7,11 @@ 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 dfd004f02..5a95fe160 100644 +index 4e91fdd69..3917980b7 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -2052,6 +2052,17 @@ public abstract class EntityHuman extends EntityLiving { - return (EntitySize) EntityHuman.b.getOrDefault(entitypose, EntityHuman.bs); +@@ -2149,6 +2149,17 @@ public abstract class EntityHuman extends EntityLiving { + return (EntitySize) EntityHuman.b.getOrDefault(entitypose, EntityHuman.bp); } + // Paper start @@ -28,7 +28,7 @@ index dfd004f02..5a95fe160 100644 @Override public ItemStack f(ItemStack itemstack) { if (!(itemstack.getItem() instanceof ItemProjectileWeapon)) { -@@ -2068,7 +2079,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -2165,7 +2176,7 @@ public abstract class EntityHuman extends EntityLiving { for (int i = 0; i < this.inventory.getSize(); ++i) { ItemStack itemstack2 = this.inventory.getItem(i); @@ -38,5 +38,5 @@ index dfd004f02..5a95fe160 100644 } } -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0238-Fire-EntityShootBowEvent-for-Illusioner.patch b/Spigot-Server-Patches/0234-Fire-EntityShootBowEvent-for-Illusioner.patch similarity index 93% rename from Spigot-Server-Patches/0238-Fire-EntityShootBowEvent-for-Illusioner.patch rename to Spigot-Server-Patches/0234-Fire-EntityShootBowEvent-for-Illusioner.patch index d2946d34d0..71c7133d0c 100644 --- a/Spigot-Server-Patches/0238-Fire-EntityShootBowEvent-for-Illusioner.patch +++ b/Spigot-Server-Patches/0234-Fire-EntityShootBowEvent-for-Illusioner.patch @@ -1,11 +1,11 @@ -From 5ce1d4e9b773db23978cde160a4abd46b019319f Mon Sep 17 00:00:00 2001 +From a4bdbe606b3b17f6e5e756b434130f15815427ea Mon Sep 17 00:00:00 2001 From: Aikar 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 2c320c8a43..cc37b5ff16 100644 +index 2ea0583a3..81b7cd06f 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 @@ -29,5 +29,5 @@ index 2c320c8a43..cc37b5ff16 100644 class a extends EntityIllagerWizard.c { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0239-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0235-Implement-EntityKnockbackByEntityEvent.patch similarity index 89% rename from Spigot-Server-Patches/0239-Implement-EntityKnockbackByEntityEvent.patch rename to Spigot-Server-Patches/0235-Implement-EntityKnockbackByEntityEvent.patch index 72c3b056c4..e47684a80d 100644 --- a/Spigot-Server-Patches/0239-Implement-EntityKnockbackByEntityEvent.patch +++ b/Spigot-Server-Patches/0235-Implement-EntityKnockbackByEntityEvent.patch @@ -1,4 +1,4 @@ -From ad8b55ff30923ed0f1e1422f1f7abbfa1e5448d5 Mon Sep 17 00:00:00 2001 +From df6bfa902abdf629a7cdef8d789da60a3a0ed5b0 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 18 Jun 2018 15:46:23 +0200 Subject: [PATCH] Implement EntityKnockbackByEntityEvent @@ -6,10 +6,10 @@ 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 a873685e47..dfbd40a997 100644 +index 3f493f415..855afcd64 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -1431,6 +1431,16 @@ public abstract class EntityLiving extends Entity { +@@ -1419,6 +1419,16 @@ public abstract class EntityLiving extends Entity { Vec3D vec3d1 = (new Vec3D(d0, 0.0D, d1)).d().a((double) f); this.setMot(vec3d.x / 2.0D - vec3d1.x, this.onGround ? Math.min(0.4D, vec3d.y / 2.0D + (double) f) : vec3d.y, vec3d.z / 2.0D - vec3d1.z); @@ -27,5 +27,5 @@ index a873685e47..dfbd40a997 100644 } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0240-Expand-Explosions-API.patch b/Spigot-Server-Patches/0236-Expand-Explosions-API.patch similarity index 88% rename from Spigot-Server-Patches/0240-Expand-Explosions-API.patch rename to Spigot-Server-Patches/0236-Expand-Explosions-API.patch index cd20622e1a..9d54e4b69b 100644 --- a/Spigot-Server-Patches/0240-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0236-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From 5e701e3ec843d8589968c7e24eb5708c1cb89a97 Mon Sep 17 00:00:00 2001 +From e06c5edc8f85e500fa445188e2a64df7505d8193 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 515f94aa5d..5db2a4cca2 100644 +index 6a7c088f9..a062e10fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -859,6 +859,11 @@ public class CraftWorld implements World { +@@ -874,6 +874,11 @@ public class CraftWorld implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) { return !world.createExplosion(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? Explosion.Effect.BREAK : Explosion.Effect.NONE).wasCanceled; } @@ -22,5 +22,5 @@ index 515f94aa5d..5db2a4cca2 100644 @Override public boolean createExplosion(Location loc, float power) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0241-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0237-LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 76% rename from Spigot-Server-Patches/0241-LivingEntity-Hand-Raised-Item-Use-API.patch rename to Spigot-Server-Patches/0237-LivingEntity-Hand-Raised-Item-Use-API.patch index b939d27fbb..17d26fccc9 100644 --- a/Spigot-Server-Patches/0241-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0237-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From 404dfaf1316cf2354fa664407478f5cd0085a1e6 Mon Sep 17 00:00:00 2001 +From 5b7335774bdd0fd92d6917afc94144b618d4ea7b Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API @@ -6,30 +6,30 @@ 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 dfbd40a99..e1972f793 100644 +index 855afcd64..470cbddeb 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 { - private float bD; +@@ -112,7 +112,7 @@ public abstract class EntityLiving extends Entity { + private float bB; private int jumpTicks; - private float bF; + private float bD; - protected ItemStack activeItem; + public ItemStack activeItem; // Paper - public - protected int bo; - protected int bp; - private BlockPosition bG; -@@ -2900,10 +2900,12 @@ public abstract class EntityLiving extends Entity { + protected int bl; + protected int bm; + private BlockPosition bE; +@@ -2974,10 +2974,12 @@ public abstract class EntityLiving extends Entity { return this.activeItem; } -+ public int getItemUseRemainingTime() { return this.dm(); } // Paper - OBFHELPER - public int dm() { - return this.bo; ++ public int getItemUseRemainingTime() { return this.dE(); } // Paper - OBFHELPER + public int dE() { + return this.bl; } -+ public int getHandRaisedTime() { return this.dn(); } // Paper - OBFHELPER - public int dn() { - return this.isHandRaised() ? this.activeItem.k() - this.dm() : 0; ++ public int getHandRaisedTime() { return this.dF(); } // Paper - OBFHELPER + public int dF() { + return this.isHandRaised() ? this.activeItem.k() - this.dE() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 67f275321..379239567 100644 @@ -62,5 +62,5 @@ index 67f275321..379239567 100644 // Paper end } -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0242-RangedEntity-API.patch b/Spigot-Server-Patches/0238-RangedEntity-API.patch similarity index 95% rename from Spigot-Server-Patches/0242-RangedEntity-API.patch rename to Spigot-Server-Patches/0238-RangedEntity-API.patch index a43508fe74..05ed838caa 100644 --- a/Spigot-Server-Patches/0242-RangedEntity-API.patch +++ b/Spigot-Server-Patches/0238-RangedEntity-API.patch @@ -1,4 +1,4 @@ -From eccbb9755b0bf9d49533524423a17a899730db53 Mon Sep 17 00:00:00 2001 +From 2573811027012f44f42576a77ad445e0b7b480b5 Mon Sep 17 00:00:00 2001 From: Aikar 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 @@ @@ -158,5 +158,5 @@ index 38b555cc7e..03cf6136e6 100644 private BossBar bossBar; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0243-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0239-Add-config-to-disable-ender-dragon-legacy-check.patch similarity index 94% rename from Spigot-Server-Patches/0243-Add-config-to-disable-ender-dragon-legacy-check.patch rename to Spigot-Server-Patches/0239-Add-config-to-disable-ender-dragon-legacy-check.patch index 63ff22a779..ded69bf89b 100644 --- a/Spigot-Server-Patches/0243-Add-config-to-disable-ender-dragon-legacy-check.patch +++ b/Spigot-Server-Patches/0239-Add-config-to-disable-ender-dragon-legacy-check.patch @@ -1,11 +1,11 @@ -From 24d1262ccbd9493d25537b1dd8f780752b8e5ef5 Mon Sep 17 00:00:00 2001 +From 866ce8f74164ffc502a506ad8c7d98f1c3a17937 Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 6c3d074b8..bf08deb25 100644 +index 54bf1323e..f5cafbeca 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 6c3d074b8..bf08deb25 100644 + } } diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java -index 88a8e4abd..6700c8c65 100644 +index f2c0e06ba..032561f51 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 { @@ -47,5 +47,5 @@ index 88a8e4abd..6700c8c65 100644 if (nbttagcompound.hasKeyOfType("DragonKilled", 99)) { if (nbttagcompound.b("DragonUUID")) { -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0244-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0240-Implement-World.getEntity-UUID-API.patch similarity index 83% rename from Spigot-Server-Patches/0244-Implement-World.getEntity-UUID-API.patch rename to Spigot-Server-Patches/0240-Implement-World.getEntity-UUID-API.patch index 93f9361f96..5e7e86fc67 100644 --- a/Spigot-Server-Patches/0244-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0240-Implement-World.getEntity-UUID-API.patch @@ -1,14 +1,14 @@ -From 045ec7846dc1a311822fa3e963365fc2f41d070e Mon Sep 17 00:00:00 2001 +From bc01b8c3f3db147945c1de837ea3b838f68a85ee Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 3 Jul 2018 16:08:14 +0200 Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5db2a4cca2..67137d69c1 100644 +index a062e10fc..96ff39e13 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1229,6 +1229,15 @@ public class CraftWorld implements World { +@@ -1243,6 +1243,15 @@ public class CraftWorld implements World { return list; } @@ -25,5 +25,5 @@ index 5db2a4cca2..67137d69c1 100644 public void save() { org.spigotmc.AsyncCatcher.catchOp("world save"); // Spigot -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0241-InventoryCloseEvent-Reason-API.patch similarity index 90% rename from Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch rename to Spigot-Server-Patches/0241-InventoryCloseEvent-Reason-API.patch index d3521c98a5..4eb444dc50 100644 --- a/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0241-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From b9340661c573f178bfcce53125e5a3346d06a830 Mon Sep 17 00:00:00 2001 +From 667b89b151281f6d14e6abae5a052ab4538013c5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,11 +7,11 @@ 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 e1bd10579e..89915b3599 100644 +index 3917980b7..007934d8c 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -164,7 +164,7 @@ public abstract class EntityHuman extends EntityLiving { - this.dA(); + this.dW(); super.tick(); if (!this.world.isClientSide && this.activeContainer != null && !this.activeContainer.canUse(this)) { - this.closeInventory(); @@ -19,7 +19,7 @@ index e1bd10579e..89915b3599 100644 this.activeContainer = this.defaultContainer; } -@@ -351,6 +351,13 @@ public abstract class EntityHuman extends EntityLiving { +@@ -363,6 +363,13 @@ public abstract class EntityHuman extends EntityLiving { return 20; } @@ -34,7 +34,7 @@ index e1bd10579e..89915b3599 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 88bc8b5312..1bb580e0e7 100644 +index 4e6601617..bb2a0b7e6 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -362,7 +362,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -55,7 +55,7 @@ index 88bc8b5312..1bb580e0e7 100644 } String deathMessage = event.getDeathMessage(); -@@ -1058,7 +1058,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1027,7 +1027,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return OptionalInt.empty(); } else { if (this.activeContainer != this.defaultContainer) { @@ -64,7 +64,7 @@ index 88bc8b5312..1bb580e0e7 100644 } this.nextContainerCounter(); -@@ -1118,7 +1118,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1087,7 +1087,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // CraftBukkit end if (this.activeContainer != this.defaultContainer) { @@ -73,7 +73,7 @@ index 88bc8b5312..1bb580e0e7 100644 } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1182,7 +1182,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1151,7 +1151,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public void closeInventory() { @@ -88,10 +88,10 @@ index 88bc8b5312..1bb580e0e7 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 89beac63aa..b9793d4cc6 100644 +index 8757b6751..4f04410f9 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2025,7 +2025,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2039,7 +2039,7 @@ public class PlayerConnection implements PacketListenerPlayIn { PlayerConnectionUtils.ensureMainThread(packetplayinclosewindow, this, this.player.getWorldServer()); if (this.player.isFrozen()) return; // CraftBukkit @@ -101,10 +101,10 @@ index 89beac63aa..b9793d4cc6 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 a167843bfb..9e5cd22d7d 100644 +index 002f7e844..fd0f5c6f2 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -402,7 +402,7 @@ public abstract class PlayerList { +@@ -403,7 +403,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 a167843bfb..9e5cd22d7d 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 b9015cb8a7..6ca7c88583 100644 +index 4a2e66977..004a06b4b 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1028,7 +1028,7 @@ public class WorldServer extends World { +@@ -1036,7 +1036,7 @@ public class WorldServer extends World { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -126,7 +126,7 @@ index b9015cb8a7..6ca7c88583 100644 } } } -@@ -1051,7 +1051,7 @@ public class WorldServer extends World { +@@ -1059,7 +1059,7 @@ public class WorldServer extends World { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -136,7 +136,7 @@ index b9015cb8a7..6ca7c88583 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 77efc43a5d..81cf5f47a7 100644 +index cd8ad2704..e169679c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -619,8 +619,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -155,10 +155,10 @@ index 77efc43a5d..81cf5f47a7 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 e610c8aaed..ce35e6bbc2 100644 +index 4dc79ca4e..e45dd6cd4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -781,7 +781,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -780,7 +780,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (getHandle().activeContainer != getHandle().defaultContainer) { @@ -168,7 +168,7 @@ index e610c8aaed..ce35e6bbc2 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 8bd1dedcca..ade1d42f7e 100644 +index 94fbac5e4..7967222d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1288,8 +1288,19 @@ public class CraftEventFactory { @@ -193,5 +193,5 @@ index 8bd1dedcca..ade1d42f7e 100644 human.activeContainer.transferTo(human.defaultContainer, human.getBukkitEntity()); } -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0246-Configurable-Bed-Search-Radius.patch b/Spigot-Server-Patches/0242-Configurable-Bed-Search-Radius.patch similarity index 96% rename from Spigot-Server-Patches/0246-Configurable-Bed-Search-Radius.patch rename to Spigot-Server-Patches/0242-Configurable-Bed-Search-Radius.patch index 9f2a59ce03..5a6b598ae0 100644 --- a/Spigot-Server-Patches/0246-Configurable-Bed-Search-Radius.patch +++ b/Spigot-Server-Patches/0242-Configurable-Bed-Search-Radius.patch @@ -1,4 +1,4 @@ -From b82b0677d8284ed9c9a6821b37d695cf40b1d33f Mon Sep 17 00:00:00 2001 +From defe39819444dcf2df2e3543d531ecd429ee464f Mon Sep 17 00:00:00 2001 From: Aikar 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 bf08deb25..1ffcebd3c 100644 +index f5cafbeca..b4e5948cc 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,10 +30,10 @@ index bf08deb25..1ffcebd3c 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java -index 43b5d00b0..b2525e2a2 100644 +index 794756342..06a35629a 100644 --- a/src/main/java/net/minecraft/server/BlockBed.java +++ b/src/main/java/net/minecraft/server/BlockBed.java -@@ -171,6 +171,10 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity { +@@ -196,6 +196,10 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity { public static Optional a(EntityTypes entitytypes, IWorldReader iworldreader, BlockPosition blockposition, int i) { EnumDirection enumdirection = (EnumDirection) iworldreader.getType(blockposition).get(BlockBed.FACING); @@ -44,7 +44,7 @@ index 43b5d00b0..b2525e2a2 100644 int j = blockposition.getX(); int k = blockposition.getY(); int l = blockposition.getZ(); -@@ -199,7 +203,103 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity { +@@ -224,7 +228,103 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity { return Optional.empty(); } @@ -149,5 +149,5 @@ index 43b5d00b0..b2525e2a2 100644 VoxelShape voxelshape = iworldreader.getType(blockposition).getCollisionShape(iworldreader, blockposition); -- -2.23.0 +2.17.1 diff --git a/Spigot-Server-Patches/0247-Vex-getSummoner-API.patch b/Spigot-Server-Patches/0243-Vex-getSummoner-API.patch similarity index 91% rename from Spigot-Server-Patches/0247-Vex-getSummoner-API.patch rename to Spigot-Server-Patches/0243-Vex-getSummoner-API.patch index 4369f60435..9743cfda31 100644 --- a/Spigot-Server-Patches/0247-Vex-getSummoner-API.patch +++ b/Spigot-Server-Patches/0243-Vex-getSummoner-API.patch @@ -1,4 +1,4 @@ -From 39ae0187fdc652e7896d692d5da0266671873ed5 Mon Sep 17 00:00:00 2001 +From 5f41049c8d0a8e4958ca592e35e10d9b63549039 Mon Sep 17 00:00:00 2001 From: Aikar 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 7c164531b3..25aea53150 100644 +index cd9fb3aab..a46730460 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 7c164531b3..25aea53150 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 @@ @@ -47,5 +47,5 @@ index 737a37b6fe..169c951ec3 100644 public String toString() { return "CraftVex"; -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0244-Refresh-player-inventory-when-cancelling-PlayerInter.patch similarity index 87% rename from Spigot-Server-Patches/0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch rename to Spigot-Server-Patches/0244-Refresh-player-inventory-when-cancelling-PlayerInter.patch index 72ee8c5dd0..298c51518b 100644 --- a/Spigot-Server-Patches/0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0244-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -1,4 +1,4 @@ -From 444c84a9b153f9b5cfc94e21175a881a9c84d6c4 Mon Sep 17 00:00:00 2001 +From 92d4c5567ba80219f1bfd171f500d5a10dd54ac0 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 13 Jul 2018 14:54:43 +0200 Subject: [PATCH] Refresh player inventory when cancelling @@ -16,10 +16,10 @@ 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 b9793d4cc6..f2de19b9b4 100644 +index 4f04410f9..3a7e197e3 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1939,6 +1939,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1949,6 +1949,7 @@ public class PlayerConnection implements PacketListenerPlayIn { } if (event.isCancelled()) { @@ -28,5 +28,5 @@ index b9793d4cc6..f2de19b9b4 100644 } // CraftBukkit end -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0249-Don-t-change-the-Entity-Random-seed-for-squids.patch b/Spigot-Server-Patches/0245-Don-t-change-the-Entity-Random-seed-for-squids.patch similarity index 80% rename from Spigot-Server-Patches/0249-Don-t-change-the-Entity-Random-seed-for-squids.patch rename to Spigot-Server-Patches/0245-Don-t-change-the-Entity-Random-seed-for-squids.patch index c3b6f1a892..f7f3d33ced 100644 --- a/Spigot-Server-Patches/0249-Don-t-change-the-Entity-Random-seed-for-squids.patch +++ b/Spigot-Server-Patches/0245-Don-t-change-the-Entity-Random-seed-for-squids.patch @@ -1,11 +1,11 @@ -From 9886f0270859ce331fa76821ad2d2253dffcc22a Mon Sep 17 00:00:00 2001 +From f8ebae1f5b873604cd8d96076d556f66f14b16e9 Mon Sep 17 00:00:00 2001 From: Aikar 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 735d1879a8..a4d2ff64d8 100644 +index 1c1ff2069..92efe4e7f 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java @@ -21,7 +21,7 @@ public class EntitySquid extends EntityWaterAnimal { @@ -14,9 +14,9 @@ index 735d1879a8..a4d2ff64d8 100644 super(entitytypes, world); - this.random.setSeed((long) this.getId()); + //this.random.setSeed((long) this.getId()); // Paper - this.bF = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F; + this.bC = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F; } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0250-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0246-Re-add-vanilla-entity-warnings-for-duplicates.patch similarity index 86% rename from Spigot-Server-Patches/0250-Re-add-vanilla-entity-warnings-for-duplicates.patch rename to Spigot-Server-Patches/0246-Re-add-vanilla-entity-warnings-for-duplicates.patch index 650630a118..d5070e2112 100644 --- a/Spigot-Server-Patches/0250-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0246-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -1,4 +1,4 @@ -From 6b56755e6bff6f4dab389d70ca877f4b0d2ee376 Mon Sep 17 00:00:00 2001 +From 72a0585532fc4fe8636e7544559888371ea398eb Mon Sep 17 00:00:00 2001 From: Aikar 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 6ca7c88583..3671b44feb 100644 +index 004a06b4b..5e6601d0f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1013,7 +1013,8 @@ public class WorldServer extends World { +@@ -1021,7 +1021,8 @@ public class WorldServer extends World { if (entity1 == null) { return false; } else { @@ -22,5 +22,5 @@ index 6ca7c88583..3671b44feb 100644 } } -- -2.22.1 +2.17.1 diff --git a/Spigot-Server-Patches/0247-Avoid-item-merge-if-stack-size-above-max-stack-size.patch b/Spigot-Server-Patches/0247-Avoid-item-merge-if-stack-size-above-max-stack-size.patch new file mode 100644 index 0000000000..531da210e0 --- /dev/null +++ b/Spigot-Server-Patches/0247-Avoid-item-merge-if-stack-size-above-max-stack-size.patch @@ -0,0 +1,24 @@ +From e21c5266e93f3fb2d2400ea7fb2be5729f267837 Mon Sep 17 00:00:00 2001 +From: Hugo Manrique +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 fcc1c0993..5f46c7f86 100644 +--- a/src/main/java/net/minecraft/server/EntityItem.java ++++ b/src/main/java/net/minecraft/server/EntityItem.java +@@ -170,6 +170,10 @@ public class EntityItem extends Entity { + + private void mergeNearby() { + if (this.w()) { ++ // Paper start - avoid item merge if stack size above max stack size ++ ItemStack stack = getItemStack(); ++ if (stack.getCount() >= stack.getMaxStackSize()) return; ++ // Paper end + // Spigot start + double radius = world.spigotConfig.itemMerge; + List list = this.world.a(EntityItem.class, this.getBoundingBox().grow(radius, radius, radius), (entityitem) -> { +-- +2.17.1 + diff --git a/Spigot-Server-Patches/0252-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0248-Use-asynchronous-Log4j-2-loggers.patch similarity index 94% rename from Spigot-Server-Patches/0252-Use-asynchronous-Log4j-2-loggers.patch rename to Spigot-Server-Patches/0248-Use-asynchronous-Log4j-2-loggers.patch index fad1b86757..840e2eb9a0 100644 --- a/Spigot-Server-Patches/0252-Use-asynchronous-Log4j-2-loggers.patch +++ b/Spigot-Server-Patches/0248-Use-asynchronous-Log4j-2-loggers.patch @@ -1,11 +1,11 @@ -From d337a8321181811a8901b9a4c63c78474acb6db6 Mon Sep 17 00:00:00 2001 +From c99b1ee74fe52fec1b2c67725e2168e25fcba5b2 Mon Sep 17 00:00:00 2001 From: Minecrell 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 2990c04b8..beda5dc8a 100644 +index dbc425524..d10c219e3 100644 --- a/pom.xml +++ b/pom.xml @@ -74,6 +74,13 @@ @@ -54,5 +54,5 @@ index 0694b2146..30efeb5fa 100644 +log4j2.AsyncQueueFullPolicy="com.destroystokyo.paper.log.LogFullPolicy" log4j.skipJansi=true -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0253-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0249-add-more-information-to-Entity.toString.patch similarity index 83% rename from Spigot-Server-Patches/0253-add-more-information-to-Entity.toString.patch rename to Spigot-Server-Patches/0249-add-more-information-to-Entity.toString.patch index 9fe7836cc0..7a4eeef405 100644 --- a/Spigot-Server-Patches/0253-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0249-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From e42167f12d63b5a2c17300b544da4739b22fb114 Mon Sep 17 00:00:00 2001 +From a6c05645c938d3b1d5ea09f5f0a71f82b7f1df81 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,18 +6,18 @@ 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 be4ebcadb7..6ada923797 100644 +index 7c4ab7fe7..5823b3740 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2492,7 +2492,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -2499,7 +2499,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public String toString() { -- return String.format(Locale.ROOT, "%s['%s'/%d, l='%s', x=%.2f, y=%.2f, z=%.2f]", this.getClass().getSimpleName(), this.getDisplayName().getText(), this.id, this.world == null ? "~NULL~" : this.world.getWorldData().getName(), this.locX, this.locY, this.locZ); +- return String.format(Locale.ROOT, "%s['%s'/%d, l='%s', x=%.2f, y=%.2f, z=%.2f]", this.getClass().getSimpleName(), this.getDisplayName().getText(), this.id, this.world == null ? "~NULL~" : this.world.getWorldData().getName(), this.locX(), this.locY(), this.locZ()); + return String.format(Locale.ROOT, "%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f, cx=%d, cz=%d, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), getChunkX(), getChunkZ(), this.ticksLived, this.valid, this.dead}); // Paper - add more information } public boolean isInvulnerable(DamageSource damagesource) { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0250-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch similarity index 89% rename from Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch rename to Spigot-Server-Patches/0250-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index c84a8169d8..188c29d299 100644 --- a/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0250-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From 5cb60c4b7e17203bd071de97545634cdd037c2d7 Mon Sep 17 00:00:00 2001 +From ce5103ceb32a7b68f5c419fa1de27f12b29c2b5a Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues @@ -6,10 +6,10 @@ 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 6ada92379..924187413 100644 +index 5823b3740..3458333c9 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 +@@ -76,6 +76,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper private CraftEntity bukkitEntity; @@ -19,10 +19,10 @@ index 6ada92379..924187413 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 649600b3e..db938da25 100644 +index df24bac3b..a2b09597f 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -1021,6 +1021,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1022,6 +1022,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 649600b3e..db938da25 100644 this.trackedEntities.put(entity.getId(), playerchunkmap_entitytracker); playerchunkmap_entitytracker.track(this.world.getPlayers()); if (entity instanceof EntityPlayer) { -@@ -1063,7 +1064,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1064,7 +1065,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { if (playerchunkmap_entitytracker1 != null) { playerchunkmap_entitytracker1.a(); } @@ -40,10 +40,10 @@ index 649600b3e..db938da25 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 6226a8c1a..95c809ba9 100644 +index 39b136935..7fcc8c52d 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 +@@ -67,6 +67,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable { public boolean pvpMode; public boolean keepSpawnInMemory = true; public org.bukkit.generator.ChunkGenerator generator; @@ -52,10 +52,10 @@ index 6226a8c1a..95c809ba9 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 3671b44fe..a5ba64a4c 100644 +index 5e6601d0f..110d6e571 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -73,6 +73,9 @@ public class WorldServer extends World { +@@ -75,6 +75,9 @@ public class WorldServer extends World { // CraftBukkit start private int tickPosition; boolean hasPhysicsEvent = true; // Paper @@ -65,7 +65,7 @@ index 3671b44fe..a5ba64a4c 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) { -@@ -975,8 +978,28 @@ public class WorldServer extends World { +@@ -983,8 +986,28 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot @@ -95,7 +95,7 @@ index 3671b44fe..a5ba64a4c 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)) { -@@ -1148,7 +1171,24 @@ public class WorldServer extends World { +@@ -1156,7 +1179,24 @@ public class WorldServer extends World { } } @@ -122,5 +122,5 @@ index 3671b44fe..a5ba64a4c 100644 // CraftBukkit start - SPIGOT-5278 if (entity instanceof EntityDrowned) { -- -2.24.0 +2.17.1 diff --git a/Spigot-Server-Patches/0251-Avoid-item-merge-if-stack-size-above-max-stack-size.patch b/Spigot-Server-Patches/0251-Avoid-item-merge-if-stack-size-above-max-stack-size.patch deleted file mode 100644 index 06a5fa12b9..0000000000 --- a/Spigot-Server-Patches/0251-Avoid-item-merge-if-stack-size-above-max-stack-size.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 444aae394eee9b07bdf916b350d7508b5f995634 Mon Sep 17 00:00:00 2001 -From: Hugo Manrique -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 f1f86ef8b5..6e026d34f0 100644 ---- a/src/main/java/net/minecraft/server/EntityItem.java -+++ b/src/main/java/net/minecraft/server/EntityItem.java -@@ -168,6 +168,10 @@ public class EntityItem extends Entity { - } - - private void mergeNearby() { -+ // Paper start - avoid item merge if stack size above max stack size -+ ItemStack stack = getItemStack(); -+ if (stack.getCount() >= stack.getMaxStackSize()) return; -+ // Paper end - // Spigot start - double radius = world.spigotConfig.itemMerge; - List list = this.world.a(EntityItem.class, this.getBoundingBox().grow(radius, radius, radius), (entityitem) -> { --- -2.22.0 - diff --git a/Spigot-Server-Patches/0255-EnderDragon-Events.patch b/Spigot-Server-Patches/0251-EnderDragon-Events.patch similarity index 88% rename from Spigot-Server-Patches/0255-EnderDragon-Events.patch rename to Spigot-Server-Patches/0251-EnderDragon-Events.patch index 7afb8600b0..add365b15f 100644 --- a/Spigot-Server-Patches/0255-EnderDragon-Events.patch +++ b/Spigot-Server-Patches/0251-EnderDragon-Events.patch @@ -1,14 +1,14 @@ -From bd3ed37e90eaf8ea43b8517228e594167904744a Mon Sep 17 00:00:00 2001 +From 81f46b2f9721098c4ef7cad5ee8e2121e0f2d64d Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 98e15834ab..577d1d2070 100644 +index 40a8beff5..18fdcd453 100644 --- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java +++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java -@@ -65,7 +65,11 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded +@@ -71,7 +71,11 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded this.d.setDuration(200); this.d.setParticle(Particles.DRAGON_BREATH); this.d.addEffect(new MobEffect(MobEffects.HARM)); @@ -20,7 +20,7 @@ index 98e15834ab..577d1d2070 100644 } } -@@ -76,6 +80,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded +@@ -82,6 +86,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded ++this.c; } @@ -29,7 +29,7 @@ index 98e15834ab..577d1d2070 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 14e20f4961..0b0815e113 100644 +index a2c36548c..a9d20ee3b 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 { @@ -43,20 +43,20 @@ index 14e20f4961..0b0815e113 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 9dfa15fe2a..547698a2d4 100644 +index bc08b53fc..db43ac1cc 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 { +@@ -41,8 +41,10 @@ public class EntityDragonFireball extends EntityFireball { } } + if (new com.destroystokyo.paper.event.entity.EnderDragonFireballHitEvent((org.bukkit.entity.DragonFireball) this.getBukkitEntity(), list.stream().map(EntityLiving::getBukkitLivingEntity).collect(java.util.stream.Collectors.toList()), (org.bukkit.entity.AreaEffectCloud) entityareaeffectcloud.getBukkitEntity()).callEvent()) { // Paper - this.world.triggerEffect(2006, new BlockPosition(this.locX, this.locY, this.locZ), 0); + this.world.triggerEffect(2006, new BlockPosition(this), 0); this.world.addEntity(entityareaeffectcloud); + } else entityareaeffectcloud.die(); // Paper this.die(); } -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0256-PlayerElytraBoostEvent.patch b/Spigot-Server-Patches/0252-PlayerElytraBoostEvent.patch similarity index 86% rename from Spigot-Server-Patches/0256-PlayerElytraBoostEvent.patch rename to Spigot-Server-Patches/0252-PlayerElytraBoostEvent.patch index 6a5a335f0b..efc091daf4 100644 --- a/Spigot-Server-Patches/0256-PlayerElytraBoostEvent.patch +++ b/Spigot-Server-Patches/0252-PlayerElytraBoostEvent.patch @@ -1,14 +1,14 @@ -From 37e3692d88aa1ac9ebef50ac2cdf9f42a4ed9871 Mon Sep 17 00:00:00 2001 +From dc98d0cf26aee885975465eb616fc8324dbd23f1 Mon Sep 17 00:00:00 2001 From: BillyGalbreath 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 76b253a50..a43e52889 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 { +@@ -36,11 +36,16 @@ public class ItemFireworks extends Item { // Paper start final EntityFireworks entityfireworks = new EntityFireworks(world, itemstack, entityhuman); entityfireworks.spawningEntity = entityhuman.getUniqueID(); @@ -28,7 +28,7 @@ index aea46ffae5..9e86ef4ce2 100644 + // Paper end } - return new InteractionResultWrapper<>(EnumInteractionResult.SUCCESS, entityhuman.b(enumhand)); + return InteractionResultWrapper.a(entityhuman.b(enumhand)); -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0258-Speedup-BlockPos-by-fixing-inlining.patch b/Spigot-Server-Patches/0253-Speedup-BlockPos-by-fixing-inlining.patch similarity index 84% rename from Spigot-Server-Patches/0258-Speedup-BlockPos-by-fixing-inlining.patch rename to Spigot-Server-Patches/0253-Speedup-BlockPos-by-fixing-inlining.patch index cfa00561ad..580a1fd041 100644 --- a/Spigot-Server-Patches/0258-Speedup-BlockPos-by-fixing-inlining.patch +++ b/Spigot-Server-Patches/0253-Speedup-BlockPos-by-fixing-inlining.patch @@ -1,4 +1,4 @@ -From 2503875393e8d1e8805b2dc620f2238c74d97dc9 Mon Sep 17 00:00:00 2001 +From 4c3456696264a80f869e8731e9b553a2fad3589c Mon Sep 17 00:00:00 2001 From: Techcable Date: Wed, 30 Nov 2016 20:56:58 -0600 Subject: [PATCH] Speedup BlockPos by fixing inlining @@ -21,15 +21,18 @@ 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 71089442c..c439a8d01 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; +@@ -7,25 +7,22 @@ import javax.annotation.concurrent.Immutable; public class BaseBlockPosition implements Comparable { public static final BaseBlockPosition ZERO = new BaseBlockPosition(0, 0, 0); +- @Deprecated - private final int a; +- @Deprecated - private final int b; +- @Deprecated - private final int c; // Paper start + protected int x; @@ -55,7 +58,7 @@ index 7cb46d7a9c..e96428bb2b 100644 } public BaseBlockPosition(double d0, double d1, double d2) { -@@ -49,24 +49,26 @@ public class BaseBlockPosition implements Comparable { +@@ -52,16 +49,17 @@ public class BaseBlockPosition implements Comparable { return this.getY() == baseblockposition.getY() ? (this.getZ() == baseblockposition.getZ() ? this.getX() - baseblockposition.getX() : this.getZ() - baseblockposition.getZ()) : this.getY() - baseblockposition.getY(); } @@ -75,6 +78,12 @@ index 7cb46d7a9c..e96428bb2b 100644 - return this.c; + return this.z; } + + public BaseBlockPosition down() { +@@ -75,13 +73,14 @@ public class BaseBlockPosition implements Comparable { + public BaseBlockPosition shift(EnumDirection enumdirection, int i) { + return i == 0 ? this : new BaseBlockPosition(this.getX() + enumdirection.getAdjacentX() * i, this.getY() + enumdirection.getAdjacentY() * i, this.getZ() + enumdirection.getAdjacentZ() * i); + } + // Paper end public BaseBlockPosition d(BaseBlockPosition baseblockposition) { @@ -82,18 +91,18 @@ index 7cb46d7a9c..e96428bb2b 100644 } public boolean a(BaseBlockPosition baseblockposition, double d0) { -- return this.distanceSquared((double) baseblockposition.a, (double) baseblockposition.b, (double) baseblockposition.c, false) < d0 * d0; +- return this.distanceSquared((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ(), false) < d0 * d0; + return this.distanceSquared((double) baseblockposition.x, (double) baseblockposition.y, (double) baseblockposition.z, false) < d0 * d0; // Paper } public boolean a(IPosition iposition, double d0) { -@@ -91,9 +93,9 @@ public class BaseBlockPosition implements Comparable { +@@ -106,9 +105,9 @@ public class BaseBlockPosition implements Comparable { } public int n(BaseBlockPosition baseblockposition) { -- float f = (float) Math.abs(baseblockposition.getX() - this.a); -- float f1 = (float) Math.abs(baseblockposition.getY() - this.b); -- float f2 = (float) Math.abs(baseblockposition.getZ() - this.c); +- float f = (float) Math.abs(baseblockposition.getX() - this.getX()); +- float f1 = (float) Math.abs(baseblockposition.getY() - this.getY()); +- float f2 = (float) Math.abs(baseblockposition.getZ() - this.getZ()); + float f = (float) Math.abs(baseblockposition.getX() - this.x); // Paper + float f1 = (float) Math.abs(baseblockposition.getY() - this.y); // Paper + float f2 = (float) Math.abs(baseblockposition.getZ() - this.z); // Paper @@ -101,10 +110,10 @@ 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 2eabaaeba2..04f754d2c1 100644 +index 1cdf0346f..5a505b753 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 +@@ -342,11 +342,13 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali } public static class MutableBlockPosition extends BlockPosition { @@ -114,20 +123,13 @@ index 2eabaaeba2..04f754d2c1 100644 protected int b; protected int c; protected int d; -- // Paper start -+ - @Override - public boolean isValidLocation() { - return b >= -30000000 && d >= -30000000 && b < 30000000 && d < 30000000 && c >= 0 && c < 256; -@@ -348,6 +349,7 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali - public boolean isInvalidYLocation() { - return c < 0 || c >= 256; - } +- + */ - // Paper end - ++ // Paper end public MutableBlockPosition() { -@@ -359,10 +361,13 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali + this(0, 0, 0); + } +@@ -356,10 +358,13 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali } public MutableBlockPosition(int i, int j, int k) { @@ -143,7 +145,7 @@ index 2eabaaeba2..04f754d2c1 100644 } public MutableBlockPosition(double d0, double d1, double d2) { -@@ -389,6 +394,9 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali +@@ -390,6 +395,9 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali return super.a(enumblockrotation).immutableCopy(); } @@ -153,7 +155,7 @@ index 2eabaaeba2..04f754d2c1 100644 @Override public int getX() { return this.b; -@@ -402,13 +410,16 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali +@@ -403,13 +411,16 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali @Override public int getZ() { return this.d; @@ -174,7 +176,7 @@ index 2eabaaeba2..04f754d2c1 100644 return this; } -@@ -438,23 +449,23 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali +@@ -439,23 +450,23 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali } public BlockPosition.MutableBlockPosition c(EnumDirection enumdirection, int i) { @@ -204,5 +206,5 @@ index 2eabaaeba2..04f754d2c1 100644 @Override -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0259-Optimize-RegistryID.c.patch b/Spigot-Server-Patches/0254-Optimize-RegistryID.c.patch similarity index 95% rename from Spigot-Server-Patches/0259-Optimize-RegistryID.c.patch rename to Spigot-Server-Patches/0254-Optimize-RegistryID.c.patch index a6bff88e49..63994ada55 100644 --- a/Spigot-Server-Patches/0259-Optimize-RegistryID.c.patch +++ b/Spigot-Server-Patches/0254-Optimize-RegistryID.c.patch @@ -1,4 +1,4 @@ -From f071f20c2ecc1c03b6f2a72d6dcf1efafe0bc8ec Mon Sep 17 00:00:00 2001 +From 45f992de41d492cdd3c8f4138d33fd04b5b4dd7c Mon Sep 17 00:00:00 2001 From: Andrew Steinborn 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 implements Registry { @@ -64,5 +64,5 @@ index e15d286710..e8a48b9a4c 100644 public int b() { -- -2.22.0 +2.17.1 diff --git a/Spigot-Server-Patches/0123-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/removed/1.15/0123-Don-t-load-Chunks-from-Hoppers-and-other-things.patch similarity index 100% rename from Spigot-Server-Patches/0123-Don-t-load-Chunks-from-Hoppers-and-other-things.patch rename to removed/1.15/0123-Don-t-load-Chunks-from-Hoppers-and-other-things.patch diff --git a/Spigot-Server-Patches/0129-Optimize-World.isLoaded-BlockPosition-Z.patch b/removed/1.15/0129-Optimize-World.isLoaded-BlockPosition-Z.patch similarity index 100% rename from Spigot-Server-Patches/0129-Optimize-World.isLoaded-BlockPosition-Z.patch rename to removed/1.15/0129-Optimize-World.isLoaded-BlockPosition-Z.patch diff --git a/Spigot-Server-Patches/0257-PlayerLaunchProjectileEvent.patch b/removed/1.15/0257-PlayerLaunchProjectileEvent.patch similarity index 99% rename from Spigot-Server-Patches/0257-PlayerLaunchProjectileEvent.patch rename to removed/1.15/0257-PlayerLaunchProjectileEvent.patch index 36df760c54..31ecaed602 100644 --- a/Spigot-Server-Patches/0257-PlayerLaunchProjectileEvent.patch +++ b/removed/1.15/0257-PlayerLaunchProjectileEvent.patch @@ -1,4 +1,4 @@ -From 264d17e1439c26acd197336ce546e691460d1ebd Mon Sep 17 00:00:00 2001 +git From 264d17e1439c26acd197336ce546e691460d1ebd Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 21 Jul 2018 03:11:03 -0500 Subject: [PATCH] PlayerLaunchProjectileEvent