From 9fe63a1673246336031899fdef50cada985dba39 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 19 Jul 2019 21:01:24 -0700 Subject: [PATCH] Update to 1.14.4 (#2333) --- Spigot-API-Patches/0001-POM-changes.patch | 17 +- .../0002-Add-FastUtil-to-Bukkit.patch | 6 +- .../0022-Use-ASM-for-event-executors.patch | 22 +-- ...low-plugins-to-use-SLF4J-for-logging.patch | 8 +- Spigot-Server-Patches/0001-POM-Changes.patch | 8 +- .../0002-Paper-config-files.patch | 22 +-- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 120 +++++++----- Spigot-Server-Patches/0004-MC-Utils.patch | 100 ++++------ ...-MinecraftKey-Information-to-Objects.patch | 14 +- ...to-current-Chunk-for-Entity-and-Bloc.patch | 12 +- Spigot-Server-Patches/0009-Timings-v2.patch | 171 +++++++++--------- ...figurable-baby-zombie-movement-speed.patch | 18 +- ...ient-crashes-server-lists-and-Mojang.patch | 14 +- .../0020-Player-affects-spawning-API.patch | 18 +- .../0022-Optimize-TileEntity-Ticking.patch | 15 +- ...023-Further-improve-server-tick-loop.patch | 18 +- .../0025-Entity-Origin-API.patch | 20 +- .../0030-Configurable-end-credits.patch | 6 +- .../0032-Optimize-explosions.patch | 10 +- .../0034-Disable-thunder.patch | 6 +- .../0035-Disable-ice-and-snow.patch | 6 +- ...sition-the-first-time-an-entity-is-s.patch | 10 +- .../0038-Add-BeaconEffectEvent.patch | 10 +- ...44-Ensure-commands-are-not-ran-async.patch | 14 +- ...e-informative-in-maxHealth-exception.patch | 6 +- ...entation-of-tile-entity-removal-list.patch | 6 +- .../0054-Add-exception-reporting-event.patch | 50 ++--- .../0058-Complete-resource-pack-API.patch | 8 +- .../0066-Add-World-Util-Methods.patch | 14 +- ...7-Custom-replacement-for-eaten-items.patch | 6 +- ...le-spawn-chances-for-skeleton-horses.patch | 6 +- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 12 +- ...Entity-AddTo-RemoveFrom-World-Events.patch | 8 +- .../0077-EntityPathfindEvent.patch | 92 +++++----- ...0-Do-not-load-chunks-for-Pathfinding.patch | 20 +- ...0082-Add-PlayerUseUnknownEntityEvent.patch | 8 +- ...g-BlockPlaceEvent-triggering-physics.patch | 6 +- ...86-Remove-Debug-checks-from-DataBits.patch | 12 +- ...nilla-per-world-scoreboard-coloring-.patch | 10 +- ...Remove-unused-World-Tile-Entity-List.patch | 26 ++- .../0091-Configurable-Player-Collision.patch | 12 +- .../0093-Configurable-RCON-IP-address.patch | 12 +- ...95-Implement-PlayerLocaleChangeEvent.patch | 8 +- ...-possibility-for-getServer-singleton.patch | 18 +- ...item-frames-performance-and-bug-fixe.patch | 14 +- .../0103-Optimize-UserCache-Thread-Safe.patch | 8 +- .../0109-Fix-Double-World-Add-issues.patch | 6 +- ...mative-vehicle-moved-wrongly-message.patch | 6 +- ...ers-that-dismount-from-other-players.patch | 6 +- ...onfigurable-packet-in-spam-threshold.patch | 8 +- .../0118-Chunk-registration-fixes.patch | 6 +- .../0122-Add-EntityZapEvent.patch | 10 +- ...a-from-ArmorStand-and-SpawnEgg-items.patch | 8 +- ...125-Cache-user-authenticator-threads.patch | 16 +- .../0126-Optimise-removeQueue.patch | 6 +- ...vent-Pathfinding-out-of-World-Border.patch | 21 ++- ...to-control-if-armour-stands-can-move.patch | 8 +- ...37-Properly-fix-item-duplication-bug.patch | 10 +- ...I-for-Reason-Source-Triggering-play.patch} | 42 ++--- ...patch => 0145-Cap-Entity-Collisions.patch} | 8 +- ...-CraftScheduler-Async-Task-Debugger.patch} | 4 +- ...ore-aggressive-in-the-chunk-unload-.patch} | 14 +- ...> 0148-Do-not-let-armorstands-drown.patch} | 6 +- ...e-async-calls-to-restart-the-server.patch} | 16 +- ...roperty-to-disable-book-size-limits.patch} | 4 +- ...e-parrots-stay-on-shoulders-despite.patch} | 14 +- ...-option-to-prevent-player-names-fro.patch} | 6 +- ...leAppender-for-console-improvements.patch} | 42 ++--- ...rable-option-to-disable-creeper-lin.patch} | 6 +- ....patch => 0155-Item-canEntityPickup.patch} | 8 +- ...layerPickupItemEvent-setFlyAtPlayer.patch} | 4 +- ...> 0157-PlayerAttemptPickupItemEvent.patch} | 4 +- ...tch => 0158-Add-UnknownCommandEvent.patch} | 4 +- ...tch => 0159-Basic-PlayerProfile-API.patch} | 26 +-- ... 0160-Shoulder-Entities-Release-API.patch} | 13 +- ...patch => 0161-Profile-Lookup-Events.patch} | 4 +- ...layer-logins-during-server-shutdown.patch} | 4 +- ...patch => 0163-Entity-fromMobSpawner.patch} | 8 +- ...4-Improve-the-Saddle-API-for-Horses.patch} | 8 +- ...plement-ensureServerConversions-API.patch} | 4 +- ...> 0166-Implement-getI18NDisplayName.patch} | 6 +- ...=> 0167-ProfileWhitelistVerifyEvent.patch} | 4 +- ...ch => 0168-Fix-this-stupid-bullshit.patch} | 4 +- ...wns-should-honor-nametags-and-leash.patch} | 4 +- ...mer-when-spawner-event-is-cancelled.patch} | 4 +- ...1-Fix-MC-117075-TE-Unload-Lag-Spike.patch} | 4 +- ...a-custom-authentication-servers-dow.patch} | 8 +- ...atch => 0173-LivingEntity-setKiller.patch} | 6 +- ...ms-to-redirect-System.out-err-to-lo.patch} | 6 +- ...-prefixes-using-Log4J-configuration.patch} | 8 +- ...Include-Log4J2-SLF4J-implementation.patch} | 4 +- ...efix-for-various-plugins-bypassing-.patch} | 4 +- ...t.patch => 0178-Add-PlayerJumpEvent.patch} | 6 +- ...-handle-PacketPlayInKeepAlive-async.patch} | 6 +- ...t-protocol-version-and-virtual-host.patch} | 20 +- ...t-serverside-behavior-of-keepalives.patch} | 4 +- ...Effects-only-to-players-who-can-see.patch} | 41 +++-- ...maximum-exp-value-when-merging-orbs.patch} | 6 +- ... => 0184-Add-PlayerArmorChangeEvent.patch} | 6 +- ...om-being-processed-when-the-player-.patch} | 4 +- ...-implementations-for-captured-block.patch} | 4 +- ...get-a-BlockState-without-a-snapshot.patch} | 10 +- ...patch => 0188-AsyncTabCompleteEvent.patch} | 12 +- ...89-Avoid-NPE-in-PathfinderGoalTempt.patch} | 4 +- ...=> 0190-PlayerPickupExperienceEvent.patch} | 4 +- ...tch => 0191-ExperienceOrbMergeEvent.patch} | 4 +- ...-Ability-to-apply-mending-to-XP-API.patch} | 8 +- ...max-squid-spawn-height-configurable.patch} | 6 +- ...patch => 0194-PreCreatureSpawnEvent.patch} | 16 +- ...-PlayerNaturallySpawnCreaturesEvent.patch} | 8 +- ...Add-setPlayerProfile-API-for-Skulls.patch} | 6 +- ...> 0197-Fill-Profile-Property-Events.patch} | 4 +- ...layerAdvancementCriterionGrantEvent.patch} | 4 +- ...ch => 0199-Add-ArmorStand-Item-Meta.patch} | 8 +- ...Extend-Player-Interact-cancellation.patch} | 30 +-- ... 0201-Tameable-getOwnerUniqueId-API.patch} | 6 +- ...-crits-helps-mitigate-hacked-client.patch} | 8 +- ...ing-location-from-InventoryEnderChe.patch} | 4 +- ...ted-Ice-from-loading-holding-chunks.patch} | 4 +- ...e-Explicit-Network-Manager-Flushing.patch} | 10 +- ...t-extended-PaperServerListPingEvent.patch} | 31 ++-- ... 0207-Improved-Async-Task-Scheduler.patch} | 6 +- ...-PlayerProfile-in-AsyncPreLoginEven.patch} | 6 +- ...=> 0209-Player.setPlayerProfile-API.patch} | 22 +-- ...h => 0210-Fix-Dragon-Server-Crashes.patch} | 4 +- ...patch => 0211-getPlayerUniqueId-API.patch} | 4 +- ...ake-player-data-saving-configurable.patch} | 6 +- ...e-legacy-ping-handler-more-reliable.patch} | 4 +- ...erverListPingEvent-for-legacy-pings.patch} | 6 +- ...5-Flag-to-disable-the-channel-limit.patch} | 4 +- ...-method-to-open-already-placed-sign.patch} | 4 +- ...rable-sprint-interruption-on-attack.patch} | 8 +- ...allowed-colored-signs-to-be-created.patch} | 6 +- ...t.patch => 0219-EndermanEscapeEvent.patch} | 12 +- ...h => 0220-Enderman.teleportRandomly.patch} | 10 +- ...221-Block-Enderpearl-Travel-Exploit.patch} | 6 +- ...d.spawnParticle-API-and-add-Builder.patch} | 10 +- ...h => 0223-EndermanAttackPlayerEvent.patch} | 4 +- ...tch => 0224-WitchConsumePotionEvent.patch} | 4 +- ...patch => 0225-WitchThrowPotionEvent.patch} | 6 +- ...tem-entities-with-World.spawnEntity.patch} | 4 +- ...patch => 0227-WitchReadyPotionEvent.patch} | 6 +- ...228-ItemStack-getMaxItemUseDuration.patch} | 6 +- ...ement-EntityTeleportEndGatewayEvent.patch} | 4 +- ...d-flag-on-cancel-of-Explosion-Event.patch} | 4 +- ...ch => 0231-Fix-CraftEntity-hashCode.patch} | 4 +- ...e-Alternative-LootPool-Luck-Formula.patch} | 6 +- ...ls-when-failing-to-save-player-data.patch} | 4 +- ...-shield-blocking-delay-configurable.patch} | 8 +- ...cipes-in-RecipeBook-to-avoid-data-e.patch} | 4 +- ...nt-consumeArrow-and-getArrowItem-AP.patch} | 12 +- ...patch => 0237-PlayerReadyArrowEvent.patch} | 8 +- ...-EntityShootBowEvent-for-Illusioner.patch} | 4 +- ...lement-EntityKnockbackByEntityEvent.patch} | 4 +- ...patch => 0240-Expand-Explosions-API.patch} | 4 +- ...vingEntity-Hand-Raised-Item-Use-API.patch} | 16 +- ...-API.patch => 0242-RangedEntity-API.patch} | 18 +- ...o-disable-ender-dragon-legacy-check.patch} | 6 +- ...-Implement-World.getEntity-UUID-API.patch} | 4 +- ...0245-InventoryCloseEvent-Reason-API.patch} | 38 ++-- ...0246-Configurable-Bed-Search-Radius.patch} | 6 +- ...I.patch => 0247-Vex-getSummoner-API.patch} | 6 +- ...ventory-when-cancelling-PlayerInter.patch} | 6 +- ...e-the-Entity-Random-seed-for-squids.patch} | 4 +- ...illa-entity-warnings-for-duplicates.patch} | 6 +- ...-if-stack-size-above-max-stack-size.patch} | 4 +- ...52-Use-asynchronous-Log4j-2-loggers.patch} | 8 +- ...more-information-to-Entity.toString.patch} | 4 +- ...es-option-to-debug-dupe-uuid-issues.patch} | 22 +-- ...ts.patch => 0255-EnderDragon-Events.patch} | 21 ++- ...atch => 0256-PlayerElytraBoostEvent.patch} | 4 +- ...=> 0257-PlayerLaunchProjectileEvent.patch} | 62 +++---- ...Speedup-BlockPos-by-fixing-inlining.patch} | 6 +- ...patch => 0259-Optimize-RegistryID.c.patch} | 4 +- ...-armor-stands-from-doing-entity-loo.patch} | 8 +- ...-Vanished-players-don-t-have-rights.patch} | 16 +- ...anytime-entities-change-to-guarante.patch} | 4 +- ...d-some-Debug-to-Chunk-Entity-slices.patch} | 6 +- ...atch => 0264-EntityTransformedEvent.patch} | 18 +- ...tch => 0265-SkeletonHorse-Additions.patch} | 12 +- ...event-Saving-Bad-entities-to-chunks.patch} | 4 +- ...n-t-call-getItemMeta-on-hasItemMeta.patch} | 6 +- ...ad-Entities-in-entityList-iteration.patch} | 21 ++- ...-use-a-versioned-world-folder-for-t.patch} | 8 +- ...70-MC-111480-Start-Entity-ID-s-at-1.patch} | 4 +- ...1-Implement-Expanded-ArmorStand-API.patch} | 6 +- ...vent.patch => 0272-AnvilDamageEvent.patch} | 4 +- ...ent.patch => 0273-Add-TNTPrimeEvent.patch} | 8 +- ...d-make-tab-spam-limits-configurable.patch} | 8 +- ...h => 0275-Add-hand-to-bucket-events.patch} | 8 +- ...-Experience-should-save-as-Integers.patch} | 4 +- ...ent-rendering-skulls-from-same-user.patch} | 10 +- ...d-Early-Warning-Feature-to-WatchDog.patch} | 14 +- ...0279-Make-EnderDragon-implement-Mob.patch} | 4 +- ...ect-and-repair-corrupt-Region-Files.patch} | 4 +- ...1-Use-ConcurrentHashMap-in-JsonList.patch} | 4 +- ...2-Use-a-Queue-for-Queueing-Commands.patch} | 4 +- ...le-Entities-from-a-chunk-without-sn.patch} | 4 +- ...llow-disabling-armour-stand-ticking.patch} | 10 +- ...timize-BlockPosition-helper-methods.patch} | 4 +- ...ts-from-world-player-list-not-serve.patch} | 14 +- ...tore-vanlla-default-mob-spawn-range.patch} | 4 +- ...pers.patch => 0288-Optimize-Hoppers.patch} | 14 +- ...89-Optimize-CraftBlockData-Creation.patch} | 6 +- ...-124320.patch => 0290-Fix-MC-124320.patch} | 6 +- ...tch => 0291-Slime-Pathfinder-Events.patch} | 10 +- ...e-speed-for-water-flowing-over-lava.patch} | 6 +- ... => 0293-Optimize-RegistryMaterials.patch} | 4 +- ...ch => 0294-Add-PhantomPreSpawnEvent.patch} | 8 +- ....patch => 0295-Add-More-Creeper-API.patch} | 6 +- ...=> 0296-Inventory-removeItemAnySlot.patch} | 4 +- ...oadChunk-int-int-false-load-unconve.patch} | 4 +- ...ray-tracing-methods-to-LivingEntity.patch} | 6 +- ...-attack-cooldown-methods-for-Player.patch} | 18 +- ....patch => 0300-Improve-death-events.patch} | 28 +-- ...w-chests-to-be-placed-with-NBT-data.patch} | 6 +- ...I.patch => 0302-Mob-Pathfinding-API.patch} | 52 +++--- ...nt-chunk-loading-from-Fluid-Flowing.patch} | 4 +- ...for-CanPlaceOn-and-CanDestroy-NBT-v.patch} | 8 +- ...nt-Mob-AI-Rules-from-Loading-Chunks.patch} | 15 +- ...ning-from-loading-generating-chunks.patch} | 18 +- ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 16 +- ...t-furnace-cook-speed-multiplier-API.patch} | 6 +- ...0309-Support-Overriding-World-Seeds.patch} | 12 +- ...h => 0310-Optimize-Server-World-Map.patch} | 12 +- ....patch => 0311-PreSpawnerSpawnEvent.patch} | 4 +- ...rseException-in-Entity-and-TE-names.patch} | 12 +- ... 0313-Avoid-dimension-id-collisions.patch} | 4 +- ...=> 0314-Honor-EntityAgeable.ageLock.patch} | 4 +- ...le-connection-throttle-kick-message.patch} | 6 +- ...> 0316-Hook-into-CB-plugin-rewrites.patch} | 4 +- ...17-Allow-setting-the-vex-s-summoner.patch} | 6 +- ...I.patch => 0318-Add-sun-related-API.patch} | 16 +- ...wned-for-Villager-Aggression-Config.patch} | 4 +- ...-Johnny.patch => 0320-Here-s-Johnny.patch} | 6 +- ...Turtle-API.patch => 0321-Turtle-API.patch} | 53 +++--- ...it-lightning-strike-effect-distance.patch} | 14 +- ...her-worlds-for-shooter-of-projectil.patch} | 4 +- ...Call-player-spectator-target-events.patch} | 6 +- ...-Add-Velocity-IP-Forwarding-Support.patch} | 30 +-- ...PI.patch => 0326-Add-more-Witch-API.patch} | 43 ++--- ...MC-93764.patch => 0327-Fix-MC-93764.patch} | 4 +- ...vent-players-from-moving-into-unloa.patch} | 12 +- ...9-Reset-players-airTicks-on-respawn.patch} | 8 +- ...-area-unicode-characters-from-signs.patch} | 4 +- ...after-profile-lookups-if-not-needed.patch} | 4 +- ...le-thread-count-default-for-bootstr.patch} | 4 +- ...lid-item-for-enchantment-checks-on-b.patch | 33 ++++ ...lid-item-for-enchantment-checks-on-b.patch | 34 ---- ...=> 0334-Optimize-World-Time-Updates.patch} | 6 +- ...tore-custom-InventoryHolder-support.patch} | 4 +- ...=> 0336-Use-Vanilla-Minecart-Speeds.patch} | 4 +- ...0337-Fix-SpongeAbsortEvent-handling.patch} | 6 +- ...t-allow-digging-into-unloaded-chunks.patch | 25 +++ ...t-allow-digging-into-unloaded-chunks.patch | 25 --- ...=> 0339-Optimize-redstone-algorithm.patch} | 18 +- ...ntity-dismount-during-teleportation.patch} | 14 +- ...mits.patch => 0341-Book-Size-Limits.patch} | 8 +- ...ult-permission-message-configurable.patch} | 6 +- ...I.patch => 0343-Add-more-Zombie-API.patch} | 24 +-- ...revent-rayTrace-from-loading-chunks.patch} | 4 +- ...-Large-Packets-disconnecting-client.patch} | 14 +- ...world-storage-in-CraftOfflinePlayer.patch} | 4 +- ...0347-Add-PlayerConnectionCloseEvent.patch} | 8 +- ...revent-Enderman-from-loading-chunks.patch} | 4 +- ...replace-OfflinePlayer-getLastPlayed.patch} | 10 +- ...tch => 0350-Fix-PlayerEditBookEvent.patch} | 6 +- ...ehicle-tracking-issue-on-disconnect.patch} | 6 +- ...nRetractEvent-for-all-empty-pistons.patch} | 4 +- ...remove-from-being-called-on-Players.patch} | 4 +- ...54-Allow-Saving-of-Oversized-Chunks.patch} | 10 +- ...ent.patch => 0355-BlockDestroyEvent.patch} | 4 +- ...m-Shapeless-Custom-Crafting-Recipes.patch} | 4 +- ...h => 0357-Fix-sign-edit-memory-leak.patch} | 8 +- ... 0358-Limit-Client-Sign-length-more.patch} | 6 +- ...onvertSigns-boolean-every-sign-save.patch} | 4 +- ...Signs-in-Chunks-creating-too-large-.patch} | 10 +- ...-Fix-Whitelist-On-Off-inconsistency.patch} | 6 +- ...t-tick-at-start-of-drowning-process.patch} | 6 +- ...ggleEvent-when-whitelist-is-toggled.patch} | 4 +- ...64-Add-LivingEntity-getTargetEntity.patch} | 12 +- ...ngth-when-serialising-BungeeCord-te.patch} | 4 +- ...=> 0366-Entity-getEntitySpawnReason.patch} | 12 +- ...ty-Metadata-for-all-tracked-players.patch} | 8 +- ...tch => 0368-Fire-event-on-GS4-query.patch} | 8 +- ...69-Implement-PlayerPostRespawnEvent.patch} | 4 +- ...for-pickupDelay-breaks-picking-up-i.patch} | 4 +- ...-and-setters-for-EntityItem-owner-a.patch} | 4 +- ...ts.patch => 0372-Server-Tick-Events.patch} | 8 +- ...373-PlayerDeathEvent-getItemsToKeep.patch} | 6 +- ...s-to-fire-only-after-the-server-plu.patch} | 12 +- ...ion-files-more-reliable-to-write-to.patch} | 4 +- ...mize-GameRules-to-use-LinkedHashMap.patch} | 4 +- ...Optimize-Captured-TileEntity-Lookup.patch} | 8 +- ...API.patch => 0378-Add-Heightmap-API.patch} | 6 +- ...9-Handle-bad-chunks-more-gracefully.patch} | 4 +- ...> 0380-Mob-Spawner-API-Enhancements.patch} | 6 +- ...ayer-View-Distance-API-placeholders.patch} | 8 +- ...tch => 0382-Async-Chunk-placeholder.patch} | 4 +- ...-to-changed-postToMainThread-method.patch} | 6 +- ...-item-frames-are-modified-MC-123450.patch} | 6 +- ...sPrimaryThread-and-MinecraftServer-.patch} | 8 +- ...-entity-loss-due-to-unloaded-chunks.patch} | 8 +- ... 0387-Duplicate-UUID-Resolve-Option.patch} | 27 +-- ...88-improve-CraftWorld-isChunkLoaded.patch} | 4 +- ...e-Keep-Spawn-Loaded-range-per-world.patch} | 20 +- ...-some-generation-concurrency-issues.patch} | 8 +- ...ityAreaEffectCloud-from-going-negat.patch} | 4 +- ....patch => 0392-ChunkMapDistance-CME.patch} | 28 +-- ...ually-Limit-Natural-Spawns-To-Limit.patch} | 59 +++--- ...0394-Implement-CraftBlockSoundGroup.patch} | 10 +- ...d.patch => 0395-Chunk-debug-command.patch} | 28 +-- ...ch => 0396-incremental-chunk-saving.patch} | 26 +-- ...ptions-from-dispenser-entity-spawns.patch} | 4 +- ...98-Fix-World-isChunkGenerated-calls.patch} | 28 +-- ...te-location-if-we-failed-to-read-it.patch} | 4 +- ...ad-in-DataPaletteBlock-lock-failure.patch} | 8 +- .../0401-Fix-MC-154214.patch | 50 ----- ...tatus-cache-when-saving-protochunks.patch} | 6 +- ...4-Anti-Xray.patch => 0402-Anti-Xray.patch} | 105 +++++------ ...l-Spawned-mobs-towards-natural-spaw.patch} | 28 +-- ...tChunkIfLoadedImmediately-in-places.patch} | 10 +- .../1.14}/0144-Fix-block-break-desync.patch | 4 +- work/BuildData | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Paperclip | 2 +- work/Spigot | 2 +- 328 files changed, 1938 insertions(+), 1954 deletions(-) rename Spigot-Server-Patches/{0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch => 0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch} (95%) rename Spigot-Server-Patches/{0146-Cap-Entity-Collisions.patch => 0145-Cap-Entity-Collisions.patch} (93%) rename Spigot-Server-Patches/{0147-Remove-CraftScheduler-Async-Task-Debugger.patch => 0146-Remove-CraftScheduler-Async-Task-Debugger.patch} (95%) rename Spigot-Server-Patches/{0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch => 0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch} (75%) rename Spigot-Server-Patches/{0149-Do-not-let-armorstands-drown.patch => 0148-Do-not-let-armorstands-drown.patch} (93%) rename Spigot-Server-Patches/{0150-Properly-handle-async-calls-to-restart-the-server.patch => 0149-Properly-handle-async-calls-to-restart-the-server.patch} (96%) rename Spigot-Server-Patches/{0151-Add-system-property-to-disable-book-size-limits.patch => 0150-Add-system-property-to-disable-book-size-limits.patch} (96%) rename Spigot-Server-Patches/{0152-Add-option-to-make-parrots-stay-on-shoulders-despite.patch => 0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch} (88%) rename Spigot-Server-Patches/{0153-Add-configuration-option-to-prevent-player-names-fro.patch => 0152-Add-configuration-option-to-prevent-player-names-fro.patch} (92%) rename Spigot-Server-Patches/{0154-Use-TerminalConsoleAppender-for-console-improvements.patch => 0153-Use-TerminalConsoleAppender-for-console-improvements.patch} (96%) rename Spigot-Server-Patches/{0155-provide-a-configurable-option-to-disable-creeper-lin.patch => 0154-provide-a-configurable-option-to-disable-creeper-lin.patch} (92%) rename Spigot-Server-Patches/{0156-Item-canEntityPickup.patch => 0155-Item-canEntityPickup.patch} (92%) rename Spigot-Server-Patches/{0157-PlayerPickupItemEvent-setFlyAtPlayer.patch => 0156-PlayerPickupItemEvent-setFlyAtPlayer.patch} (95%) rename Spigot-Server-Patches/{0158-PlayerAttemptPickupItemEvent.patch => 0157-PlayerAttemptPickupItemEvent.patch} (94%) rename Spigot-Server-Patches/{0159-Add-UnknownCommandEvent.patch => 0158-Add-UnknownCommandEvent.patch} (94%) rename Spigot-Server-Patches/{0160-Basic-PlayerProfile-API.patch => 0159-Basic-PlayerProfile-API.patch} (97%) rename Spigot-Server-Patches/{0161-Shoulder-Entities-Release-API.patch => 0160-Shoulder-Entities-Release-API.patch} (91%) rename Spigot-Server-Patches/{0162-Profile-Lookup-Events.patch => 0161-Profile-Lookup-Events.patch} (97%) rename Spigot-Server-Patches/{0163-Block-player-logins-during-server-shutdown.patch => 0162-Block-player-logins-during-server-shutdown.patch} (90%) rename Spigot-Server-Patches/{0164-Entity-fromMobSpawner.patch => 0163-Entity-fromMobSpawner.patch} (95%) rename Spigot-Server-Patches/{0165-Improve-the-Saddle-API-for-Horses.patch => 0164-Improve-the-Saddle-API-for-Horses.patch} (94%) rename Spigot-Server-Patches/{0166-Implement-ensureServerConversions-API.patch => 0165-Implement-ensureServerConversions-API.patch} (91%) rename Spigot-Server-Patches/{0167-Implement-getI18NDisplayName.patch => 0166-Implement-getI18NDisplayName.patch} (93%) rename Spigot-Server-Patches/{0168-ProfileWhitelistVerifyEvent.patch => 0167-ProfileWhitelistVerifyEvent.patch} (96%) rename Spigot-Server-Patches/{0169-Fix-this-stupid-bullshit.patch => 0168-Fix-this-stupid-bullshit.patch} (94%) rename Spigot-Server-Patches/{0170-Ocelot-despawns-should-honor-nametags-and-leash.patch => 0169-Ocelot-despawns-should-honor-nametags-and-leash.patch} (89%) rename Spigot-Server-Patches/{0171-Reset-spawner-timer-when-spawner-event-is-cancelled.patch => 0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch} (92%) rename Spigot-Server-Patches/{0172-Fix-MC-117075-TE-Unload-Lag-Spike.patch => 0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch} (92%) rename Spigot-Server-Patches/{0173-Allow-specifying-a-custom-authentication-servers-dow.patch => 0172-Allow-specifying-a-custom-authentication-servers-dow.patch} (92%) rename Spigot-Server-Patches/{0174-LivingEntity-setKiller.patch => 0173-LivingEntity-setKiller.patch} (93%) rename Spigot-Server-Patches/{0175-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch => 0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch} (93%) rename Spigot-Server-Patches/{0176-Handle-plugin-prefixes-using-Log4J-configuration.patch => 0175-Handle-plugin-prefixes-using-Log4J-configuration.patch} (95%) rename Spigot-Server-Patches/{0177-Include-Log4J2-SLF4J-implementation.patch => 0176-Include-Log4J2-SLF4J-implementation.patch} (87%) rename Spigot-Server-Patches/{0178-Disable-logger-prefix-for-various-plugins-bypassing-.patch => 0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch} (95%) rename Spigot-Server-Patches/{0179-Add-PlayerJumpEvent.patch => 0178-Add-PlayerJumpEvent.patch} (94%) rename Spigot-Server-Patches/{0180-handle-PacketPlayInKeepAlive-async.patch => 0179-handle-PacketPlayInKeepAlive-async.patch} (92%) rename Spigot-Server-Patches/{0181-Expose-client-protocol-version-and-virtual-host.patch => 0180-Expose-client-protocol-version-and-virtual-host.patch} (93%) rename Spigot-Server-Patches/{0182-revert-serverside-behavior-of-keepalives.patch => 0181-revert-serverside-behavior-of-keepalives.patch} (97%) rename Spigot-Server-Patches/{0183-Send-attack-SoundEffects-only-to-players-who-can-see.patch => 0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch} (65%) rename Spigot-Server-Patches/{0184-Option-for-maximum-exp-value-when-merging-orbs.patch => 0183-Option-for-maximum-exp-value-when-merging-orbs.patch} (95%) rename Spigot-Server-Patches/{0185-Add-PlayerArmorChangeEvent.patch => 0184-Add-PlayerArmorChangeEvent.patch} (94%) rename Spigot-Server-Patches/{0186-Prevent-logins-from-being-processed-when-the-player-.patch => 0185-Prevent-logins-from-being-processed-when-the-player-.patch} (91%) rename Spigot-Server-Patches/{0187-use-CB-BlockState-implementations-for-captured-block.patch => 0186-use-CB-BlockState-implementations-for-captured-block.patch} (94%) rename Spigot-Server-Patches/{0188-API-to-get-a-BlockState-without-a-snapshot.patch => 0187-API-to-get-a-BlockState-without-a-snapshot.patch} (96%) rename Spigot-Server-Patches/{0189-AsyncTabCompleteEvent.patch => 0188-AsyncTabCompleteEvent.patch} (96%) rename Spigot-Server-Patches/{0190-Avoid-NPE-in-PathfinderGoalTempt.patch => 0189-Avoid-NPE-in-PathfinderGoalTempt.patch} (89%) rename Spigot-Server-Patches/{0191-PlayerPickupExperienceEvent.patch => 0190-PlayerPickupExperienceEvent.patch} (92%) rename Spigot-Server-Patches/{0192-ExperienceOrbMergeEvent.patch => 0191-ExperienceOrbMergeEvent.patch} (93%) rename Spigot-Server-Patches/{0193-Ability-to-apply-mending-to-XP-API.patch => 0192-Ability-to-apply-mending-to-XP-API.patch} (95%) rename Spigot-Server-Patches/{0194-Make-max-squid-spawn-height-configurable.patch => 0193-Make-max-squid-spawn-height-configurable.patch} (93%) rename Spigot-Server-Patches/{0195-PreCreatureSpawnEvent.patch => 0194-PreCreatureSpawnEvent.patch} (85%) rename Spigot-Server-Patches/{0196-PlayerNaturallySpawnCreaturesEvent.patch => 0195-PlayerNaturallySpawnCreaturesEvent.patch} (88%) rename Spigot-Server-Patches/{0197-Add-setPlayerProfile-API-for-Skulls.patch => 0196-Add-setPlayerProfile-API-for-Skulls.patch} (96%) rename Spigot-Server-Patches/{0198-Fill-Profile-Property-Events.patch => 0197-Fill-Profile-Property-Events.patch} (95%) rename Spigot-Server-Patches/{0199-PlayerAdvancementCriterionGrantEvent.patch => 0198-PlayerAdvancementCriterionGrantEvent.patch} (90%) rename Spigot-Server-Patches/{0200-Add-ArmorStand-Item-Meta.patch => 0199-Add-ArmorStand-Item-Meta.patch} (98%) rename Spigot-Server-Patches/{0201-Extend-Player-Interact-cancellation.patch => 0200-Extend-Player-Interact-cancellation.patch} (69%) rename Spigot-Server-Patches/{0202-Tameable-getOwnerUniqueId-API.patch => 0201-Tameable-getOwnerUniqueId-API.patch} (91%) rename Spigot-Server-Patches/{0203-Toggleable-player-crits-helps-mitigate-hacked-client.patch => 0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch} (89%) rename Spigot-Server-Patches/{0204-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch => 0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch} (92%) rename Spigot-Server-Patches/{0205-Prevent-Frosted-Ice-from-loading-holding-chunks.patch => 0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch} (94%) rename Spigot-Server-Patches/{0206-Disable-Explicit-Network-Manager-Flushing.patch => 0205-Disable-Explicit-Network-Manager-Flushing.patch} (84%) rename Spigot-Server-Patches/{0207-Implement-extended-PaperServerListPingEvent.patch => 0206-Implement-extended-PaperServerListPingEvent.patch} (93%) rename Spigot-Server-Patches/{0208-Improved-Async-Task-Scheduler.patch => 0207-Improved-Async-Task-Scheduler.patch} (99%) rename Spigot-Server-Patches/{0209-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch => 0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch} (93%) rename Spigot-Server-Patches/{0210-Player.setPlayerProfile-API.patch => 0209-Player.setPlayerProfile-API.patch} (92%) rename Spigot-Server-Patches/{0211-Fix-Dragon-Server-Crashes.patch => 0210-Fix-Dragon-Server-Crashes.patch} (92%) rename Spigot-Server-Patches/{0212-getPlayerUniqueId-API.patch => 0211-getPlayerUniqueId-API.patch} (94%) rename Spigot-Server-Patches/{0213-Make-player-data-saving-configurable.patch => 0212-Make-player-data-saving-configurable.patch} (93%) rename Spigot-Server-Patches/{0214-Make-legacy-ping-handler-more-reliable.patch => 0213-Make-legacy-ping-handler-more-reliable.patch} (98%) rename Spigot-Server-Patches/{0215-Call-PaperServerListPingEvent-for-legacy-pings.patch => 0214-Call-PaperServerListPingEvent-for-legacy-pings.patch} (98%) rename Spigot-Server-Patches/{0216-Flag-to-disable-the-channel-limit.patch => 0215-Flag-to-disable-the-channel-limit.patch} (94%) rename Spigot-Server-Patches/{0217-Add-method-to-open-already-placed-sign.patch => 0216-Add-method-to-open-already-placed-sign.patch} (92%) rename Spigot-Server-Patches/{0218-Configurable-sprint-interruption-on-attack.patch => 0217-Configurable-sprint-interruption-on-attack.patch} (89%) rename Spigot-Server-Patches/{0219-Fix-exploit-that-allowed-colored-signs-to-be-created.patch => 0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch} (86%) rename Spigot-Server-Patches/{0220-EndermanEscapeEvent.patch => 0219-EndermanEscapeEvent.patch} (94%) rename Spigot-Server-Patches/{0221-Enderman.teleportRandomly.patch => 0220-Enderman.teleportRandomly.patch} (85%) rename Spigot-Server-Patches/{0222-Block-Enderpearl-Travel-Exploit.patch => 0221-Block-Enderpearl-Travel-Exploit.patch} (93%) rename Spigot-Server-Patches/{0223-Expand-World.spawnParticle-API-and-add-Builder.patch => 0222-Expand-World.spawnParticle-API-and-add-Builder.patch} (94%) rename Spigot-Server-Patches/{0224-EndermanAttackPlayerEvent.patch => 0223-EndermanAttackPlayerEvent.patch} (93%) rename Spigot-Server-Patches/{0225-WitchConsumePotionEvent.patch => 0224-WitchConsumePotionEvent.patch} (93%) rename Spigot-Server-Patches/{0226-WitchThrowPotionEvent.patch => 0225-WitchThrowPotionEvent.patch} (84%) rename Spigot-Server-Patches/{0227-Allow-spawning-Item-entities-with-World.spawnEntity.patch => 0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch} (92%) rename Spigot-Server-Patches/{0228-WitchReadyPotionEvent.patch => 0227-WitchReadyPotionEvent.patch} (81%) rename Spigot-Server-Patches/{0229-ItemStack-getMaxItemUseDuration.patch => 0228-ItemStack-getMaxItemUseDuration.patch} (91%) rename Spigot-Server-Patches/{0230-Implement-EntityTeleportEndGatewayEvent.patch => 0229-Implement-EntityTeleportEndGatewayEvent.patch} (95%) rename Spigot-Server-Patches/{0231-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch => 0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch} (93%) rename Spigot-Server-Patches/{0232-Fix-CraftEntity-hashCode.patch => 0231-Fix-CraftEntity-hashCode.patch} (94%) rename Spigot-Server-Patches/{0233-Configurable-Alternative-LootPool-Luck-Formula.patch => 0232-Configurable-Alternative-LootPool-Luck-Formula.patch} (97%) rename Spigot-Server-Patches/{0234-Print-Error-details-when-failing-to-save-player-data.patch => 0233-Print-Error-details-when-failing-to-save-player-data.patch} (89%) rename Spigot-Server-Patches/{0235-Make-shield-blocking-delay-configurable.patch => 0234-Make-shield-blocking-delay-configurable.patch} (94%) rename Spigot-Server-Patches/{0236-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch => 0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch} (93%) rename Spigot-Server-Patches/{0237-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch => 0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch} (94%) rename Spigot-Server-Patches/{0238-PlayerReadyArrowEvent.patch => 0237-PlayerReadyArrowEvent.patch} (88%) rename Spigot-Server-Patches/{0239-Fire-EntityShootBowEvent-for-Illusioner.patch => 0238-Fire-EntityShootBowEvent-for-Illusioner.patch} (93%) rename Spigot-Server-Patches/{0240-Implement-EntityKnockbackByEntityEvent.patch => 0239-Implement-EntityKnockbackByEntityEvent.patch} (93%) rename Spigot-Server-Patches/{0241-Expand-Explosions-API.patch => 0240-Expand-Explosions-API.patch} (92%) rename Spigot-Server-Patches/{0242-LivingEntity-Hand-Raised-Item-Use-API.patch => 0241-LivingEntity-Hand-Raised-Item-Use-API.patch} (85%) rename Spigot-Server-Patches/{0243-RangedEntity-API.patch => 0242-RangedEntity-API.patch} (95%) rename Spigot-Server-Patches/{0244-Add-config-to-disable-ender-dragon-legacy-check.patch => 0243-Add-config-to-disable-ender-dragon-legacy-check.patch} (94%) rename Spigot-Server-Patches/{0245-Implement-World.getEntity-UUID-API.patch => 0244-Implement-World.getEntity-UUID-API.patch} (89%) rename Spigot-Server-Patches/{0246-InventoryCloseEvent-Reason-API.patch => 0245-InventoryCloseEvent-Reason-API.patch} (90%) rename Spigot-Server-Patches/{0247-Configurable-Bed-Search-Radius.patch => 0246-Configurable-Bed-Search-Radius.patch} (98%) rename Spigot-Server-Patches/{0248-Vex-getSummoner-API.patch => 0247-Vex-getSummoner-API.patch} (92%) rename Spigot-Server-Patches/{0249-Refresh-player-inventory-when-cancelling-PlayerInter.patch => 0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch} (88%) rename Spigot-Server-Patches/{0250-Don-t-change-the-Entity-Random-seed-for-squids.patch => 0249-Don-t-change-the-Entity-Random-seed-for-squids.patch} (88%) rename Spigot-Server-Patches/{0251-Re-add-vanilla-entity-warnings-for-duplicates.patch => 0250-Re-add-vanilla-entity-warnings-for-duplicates.patch} (87%) rename Spigot-Server-Patches/{0252-Avoid-item-merge-if-stack-size-above-max-stack-size.patch => 0251-Avoid-item-merge-if-stack-size-above-max-stack-size.patch} (90%) rename Spigot-Server-Patches/{0253-Use-asynchronous-Log4j-2-loggers.patch => 0252-Use-asynchronous-Log4j-2-loggers.patch} (92%) rename Spigot-Server-Patches/{0254-add-more-information-to-Entity.toString.patch => 0253-add-more-information-to-Entity.toString.patch} (93%) rename Spigot-Server-Patches/{0255-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch => 0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch} (89%) rename Spigot-Server-Patches/{0256-EnderDragon-Events.patch => 0255-EnderDragon-Events.patch} (86%) rename Spigot-Server-Patches/{0257-PlayerElytraBoostEvent.patch => 0256-PlayerElytraBoostEvent.patch} (94%) rename Spigot-Server-Patches/{0258-PlayerLaunchProjectileEvent.patch => 0257-PlayerLaunchProjectileEvent.patch} (80%) rename Spigot-Server-Patches/{0259-Speedup-BlockPos-by-fixing-inlining.patch => 0258-Speedup-BlockPos-by-fixing-inlining.patch} (98%) rename Spigot-Server-Patches/{0260-Optimize-RegistryID.c.patch => 0259-Optimize-RegistryID.c.patch} (95%) rename Spigot-Server-Patches/{0261-Option-to-prevent-armor-stands-from-doing-entity-loo.patch => 0260-Option-to-prevent-armor-stands-from-doing-entity-loo.patch} (89%) rename Spigot-Server-Patches/{0262-Vanished-players-don-t-have-rights.patch => 0261-Vanished-players-don-t-have-rights.patch} (96%) rename Spigot-Server-Patches/{0263-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch => 0262-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch} (89%) rename Spigot-Server-Patches/{0264-Add-some-Debug-to-Chunk-Entity-slices.patch => 0263-Add-some-Debug-to-Chunk-Entity-slices.patch} (95%) rename Spigot-Server-Patches/{0265-EntityTransformedEvent.patch => 0264-EntityTransformedEvent.patch} (90%) rename Spigot-Server-Patches/{0266-SkeletonHorse-Additions.patch => 0265-SkeletonHorse-Additions.patch} (91%) rename Spigot-Server-Patches/{0267-Prevent-Saving-Bad-entities-to-chunks.patch => 0266-Prevent-Saving-Bad-entities-to-chunks.patch} (96%) rename Spigot-Server-Patches/{0268-Don-t-call-getItemMeta-on-hasItemMeta.patch => 0267-Don-t-call-getItemMeta-on-hasItemMeta.patch} (97%) rename Spigot-Server-Patches/{0269-Ignore-Dead-Entities-in-entityList-iteration.patch => 0268-Ignore-Dead-Entities-in-entityList-iteration.patch} (92%) rename Spigot-Server-Patches/{0270-Provide-option-to-use-a-versioned-world-folder-for-t.patch => 0269-Provide-option-to-use-a-versioned-world-folder-for-t.patch} (98%) rename Spigot-Server-Patches/{0271-MC-111480-Start-Entity-ID-s-at-1.patch => 0270-MC-111480-Start-Entity-ID-s-at-1.patch} (91%) rename Spigot-Server-Patches/{0272-Implement-Expanded-ArmorStand-API.patch => 0271-Implement-Expanded-ArmorStand-API.patch} (97%) rename Spigot-Server-Patches/{0273-AnvilDamageEvent.patch => 0272-AnvilDamageEvent.patch} (94%) rename Spigot-Server-Patches/{0274-Add-TNTPrimeEvent.patch => 0273-Add-TNTPrimeEvent.patch} (97%) rename Spigot-Server-Patches/{0275-Break-up-and-make-tab-spam-limits-configurable.patch => 0274-Break-up-and-make-tab-spam-limits-configurable.patch} (95%) rename Spigot-Server-Patches/{0276-Add-hand-to-bucket-events.patch => 0275-Add-hand-to-bucket-events.patch} (98%) rename Spigot-Server-Patches/{0277-MC-135506-Experience-should-save-as-Integers.patch => 0276-MC-135506-Experience-should-save-as-Integers.patch} (92%) rename Spigot-Server-Patches/{0278-Fix-client-rendering-skulls-from-same-user.patch => 0277-Fix-client-rendering-skulls-from-same-user.patch} (96%) rename Spigot-Server-Patches/{0279-Add-Early-Warning-Feature-to-WatchDog.patch => 0278-Add-Early-Warning-Feature-to-WatchDog.patch} (96%) rename Spigot-Server-Patches/{0280-Make-EnderDragon-implement-Mob.patch => 0279-Make-EnderDragon-implement-Mob.patch} (93%) rename Spigot-Server-Patches/{0281-Detect-and-repair-corrupt-Region-Files.patch => 0280-Detect-and-repair-corrupt-Region-Files.patch} (98%) rename Spigot-Server-Patches/{0282-Use-ConcurrentHashMap-in-JsonList.patch => 0281-Use-ConcurrentHashMap-in-JsonList.patch} (97%) rename Spigot-Server-Patches/{0283-Use-a-Queue-for-Queueing-Commands.patch => 0282-Use-a-Queue-for-Queueing-Commands.patch} (94%) rename Spigot-Server-Patches/{0284-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch => 0283-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch} (93%) rename Spigot-Server-Patches/{0285-Allow-disabling-armour-stand-ticking.patch => 0284-Allow-disabling-armour-stand-ticking.patch} (98%) rename Spigot-Server-Patches/{0286-Optimize-BlockPosition-helper-methods.patch => 0285-Optimize-BlockPosition-helper-methods.patch} (97%) rename Spigot-Server-Patches/{0287-Send-nearby-packets-from-world-player-list-not-serve.patch => 0286-Send-nearby-packets-from-world-player-list-not-serve.patch} (94%) rename Spigot-Server-Patches/{0288-Restore-vanlla-default-mob-spawn-range.patch => 0287-Restore-vanlla-default-mob-spawn-range.patch} (87%) rename Spigot-Server-Patches/{0289-Optimize-Hoppers.patch => 0288-Optimize-Hoppers.patch} (98%) rename Spigot-Server-Patches/{0290-Optimize-CraftBlockData-Creation.patch => 0289-Optimize-CraftBlockData-Creation.patch} (94%) rename Spigot-Server-Patches/{0291-Fix-MC-124320.patch => 0290-Fix-MC-124320.patch} (95%) rename Spigot-Server-Patches/{0292-Slime-Pathfinder-Events.patch => 0291-Slime-Pathfinder-Events.patch} (97%) rename Spigot-Server-Patches/{0293-Configurable-speed-for-water-flowing-over-lava.patch => 0292-Configurable-speed-for-water-flowing-over-lava.patch} (96%) rename Spigot-Server-Patches/{0294-Optimize-RegistryMaterials.patch => 0293-Optimize-RegistryMaterials.patch} (94%) rename Spigot-Server-Patches/{0295-Add-PhantomPreSpawnEvent.patch => 0294-Add-PhantomPreSpawnEvent.patch} (96%) rename Spigot-Server-Patches/{0296-Add-More-Creeper-API.patch => 0295-Add-More-Creeper-API.patch} (94%) rename Spigot-Server-Patches/{0297-Inventory-removeItemAnySlot.patch => 0296-Inventory-removeItemAnySlot.patch} (95%) rename Spigot-Server-Patches/{0298-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch => 0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch} (91%) rename Spigot-Server-Patches/{0299-Add-ray-tracing-methods-to-LivingEntity.patch => 0298-Add-ray-tracing-methods-to-LivingEntity.patch} (96%) rename Spigot-Server-Patches/{0300-Expose-attack-cooldown-methods-for-Player.patch => 0299-Expose-attack-cooldown-methods-for-Player.patch} (78%) rename Spigot-Server-Patches/{0301-Improve-death-events.patch => 0300-Improve-death-events.patch} (97%) rename Spigot-Server-Patches/{0302-Allow-chests-to-be-placed-with-NBT-data.patch => 0301-Allow-chests-to-be-placed-with-NBT-data.patch} (91%) rename Spigot-Server-Patches/{0303-Mob-Pathfinding-API.patch => 0302-Mob-Pathfinding-API.patch} (83%) rename Spigot-Server-Patches/{0304-Prevent-chunk-loading-from-Fluid-Flowing.patch => 0303-Prevent-chunk-loading-from-Fluid-Flowing.patch} (97%) rename Spigot-Server-Patches/{0305-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch => 0304-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch} (98%) rename Spigot-Server-Patches/{0306-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch => 0305-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch} (83%) rename Spigot-Server-Patches/{0307-Prevent-mob-spawning-from-loading-generating-chunks.patch => 0306-Prevent-mob-spawning-from-loading-generating-chunks.patch} (50%) rename Spigot-Server-Patches/{0308-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => 0307-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (80%) rename Spigot-Server-Patches/{0309-Implement-furnace-cook-speed-multiplier-API.patch => 0308-Implement-furnace-cook-speed-multiplier-API.patch} (96%) rename Spigot-Server-Patches/{0310-Support-Overriding-World-Seeds.patch => 0309-Support-Overriding-World-Seeds.patch} (94%) rename Spigot-Server-Patches/{0311-Optimize-Server-World-Map.patch => 0310-Optimize-Server-World-Map.patch} (96%) rename Spigot-Server-Patches/{0312-PreSpawnerSpawnEvent.patch => 0311-PreSpawnerSpawnEvent.patch} (94%) rename Spigot-Server-Patches/{0313-Catch-JsonParseException-in-Entity-and-TE-names.patch => 0312-Catch-JsonParseException-in-Entity-and-TE-names.patch} (95%) rename Spigot-Server-Patches/{0314-Avoid-dimension-id-collisions.patch => 0313-Avoid-dimension-id-collisions.patch} (91%) rename Spigot-Server-Patches/{0315-Honor-EntityAgeable.ageLock.patch => 0314-Honor-EntityAgeable.ageLock.patch} (86%) rename Spigot-Server-Patches/{0316-Configurable-connection-throttle-kick-message.patch => 0315-Configurable-connection-throttle-kick-message.patch} (94%) rename Spigot-Server-Patches/{0317-Hook-into-CB-plugin-rewrites.patch => 0316-Hook-into-CB-plugin-rewrites.patch} (98%) rename Spigot-Server-Patches/{0318-Allow-setting-the-vex-s-summoner.patch => 0317-Allow-setting-the-vex-s-summoner.patch} (90%) rename Spigot-Server-Patches/{0319-Add-sun-related-API.patch => 0318-Add-sun-related-API.patch} (86%) rename Spigot-Server-Patches/{0320-Check-Drowned-for-Villager-Aggression-Config.patch => 0319-Check-Drowned-for-Villager-Aggression-Config.patch} (93%) rename Spigot-Server-Patches/{0321-Here-s-Johnny.patch => 0320-Here-s-Johnny.patch} (92%) rename Spigot-Server-Patches/{0322-Turtle-API.patch => 0321-Turtle-API.patch} (71%) rename Spigot-Server-Patches/{0323-Limit-lightning-strike-effect-distance.patch => 0322-Limit-lightning-strike-effect-distance.patch} (84%) rename Spigot-Server-Patches/{0324-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch => 0323-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch} (94%) rename Spigot-Server-Patches/{0325-Call-player-spectator-target-events.patch => 0324-Call-player-spectator-target-events.patch} (95%) rename Spigot-Server-Patches/{0326-Add-Velocity-IP-Forwarding-Support.patch => 0325-Add-Velocity-IP-Forwarding-Support.patch} (94%) rename Spigot-Server-Patches/{0327-Add-more-Witch-API.patch => 0326-Add-more-Witch-API.patch} (80%) rename Spigot-Server-Patches/{0328-Fix-MC-93764.patch => 0327-Fix-MC-93764.patch} (86%) rename Spigot-Server-Patches/{0329-Add-option-to-prevent-players-from-moving-into-unloa.patch => 0328-Add-option-to-prevent-players-from-moving-into-unloa.patch} (92%) rename Spigot-Server-Patches/{0330-Reset-players-airTicks-on-respawn.patch => 0329-Reset-players-airTicks-on-respawn.patch} (84%) rename Spigot-Server-Patches/{0331-Strip-private-area-unicode-characters-from-signs.patch => 0330-Strip-private-area-unicode-characters-from-signs.patch} (97%) rename Spigot-Server-Patches/{0332-Don-t-sleep-after-profile-lookups-if-not-needed.patch => 0331-Don-t-sleep-after-profile-lookups-if-not-needed.patch} (94%) rename Spigot-Server-Patches/{0333-Use-more-reasonable-thread-count-default-for-bootstr.patch => 0332-Use-more-reasonable-thread-count-default-for-bootstr.patch} (89%) create mode 100644 Spigot-Server-Patches/0333-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch delete mode 100644 Spigot-Server-Patches/0334-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch rename Spigot-Server-Patches/{0335-Optimize-World-Time-Updates.patch => 0334-Optimize-World-Time-Updates.patch} (93%) rename Spigot-Server-Patches/{0336-Restore-custom-InventoryHolder-support.patch => 0335-Restore-custom-InventoryHolder-support.patch} (95%) rename Spigot-Server-Patches/{0337-Use-Vanilla-Minecart-Speeds.patch => 0336-Use-Vanilla-Minecart-Speeds.patch} (91%) rename Spigot-Server-Patches/{0338-Fix-SpongeAbsortEvent-handling.patch => 0337-Fix-SpongeAbsortEvent-handling.patch} (93%) create mode 100644 Spigot-Server-Patches/0338-Don-t-allow-digging-into-unloaded-chunks.patch delete mode 100644 Spigot-Server-Patches/0339-Don-t-allow-digging-into-unloaded-chunks.patch rename Spigot-Server-Patches/{0340-Optimize-redstone-algorithm.patch => 0339-Optimize-redstone-algorithm.patch} (99%) rename Spigot-Server-Patches/{0341-force-entity-dismount-during-teleportation.patch => 0340-force-entity-dismount-during-teleportation.patch} (94%) rename Spigot-Server-Patches/{0342-Book-Size-Limits.patch => 0341-Book-Size-Limits.patch} (94%) rename Spigot-Server-Patches/{0343-Make-the-default-permission-message-configurable.patch => 0342-Make-the-default-permission-message-configurable.patch} (94%) rename Spigot-Server-Patches/{0344-Add-more-Zombie-API.patch => 0343-Add-more-Zombie-API.patch} (88%) rename Spigot-Server-Patches/{0345-Prevent-rayTrace-from-loading-chunks.patch => 0344-Prevent-rayTrace-from-loading-chunks.patch} (93%) rename Spigot-Server-Patches/{0346-Handle-Large-Packets-disconnecting-client.patch => 0345-Handle-Large-Packets-disconnecting-client.patch} (93%) rename Spigot-Server-Patches/{0347-Lazy-init-world-storage-in-CraftOfflinePlayer.patch => 0346-Lazy-init-world-storage-in-CraftOfflinePlayer.patch} (96%) rename Spigot-Server-Patches/{0348-Add-PlayerConnectionCloseEvent.patch => 0347-Add-PlayerConnectionCloseEvent.patch} (95%) rename Spigot-Server-Patches/{0349-Prevent-Enderman-from-loading-chunks.patch => 0348-Prevent-Enderman-from-loading-chunks.patch} (95%) rename Spigot-Server-Patches/{0350-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch => 0349-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch} (96%) rename Spigot-Server-Patches/{0351-Fix-PlayerEditBookEvent.patch => 0350-Fix-PlayerEditBookEvent.patch} (91%) rename Spigot-Server-Patches/{0352-Workaround-for-vehicle-tracking-issue-on-disconnect.patch => 0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch} (84%) rename Spigot-Server-Patches/{0353-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch => 0352-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch} (96%) rename Spigot-Server-Patches/{0354-Block-Entity-remove-from-being-called-on-Players.patch => 0353-Block-Entity-remove-from-being-called-on-Players.patch} (93%) rename Spigot-Server-Patches/{0355-Allow-Saving-of-Oversized-Chunks.patch => 0354-Allow-Saving-of-Oversized-Chunks.patch} (99%) rename Spigot-Server-Patches/{0356-BlockDestroyEvent.patch => 0355-BlockDestroyEvent.patch} (95%) rename Spigot-Server-Patches/{0357-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch => 0356-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch} (96%) rename Spigot-Server-Patches/{0358-Fix-sign-edit-memory-leak.patch => 0357-Fix-sign-edit-memory-leak.patch} (91%) rename Spigot-Server-Patches/{0359-Limit-Client-Sign-length-more.patch => 0358-Limit-Client-Sign-length-more.patch} (94%) rename Spigot-Server-Patches/{0360-Don-t-check-ConvertSigns-boolean-every-sign-save.patch => 0359-Don-t-check-ConvertSigns-boolean-every-sign-save.patch} (93%) rename Spigot-Server-Patches/{0361-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch => 0360-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch} (93%) rename Spigot-Server-Patches/{0362-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch => 0361-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch} (95%) rename Spigot-Server-Patches/{0363-Set-Zombie-last-tick-at-start-of-drowning-process.patch => 0362-Set-Zombie-last-tick-at-start-of-drowning-process.patch} (82%) rename Spigot-Server-Patches/{0364-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch => 0363-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch} (87%) rename Spigot-Server-Patches/{0365-Add-LivingEntity-getTargetEntity.patch => 0364-Add-LivingEntity-getTargetEntity.patch} (96%) rename Spigot-Server-Patches/{0366-Use-proper-max-length-when-serialising-BungeeCord-te.patch => 0365-Use-proper-max-length-when-serialising-BungeeCord-te.patch} (94%) rename Spigot-Server-Patches/{0367-Entity-getEntitySpawnReason.patch => 0366-Entity-getEntitySpawnReason.patch} (95%) rename Spigot-Server-Patches/{0368-Update-entity-Metadata-for-all-tracked-players.patch => 0367-Update-entity-Metadata-for-all-tracked-players.patch} (89%) rename Spigot-Server-Patches/{0369-Fire-event-on-GS4-query.patch => 0368-Fire-event-on-GS4-query.patch} (98%) rename Spigot-Server-Patches/{0370-Implement-PlayerPostRespawnEvent.patch => 0369-Implement-PlayerPostRespawnEvent.patch} (95%) rename Spigot-Server-Patches/{0371-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch => 0370-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch} (93%) rename Spigot-Server-Patches/{0372-Implement-getters-and-setters-for-EntityItem-owner-a.patch => 0371-Implement-getters-and-setters-for-EntityItem-owner-a.patch} (93%) rename Spigot-Server-Patches/{0373-Server-Tick-Events.patch => 0372-Server-Tick-Events.patch} (86%) rename Spigot-Server-Patches/{0374-PlayerDeathEvent-getItemsToKeep.patch => 0373-PlayerDeathEvent-getItemsToKeep.patch} (94%) rename Spigot-Server-Patches/{0375-Allow-login-events-to-fire-only-after-the-server-plu.patch => 0374-Allow-login-events-to-fire-only-after-the-server-plu.patch} (89%) rename Spigot-Server-Patches/{0376-Make-region-files-more-reliable-to-write-to.patch => 0375-Make-region-files-more-reliable-to-write-to.patch} (98%) rename Spigot-Server-Patches/{0377-Optimize-GameRules-to-use-LinkedHashMap.patch => 0376-Optimize-GameRules-to-use-LinkedHashMap.patch} (93%) rename Spigot-Server-Patches/{0378-Optimize-Captured-TileEntity-Lookup.patch => 0377-Optimize-Captured-TileEntity-Lookup.patch} (85%) rename Spigot-Server-Patches/{0379-Add-Heightmap-API.patch => 0378-Add-Heightmap-API.patch} (94%) rename Spigot-Server-Patches/{0380-Handle-bad-chunks-more-gracefully.patch => 0379-Handle-bad-chunks-more-gracefully.patch} (96%) rename Spigot-Server-Patches/{0381-Mob-Spawner-API-Enhancements.patch => 0380-Mob-Spawner-API-Enhancements.patch} (97%) rename Spigot-Server-Patches/{0382-Per-Player-View-Distance-API-placeholders.patch => 0381-Per-Player-View-Distance-API-placeholders.patch} (95%) rename Spigot-Server-Patches/{0383-Async-Chunk-placeholder.patch => 0382-Async-Chunk-placeholder.patch} (96%) rename Spigot-Server-Patches/{0384-Fix-CB-call-to-changed-postToMainThread-method.patch => 0383-Fix-CB-call-to-changed-postToMainThread-method.patch} (81%) rename Spigot-Server-Patches/{0385-Fix-sounds-when-item-frames-are-modified-MC-123450.patch => 0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch} (92%) rename Spigot-Server-Patches/{0386-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch => 0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch} (91%) rename Spigot-Server-Patches/{0387-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch => 0386-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch} (89%) rename Spigot-Server-Patches/{0388-Duplicate-UUID-Resolve-Option.patch => 0387-Duplicate-UUID-Resolve-Option.patch} (95%) rename Spigot-Server-Patches/{0389-improve-CraftWorld-isChunkLoaded.patch => 0388-improve-CraftWorld-isChunkLoaded.patch} (93%) rename Spigot-Server-Patches/{0390-Configurable-Keep-Spawn-Loaded-range-per-world.patch => 0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch} (95%) rename Spigot-Server-Patches/{0391-Fix-some-generation-concurrency-issues.patch => 0390-Fix-some-generation-concurrency-issues.patch} (98%) rename Spigot-Server-Patches/{0392-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch => 0391-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch} (89%) rename Spigot-Server-Patches/{0393-ChunkMapDistance-CME.patch => 0392-ChunkMapDistance-CME.patch} (59%) rename Spigot-Server-Patches/{0394-Actually-Limit-Natural-Spawns-To-Limit.patch => 0393-Actually-Limit-Natural-Spawns-To-Limit.patch} (64%) rename Spigot-Server-Patches/{0395-Implement-CraftBlockSoundGroup.patch => 0394-Implement-CraftBlockSoundGroup.patch} (95%) rename Spigot-Server-Patches/{0396-Chunk-debug-command.patch => 0395-Chunk-debug-command.patch} (95%) rename Spigot-Server-Patches/{0397-incremental-chunk-saving.patch => 0396-incremental-chunk-saving.patch} (91%) rename Spigot-Server-Patches/{0398-Catch-exceptions-from-dispenser-entity-spawns.patch => 0397-Catch-exceptions-from-dispenser-entity-spawns.patch} (92%) rename Spigot-Server-Patches/{0399-Fix-World-isChunkGenerated-calls.patch => 0398-Fix-World-isChunkGenerated-calls.patch} (97%) rename Spigot-Server-Patches/{0400-Show-blockstate-location-if-we-failed-to-read-it.patch => 0399-Show-blockstate-location-if-we-failed-to-read-it.patch} (93%) rename Spigot-Server-Patches/{0402-Log-other-thread-in-DataPaletteBlock-lock-failure.patch => 0400-Log-other-thread-in-DataPaletteBlock-lock-failure.patch} (93%) delete mode 100644 Spigot-Server-Patches/0401-Fix-MC-154214.patch rename Spigot-Server-Patches/{0403-Use-ChunkStatus-cache-when-saving-protochunks.patch => 0401-Use-ChunkStatus-cache-when-saving-protochunks.patch} (88%) rename Spigot-Server-Patches/{0404-Anti-Xray.patch => 0402-Anti-Xray.patch} (96%) rename Spigot-Server-Patches/{0405-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch => 0403-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch} (71%) rename Spigot-Server-Patches/{0406-Use-getChunkIfLoadedImmediately-in-places.patch => 0404-Use-getChunkIfLoadedImmediately-in-places.patch} (95%) rename {Spigot-Server-Patches => removed/1.14}/0144-Fix-block-break-desync.patch (91%) diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch index 51fcc8fe7..e8d480ece 100644 --- a/Spigot-API-Patches/0001-POM-changes.patch +++ b/Spigot-API-Patches/0001-POM-changes.patch @@ -1,14 +1,14 @@ -From 5517592aa39fa15d51e8e186af82b46219c0223e Mon Sep 17 00:00:00 2001 +From 9524ffe0f99ca69cf2478a834000bd6959a981d5 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 00:16:08 +0100 Subject: [PATCH] POM changes diff --git a/pom.xml b/pom.xml -index b5532ae6..a85aaa1a 100644 +index 23d0a44a2..aef4ec33d 100644 --- a/pom.xml +++ b/pom.xml -@@ -2,34 +2,29 @@ +@@ -2,34 +2,28 @@ 4.0.0 @@ -22,8 +22,7 @@ index b5532ae6..a85aaa1a 100644 - spigot-api + com.destroystokyo.paper + paper-api - 1.14.3-R0.1-SNAPSHOT -+ + 1.14.4-R0.1-SNAPSHOT jar - Spigot-API @@ -54,7 +53,7 @@ index b5532ae6..a85aaa1a 100644 com.google.guava -@@ -113,15 +126,12 @@ +@@ -113,15 +125,12 @@ @@ -103,7 +102,7 @@ index b5532ae6..a85aaa1a 100644 -@@ -156,6 +166,7 @@ +@@ -156,6 +165,7 @@ diff --git a/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch b/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch index ddc225921..fc4bc297b 100644 --- a/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch +++ b/Spigot-API-Patches/0002-Add-FastUtil-to-Bukkit.patch @@ -1,4 +1,4 @@ -From fa8d0d47698759ed68d4d63544b943369a5fa77c Mon Sep 17 00:00:00 2001 +From 900d1808e8b2df014a6f10a66d8293484735f9dc Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 1 Apr 2016 00:02:47 -0400 Subject: [PATCH] Add FastUtil to Bukkit @@ -6,10 +6,10 @@ Subject: [PATCH] Add FastUtil to Bukkit Doesn't expose to plugins, just allows Paper-API to use it for optimization diff --git a/pom.xml b/pom.xml -index a85aaa1a..e65cbc15 100644 +index aef4ec33d..2daee11a2 100644 --- a/pom.xml +++ b/pom.xml -@@ -50,6 +50,12 @@ +@@ -49,6 +49,12 @@ diff --git a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch index f9bb0f991..b6f80191a 100644 --- a/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch +++ b/Spigot-API-Patches/0022-Use-ASM-for-event-executors.patch @@ -1,4 +1,4 @@ -From 69ce0886b5a5faff5c6f3b0cd144d74e15e26f62 Mon Sep 17 00:00:00 2001 +From d87d2f7f427676e03cff1ec88420117d8dd7f993 Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 3 Mar 2016 13:20:33 -0700 Subject: [PATCH] Use ASM for event executors. @@ -6,10 +6,10 @@ Subject: [PATCH] Use ASM for event executors. Uses method handles for private or static methods. diff --git a/pom.xml b/pom.xml -index e65cbc15..a1dd0ac2 100644 +index 2daee11a2..709b7a222 100644 --- a/pom.xml +++ b/pom.xml -@@ -129,6 +129,17 @@ +@@ -128,6 +128,17 @@ 7.1 test @@ -29,7 +29,7 @@ index e65cbc15..a1dd0ac2 100644 diff --git a/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java new file mode 100644 -index 00000000..5b28e9b1 +index 000000000..5b28e9b1d --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/executor/MethodHandleEventExecutor.java @@ -0,0 +1,42 @@ @@ -77,7 +77,7 @@ index 00000000..5b28e9b1 +} diff --git a/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java b/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java new file mode 100644 -index 00000000..c8367242 +index 000000000..c83672427 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/executor/StaticMethodHandleEventExecutor.java @@ -0,0 +1,43 @@ @@ -126,7 +126,7 @@ index 00000000..c8367242 +} diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java new file mode 100644 -index 00000000..b6e7d8ee +index 000000000..b6e7d8ee8 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/ASMEventExecutorGenerator.java @@ -0,0 +1,47 @@ @@ -179,7 +179,7 @@ index 00000000..b6e7d8ee +} diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java new file mode 100644 -index 00000000..beed9e6e +index 000000000..beed9e6e0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/ClassDefiner.java @@ -0,0 +1,35 @@ @@ -220,7 +220,7 @@ index 00000000..beed9e6e +} diff --git a/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java b/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java new file mode 100644 -index 00000000..ac99477e +index 000000000..ac99477e9 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/executor/asm/SafeClassDefiner.java @@ -0,0 +1,66 @@ @@ -292,7 +292,7 @@ index 00000000..ac99477e +} diff --git a/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java b/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java new file mode 100644 -index 00000000..72e48e8e +index 000000000..72e48e8ef --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/utils/UnsafeUtils.java @@ -0,0 +1,35 @@ @@ -332,7 +332,7 @@ index 00000000..72e48e8e + } +} diff --git a/src/main/java/org/bukkit/plugin/EventExecutor.java b/src/main/java/org/bukkit/plugin/EventExecutor.java -index a850f078..9026e108 100644 +index a850f0780..9026e108c 100644 --- a/src/main/java/org/bukkit/plugin/EventExecutor.java +++ b/src/main/java/org/bukkit/plugin/EventExecutor.java @@ -5,9 +5,75 @@ import org.bukkit.event.EventException; @@ -412,7 +412,7 @@ index a850f078..9026e108 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index 12601db6..06b6724f 100644 +index 12601db68..06b6724fa 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -301,21 +301,7 @@ public final class JavaPluginLoader implements PluginLoader { diff --git a/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch b/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch index 02d1ae098..a0d6920b6 100644 --- a/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch +++ b/Spigot-API-Patches/0067-Allow-plugins-to-use-SLF4J-for-logging.patch @@ -1,4 +1,4 @@ -From 20af2ff69a3f0159a59f104960b7b769cea9901f Mon Sep 17 00:00:00 2001 +From 42992ea0a373658e8d49bac0fe96d13aab7128d9 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Thu, 21 Sep 2017 16:33:12 +0200 Subject: [PATCH] Allow plugins to use SLF4J for logging @@ -14,10 +14,10 @@ it without having to shade it in the plugin and going through several layers of logging abstraction. diff --git a/pom.xml b/pom.xml -index a1dd0ac2..df8fc517 100644 +index 709b7a222..5088c3315 100644 --- a/pom.xml +++ b/pom.xml -@@ -110,6 +110,13 @@ +@@ -109,6 +109,13 @@ 17.0.0 provided @@ -32,7 +32,7 @@ index a1dd0ac2..df8fc517 100644 junit diff --git a/src/main/java/org/bukkit/plugin/Plugin.java b/src/main/java/org/bukkit/plugin/Plugin.java -index febfec6e..79890c68 100644 +index febfec6ef..79890c68f 100644 --- a/src/main/java/org/bukkit/plugin/Plugin.java +++ b/src/main/java/org/bukkit/plugin/Plugin.java @@ -166,6 +166,13 @@ public interface Plugin extends TabExecutor { diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch index 464b2a7db..51dd071ee 100644 --- a/Spigot-Server-Patches/0001-POM-Changes.patch +++ b/Spigot-Server-Patches/0001-POM-Changes.patch @@ -1,11 +1,11 @@ -From 4c628f35e6729657249dce1859413e0a61822416 Mon Sep 17 00:00:00 2001 +From 566af2ba410dc0dfd23c752b3f94cc20a39fc736 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 20:40:33 -0600 Subject: [PATCH] POM Changes diff --git a/pom.xml b/pom.xml -index 519a3319ca..75c1b84f6a 100644 +index 0f8bccd430..04b0dd9a7f 100644 --- a/pom.xml +++ b/pom.xml @@ -1,15 +1,14 @@ @@ -16,7 +16,7 @@ index 519a3319ca..75c1b84f6a 100644 - spigot + paper jar - 1.14.3-R0.1-SNAPSHOT + 1.14.4-R0.1-SNAPSHOT - Spigot - https://www.spigotmc.org/ + Paper @@ -27,7 +27,7 @@ index 519a3319ca..75c1b84f6a 100644 + UTF-8 unknown - 1.14.3 + 1.14.4 @@ -22,16 +21,16 @@ diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index c568a709f..f32ef3ceb 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -1,4 +1,4 @@ -From 7bc91c774360b1e26e2c2a45139abf21241a76ab Mon Sep 17 00:00:00 2001 +From d99eaf4f0c6f2a9b5cd3be7cee05369dca7244d1 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:02:09 -0600 Subject: [PATCH] Paper config files @@ -518,7 +518,7 @@ index 0000000000..a738657394 + } +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 82ff352d8a..c088ff9692 100644 +index d88c9b6f65..5e0797afde 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -152,6 +152,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -538,7 +538,7 @@ index 82ff352d8a..c088ff9692 100644 this.setSpawnAnimals(dedicatedserverproperties.spawnAnimals); this.setSpawnNPCs(dedicatedserverproperties.spawnNpcs); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f949ace59d..5f560d93a2 100644 +index 9eea61fc2b..d4dff91586 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -134,9 +134,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener { @@ -555,19 +555,19 @@ index f949ace59d..5f560d93a2 100644 public boolean impulse; public int portalCooldown; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index eee82c20e1..0c712f77de 100644 +index e34ef4531c..43d207ae59 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java -@@ -4,6 +4,7 @@ import com.mojang.datafixers.DataFixUtils; - import com.mojang.datafixers.types.Type; +@@ -3,6 +3,7 @@ package net.minecraft.server; + import com.mojang.datafixers.DataFixUtils; import java.util.Collections; import java.util.Optional; +import java.util.Set; // Paper import java.util.UUID; import java.util.function.Function; import java.util.stream.Stream; -@@ -427,4 +428,10 @@ public class EntityTypes { - return new EntityTypes<>(this.a, this.b, this.c, this.d, this.e, type, this.f); +@@ -434,4 +435,10 @@ public class EntityTypes { + return new EntityTypes<>(this.a, this.b, this.c, this.d, this.e, this.f, this.g); } } + @@ -578,7 +578,7 @@ index eee82c20e1..0c712f77de 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d375a40012..e9d65c9275 100644 +index bec64d7f28..7f648dbbc9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -86,6 +86,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -599,7 +599,7 @@ index d375a40012..e9d65c9275 100644 this.world = new CraftWorld((WorldServer) this, gen, env); this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6e4b23b7d1..64d39414ac 100644 +index 8465a91088..4d38bf5018 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -756,6 +756,7 @@ public final class CraftServer implements Server { @@ -663,7 +663,7 @@ index 6e4b23b7d1..64d39414ac 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index e17d914185..f406464ef8 100644 +index 87088cf691..d28530051d 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -128,6 +128,14 @@ public class Main { diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 48f464516..7efbfc9e9 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -1,14 +1,14 @@ -From 659ea460bfdd40bc6b027dc326f40bcf22efb79a Mon Sep 17 00:00:00 2001 +From 7f5c894288d4476ea577befbbb98c3eca8b59530 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 26fa6e7b6..9a839d654 100644 +index 94df229c7b..65daa76bc1 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java -@@ -42,7 +42,7 @@ public abstract class BiomeBase { +@@ -53,7 +53,7 @@ public abstract class BiomeBase { @Nullable public static BiomeBase a(BiomeBase biomebase) { @@ -17,7 +17,7 @@ index 26fa6e7b6..9a839d654 100644 } public static WorldGenCarverWrapper a(WorldGenCarverAbstract worldgencarverabstract, C c0) { -@@ -202,7 +202,7 @@ public abstract class BiomeBase { +@@ -232,7 +232,7 @@ public abstract class BiomeBase { @Nullable public C b(StructureGenerator structuregenerator) { @@ -27,7 +27,7 @@ index 26fa6e7b6..9a839d654 100644 public List> e() { diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java -index adc998186..b37031657 100644 +index cd277dd17f..ab05425793 100644 --- a/src/main/java/net/minecraft/server/BlockDataAbstract.java +++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java @@ -29,7 +29,7 @@ public abstract class BlockDataAbstract implements IBlockDataHolder { @@ -43,8 +43,8 @@ index adc998186..b37031657 100644 } public > S a(IBlockState iblockstate) { -- return this.set(iblockstate, (Comparable) a(iblockstate.d(), this.get(iblockstate))); -+ return this.set(iblockstate, a(iblockstate.d(), this.get(iblockstate))); // Paper - decompiler fix +- return this.set(iblockstate, (Comparable) a(iblockstate.getValues(), this.get(iblockstate))); ++ return this.set(iblockstate, a(iblockstate.getValues(), this.get(iblockstate))); // Paper - decompile fix } protected static T a(Collection collection, T t0) { @@ -72,7 +72,7 @@ index adc998186..b37031657 100644 S s0 = this.f.get(iblockstate, v0); diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 6a8e8f7a6..daf406637 100644 +index 6a8e8f7a67..daf406637c 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -57,12 +57,12 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali @@ -92,7 +92,7 @@ index 6a8e8f7a6..daf406637 100644 }); } diff --git a/src/main/java/net/minecraft/server/BlockStateEnum.java b/src/main/java/net/minecraft/server/BlockStateEnum.java -index b4c8722f0..59d86fc66 100644 +index 28cfbaae28..1486d460c8 100644 --- a/src/main/java/net/minecraft/server/BlockStateEnum.java +++ b/src/main/java/net/minecraft/server/BlockStateEnum.java @@ -20,10 +20,10 @@ public class BlockStateEnum & INamable> extends BlockState @@ -109,10 +109,10 @@ index b4c8722f0..59d86fc66 100644 if (this.b.containsKey(s1)) { diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index d4b7074ca..f4605e393 100644 +index 22375330b2..473be2c695 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java -@@ -148,6 +148,6 @@ public class ChunkSection { +@@ -142,6 +142,6 @@ public class ChunkSection { } public boolean a(IBlockData iblockdata) { @@ -121,7 +121,7 @@ index d4b7074ca..f4605e393 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java -index 26db8f135..dd1822d6f 100644 +index 26db8f135f..dd1822d6ff 100644 --- a/src/main/java/net/minecraft/server/ChunkStatus.java +++ b/src/main/java/net/minecraft/server/ChunkStatus.java @@ -84,7 +84,7 @@ public class ChunkStatus { @@ -134,7 +134,7 @@ index 26db8f135..dd1822d6f 100644 for (int j = a().size() - 1; j >= 0; --j) { diff --git a/src/main/java/net/minecraft/server/CraftingManager.java b/src/main/java/net/minecraft/server/CraftingManager.java -index d0b4bf8b7..6fb734c64 100644 +index d0b4bf8b7e..6fb734c64f 100644 --- a/src/main/java/net/minecraft/server/CraftingManager.java +++ b/src/main/java/net/minecraft/server/CraftingManager.java @@ -58,7 +58,7 @@ public class CraftingManager extends ResourceDataJson { @@ -147,7 +147,7 @@ index d0b4bf8b7..6fb734c64 100644 CraftingManager.LOGGER.info("Loaded {} recipes", map1.size()); } diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index 85af024c9..daa7bf330 100644 +index fe57e1c75e..06918b8c91 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -25,7 +25,7 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -160,10 +160,10 @@ index 85af024c9..daa7bf330 100644 this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true)); this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityIronGolem.class, true)); diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index 053d408d3..4510018d6 100644 +index efa496fcc0..70a4509055 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -@@ -51,7 +51,7 @@ public abstract class IAsyncTaskHandler implements Mailbox implements Mailbox implements Mailbox implements Mailbox 1.0D && d13 > 1.0D && d14 > 1.0D) { diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 21321805e..452602d43 100644 +index fa51b372c1..3328a84792 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java -@@ -269,12 +269,12 @@ public class IBlockData extends BlockDataAbstract implements +@@ -277,12 +277,12 @@ public class IBlockData extends BlockDataAbstract implements public static Dynamic a(DynamicOps dynamicops, IBlockData iblockdata) { ImmutableMap, Comparable> immutablemap = iblockdata.getStateMap(); @@ -221,7 +221,7 @@ index 21321805e..452602d43 100644 return Pair.of(dynamicops.createString(((IBlockState) entry.getKey()).a()), dynamicops.createString(IBlockDataHolder.b((IBlockState) entry.getKey(), (Comparable) entry.getValue()))); }).collect(Collectors.toMap(Pair::getFirst, Pair::getSecond))))); } -@@ -332,9 +332,9 @@ public class IBlockData extends BlockDataAbstract implements +@@ -344,9 +344,9 @@ public class IBlockData extends BlockDataAbstract implements if (!iblockdata.o()) { this.f = null; } else { @@ -230,14 +230,23 @@ index 21321805e..452602d43 100644 VoxelShape voxelshape = block.h(iblockdata, BlockAccessAir.INSTANCE, BlockPosition.ZERO); - EnumDirection[] aenumdirection = IBlockData.a.a; + EnumDirection[] aenumdirection = a; // Paper - decompile fix - int i = aenumdirection.length; - for (int j = 0; j < i; ++j) { + i = aenumdirection.length; + +@@ -362,7 +362,7 @@ public class IBlockData extends BlockDataAbstract implements + return this.g.b(enumdirection_enumaxis) < 0.0D || this.g.c(enumdirection_enumaxis) > 1.0D; + }); + this.i = new boolean[6]; +- EnumDirection[] aenumdirection1 = IBlockData.a.a; ++ EnumDirection[] aenumdirection1 = a; // Paper - decompile fix + int k = aenumdirection1.length; + + for (i = 0; i < k; ++i) { diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java -index b4b73e5f0..3a86c519c 100644 +index b86efbd2dc..dca18afdbb 100644 --- a/src/main/java/net/minecraft/server/IEntityAccess.java +++ b/src/main/java/net/minecraft/server/IEntityAccess.java -@@ -39,7 +39,7 @@ public interface IEntityAccess { +@@ -47,7 +47,7 @@ public interface IEntityAccess { return Stream.empty(); } else { AxisAlignedBB axisalignedbb1 = axisalignedbb.g(1.0E-7D); @@ -246,7 +255,7 @@ index b4b73e5f0..3a86c519c 100644 return !set.contains(entity1); }).filter((entity1) -> { return entity == null || !entity.x(entity1); -@@ -47,7 +47,6 @@ public interface IEntityAccess { +@@ -55,7 +55,6 @@ public interface IEntityAccess { return Stream.of(entity1.aq(), entity == null ? null : entity.j(entity1)); }).filter(Objects::nonNull); @@ -254,7 +263,7 @@ index b4b73e5f0..3a86c519c 100644 return stream.filter(axisalignedbb1::c).map(VoxelShapes::a); } } -@@ -149,17 +148,17 @@ public interface IEntityAccess { +@@ -157,22 +156,22 @@ public interface IEntityAccess { @Nullable default T a(Class oclass, PathfinderTargetCondition pathfindertargetcondition, @Nullable EntityLiving entityliving, double d0, double d1, double d2, AxisAlignedBB axisalignedbb) { @@ -262,6 +271,12 @@ index b4b73e5f0..3a86c519c 100644 + return this.a(this.a(oclass, axisalignedbb, null), pathfindertargetcondition, entityliving, d0, d1, d2); // Paper - decompile fix } + @Nullable + default T b(Class oclass, PathfinderTargetCondition pathfindertargetcondition, @Nullable EntityLiving entityliving, double d0, double d1, double d2, AxisAlignedBB axisalignedbb) { +- return this.a(this.b(oclass, axisalignedbb, (Predicate) null), pathfindertargetcondition, entityliving, d0, d1, d2); ++ return this.a(this.b(oclass, axisalignedbb, null), pathfindertargetcondition, entityliving, d0, d1, d2); // Paper - decompile fix + } + @Nullable default T a(List list, PathfinderTargetCondition pathfindertargetcondition, @Nullable EntityLiving entityliving, double d0, double d1, double d2) { double d3 = -1.0D; @@ -275,7 +290,7 @@ index b4b73e5f0..3a86c519c 100644 if (pathfindertargetcondition.a(entityliving, t1)) { double d4 = t1.e(d0, d1, d2); -@@ -192,10 +191,10 @@ public interface IEntityAccess { +@@ -205,10 +204,10 @@ public interface IEntityAccess { default List a(Class oclass, PathfinderTargetCondition pathfindertargetcondition, EntityLiving entityliving, AxisAlignedBB axisalignedbb) { List list = this.a(oclass, axisalignedbb, (Predicate) null); List list1 = Lists.newArrayList(); @@ -289,7 +304,7 @@ index b4b73e5f0..3a86c519c 100644 if (pathfindertargetcondition.a(entityliving, t0)) { list1.add(t0); diff --git a/src/main/java/net/minecraft/server/LootSelectorEntry.java b/src/main/java/net/minecraft/server/LootSelectorEntry.java -index 929053491..1016325bd 100644 +index 9290534917..1016325bd7 100644 --- a/src/main/java/net/minecraft/server/LootSelectorEntry.java +++ b/src/main/java/net/minecraft/server/LootSelectorEntry.java @@ -127,7 +127,7 @@ public abstract class LootSelectorEntry extends LootEntryAbstract { @@ -317,7 +332,7 @@ index 929053491..1016325bd 100644 } diff --git a/src/main/java/net/minecraft/server/NBTBase.java b/src/main/java/net/minecraft/server/NBTBase.java -index eab34088a..7a987c6be 100644 +index eab34088a6..7a987c6be3 100644 --- a/src/main/java/net/minecraft/server/NBTBase.java +++ b/src/main/java/net/minecraft/server/NBTBase.java @@ -88,7 +88,7 @@ public interface NBTBase { @@ -330,7 +345,7 @@ index eab34088a..7a987c6be 100644 default String asString() { return this.toString(); diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 0dda7aaf6..4e20cfba4 100644 +index 0dda7aaf69..4e20cfba41 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -134,7 +134,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -343,7 +358,7 @@ index 0dda7aaf6..4e20cfba4 100644 } diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index 7f89562e9..4efcb8b59 100644 +index 7f89562e90..4efcb8b595 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -27,7 +27,7 @@ public class RegistryBlockID implements Registry { @@ -356,7 +371,7 @@ index 7f89562e9..4efcb8b59 100644 this.c.set(i, t0); diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java -index 4cb78c6a3..e15d28671 100644 +index 4cb78c6a3f..e15d286710 100644 --- a/src/main/java/net/minecraft/server/RegistryID.java +++ b/src/main/java/net/minecraft/server/RegistryID.java @@ -17,9 +17,9 @@ public class RegistryID implements Registry { @@ -384,7 +399,7 @@ index 4cb78c6a3..e15d28671 100644 this.f = 0; diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java -index 62c39f9ba..376219a1c 100644 +index 1676ae2b36..0df534b563 100644 --- a/src/main/java/net/minecraft/server/SystemUtils.java +++ b/src/main/java/net/minecraft/server/SystemUtils.java @@ -45,8 +45,8 @@ public class SystemUtils { @@ -427,8 +442,21 @@ index 62c39f9ba..376219a1c 100644 acompletablefuture[i] = completablefuture1.whenComplete((object, throwable) -> { if (throwable != null) { completablefuture.completeExceptionally(throwable); +diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java +index c23a366b2c..0430ca5353 100644 +--- a/src/main/java/net/minecraft/server/Ticket.java ++++ b/src/main/java/net/minecraft/server/Ticket.java +@@ -24,7 +24,7 @@ public final class Ticket implements Comparable> { + } else { + int j = Integer.compare(System.identityHashCode(this.a), System.identityHashCode(ticket.a)); + +- return j != 0 ? j : this.a.a().compare(this.identifier, ticket.identifier); ++ return j != 0 ? j : this.a.a().compare(this.identifier, (T)ticket.identifier); // Paper - decompile fix + } + } + diff --git a/src/main/java/net/minecraft/server/VillagerTrades.java b/src/main/java/net/minecraft/server/VillagerTrades.java -index 73f9da1fd..2a4e4f785 100644 +index 2fbb1f8df9..8cee460bd3 100644 --- a/src/main/java/net/minecraft/server/VillagerTrades.java +++ b/src/main/java/net/minecraft/server/VillagerTrades.java @@ -15,12 +15,12 @@ import javax.annotation.Nullable; @@ -437,18 +465,18 @@ index 73f9da1fd..2a4e4f785 100644 - public static final Map> a = (Map) SystemUtils.a((Object) Maps.newHashMap(), (hashmap) -> { + public static final Map> a = SystemUtils.a(Maps.newHashMap(), (hashmap) -> { // Paper - decompile fix - hashmap.put(VillagerProfession.FARMER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WHEAT, 20, 8, 2), new VillagerTrades.b(Items.POTATO, 26, 8, 2), new VillagerTrades.b(Items.CARROT, 22, 8, 2), new VillagerTrades.b(Items.BEETROOT, 15, 8, 2), new VillagerTrades.h(Items.BREAD, 1, 6, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Blocks.PUMPKIN, 6, 6, 10), new VillagerTrades.h(Items.PUMPKIN_PIE, 1, 4, 5), new VillagerTrades.h(Items.APPLE, 1, 4, 8, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.COOKIE, 3, 18, 10), new VillagerTrades.b(Blocks.MELON, 4, 6, 20)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Blocks.CAKE, 1, 1, 6, 15), new VillagerTrades.i(MobEffects.FASTER_MOVEMENT, 160, 15), new VillagerTrades.i(MobEffects.JUMP, 160, 15), new VillagerTrades.i(MobEffects.WEAKNESS, 140, 15), new VillagerTrades.i(MobEffects.BLINDNESS, 120, 15), new VillagerTrades.i(MobEffects.POISON, 280, 15), new VillagerTrades.i(MobEffects.SATURATION, 7, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.GOLDEN_CARROT, 3, 3, 30), new VillagerTrades.h(Items.GLISTERING_MELON_SLICE, 4, 3, 30)}))); -- hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STRING, 20, 8, 2), new VillagerTrades.b(Items.COAL, 10, 8, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 8, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COD, 15, 8, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 8, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SALMON, 13, 8, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 2, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.TROPICAL_FISH, 6, 6, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PUFFERFISH, 4, 6, 30), new VillagerTrades.c(1, 6, 30, ImmutableMap.builder().put(VillagerType.PLAINS, Items.OAK_BOAT).put(VillagerType.TAIGA, Items.SPRUCE_BOAT).put(VillagerType.SNOW, Items.SPRUCE_BOAT).put(VillagerType.DESERT, Items.JUNGLE_BOAT).put(VillagerType.JUNGLE, Items.JUNGLE_BOAT).put(VillagerType.SAVANNA, Items.ACACIA_BOAT).put(VillagerType.SWAMP, Items.DARK_OAK_BOAT).build())}))); -+ hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STRING, 20, 8, 2), new VillagerTrades.b(Items.COAL, 10, 8, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 8, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 8, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COD, 15, 8, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 8, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SALMON, 13, 8, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 2, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.TROPICAL_FISH, 6, 6, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PUFFERFISH, 4, 6, 30), new VillagerTrades.c(1, 6, 30, ImmutableMap.builder().put(VillagerType.PLAINS, Items.OAK_BOAT).put(VillagerType.TAIGA, Items.SPRUCE_BOAT).put(VillagerType.SNOW, Items.SPRUCE_BOAT).put(VillagerType.DESERT, Items.JUNGLE_BOAT).put(VillagerType.JUNGLE, Items.JUNGLE_BOAT).put(VillagerType.SAVANNA, Items.ACACIA_BOAT).put(VillagerType.SWAMP, Items.DARK_OAK_BOAT).build())}))); // Paper - decompile fix - hashmap.put(VillagerProfession.SHEPHERD, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Blocks.WHITE_WOOL, 18, 8, 2), new VillagerTrades.b(Blocks.BROWN_WOOL, 18, 8, 2), new VillagerTrades.b(Blocks.BLACK_WOOL, 18, 8, 2), new VillagerTrades.b(Blocks.GRAY_WOOL, 18, 8, 2), new VillagerTrades.h(Items.SHEARS, 2, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WHITE_DYE, 12, 8, 10), new VillagerTrades.b(Items.GRAY_DYE, 12, 8, 10), new VillagerTrades.b(Items.BLACK_DYE, 12, 8, 10), new VillagerTrades.b(Items.LIGHT_BLUE_DYE, 12, 8, 10), new VillagerTrades.b(Items.LIME_DYE, 12, 8, 10), new VillagerTrades.h(Blocks.WHITE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.ORANGE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.MAGENTA_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.LIGHT_BLUE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.YELLOW_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.LIME_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.PINK_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.GRAY_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.LIGHT_GRAY_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.CYAN_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.PURPLE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.BLUE_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.BROWN_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.GREEN_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.RED_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.BLACK_WOOL, 1, 1, 8, 5), new VillagerTrades.h(Blocks.WHITE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.ORANGE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.MAGENTA_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.LIGHT_BLUE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.YELLOW_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.LIME_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.PINK_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.GRAY_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.LIGHT_GRAY_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.CYAN_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.PURPLE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.BLUE_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.BROWN_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.GREEN_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.RED_CARPET, 1, 4, 8, 5), new VillagerTrades.h(Blocks.BLACK_CARPET, 1, 4, 8, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.YELLOW_DYE, 12, 8, 20), new VillagerTrades.b(Items.LIGHT_GRAY_DYE, 12, 8, 20), new VillagerTrades.b(Items.ORANGE_DYE, 12, 8, 20), new VillagerTrades.b(Items.RED_DYE, 12, 8, 20), new VillagerTrades.b(Items.PINK_DYE, 12, 8, 20), new VillagerTrades.h(Blocks.WHITE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.YELLOW_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.RED_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.BLACK_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.BLUE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.BROWN_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.CYAN_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.GRAY_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.GREEN_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.LIGHT_BLUE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.LIGHT_GRAY_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.LIME_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.MAGENTA_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.ORANGE_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.PINK_BED, 3, 1, 6, 10), new VillagerTrades.h(Blocks.PURPLE_BED, 3, 1, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.BROWN_DYE, 12, 8, 30), new VillagerTrades.b(Items.PURPLE_DYE, 12, 8, 30), new VillagerTrades.b(Items.BLUE_DYE, 12, 8, 30), new VillagerTrades.b(Items.GREEN_DYE, 12, 8, 30), new VillagerTrades.b(Items.MAGENTA_DYE, 12, 8, 30), new VillagerTrades.b(Items.CYAN_DYE, 12, 8, 30), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 6, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 6, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.PAINTING, 2, 3, 30)}))); - hashmap.put(VillagerProfession.FLETCHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STICK, 32, 8, 2), new VillagerTrades.h(Items.ARROW, 1, 16, 1), new VillagerTrades.g(Blocks.GRAVEL, 10, Items.FLINT, 10, 6, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.FLINT, 26, 6, 10), new VillagerTrades.h(Items.BOW, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STRING, 14, 8, 20), new VillagerTrades.h(Items.CROSSBOW, 3, 1, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.FEATHER, 24, 8, 30), new VillagerTrades.e(Items.BOW, 2, 2, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.dE, 8, 6, 30), new VillagerTrades.e(Items.CROSSBOW, 3, 2, 15), new VillagerTrades.j(Items.ARROW, 5, Items.TIPPED_ARROW, 5, 2, 6, 30)}))); -- hashmap.put(VillagerProfession.LIBRARIAN, a(ImmutableMap.builder().put(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 8, 2), new VillagerTrades.d(1), new VillagerTrades.h(Blocks.BOOKSHELF, 6, 3, 6, 1)}).put(2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.BOOK, 4, 6, 10), new VillagerTrades.d(5), new VillagerTrades.h(Items.pQ, 1, 1, 5)}).put(3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.INK_SAC, 5, 6, 20), new VillagerTrades.d(10), new VillagerTrades.h(Items.am, 1, 4, 10)}).put(4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WRITABLE_BOOK, 2, 6, 30), new VillagerTrades.d(15), new VillagerTrades.h(Items.CLOCK, 5, 1, 15), new VillagerTrades.h(Items.COMPASS, 4, 1, 15)}).put(5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.NAME_TAG, 20, 1, 30)}).build())); -+ hashmap.put(VillagerProfession.LIBRARIAN, a(ImmutableMap.builder().put(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 8, 2), new VillagerTrades.d(1), new VillagerTrades.h(Blocks.BOOKSHELF, 6, 3, 6, 1)}).put(2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.BOOK, 4, 6, 10), new VillagerTrades.d(5), new VillagerTrades.h(Items.pQ, 1, 1, 5)}).put(3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.INK_SAC, 5, 6, 20), new VillagerTrades.d(10), new VillagerTrades.h(Items.am, 1, 4, 10)}).put(4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WRITABLE_BOOK, 2, 6, 30), new VillagerTrades.d(15), new VillagerTrades.h(Items.CLOCK, 5, 1, 15), new VillagerTrades.h(Items.COMPASS, 4, 1, 15)}).put(5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.NAME_TAG, 20, 1, 30)}).build())); // Paper - decompile fix - hashmap.put(VillagerProfession.CARTOGRAPHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 8, 2), new VillagerTrades.h(Items.MAP, 7, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.df, 11, 8, 10), new VillagerTrades.k(13, "Monument", MapIcon.Type.MONUMENT, 6, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COMPASS, 1, 6, 20), new VillagerTrades.k(14, "Mansion", MapIcon.Type.MANSION, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.ITEM_FRAME, 7, 1, 15), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.GLOBE_BANNER_PATTERN, 8, 1, 30)}))); - hashmap.put(VillagerProfession.CLERIC, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.ROTTEN_FLESH, 32, 8, 2), new VillagerTrades.h(Items.REDSTONE, 1, 2, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.GOLD_INGOT, 3, 6, 10), new VillagerTrades.h(Items.LAPIS_LAZULI, 1, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.RABBIT_FOOT, 2, 6, 20), new VillagerTrades.h(Blocks.GLOWSTONE, 4, 1, 6, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SCUTE, 4, 6, 30), new VillagerTrades.b(Items.GLASS_BOTTLE, 9, 6, 30), new VillagerTrades.h(Items.ENDER_PEARL, 5, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.NETHER_WART, 22, 6, 30), new VillagerTrades.h(Items.EXPERIENCE_BOTTLE, 3, 1, 30)}))); - hashmap.put(VillagerProfession.ARMORER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COAL, 15, 8, 2), new VillagerTrades.h(new ItemStack(Items.IRON_LEGGINGS), 7, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_BOOTS), 4, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_HELMET), 5, 1, 6, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_CHESTPLATE), 9, 1, 6, 1, 0.2F)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.IRON_INGOT, 4, 6, 10), new VillagerTrades.h(new ItemStack(Items.pP), 36, 1, 6, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_BOOTS), 1, 1, 6, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_LEGGINGS), 3, 1, 6, 5, 0.2F)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.LAVA_BUCKET, 1, 6, 20), new VillagerTrades.b(Items.DIAMOND, 1, 6, 20), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_HELMET), 1, 1, 6, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_CHESTPLATE), 4, 1, 6, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.SHIELD), 5, 1, 6, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_LEGGINGS, 14, 2, 15, 0.2F), new VillagerTrades.e(Items.DIAMOND_BOOTS, 8, 2, 15, 0.2F)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_HELMET, 8, 2, 30, 0.2F), new VillagerTrades.e(Items.DIAMOND_CHESTPLATE, 16, 2, 30, 0.2F)}))); + hashmap.put(VillagerProfession.FARMER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WHEAT, 20, 16, 2), new VillagerTrades.b(Items.POTATO, 26, 16, 2), new VillagerTrades.b(Items.CARROT, 22, 16, 2), new VillagerTrades.b(Items.BEETROOT, 15, 16, 2), new VillagerTrades.h(Items.BREAD, 1, 6, 16, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Blocks.PUMPKIN, 6, 12, 10), new VillagerTrades.h(Items.PUMPKIN_PIE, 1, 4, 5), new VillagerTrades.h(Items.APPLE, 1, 4, 16, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.COOKIE, 3, 18, 10), new VillagerTrades.b(Blocks.MELON, 4, 12, 20)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Blocks.CAKE, 1, 1, 12, 15), new VillagerTrades.i(MobEffects.NIGHT_VISION, 100, 15), new VillagerTrades.i(MobEffects.JUMP, 160, 15), new VillagerTrades.i(MobEffects.WEAKNESS, 140, 15), new VillagerTrades.i(MobEffects.BLINDNESS, 120, 15), new VillagerTrades.i(MobEffects.POISON, 280, 15), new VillagerTrades.i(MobEffects.SATURATION, 7, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.GOLDEN_CARROT, 3, 3, 30), new VillagerTrades.h(Items.GLISTERING_MELON_SLICE, 4, 3, 30)}))); +- hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STRING, 20, 16, 2), new VillagerTrades.b(Items.COAL, 10, 16, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 16, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 16, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COD, 15, 16, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 16, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SALMON, 13, 16, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 3, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.TROPICAL_FISH, 6, 12, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PUFFERFISH, 4, 12, 30), new VillagerTrades.c(1, 12, 30, ImmutableMap.builder().put(VillagerType.PLAINS, Items.OAK_BOAT).put(VillagerType.TAIGA, Items.SPRUCE_BOAT).put(VillagerType.SNOW, Items.SPRUCE_BOAT).put(VillagerType.DESERT, Items.JUNGLE_BOAT).put(VillagerType.JUNGLE, Items.JUNGLE_BOAT).put(VillagerType.SAVANNA, Items.ACACIA_BOAT).put(VillagerType.SWAMP, Items.DARK_OAK_BOAT).build())}))); ++ hashmap.put(VillagerProfession.FISHERMAN, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STRING, 20, 16, 2), new VillagerTrades.b(Items.COAL, 10, 16, 2), new VillagerTrades.g(Items.COD, 6, Items.COOKED_COD, 6, 16, 1), new VillagerTrades.h(Items.COD_BUCKET, 3, 1, 16, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COD, 15, 16, 10), new VillagerTrades.g(Items.SALMON, 6, Items.COOKED_SALMON, 6, 16, 5), new VillagerTrades.h(Items.pS, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SALMON, 13, 16, 20), new VillagerTrades.e(Items.FISHING_ROD, 3, 3, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.TROPICAL_FISH, 6, 12, 30)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PUFFERFISH, 4, 12, 30), new VillagerTrades.c(1, 12, 30, ImmutableMap.builder().put(VillagerType.PLAINS, Items.OAK_BOAT).put(VillagerType.TAIGA, Items.SPRUCE_BOAT).put(VillagerType.SNOW, Items.SPRUCE_BOAT).put(VillagerType.DESERT, Items.JUNGLE_BOAT).put(VillagerType.JUNGLE, Items.JUNGLE_BOAT).put(VillagerType.SAVANNA, Items.ACACIA_BOAT).put(VillagerType.SWAMP, Items.DARK_OAK_BOAT).build())}))); // Paper - decompile fix + hashmap.put(VillagerProfession.SHEPHERD, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Blocks.WHITE_WOOL, 18, 16, 2), new VillagerTrades.b(Blocks.BROWN_WOOL, 18, 16, 2), new VillagerTrades.b(Blocks.BLACK_WOOL, 18, 16, 2), new VillagerTrades.b(Blocks.GRAY_WOOL, 18, 16, 2), new VillagerTrades.h(Items.SHEARS, 2, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WHITE_DYE, 12, 16, 10), new VillagerTrades.b(Items.GRAY_DYE, 12, 16, 10), new VillagerTrades.b(Items.BLACK_DYE, 12, 16, 10), new VillagerTrades.b(Items.LIGHT_BLUE_DYE, 12, 16, 10), new VillagerTrades.b(Items.LIME_DYE, 12, 16, 10), new VillagerTrades.h(Blocks.WHITE_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.ORANGE_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.MAGENTA_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.LIGHT_BLUE_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.YELLOW_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.LIME_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.PINK_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.GRAY_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.LIGHT_GRAY_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.CYAN_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.PURPLE_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.BLUE_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.BROWN_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.GREEN_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.RED_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.BLACK_WOOL, 1, 1, 16, 5), new VillagerTrades.h(Blocks.WHITE_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.ORANGE_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.MAGENTA_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.LIGHT_BLUE_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.YELLOW_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.LIME_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.PINK_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.GRAY_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.LIGHT_GRAY_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.CYAN_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.PURPLE_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.BLUE_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.BROWN_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.GREEN_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.RED_CARPET, 1, 4, 16, 5), new VillagerTrades.h(Blocks.BLACK_CARPET, 1, 4, 16, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.YELLOW_DYE, 12, 16, 20), new VillagerTrades.b(Items.LIGHT_GRAY_DYE, 12, 16, 20), new VillagerTrades.b(Items.ORANGE_DYE, 12, 16, 20), new VillagerTrades.b(Items.RED_DYE, 12, 16, 20), new VillagerTrades.b(Items.PINK_DYE, 12, 16, 20), new VillagerTrades.h(Blocks.WHITE_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.YELLOW_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.RED_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.BLACK_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.BLUE_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.BROWN_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.CYAN_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.GRAY_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.GREEN_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.LIGHT_BLUE_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.LIGHT_GRAY_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.LIME_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.MAGENTA_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.ORANGE_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.PINK_BED, 3, 1, 12, 10), new VillagerTrades.h(Blocks.PURPLE_BED, 3, 1, 12, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.BROWN_DYE, 12, 16, 30), new VillagerTrades.b(Items.PURPLE_DYE, 12, 16, 30), new VillagerTrades.b(Items.BLUE_DYE, 12, 16, 30), new VillagerTrades.b(Items.GREEN_DYE, 12, 16, 30), new VillagerTrades.b(Items.MAGENTA_DYE, 12, 16, 30), new VillagerTrades.b(Items.CYAN_DYE, 12, 16, 30), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 12, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 12, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.PAINTING, 2, 3, 30)}))); + hashmap.put(VillagerProfession.FLETCHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STICK, 32, 16, 2), new VillagerTrades.h(Items.ARROW, 1, 16, 1), new VillagerTrades.g(Blocks.GRAVEL, 10, Items.FLINT, 10, 12, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.FLINT, 26, 12, 10), new VillagerTrades.h(Items.BOW, 2, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.STRING, 14, 16, 20), new VillagerTrades.h(Items.CROSSBOW, 3, 1, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.FEATHER, 24, 16, 30), new VillagerTrades.e(Items.BOW, 2, 3, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.dE, 8, 12, 30), new VillagerTrades.e(Items.CROSSBOW, 3, 3, 15), new VillagerTrades.j(Items.ARROW, 5, Items.TIPPED_ARROW, 5, 2, 12, 30)}))); +- hashmap.put(VillagerProfession.LIBRARIAN, a(ImmutableMap.builder().put(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 16, 2), new VillagerTrades.d(1), new VillagerTrades.h(Blocks.BOOKSHELF, 6, 3, 12, 1)}).put(2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.BOOK, 4, 12, 10), new VillagerTrades.d(5), new VillagerTrades.h(Items.pQ, 1, 1, 5)}).put(3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.INK_SAC, 5, 12, 20), new VillagerTrades.d(10), new VillagerTrades.h(Items.am, 1, 4, 10)}).put(4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WRITABLE_BOOK, 2, 12, 30), new VillagerTrades.d(15), new VillagerTrades.h(Items.CLOCK, 5, 1, 15), new VillagerTrades.h(Items.COMPASS, 4, 1, 15)}).put(5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.NAME_TAG, 20, 1, 30)}).build())); ++ hashmap.put(VillagerProfession.LIBRARIAN, a(ImmutableMap.builder().put(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 16, 2), new VillagerTrades.d(1), new VillagerTrades.h(Blocks.BOOKSHELF, 6, 3, 12, 1)}).put(2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.BOOK, 4, 12, 10), new VillagerTrades.d(5), new VillagerTrades.h(Items.pQ, 1, 1, 5)}).put(3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.INK_SAC, 5, 12, 20), new VillagerTrades.d(10), new VillagerTrades.h(Items.am, 1, 4, 10)}).put(4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.WRITABLE_BOOK, 2, 12, 30), new VillagerTrades.d(15), new VillagerTrades.h(Items.CLOCK, 5, 1, 15), new VillagerTrades.h(Items.COMPASS, 4, 1, 15)}).put(5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.NAME_TAG, 20, 1, 30)}).build())); // Paper - decompile fix + hashmap.put(VillagerProfession.CARTOGRAPHER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.PAPER, 24, 16, 2), new VillagerTrades.h(Items.MAP, 7, 1, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.df, 11, 16, 10), new VillagerTrades.k(13, "Monument", MapIcon.Type.MONUMENT, 12, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COMPASS, 1, 12, 20), new VillagerTrades.k(14, "Mansion", MapIcon.Type.MANSION, 12, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.ITEM_FRAME, 7, 1, 15), new VillagerTrades.h(Items.WHITE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_BLUE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.RED_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PINK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GREEN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIME_BANNER, 3, 1, 15), new VillagerTrades.h(Items.GRAY_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BLACK_BANNER, 3, 1, 15), new VillagerTrades.h(Items.PURPLE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.MAGENTA_BANNER, 3, 1, 15), new VillagerTrades.h(Items.CYAN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.BROWN_BANNER, 3, 1, 15), new VillagerTrades.h(Items.YELLOW_BANNER, 3, 1, 15), new VillagerTrades.h(Items.ORANGE_BANNER, 3, 1, 15), new VillagerTrades.h(Items.LIGHT_GRAY_BANNER, 3, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.h(Items.GLOBE_BANNER_PATTERN, 8, 1, 30)}))); + hashmap.put(VillagerProfession.CLERIC, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.ROTTEN_FLESH, 32, 16, 2), new VillagerTrades.h(Items.REDSTONE, 1, 2, 1)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.GOLD_INGOT, 3, 12, 10), new VillagerTrades.h(Items.LAPIS_LAZULI, 1, 1, 5)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.RABBIT_FOOT, 2, 12, 20), new VillagerTrades.h(Blocks.GLOWSTONE, 4, 1, 12, 10)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.SCUTE, 4, 12, 30), new VillagerTrades.b(Items.GLASS_BOTTLE, 9, 12, 30), new VillagerTrades.h(Items.ENDER_PEARL, 5, 1, 15)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.NETHER_WART, 22, 12, 30), new VillagerTrades.h(Items.EXPERIENCE_BOTTLE, 3, 1, 30)}))); + hashmap.put(VillagerProfession.ARMORER, a(ImmutableMap.of(1, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.COAL, 15, 16, 2), new VillagerTrades.h(new ItemStack(Items.IRON_LEGGINGS), 7, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_BOOTS), 4, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_HELMET), 5, 1, 12, 1, 0.2F), new VillagerTrades.h(new ItemStack(Items.IRON_CHESTPLATE), 9, 1, 12, 1, 0.2F)}, 2, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.IRON_INGOT, 4, 12, 10), new VillagerTrades.h(new ItemStack(Items.pP), 36, 1, 12, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_BOOTS), 1, 1, 12, 5, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_LEGGINGS), 3, 1, 12, 5, 0.2F)}, 3, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.b(Items.LAVA_BUCKET, 1, 12, 20), new VillagerTrades.b(Items.DIAMOND, 1, 12, 20), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_HELMET), 1, 1, 12, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.CHAINMAIL_CHESTPLATE), 4, 1, 12, 10, 0.2F), new VillagerTrades.h(new ItemStack(Items.SHIELD), 5, 1, 12, 10, 0.2F)}, 4, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_LEGGINGS, 14, 3, 15, 0.2F), new VillagerTrades.e(Items.DIAMOND_BOOTS, 8, 3, 15, 0.2F)}, 5, new VillagerTrades.IMerchantRecipeOption[]{new VillagerTrades.e(Items.DIAMOND_HELMET, 8, 3, 30, 0.2F), new VillagerTrades.e(Items.DIAMOND_CHESTPLATE, 16, 3, 30, 0.2F)}))); diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java -index 0b950aae6..f5f540032 100644 +index 0b950aae63..f5f540032f 100644 --- a/src/main/java/net/minecraft/server/WorldPersistentData.java +++ b/src/main/java/net/minecraft/server/WorldPersistentData.java @@ -37,7 +37,7 @@ public class WorldPersistentData { diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 5e38f52fa..4cda9a3fc 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,24 +1,9 @@ -From 7c5ce6c9fd1f84aad2ca77e5834685659027f8e1 Mon Sep 17 00:00:00 2001 +From 76ec5cd5870016019c709317fd0091bfd13f7d11 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils -diff --git a/src/main/java/net/minecraft/server/AttributeInstance.java b/src/main/java/net/minecraft/server/AttributeInstance.java -index 2f2b103641..b1900ba364 100644 ---- a/src/main/java/net/minecraft/server/AttributeInstance.java -+++ b/src/main/java/net/minecraft/server/AttributeInstance.java -@@ -21,8 +21,10 @@ public interface AttributeInstance { - @Nullable - AttributeModifier a(UUID uuid); - -+ default void addModifier(AttributeModifier modifier) { b(modifier); } // Paper - OBFHELPER - void b(AttributeModifier attributemodifier); - -+ default void removeModifier(AttributeModifier modifier) { c(modifier); } // Paper - OBFHELPER - void c(AttributeModifier attributemodifier); - - void b(UUID uuid); diff --git a/src/main/java/net/minecraft/server/BlockAccessAir.java b/src/main/java/net/minecraft/server/BlockAccessAir.java index e8ab5d3221..d7a68a1ef7 100644 --- a/src/main/java/net/minecraft/server/BlockAccessAir.java @@ -43,7 +28,7 @@ index e8ab5d3221..d7a68a1ef7 100644 public IBlockData getType(BlockPosition blockposition) { return Blocks.AIR.getBlockData(); diff --git a/src/main/java/net/minecraft/server/BlockDataAbstract.java b/src/main/java/net/minecraft/server/BlockDataAbstract.java -index b370316574..841c7d1904 100644 +index ab05425793..b3fe95d856 100644 --- a/src/main/java/net/minecraft/server/BlockDataAbstract.java +++ b/src/main/java/net/minecraft/server/BlockDataAbstract.java @@ -80,6 +80,7 @@ public abstract class BlockDataAbstract implements IBlockDataHolder { @@ -92,7 +77,7 @@ index daf406637c..2613de6624 100644 return this.d(MathHelper.floor(d0), MathHelper.floor(d1), MathHelper.floor(d2)); } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 5005643853..2a6ae10a11 100644 +index 837ca87fc6..1cbcefec58 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -25,7 +25,7 @@ import org.apache.logging.log4j.Logger; @@ -132,7 +117,7 @@ index 5005643853..2a6ae10a11 100644 public TileEntity a(BlockPosition blockposition, Chunk.EnumTileEntityState chunk_enumtileentitystate) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/server/ChunkCache.java b/src/main/java/net/minecraft/server/ChunkCache.java -index 2c9bf7d00f..ccbc1dde09 100644 +index 90363e790c..869e8548c6 100644 --- a/src/main/java/net/minecraft/server/ChunkCache.java +++ b/src/main/java/net/minecraft/server/ChunkCache.java @@ -47,6 +47,30 @@ public class ChunkCache implements IWorldReader { @@ -182,11 +167,11 @@ index 857b2f8868..bbf136614c 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index f1e807296c..710d40b43a 100644 +index 36a89817f8..dd6e69a0f1 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -64,6 +64,58 @@ public class ChunkProviderServer extends IChunkProvider { - return this.playerChunkMap.c(); +@@ -77,6 +77,58 @@ public class ChunkProviderServer extends IChunkProvider { + this.cacheChunk[0] = ichunkaccess; } + // Paper start - "real" get chunk if loaded @@ -245,10 +230,10 @@ index f1e807296c..710d40b43a 100644 @Override public IChunkAccess getChunkAt(int i, int j, ChunkStatus chunkstatus, boolean flag) { diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java -index 8bda055159..409dc837c6 100644 +index 91ebd474ad..08d1be3117 100644 --- a/src/main/java/net/minecraft/server/DataBits.java +++ b/src/main/java/net/minecraft/server/DataBits.java -@@ -82,6 +82,7 @@ public class DataBits { +@@ -83,6 +83,7 @@ public class DataBits { } } @@ -274,10 +259,10 @@ index 75ba698868..45403fbe30 100644 T a(int i); diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 4411d5640a..28a6be7ab0 100644 +index 8764379c6d..a3bb2e8779 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java -@@ -8,7 +8,7 @@ import java.util.stream.Collectors; +@@ -11,7 +11,7 @@ import java.util.stream.Collectors; public class DataPaletteBlock implements DataPaletteExpandable { @@ -286,7 +271,7 @@ index 4411d5640a..28a6be7ab0 100644 private final DataPaletteExpandable c = (i, object) -> { return 0; }; -@@ -16,9 +16,9 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -19,9 +19,9 @@ public class DataPaletteBlock implements DataPaletteExpandable { private final Function e; private final Function f; private final T g; @@ -299,7 +284,7 @@ index 4411d5640a..28a6be7ab0 100644 private final ReentrantLock j = new ReentrantLock(); public void a() { -@@ -53,6 +53,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -56,6 +56,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { return j << 8 | k << 4 | i; } @@ -307,7 +292,7 @@ index 4411d5640a..28a6be7ab0 100644 private void b(int i) { if (i != this.i) { this.i = i; -@@ -130,6 +131,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -133,6 +134,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { return t0 == null ? this.g : t0; } @@ -316,7 +301,7 @@ index 4411d5640a..28a6be7ab0 100644 this.a(); packetdataserializer.writeByte(this.i); diff --git a/src/main/java/net/minecraft/server/EntityCreature.java b/src/main/java/net/minecraft/server/EntityCreature.java -index c2ec2c2823..54a05cdb86 100644 +index ef81d3a5be..7dacaa2166 100644 --- a/src/main/java/net/minecraft/server/EntityCreature.java +++ b/src/main/java/net/minecraft/server/EntityCreature.java @@ -6,6 +6,8 @@ import org.bukkit.event.entity.EntityUnleashEvent; @@ -329,7 +314,7 @@ index c2ec2c2823..54a05cdb86 100644 super(entitytypes, world); } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 01ce810683..6d7b313aeb 100644 +index 613d534aeb..f31a996aa5 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -144,6 +144,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -341,7 +326,7 @@ index 01ce810683..6d7b313aeb 100644 // CraftBukkit start - fire event setGoalTarget(entityliving, EntityTargetEvent.TargetReason.UNKNOWN, true); diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index f115d0b931..e0b12e1fd7 100644 +index 35a67665a2..5c863860ae 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -126,6 +126,7 @@ public abstract class EntityLiving extends Entity { @@ -353,7 +338,7 @@ index f115d0b931..e0b12e1fd7 100644 @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java -index 9895124579..f97958652a 100644 +index 07774e4b1f..e0609e7e97 100644 --- a/src/main/java/net/minecraft/server/EntityMonster.java +++ b/src/main/java/net/minecraft/server/EntityMonster.java @@ -5,6 +5,7 @@ import java.util.function.Predicate; @@ -365,10 +350,10 @@ index 9895124579..f97958652a 100644 super(entitytypes, world); this.f = 5; diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index 0c712f77de..f603950b2e 100644 +index 43d207ae59..335877889a 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java -@@ -5,6 +5,7 @@ import com.mojang.datafixers.types.Type; +@@ -4,6 +4,7 @@ import com.mojang.datafixers.DataFixUtils; import java.util.Collections; import java.util.Optional; import java.util.Set; // Paper @@ -376,7 +361,7 @@ index 0c712f77de..f603950b2e 100644 import java.util.UUID; import java.util.function.Function; import java.util.stream.Stream; -@@ -287,8 +288,8 @@ public class EntityTypes { +@@ -289,8 +290,8 @@ public class EntityTypes { return this.bi.height; } @@ -388,10 +373,10 @@ index 0c712f77de..f603950b2e 100644 } diff --git a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -index 4510018d6f..c0d5112444 100644 +index 70a4509055..d521d25cf5 100644 --- a/src/main/java/net/minecraft/server/IAsyncTaskHandler.java +++ b/src/main/java/net/minecraft/server/IAsyncTaskHandler.java -@@ -64,6 +64,15 @@ public abstract class IAsyncTaskHandler implements Mailbox implements Mailbox> { - return new DefaultEventLoopGroup(0, (new ThreadFactoryBuilder()).setNameFormat("Netty Local Client IO #%d").setDaemon(true).build()); - }); - private final EnumProtocolDirection h; -- private final Queue packetQueue = Queues.newConcurrentLinkedQueue(); -+ private final Queue packetQueue = Queues.newConcurrentLinkedQueue(); private final Queue getPacketQueue() { return this.packetQueue; } // Paper - OBFHELPER - private final ReentrantReadWriteLock j = new ReentrantReadWriteLock(); - public Channel channel; - public SocketAddress socketAddress; -@@ -167,6 +167,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -159,6 +159,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } @@ -879,15 +855,15 @@ index 1c32e6ef47..d4c59baf8f 100644 private void b(Packet packet, @Nullable GenericFutureListener> genericfuturelistener) { EnumProtocol enumprotocol = EnumProtocol.a(packet); EnumProtocol enumprotocol1 = (EnumProtocol) this.channel.attr(NetworkManager.c).get(); -@@ -207,6 +208,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -199,6 +200,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } + private void sendPacketQueue() { this.o(); } // Paper - OBFHELPER private void o() { if (this.channel != null && this.channel.isOpen()) { - this.j.readLock().lock(); -@@ -337,9 +339,9 @@ public class NetworkManager extends SimpleChannelInboundHandler> { + Queue queue = this.packetQueue; +@@ -327,9 +329,9 @@ public class NetworkManager extends SimpleChannelInboundHandler> { static class QueuedPacket { @@ -945,7 +921,7 @@ index 4e20cfba41..363ab5da12 100644 int j = 0; ChunkSection[] achunksection = chunk.getSections(); diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 62387f5099..5599d0e71f 100644 +index 3aedcfc33e..7407c1a564 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -63,6 +63,14 @@ public class PlayerChunk { @@ -964,7 +940,7 @@ index 62387f5099..5599d0e71f 100644 public CompletableFuture> getStatusFutureUnchecked(ChunkStatus chunkstatus) { CompletableFuture> completablefuture = (CompletableFuture) this.statusFutures.get(chunkstatus.c()); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 9062767efa..d40600c103 100644 +index 58e89dd27c..301b1c0829 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -67,9 +67,9 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -1029,7 +1005,7 @@ index 2158e239e0..6bdd7dda04 100644 public IBlockData getType(BlockPosition blockposition) { int i = blockposition.getY(); diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -index 33db1403fe..aff3591ec8 100644 +index 7260b9bfd3..ac6687754c 100644 --- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java +++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java @@ -106,6 +106,26 @@ public class RegionLimitedWorldAccess implements GeneratorAccess { @@ -1072,7 +1048,7 @@ index 4efcb8b595..60948afa4e 100644 return this.b.size(); } diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java -index 376219a1cd..59164684e0 100644 +index 0df534b563..538ed5bb9b 100644 --- a/src/main/java/net/minecraft/server/SystemUtils.java +++ b/src/main/java/net/minecraft/server/SystemUtils.java @@ -58,7 +58,7 @@ public class SystemUtils { @@ -1085,7 +1061,7 @@ index 376219a1cd..59164684e0 100644 public static long getTimeMillis() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e9d65c9275..32981c4422 100644 +index 7f648dbbc9..1d5e4c5127 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -210,6 +210,40 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -1142,7 +1118,7 @@ index e9d65c9275..32981c4422 100644 return this.setTypeAndData(blockposition, fluid.getBlockData(), 3 | (flag ? 64 : 0)); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 2a9e2ab58a..4eb7438f25 100644 +index c3a3fbde04..c04ec4a7cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -85,6 +85,7 @@ public final class CraftItemStack extends ItemStack { @@ -1154,10 +1130,10 @@ index 2a9e2ab58a..4eb7438f25 100644 /** * Mirror diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java -index 755f7f2649..cd910f3dcb 100644 +index f575b884b0..5bae026dcc 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java +++ b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java -@@ -201,4 +201,22 @@ public class DummyGeneratorAccess implements GeneratorAccess { +@@ -200,4 +200,22 @@ public class DummyGeneratorAccess implements GeneratorAccess { public boolean b(BlockPosition blockposition, boolean flag) { throw new UnsupportedOperationException("Not supported yet."); } diff --git a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch index c9c8f0977..164edfa08 100644 --- a/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch +++ b/Spigot-Server-Patches/0006-Add-MinecraftKey-Information-to-Objects.patch @@ -1,4 +1,4 @@ -From d7435d6dc5cfbf22a2d1d079aa142b7a997f2156 Mon Sep 17 00:00:00 2001 +From 507180a0d4b214f63b2fcb17c7b21ad5d90a1902 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 01:40:13 -0400 Subject: [PATCH] Add MinecraftKey Information to Objects @@ -6,7 +6,7 @@ Subject: [PATCH] Add MinecraftKey Information to Objects Stores the reference to the objects respective MinecraftKey diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 5626ae4e3..360abc05e 100644 +index 5626ae4e3a..360abc05e4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -175,7 +175,7 @@ public class PaperCommand extends Command { @@ -19,7 +19,7 @@ index 5626ae4e3..360abc05e 100644 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 845536e4d..11b273b1a 100644 +index d4dff91586..1519e481fb 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -49,7 +49,7 @@ import org.bukkit.event.player.PlayerTeleportEvent; @@ -65,10 +65,10 @@ index 845536e4d..11b273b1a 100644 protected abstract void a(NBTTagCompound nbttagcompound); diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java -index f603950b2..eaacc9bff 100644 +index 335877889a..a7fc34f850 100644 --- a/src/main/java/net/minecraft/server/EntityTypes.java +++ b/src/main/java/net/minecraft/server/EntityTypes.java -@@ -238,6 +238,7 @@ public class EntityTypes { +@@ -236,6 +236,7 @@ public class EntityTypes { } } @@ -78,7 +78,7 @@ index f603950b2..eaacc9bff 100644 } diff --git a/src/main/java/net/minecraft/server/KeyedObject.java b/src/main/java/net/minecraft/server/KeyedObject.java new file mode 100644 -index 000000000..743142d03 +index 0000000000..743142d030 --- /dev/null +++ b/src/main/java/net/minecraft/server/KeyedObject.java @@ -0,0 +1,9 @@ @@ -92,7 +92,7 @@ index 000000000..743142d03 + } +} diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 33dec830e..7f480b3b3 100644 +index 33dec830ea..7f480b3b3e 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -11,7 +11,7 @@ import org.bukkit.inventory.InventoryHolder; diff --git a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch index 2a38537d8..c3b6085ca 100644 --- a/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch +++ b/Spigot-Server-Patches/0007-Store-reference-to-current-Chunk-for-Entity-and-Bloc.patch @@ -1,4 +1,4 @@ -From e0eb58b3af41c6a327560737d75f9673739f78af Mon Sep 17 00:00:00 2001 +From 92d78e2c8e6c305184f27034b3be19a8799aed6e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 Jul 2018 02:10:36 -0400 Subject: [PATCH] Store reference to current Chunk for Entity and Block @@ -8,7 +8,7 @@ This enables us a fast reference to the entities current chunk instead of having to look it up by hashmap lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 2a6ae10a1..24d69778f 100644 +index 1cbcefec58..4836d1f715 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -29,7 +29,7 @@ public class Chunk implements IChunkAccess { @@ -21,7 +21,7 @@ index 2a6ae10a1..24d69778f 100644 public final Map heightMap; private final ChunkConverter i; @@ -55,11 +55,36 @@ public class Chunk implements IChunkAccess { - this(world, chunkcoordintpair, abiomebase, ChunkConverter.a, TickListEmpty.a(), TickListEmpty.a(), 0L, (ChunkSection[]) null, (Consumer) null); + this(world, chunkcoordintpair, abiomebase, ChunkConverter.a, TickListEmpty.b(), TickListEmpty.b(), 0L, (ChunkSection[]) null, (Consumer) null); } + // Paper start @@ -90,7 +90,7 @@ index 2a6ae10a1..24d69778f 100644 @Override diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 11b273b1a..b21fa66ae 100644 +index 1519e481fb..d4954801cb 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -133,7 +133,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -143,7 +143,7 @@ index 11b273b1a..b21fa66ae 100644 private String entityKeyString; diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 7f480b3b3..2efaf516f 100644 +index 7f480b3b3e..2efaf516ff 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -51,6 +51,15 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -163,7 +163,7 @@ index 7f480b3b3..2efaf516f 100644 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f22959ee1..a98f6f338 100644 +index f22959ee15..a98f6f3389 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -137,6 +137,7 @@ import net.minecraft.server.EntityZombieVillager; diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 9d5685fdc..882d5ce2f 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From faf6de3f329e5baee5994a5edc4e4c95c020a8f5 Mon Sep 17 00:00:00 2001 +From 004767ba009e3a42594e7d442299af724f0f3da5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 000000000..3f9fb6f90 +index 0000000000..3f9fb6f906 --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,133 @@ @@ -145,7 +145,7 @@ index 000000000..3f9fb6f90 +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 000000000..366de6665 +index 0000000000..366de66657 --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,107 @@ @@ -257,7 +257,7 @@ index 000000000..366de6665 + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 5518ec1e5..0c65afccf 100644 +index 5518ec1e54..0c65afccfd 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -304,7 +304,7 @@ index 5518ec1e5..0c65afccf 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index ee9a571bf..4b9e51b30 100644 +index 70c881643d..a4b6d6fd4c 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -31,6 +31,15 @@ public class Block implements IMaterial { @@ -324,7 +324,7 @@ index ee9a571bf..4b9e51b30 100644 private final float frictionFactor; protected final BlockStateList blockStateList; diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index f3c5c729f..ab9b7bbd3 100644 +index 3ed48be382..c4d989f702 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -573,6 +573,7 @@ public class Chunk implements IChunkAccess { @@ -344,10 +344,10 @@ index f3c5c729f..ab9b7bbd3 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index b500f6e59..534636889 100644 +index dd6e69a0f1..25e0163c60 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -137,11 +137,13 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -150,11 +150,13 @@ public class ChunkProviderServer extends IChunkProvider { } } @@ -363,7 +363,7 @@ index b500f6e59..534636889 100644 ichunkaccess = (IChunkAccess) ((Either) completablefuture.join()).map((ichunkaccess1) -> { return ichunkaccess1; }, (playerchunk_failure) -> { -@@ -301,7 +303,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -346,7 +348,9 @@ public class ChunkProviderServer extends IChunkProvider { public void save(boolean flag) { this.tickDistanceManager(); @@ -373,7 +373,7 @@ index b500f6e59..534636889 100644 } @Override -@@ -417,9 +421,9 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -462,9 +466,9 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); } @@ -385,7 +385,7 @@ index b500f6e59..534636889 100644 } } }); -@@ -432,9 +436,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -477,9 +481,7 @@ public class ChunkProviderServer extends IChunkProvider { this.world.getMethodProfiler().exit(); } @@ -396,7 +396,7 @@ index b500f6e59..534636889 100644 @Override diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 1894509df..ad3ade3c5 100644 +index 28bf9e14d6..03be77299b 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -434,7 +434,7 @@ index 1894509df..ad3ade3c5 100644 } diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java -index 12885cbd6..49de6e997 100644 +index 12885cbd60..49de6e997a 100644 --- a/src/main/java/net/minecraft/server/CustomFunction.java +++ b/src/main/java/net/minecraft/server/CustomFunction.java @@ -13,12 +13,22 @@ public class CustomFunction { @@ -461,7 +461,7 @@ index 12885cbd6..49de6e997 100644 return this.b; } diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java -index 834677838..8bc74add6 100644 +index 53735b52a3..721839b4c6 100644 --- a/src/main/java/net/minecraft/server/CustomFunctionData.java +++ b/src/main/java/net/minecraft/server/CustomFunctionData.java @@ -101,7 +101,7 @@ public class CustomFunctionData implements IResourcePackListener { @@ -474,7 +474,7 @@ index 834677838..8bc74add6 100644 int j = 0; CustomFunction.c[] acustomfunction_c = customfunction.b(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index c088ff969..c7ea4ec4f 100644 +index 5e0797afde..f572cd8fc7 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -19,6 +19,8 @@ import java.util.Collections; @@ -513,7 +513,7 @@ index c088ff969..c7ea4ec4f 100644 } @Override -@@ -664,6 +666,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -669,6 +671,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @Override public String executeRemoteCommand(String s) { @@ -521,7 +521,7 @@ index c088ff969..c7ea4ec4f 100644 this.remoteControlCommandListener.clearMessages(); this.executeSync(() -> { // CraftBukkit start - fire RemoteServerCommandEvent -@@ -672,10 +675,39 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -677,10 +680,39 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer if (event.isCancelled()) { return; } @@ -538,7 +538,7 @@ index c088ff969..c7ea4ec4f 100644 + co.aikar.timings.Timings.generateReport(new co.aikar.timings.TimingsReportListener(sender, waitable)); + } else { + // Paper end - ServerCommand serverCommand = new ServerCommand(event.getCommand(), remoteControlCommandListener.f()); + ServerCommand serverCommand = new ServerCommand(event.getCommand(), remoteControlCommandListener.getWrapper()); server.dispatchServerCommand(remoteConsole, serverCommand); + } // Paper // CraftBukkit end @@ -562,7 +562,7 @@ index c088ff969..c7ea4ec4f 100644 } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b21fa66ae..43abdf41f 100644 +index d4954801cb..fd4712c710 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -601,7 +601,7 @@ index b21fa66ae..43abdf41f 100644 protected Vec3D a(Vec3D vec3d, EnumMoveType enummovetype) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index e0b12e1fd..30aa4f56d 100644 +index 5c863860ae..ed5b9a9516 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -35,7 +35,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -619,8 +619,8 @@ index e0b12e1fd..30aa4f56d 100644 public void tick() { - SpigotTimings.timerEntityBaseTick.startTiming(); // Spigot super.tick(); - this.dl(); this.o(); + this.p(); @@ -2289,9 +2288,7 @@ public abstract class EntityLiving extends Entity { } } @@ -677,10 +677,10 @@ index e0b12e1fd..30aa4f56d 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f9ec2b068..d0419119b 100644 +index b397fd3445..18d5461cac 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -54,7 +54,7 @@ import org.bukkit.craftbukkit.CraftServer; +@@ -63,7 +63,7 @@ import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.Main; import org.bukkit.event.server.ServerLoadEvent; // CraftBukkit end @@ -689,7 +689,7 @@ index f9ec2b068..d0419119b 100644 import org.spigotmc.SlackActivityAccountant; // Spigot public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant implements IMojangStatistics, ICommandListener, AutoCloseable, Runnable { -@@ -674,6 +674,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit @@ -721,7 +721,7 @@ index f9ec2b068..d0419119b 100644 } this.methodProfiler.enter("snooper"); -@@ -1002,30 +1001,29 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant> f(ChunkCoordIntPair chunkcoordintpair) { return CompletableFuture.supplyAsync(() -> { @@ -824,7 +824,7 @@ index 070cfc61e..ec7824baf 100644 if (nbttagcompound != null) { boolean flag = nbttagcompound.hasKeyOfType("Level", 10) && nbttagcompound.getCompound("Level").hasKeyOfType("Status", 8); -@@ -502,7 +507,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -509,7 +514,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { }); return completablefuture.thenComposeAsync((either) -> { @@ -833,7 +833,7 @@ index 070cfc61e..ec7824baf 100644 try { CompletableFuture> completablefuture1 = chunkstatus.a(this.world, this.chunkGenerator, this.definedStructureManager, this.lightEngine, (ichunkaccess) -> { return this.c(playerchunk); -@@ -555,6 +560,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -562,6 +567,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { ChunkStatus chunkstatus = PlayerChunk.getChunkStatus(playerchunk.getTicketLevel()); return !chunkstatus.b(ChunkStatus.FULL) ? PlayerChunk.UNLOADED_CHUNK_ACCESS : either.mapLeft((ichunkaccess) -> { @@ -841,7 +841,7 @@ index 070cfc61e..ec7824baf 100644 ChunkCoordIntPair chunkcoordintpair = playerchunk.i(); Chunk chunk; -@@ -599,6 +605,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -606,6 +612,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } return chunk; @@ -849,7 +849,7 @@ index 070cfc61e..ec7824baf 100644 }); }, (runnable) -> { Mailbox mailbox = this.mailboxMain; -@@ -992,6 +999,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1042,6 +1049,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { PlayerChunkMap.EntityTracker playerchunkmap_entitytracker; ObjectIterator objectiterator; @@ -857,7 +857,7 @@ index 070cfc61e..ec7824baf 100644 for (objectiterator = this.trackedEntities.values().iterator(); objectiterator.hasNext(); playerchunkmap_entitytracker.trackerEntry.a()) { playerchunkmap_entitytracker = (PlayerChunkMap.EntityTracker) objectiterator.next(); -@@ -1009,13 +1017,16 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1059,13 +1067,16 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { playerchunkmap_entitytracker.e = sectionposition1; } } @@ -875,7 +875,7 @@ index 070cfc61e..ec7824baf 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 80a80ed47..d6550af41 100644 +index 301b1c0829..36c56773f3 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -58,6 +58,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -902,7 +902,7 @@ index 80a80ed47..d6550af41 100644 } -@@ -1657,7 +1656,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1622,7 +1621,7 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit end private void handleCommand(String s) { @@ -911,7 +911,7 @@ index 80a80ed47..d6550af41 100644 // CraftBukkit start - whole method if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getName() + " issued server command: " + s); -@@ -1668,7 +1667,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1633,7 +1632,7 @@ public class PlayerConnection implements PacketListenerPlayIn { this.server.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -920,7 +920,7 @@ index 80a80ed47..d6550af41 100644 return; } -@@ -1681,7 +1680,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1646,7 +1645,7 @@ public class PlayerConnection implements PacketListenerPlayIn { java.util.logging.Logger.getLogger(PlayerConnection.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -930,33 +930,34 @@ index 80a80ed47..d6550af41 100644 // this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index cb6d50ea7..9ba03f8ed 100644 +index a677ec74d4..e928525b8f 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -@@ -1,5 +1,8 @@ - package net.minecraft.server; +@@ -2,6 +2,8 @@ package net.minecraft.server; + import org.apache.logging.log4j.LogManager; + import org.apache.logging.log4j.Logger; +import co.aikar.timings.MinecraftTimings; // Paper +import co.aikar.timings.Timing; // Paper -+ + public class PlayerConnectionUtils { - public static void ensureMainThread(Packet packet, T t0, WorldServer worldserver) throws CancelledPacketHandleException { -@@ -8,9 +11,12 @@ public class PlayerConnectionUtils { +@@ -13,10 +15,13 @@ public class PlayerConnectionUtils { public static void ensureMainThread(Packet packet, T t0, IAsyncTaskHandler iasynctaskhandler) throws CancelledPacketHandleException { if (!iasynctaskhandler.isMainThread()) { -+ Timing timing = MinecraftTimings.getPacketTiming(packet); // Paper ++ Timing timing = MinecraftTimings.getPacketTiming(packet); // Paper - timings iasynctaskhandler.execute(() -> { if (MinecraftServer.getServer().hasStopped() || (t0 instanceof PlayerConnection && ((PlayerConnection) t0).processedDisconnect)) return; // CraftBukkit, MC-142590 -+ try (Timing ignored = timing.startTiming()) { // Paper - packet.a(t0); -+ } // Paper - timings - }); - throw CancelledPacketHandleException.INSTANCE; - } + if (t0.a().isConnected()) { ++ try (Timing ignored = timing.startTiming()) { // Paper - timings + packet.a(t0); ++ } // Paper - timings + } else { + PlayerConnectionUtils.LOGGER.debug("Ignoring packet due to disconnection: " + packet); + } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index ee22d6c81..fb6b48e3f 100644 +index ee22d6c81a..fb6b48e3fe 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -980,7 +981,7 @@ index ee22d6c81..fb6b48e3f 100644 public WhiteList getWhitelist() { diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java -index 061730c56..c5890f5dc 100644 +index 00bbd34b6a..f533860bbe 100644 --- a/src/main/java/net/minecraft/server/TickListServer.java +++ b/src/main/java/net/minecraft/server/TickListServer.java @@ -28,13 +28,18 @@ public class TickListServer implements TickList { @@ -1001,7 +1002,7 @@ index 061730c56..c5890f5dc 100644 + private final co.aikar.timings.Timing timingTicking; // Paper + // Paper end - public void a() { + public void b() { int i = this.nextTickList.size(); @@ -57,6 +62,7 @@ public class TickListServer implements TickList { @@ -1030,7 +1031,7 @@ index 061730c56..c5890f5dc 100644 this.g.clear(); } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 2efaf516f..22a8ea916 100644 +index 2efaf516ff..22a8ea916a 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -9,11 +9,12 @@ import org.bukkit.craftbukkit.persistence.CraftPersistentDataContainer; @@ -1049,7 +1050,7 @@ index 2efaf516f..22a8ea916 100644 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public CraftPersistentDataContainer persistentDataContainer; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 32981c442..2f608305f 100644 +index 1d5e4c5127..60c222b12b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -1104,7 +1105,7 @@ index 32981c442..2f608305f 100644 CrashReport crashreport = CrashReport.a(throwable, "Ticking entity"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being ticked"); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index df518ff63..69af071e6 100644 +index 6cb7925d34..aaf3882634 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,7 @@ @@ -1115,7 +1116,7 @@ index df518ff63..69af071e6 100644 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Queues; -@@ -33,7 +35,6 @@ import org.apache.logging.log4j.Logger; +@@ -37,7 +39,6 @@ import org.apache.logging.log4j.Logger; // CraftBukkit start import org.bukkit.Bukkit; import org.bukkit.WeatherType; @@ -1123,7 +1124,7 @@ index df518ff63..69af071e6 100644 import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.server.MapInitializeEvent; -@@ -90,10 +91,10 @@ public class WorldServer extends World { +@@ -93,10 +94,10 @@ public class WorldServer extends World { // CraftBukkit end this.nextTickListBlock = new TickListServer<>(this, (block) -> { return block == null || block.getBlockData().isAir(); @@ -1133,25 +1134,25 @@ index df518ff63..69af071e6 100644 return fluidtype == null || fluidtype == FluidTypes.EMPTY; - }, IRegistry.FLUID::getKey, IRegistry.FLUID::get, this::a); + }, IRegistry.FLUID::getKey, IRegistry.FLUID::get, this::a, "Fluids"); // Paper - Timings - this.I = Sets.newHashSet(); - this.siegeManager = new VillageSiege(this); - this.J = new ObjectLinkedOpenHashSet(); -@@ -256,12 +257,12 @@ public class WorldServer extends World { + this.H = Sets.newHashSet(); + this.I = new ObjectLinkedOpenHashSet(); + this.dataManager = worldnbtstorage; +@@ -258,12 +259,12 @@ public class WorldServer extends World { gameprofilerfiller.exitEnter("chunkSource"); this.getChunkProvider().tick(booleansupplier); gameprofilerfiller.exitEnter("tickPending"); - timings.doTickPending.startTiming(); // Spigot + timings.scheduledBlocks.startTiming(); // Spigot if (this.worldData.getType() != WorldType.DEBUG_ALL_BLOCK_STATES) { - this.nextTickListBlock.a(); - this.nextTickListFluid.a(); + this.nextTickListBlock.b(); + this.nextTickListFluid.b(); } - timings.doTickPending.stopTiming(); // Spigot + timings.scheduledBlocks.stopTiming(); // Spigot - gameprofilerfiller.exitEnter("village"); - timings.doVillages.startTiming(); // Spigot -@@ -318,6 +319,7 @@ public class WorldServer extends World { + gameprofilerfiller.exitEnter("portalForcer"); + timings.doPortalForcer.startTiming(); // Spigot +@@ -316,6 +317,7 @@ public class WorldServer extends World { org.spigotmc.ActivationRange.activateEntities(this); // Spigot timings.entityTick.startTiming(); // Spigot @@ -1159,7 +1160,7 @@ index df518ff63..69af071e6 100644 while (objectiterator.hasNext()) { Entry entry = (Entry) objectiterator.next(); Entity entity1 = (Entity) entry.getValue(); -@@ -344,6 +346,7 @@ public class WorldServer extends World { +@@ -342,6 +344,7 @@ public class WorldServer extends World { gameprofilerfiller.enter("tick"); if (!entity1.dead && !(entity1 instanceof EntityComplexPart)) { this.a(this::entityJoinedWorld, entity1); @@ -1167,7 +1168,7 @@ index df518ff63..69af071e6 100644 } gameprofilerfiller.exit(); -@@ -421,6 +424,7 @@ public class WorldServer extends World { +@@ -419,6 +422,7 @@ public class WorldServer extends World { } gameprofilerfiller.exitEnter("tickBlocks"); @@ -1175,7 +1176,7 @@ index df518ff63..69af071e6 100644 if (i > 0) { ChunkSection[] achunksection = chunk.getSections(); int l = achunksection.length; -@@ -452,7 +456,7 @@ public class WorldServer extends World { +@@ -450,7 +454,7 @@ public class WorldServer extends World { } } } @@ -1184,7 +1185,7 @@ index df518ff63..69af071e6 100644 gameprofilerfiller.exit(); } -@@ -747,6 +751,7 @@ public class WorldServer extends World { +@@ -745,6 +749,7 @@ public class WorldServer extends World { if (!flag1) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); // CraftBukkit @@ -1192,7 +1193,7 @@ index df518ff63..69af071e6 100644 if (iprogressupdate != null) { iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0])); } -@@ -756,7 +761,10 @@ public class WorldServer extends World { +@@ -754,7 +759,10 @@ public class WorldServer extends World { iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0])); } @@ -1204,7 +1205,7 @@ index df518ff63..69af071e6 100644 // CraftBukkit start - moved from MinecraftServer.saveChunks diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 39ca7b5f3..5adfd6a7b 100644 +index 4d38bf5018..936f181f06 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1931,12 +1931,31 @@ public final class CraftServer implements Server { @@ -1241,10 +1242,10 @@ index 39ca7b5f3..5adfd6a7b 100644 org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index 38f211526..000000000 +index b98a7b56a4..0000000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null -@@ -1,166 +0,0 @@ +@@ -1,164 +0,0 @@ -package org.bukkit.craftbukkit; - -import java.util.HashMap; @@ -1365,7 +1366,6 @@ index 38f211526..000000000 - public final CustomTimingsHandler doPortalForcer; - public final CustomTimingsHandler doTickPending; - public final CustomTimingsHandler doTickTiles; -- public final CustomTimingsHandler doVillages; - public final CustomTimingsHandler doChunkMap; - public final CustomTimingsHandler doSounds; - public final CustomTimingsHandler entityTick; @@ -1389,7 +1389,6 @@ index 38f211526..000000000 - doChunkUnload = new CustomTimingsHandler("** " + name + "doChunkUnload"); - doTickPending = new CustomTimingsHandler("** " + name + "doTickPending"); - doTickTiles = new CustomTimingsHandler("** " + name + "doTickTiles"); -- doVillages = new CustomTimingsHandler("** " + name + "doVillages"); - doChunkMap = new CustomTimingsHandler("** " + name + "doChunkMap"); - doSounds = new CustomTimingsHandler("** " + name + "doSounds"); - doPortalForcer = new CustomTimingsHandler("** " + name + "doPortalForcer"); @@ -1412,7 +1411,7 @@ index 38f211526..000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 00aecdc47..c6daf693c 100644 +index 184802803c..9280bb6f74 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1749,6 +1749,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1431,7 +1430,7 @@ index 00aecdc47..c6daf693c 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index b90979c7b..8823f94f7 100644 +index b90979c7ba..8823f94f7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -1,5 +1,6 @@ @@ -1497,7 +1496,7 @@ index b90979c7b..8823f94f7 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 3f55381c1..0d9a46680 100644 +index 3f55381c15..0d9a466809 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -1,9 +1,11 @@ @@ -1582,7 +1581,7 @@ index 3f55381c1..0d9a46680 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b7..3d90b3426 100644 +index e52ef47b78..3d90b34268 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1594,7 +1593,7 @@ index e52ef47b7..3d90b3426 100644 this.value = value; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 8b6ec888e..2733c63aa 100644 +index dd602243d3..924ab7f541 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -288,6 +288,13 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -1612,7 +1611,7 @@ index 8b6ec888e..2733c63aa 100644 * This helper class represents the different NBT Tags. *

diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index ca7789b5e..442383969 100644 +index ca7789b5e0..4423839697 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -31,7 +31,7 @@ import net.minecraft.server.EntityWither; diff --git a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch index 80d6be911..ada28efc5 100644 --- a/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch +++ b/Spigot-Server-Patches/0011-Configurable-baby-zombie-movement-speed.patch @@ -1,4 +1,4 @@ -From 6456cdcc6bf414af08441d98d6fe6152ec1bf92d Mon Sep 17 00:00:00 2001 +From 7c509bcd404bfad17b7af2429a193f24af732e57 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 13:09:16 -0600 Subject: [PATCH] Configurable baby zombie movement speed @@ -20,10 +20,10 @@ index 098bd3fba8..55d8e74f82 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 9cea262c80..4cb305ff28 100644 +index 2b4a9ffe82..99e501cef4 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java -@@ -19,7 +19,7 @@ public class EntityZombie extends EntityMonster { +@@ -20,7 +20,7 @@ public class EntityZombie extends EntityMonster { protected static final IAttribute d = (new AttributeRanged((IAttribute) null, "zombie.spawnReinforcements", 0.0D, 0.0D, 1.0D)).a("Spawn Reinforcements Chance"); private static final UUID b = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836"); @@ -32,18 +32,18 @@ index 9cea262c80..4cb305ff28 100644 private static final DataWatcherObject bz = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.i); private static final DataWatcherObject bA = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b); public static final DataWatcherObject DROWN_CONVERTING = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.i); -@@ -127,9 +127,9 @@ public class EntityZombie extends EntityMonster { +@@ -128,9 +128,9 @@ public class EntityZombie extends EntityMonster { if (this.world != null && !this.world.isClientSide) { AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); -- attributeinstance.c(EntityZombie.c); -+ attributeinstance.c(this.babyModifier); // Paper +- attributeinstance.removeModifier(EntityZombie.c); ++ attributeinstance.removeModifier(this.babyModifier); // Paper if (flag) { -- attributeinstance.b(EntityZombie.c); -+ attributeinstance.b(this.babyModifier); // Paper +- attributeinstance.addModifier(EntityZombie.c); ++ attributeinstance.addModifier(this.babyModifier); // Paper } } -- -2.21.0 +2.22.0 diff --git a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 6aab543ea..30b4b0192 100644 --- a/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0017-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -1,4 +1,4 @@ -From 6a568d4df68e4198bec44d06a2a0b614adf66560 Mon Sep 17 00:00:00 2001 +From d02c4d04df4da6331455d3f31a1e9a345fe48baf Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 14:32:43 -0600 Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang @@ -6,7 +6,7 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang diff --git a/src/main/java/net/minecraft/server/EULA.java b/src/main/java/net/minecraft/server/EULA.java -index 3f35a28ba..cf00f35a5 100644 +index 3f35a28ba1..cf00f35a5b 100644 --- a/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java @@ -70,7 +70,7 @@ public class EULA { @@ -19,10 +19,10 @@ index 3f35a28ba..cf00f35a5 100644 throwable = throwable1; throw throwable1; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d0419119b..1346fc35c 100644 +index 18d5461cac..e709b9123d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1285,7 +1285,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 1 Mar 2016 14:47:52 -0600 Subject: [PATCH] Player affects spawning API diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 4735f6e673..1a41a9c1d9 100644 +index 9daa8ed210..5c45d8ee08 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -70,6 +70,9 @@ public abstract class EntityHuman extends EntityLiving { - private final ItemCooldown bY; +@@ -71,6 +71,9 @@ public abstract class EntityHuman extends EntityLiving { + private final ItemCooldown bZ; @Nullable public EntityFishingHook hookedFish; + // Paper start @@ -19,7 +19,7 @@ index 4735f6e673..1a41a9c1d9 100644 // CraftBukkit start public boolean fauxSleeping; diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index a2247fa1dd..4fa345db65 100644 +index 14b4c1fe69..6e304492cf 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -610,7 +610,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -32,12 +32,12 @@ index a2247fa1dd..4fa345db65 100644 if (d0 > world.paperConfig.hardDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // Paper - custom despawn distances diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java -index e66cdc49ca..2979cc8b66 100644 +index 323a56c63f..eb3c56fefd 100644 --- a/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java -@@ -100,7 +100,7 @@ public class EntitySilverfish extends EntityMonster { +@@ -99,7 +99,7 @@ public class EntitySilverfish extends EntityMonster { if (d(entitytypes, generatoraccess, enummobspawn, blockposition, random)) { - EntityHuman entityhuman = generatoraccess.a(EntitySilverfish.b, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D); + EntityHuman entityhuman = generatoraccess.a((double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, 5.0D, true); - return entityhuman == null; + return !(entityhuman != null && !entityhuman.affectsSpawning) && entityhuman == null; // Paper - Affects Spawning API @@ -45,7 +45,7 @@ index e66cdc49ca..2979cc8b66 100644 return false; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c6daf693c5..00d6fc4b32 100644 +index 9280bb6f74..8aba3c775c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1651,7 +1651,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch b/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch index d8fcf8adc..125837ca8 100644 --- a/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch +++ b/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch @@ -1,11 +1,11 @@ -From 0b8109d70dce130297bf090e7af8090c483bc3e1 Mon Sep 17 00:00:00 2001 +From f330251e5134f41873289563ce02eb5c70499ce7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 8 Mar 2015 22:55:25 -0600 Subject: [PATCH] Optimize TileEntity Ticking diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index 271406f8bb..85b450c054 100644 +index ffaf16cff8..387e366130 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -7,7 +7,7 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; @@ -90,7 +90,7 @@ index 271406f8bb..85b450c054 100644 int newPower = Math.max(0, Math.min(15, this.viewingCount)); diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java -index 340dd1dafe..14598d7ee9 100644 +index 0fae06d3a0..ae6784b6aa 100644 --- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java +++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java @@ -1,6 +1,6 @@ @@ -133,7 +133,7 @@ index 340dd1dafe..14598d7ee9 100644 double d1 = (double) i + 0.5D; @@ -30,8 +40,17 @@ public class TileEntityEnderChest extends TileEntity implements ITickable { d0 = (double) k + 0.5D; - this.world.a((EntityHuman) null, d1, (double) j + 0.5D, d0, SoundEffects.BLOCK_ENDER_CHEST_OPEN, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); + this.world.playSound((EntityHuman) null, d1, (double) j + 0.5D, d0, SoundEffects.BLOCK_ENDER_CHEST_OPEN, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); } + // Paper start + } @@ -150,7 +150,7 @@ index 340dd1dafe..14598d7ee9 100644 float f1 = this.a; if (this.c > 0) { -@@ -47,11 +66,15 @@ public class TileEntityEnderChest extends TileEntity implements ITickable { +@@ -47,11 +66,14 @@ public class TileEntityEnderChest extends TileEntity implements ITickable { float f2 = 0.5F; if (this.a < 0.5F && f1 >= 0.5F) { @@ -160,14 +160,13 @@ index 340dd1dafe..14598d7ee9 100644 double d2 = (double) k + 0.5D; + MCUtil.scheduleTask(10, () -> { - this.world.a((EntityHuman) null, d0, (double) j + 0.5D, d2, SoundEffects.BLOCK_ENDER_CHEST_CLOSE, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); + this.world.playSound((EntityHuman) null, d0, (double) j + 0.5D, d2, SoundEffects.BLOCK_ENDER_CHEST_CLOSE, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); - } + }); -+ // Paper end if (this.a < 0.0F) { this.a = 0.0F; -@@ -79,11 +102,13 @@ public class TileEntityEnderChest extends TileEntity implements ITickable { +@@ -79,11 +101,13 @@ public class TileEntityEnderChest extends TileEntity implements ITickable { public void d() { ++this.c; this.world.playBlockAction(this.position, Blocks.ENDER_CHEST, 1, this.c); diff --git a/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch b/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch index dcc1eee01..f46563b79 100644 --- a/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch +++ b/Spigot-Server-Patches/0023-Further-improve-server-tick-loop.patch @@ -1,4 +1,4 @@ -From 5648b0bef0e03aef5d7b335d56c3d87e611ce8be Mon Sep 17 00:00:00 2001 +From 999afc724c832e02f43f5a53eb3d718fec26ca49 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:09:29 -0600 Subject: [PATCH] Further improve server tick loop @@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1346fc35c5..968ce67956 100644 +index e709b9123d..c16f2a9c16 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -147,7 +147,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; public File bukkitDataPackFolder; -@@ -157,7 +157,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 1 Mar 2016 23:45:08 -0600 Subject: [PATCH] Entity Origin API diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 716892c72..8f97aa296 100644 +index 40dcb31258..5f85eb2ba2 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -163,6 +163,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -51,10 +51,10 @@ index 716892c72..8f97aa296 100644 NBTTagList nbttaglist = new NBTTagList(); double[] adouble1 = adouble; diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 7fb0c0e06..9d86beda9 100644 +index f8d8d8f353..0f9fa41133 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java -@@ -253,6 +253,14 @@ public class EntityFallingBlock extends Entity { +@@ -254,6 +254,14 @@ public class EntityFallingBlock extends Entity { this.block = Blocks.SAND.getBlockData(); } @@ -70,7 +70,7 @@ index 7fb0c0e06..9d86beda9 100644 public void a(boolean flag) { diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index e988abd67..f2ee53ab9 100644 +index e988abd67c..f2ee53ab90 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -104,6 +104,14 @@ public class EntityTNTPrimed extends Entity { @@ -89,7 +89,7 @@ index e988abd67..f2ee53ab9 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index ce510c486..b7c94fe23 100644 +index ce510c4867..b7c94fe238 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -161,6 +161,7 @@ public class NBTTagList extends NBTList { @@ -101,11 +101,11 @@ index ce510c486..b7c94fe23 100644 if (i >= 0 && i < this.list.size()) { NBTBase nbtbase = (NBTBase) this.list.get(i); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 69af071e6..458c14e1d 100644 +index aaf3882634..b9e1816e82 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1104,6 +1104,11 @@ public class WorldServer extends World { - this.I.add(((EntityInsentient) entity).getNavigation()); +@@ -1101,6 +1101,11 @@ public class WorldServer extends World { + this.H.add(((EntityInsentient) entity).getNavigation()); } entity.valid = true; // CraftBukkit + // Paper start - Set origin location when the entity is being added to the world @@ -117,7 +117,7 @@ index 69af071e6..458c14e1d 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a98f6f338..d1d37c06b 100644 +index a98f6f3389..d1d37c06bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1009,4 +1009,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0030-Configurable-end-credits.patch b/Spigot-Server-Patches/0030-Configurable-end-credits.patch index 138aa3d76..fdb929645 100644 --- a/Spigot-Server-Patches/0030-Configurable-end-credits.patch +++ b/Spigot-Server-Patches/0030-Configurable-end-credits.patch @@ -1,4 +1,4 @@ -From 7cfb4c83487da77cd975787dbdb2a5bac003b3d1 Mon Sep 17 00:00:00 2001 +From f13f1a117cb7ab0d080989a022144036df1e9404 Mon Sep 17 00:00:00 2001 From: DoctorDark Date: Wed, 16 Mar 2016 02:21:39 -0500 Subject: [PATCH] Configurable end credits @@ -20,7 +20,7 @@ index a797a57671..c2b9690a0c 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 90bcb01e3a..b907600db9 100644 +index d960d117f8..f3a9c0f2b4 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -60,7 +60,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -32,7 +32,7 @@ index 90bcb01e3a..b907600db9 100644 private final RecipeBookServer recipeBook; private Vec3D cr; private int cs; -@@ -706,6 +706,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -707,6 +707,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.getWorldServer().removePlayer(this); if (!this.viewingCredits) { this.viewingCredits = true; diff --git a/Spigot-Server-Patches/0032-Optimize-explosions.patch b/Spigot-Server-Patches/0032-Optimize-explosions.patch index e58790440..ef72264b4 100644 --- a/Spigot-Server-Patches/0032-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0032-Optimize-explosions.patch @@ -1,4 +1,4 @@ -From 0c07fa8b0166461f1f94dc0d8a825d4a5c1066eb Mon Sep 17 00:00:00 2001 +From 85255374d47dda4ae56b01c57b7a66978c0fb320 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 11:59:48 -0600 Subject: [PATCH] Optimize explosions @@ -25,7 +25,7 @@ index c2b9690a0c..a5ec0bc0e0 100644 + } } diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 7c1305164d..594e7bd94c 100644 +index cdd8939504..bd6a0bd16b 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -172,7 +172,7 @@ public class Explosion { @@ -123,10 +123,10 @@ index 7c1305164d..594e7bd94c 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 968ce67956..ffa208e81b 100644 +index c16f2a9c16..85c04d4035 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1129,6 +1129,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Wed, 2 Mar 2016 14:52:43 -0600 Subject: [PATCH] Disable thunder @@ -19,10 +19,10 @@ index 6a307d5dd6..bf0cd6a8b4 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 458c14e1d1..5358c7379a 100644 +index b9e1816e82..9555afbd8d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -385,7 +385,7 @@ public class WorldServer extends World { +@@ -383,7 +383,7 @@ public class WorldServer extends World { gameprofilerfiller.enter("thunder"); BlockPosition blockposition; diff --git a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch index 22121e896..9d3174eb7 100644 --- a/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch +++ b/Spigot-Server-Patches/0035-Disable-ice-and-snow.patch @@ -1,4 +1,4 @@ -From f5f389e934a6c08470c975a0f85441748562ddf6 Mon Sep 17 00:00:00 2001 +From 6b7e6ab5ed2af58cd941e6d5715778ee5ea21c4b Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:57:24 -0600 Subject: [PATCH] Disable ice and snow @@ -19,10 +19,10 @@ index bf0cd6a8b4..8db5c3f3fe 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5358c7379a..b72e1b8062 100644 +index 9555afbd8d..eaa2ff33c8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -405,7 +405,7 @@ public class WorldServer extends World { +@@ -403,7 +403,7 @@ public class WorldServer extends World { } gameprofilerfiller.exitEnter("iceandsnow"); diff --git a/Spigot-Server-Patches/0037-Send-absolute-position-the-first-time-an-entity-is-s.patch b/Spigot-Server-Patches/0037-Send-absolute-position-the-first-time-an-entity-is-s.patch index 907e651be..e0c9e962f 100644 --- a/Spigot-Server-Patches/0037-Send-absolute-position-the-first-time-an-entity-is-s.patch +++ b/Spigot-Server-Patches/0037-Send-absolute-position-the-first-time-an-entity-is-s.patch @@ -1,11 +1,11 @@ -From 0e886139b4309506fbf412f759388adf5e9e712d Mon Sep 17 00:00:00 2001 +From 612915a00e67427a0bc209686be7c6b15e3c43dc Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Wed, 2 Mar 2016 23:13:07 -0600 Subject: [PATCH] Send absolute position the first time an entity is seen diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index cf0e1a6a0..f04a9d18c 100644 +index cf0e1a6a0c..f04a9d18c4 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -77,10 +77,10 @@ index cf0e1a6a0..f04a9d18c 100644 this.c(); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index ec7824baf..c352c71d0 100644 +index 1dec47bc18..e2ab4b1bfb 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -1115,10 +1115,14 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1165,10 +1165,14 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private final Entity tracker; private final int trackingDistance; private SectionPosition e; @@ -97,7 +97,7 @@ index ec7824baf..c352c71d0 100644 this.tracker = entity; this.trackingDistance = i; this.e = SectionPosition.a(entity); -@@ -1200,7 +1204,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1250,7 +1254,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { entityplayer.removeQueue.remove(Integer.valueOf(this.tracker.getId())); // CraftBukkit end diff --git a/Spigot-Server-Patches/0038-Add-BeaconEffectEvent.patch b/Spigot-Server-Patches/0038-Add-BeaconEffectEvent.patch index e97bb0e95..6f8bb534f 100644 --- a/Spigot-Server-Patches/0038-Add-BeaconEffectEvent.patch +++ b/Spigot-Server-Patches/0038-Add-BeaconEffectEvent.patch @@ -1,11 +1,11 @@ -From 16c38581b8016682a071558fc9f55670de35a84e Mon Sep 17 00:00:00 2001 +From d2e4d23521f1cc249c8ac8f6a5cc93c5c83240db Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 23:30:53 -0600 Subject: [PATCH] Add BeaconEffectEvent diff --git a/src/main/java/net/minecraft/server/TileEntityBeacon.java b/src/main/java/net/minecraft/server/TileEntityBeacon.java -index 4ad19515a4..ef3a7260fd 100644 +index 69d59a9f88..e510234db5 100644 --- a/src/main/java/net/minecraft/server/TileEntityBeacon.java +++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java @@ -14,6 +14,11 @@ import org.bukkit.craftbukkit.potion.CraftPotionUtil; @@ -20,7 +20,7 @@ index 4ad19515a4..ef3a7260fd 100644 public class TileEntityBeacon extends TileEntity implements ITileInventory, ITickable { -@@ -240,14 +245,31 @@ public class TileEntityBeacon extends TileEntity implements ITileInventory, ITic +@@ -242,14 +247,31 @@ public class TileEntityBeacon extends TileEntity implements ITileInventory, ITic } private void applyEffect(List list, MobEffectList effects, int i, int b0) { @@ -53,7 +53,7 @@ index 4ad19515a4..ef3a7260fd 100644 } } } -@@ -270,10 +292,10 @@ public class TileEntityBeacon extends TileEntity implements ITileInventory, ITic +@@ -272,10 +294,10 @@ public class TileEntityBeacon extends TileEntity implements ITileInventory, ITic int i = getLevel(); List list = getHumansInRange(); @@ -67,5 +67,5 @@ index 4ad19515a4..ef3a7260fd 100644 } -- -2.21.0 +2.22.0 diff --git a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch index cd1948a08..5657f5692 100644 --- a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch +++ b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch @@ -1,4 +1,4 @@ -From 5af5ec5c5b6a59f8b838c9d126e7945edaa383e6 Mon Sep 17 00:00:00 2001 +From b4e632bf15f5e3621eaa2fd9dc4fc0f787a2973f Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 01:17:12 -0600 Subject: [PATCH] Ensure commands are not ran async @@ -14,10 +14,10 @@ big slowdown in execution but throwing an exception at same time to raise awaren that it is happening so that plugin authors can fix their code to stop executing commands async. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index d6550af41..58e7cede6 100644 +index 36c56773f3..962362889a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1588,6 +1588,29 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1553,6 +1553,29 @@ public class PlayerConnection implements PacketListenerPlayIn { } if (!async && s.startsWith("/")) { @@ -48,7 +48,7 @@ index d6550af41..58e7cede6 100644 } else if (this.player.getChatFlags() == EnumChatVisibility.SYSTEM) { // Do nothing, this is coming from a plugin diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cbee3453c..905fc64e5 100644 +index 8cdaf4758d..63e26ae4b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -707,6 +707,29 @@ public final class CraftServer implements Server { @@ -82,7 +82,7 @@ index cbee3453c..905fc64e5 100644 return true; } diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java -index ddef523ea..70f8d4299 100644 +index ddef523ea8..70f8d42992 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java +++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java @@ -13,6 +13,7 @@ public class ServerShutdownThread extends Thread { @@ -94,7 +94,7 @@ index ddef523ea..70f8d4299 100644 } finally { try { diff --git a/src/main/java/org/spigotmc/AsyncCatcher.java b/src/main/java/org/spigotmc/AsyncCatcher.java -index aeed76972..9f7d2ef93 100644 +index aeed769725..9f7d2ef932 100644 --- a/src/main/java/org/spigotmc/AsyncCatcher.java +++ b/src/main/java/org/spigotmc/AsyncCatcher.java @@ -6,6 +6,7 @@ public class AsyncCatcher @@ -106,7 +106,7 @@ index aeed76972..9f7d2ef93 100644 public static void catchOp(String reason) { diff --git a/src/main/java/org/spigotmc/RestartCommand.java b/src/main/java/org/spigotmc/RestartCommand.java -index e7b953ca3..ccea803f5 100644 +index e7b953ca31..ccea803f58 100644 --- a/src/main/java/org/spigotmc/RestartCommand.java +++ b/src/main/java/org/spigotmc/RestartCommand.java @@ -43,6 +43,7 @@ public class RestartCommand extends Command diff --git a/Spigot-Server-Patches/0047-Be-a-bit-more-informative-in-maxHealth-exception.patch b/Spigot-Server-Patches/0047-Be-a-bit-more-informative-in-maxHealth-exception.patch index 56d04d05d..874a73099 100644 --- a/Spigot-Server-Patches/0047-Be-a-bit-more-informative-in-maxHealth-exception.patch +++ b/Spigot-Server-Patches/0047-Be-a-bit-more-informative-in-maxHealth-exception.patch @@ -1,11 +1,11 @@ -From f9531fb0b9e20cc195b415bf63ba04f5f7c29ed3 Mon Sep 17 00:00:00 2001 +From 79217cb0b53cf7dc77e9e07086ee7a54f7364ef0 Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 3 Mar 2016 02:18:39 -0600 Subject: [PATCH] Be a bit more informative in maxHealth exception diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 2e007d4ffc..82b3c0a7de 100644 +index 2e007d4ffc..4948e61da9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -104,7 +104,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -15,7 +15,7 @@ index 2e007d4ffc..82b3c0a7de 100644 - throw new IllegalArgumentException("Health must be between 0 and " + getMaxHealth() + "(" + health + ")"); + // Paper - Be more informative + throw new IllegalArgumentException("Health must be between 0 and " + getMaxHealth() + ", but was " + health -+ + ". (attribute base value: " + this.getHandle().getAttributeInstance(GenericAttributes.MAX_HEALTH).b() ++ + ". (attribute base value: " + this.getHandle().getAttributeInstance(GenericAttributes.MAX_HEALTH).getBaseValue() + + (this instanceof CraftPlayer ? ", player: " + this.getName() + ')' : ')')); } diff --git a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch index 0ceeda706..00ebbe4fd 100644 --- a/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch +++ b/Spigot-Server-Patches/0050-Change-implementation-of-tile-entity-removal-list.patch @@ -1,4 +1,4 @@ -From 9b645dc69e99bc1f83333143abae570679e5b032 Mon Sep 17 00:00:00 2001 +From 1eccbe939abff45b26650e89f4db915f53c5b36b Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:39:54 -0600 Subject: [PATCH] Change implementation of (tile)entity removal list @@ -6,7 +6,7 @@ Subject: [PATCH] Change implementation of (tile)entity removal list use sets for faster removal diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 59c4fdbd9d..17d1dc93bc 100644 +index f5590f5ab2..d80497e993 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -40,7 +40,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -17,7 +17,7 @@ index 59c4fdbd9d..17d1dc93bc 100644 + protected final java.util.Set tileEntityListUnload = com.google.common.collect.Sets.newHashSet(); // Paper private final long b = 16777215L; private final Thread serverThread; - private int d; + private int u; -- 2.22.0 diff --git a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch index b5e6ed1cb..d16ab2eb8 100644 --- a/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0054-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 599de7111c22e14f4eb714ace7d8b832e772723a Mon Sep 17 00:00:00 2001 +From cf75b4463e247e36daca0616d92949435ca35c66 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java new file mode 100644 -index 000000000..f699ce18c +index 0000000000..f699ce18ca --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java @@ -0,0 +1,38 @@ @@ -49,7 +49,7 @@ index 000000000..f699ce18c + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index f6f5b72de..ec64391a4 100644 +index 46635a5308..6c13ae3bae 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -80,10 +80,10 @@ index f6f5b72de..ec64391a4 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 534636889..cafa244fd 100644 +index 25e0163c60..4e60de0b6e 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -14,6 +14,9 @@ import java.util.function.BooleanSupplier; +@@ -15,6 +15,9 @@ import java.util.function.BooleanSupplier; import java.util.function.Function; import java.util.function.Supplier; import javax.annotation.Nullable; @@ -94,7 +94,7 @@ index 534636889..cafa244fd 100644 public class ChunkProviderServer extends IChunkProvider { diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 2cb0962ff..21a8ed323 100644 +index 2cb0962ff1..21a8ed3231 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -1,5 +1,6 @@ @@ -121,10 +121,10 @@ index 2cb0962ff..21a8ed323 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index c352c71d0..b5ae705d9 100644 +index e2ab4b1bfb..14b0875eee 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -674,6 +674,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -681,6 +681,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.world.checkSession(); } catch (ExceptionWorldConflict exceptionworldconflict) { PlayerChunkMap.LOGGER.error("Couldn't save chunk; already in use by another instance of Minecraft?", exceptionworldconflict); @@ -132,7 +132,7 @@ index c352c71d0..b5ae705d9 100644 return false; } -@@ -701,6 +702,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -708,6 +709,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { return true; } catch (Exception exception) { PlayerChunkMap.LOGGER.error("Failed to save chunk {},{}", chunkcoordintpair.x, chunkcoordintpair.z, exception); @@ -141,7 +141,7 @@ index c352c71d0..b5ae705d9 100644 } } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index d4a9af975..88b5aa3a5 100644 +index d4a9af975d..88b5aa3a51 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -168,7 +168,7 @@ index d4a9af975..88b5aa3a5 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index a54d65337..4aa65c193 100644 +index fc2bb1d693..9c065c9997 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -8,6 +8,7 @@ import org.apache.logging.log4j.LogManager; @@ -179,15 +179,15 @@ index a54d65337..4aa65c193 100644 import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; // CraftBukkit end -@@ -83,6 +84,7 @@ public final class SpawnerCreature { - entityinsentient = (EntityInsentient) entity; - } catch (Exception exception) { - SpawnerCreature.LOGGER.warn("Failed to create mob", exception); -+ ServerInternalException.reportInternalException(exception); // Paper - return; - } +@@ -86,6 +87,7 @@ public final class SpawnerCreature { + entityinsentient = (EntityInsentient) entity; + } catch (Exception exception) { + SpawnerCreature.LOGGER.warn("Failed to create mob", exception); ++ ServerInternalException.reportInternalException(exception); // Paper + return; + } -@@ -210,6 +212,7 @@ public final class SpawnerCreature { +@@ -214,6 +216,7 @@ public final class SpawnerCreature { entity = biomebase_biomemeta.b.a(generatoraccess.getMinecraftWorld()); } catch (Exception exception) { SpawnerCreature.LOGGER.warn("Failed to create mob", exception); @@ -196,7 +196,7 @@ index a54d65337..4aa65c193 100644 } diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java -index 0a1d342c1..347608531 100644 +index a58d3ba4cd..6e4c5d4d8f 100644 --- a/src/main/java/net/minecraft/server/VillageSiege.java +++ b/src/main/java/net/minecraft/server/VillageSiege.java @@ -1,5 +1,7 @@ @@ -207,8 +207,8 @@ index 0a1d342c1..347608531 100644 import java.util.Iterator; import javax.annotation.Nullable; -@@ -97,6 +99,7 @@ public class VillageSiege { - entityzombie.prepare(this.a, this.a.getDamageScaler(new BlockPosition(entityzombie)), EnumMobSpawn.EVENT, (GroupDataEntity) null, (NBTTagCompound) null); +@@ -100,6 +102,7 @@ public class VillageSiege { + entityzombie.prepare(worldserver, worldserver.getDamageScaler(new BlockPosition(entityzombie)), EnumMobSpawn.EVENT, (GroupDataEntity) null, (NBTTagCompound) null); } catch (Exception exception) { exception.printStackTrace(); + ServerInternalException.reportInternalException(exception); // Paper @@ -216,7 +216,7 @@ index 0a1d342c1..347608531 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c58c95b03..d2062b335 100644 +index d80497e993..6e7f72a1a4 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2,6 +2,9 @@ package net.minecraft.server; @@ -255,7 +255,7 @@ index c58c95b03..d2062b335 100644 return; // Paper end diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java -index f5f540032..00e9a1735 100644 +index f5f540032f..00e9a17355 100644 --- a/src/main/java/net/minecraft/server/WorldPersistentData.java +++ b/src/main/java/net/minecraft/server/WorldPersistentData.java @@ -121,6 +121,7 @@ public class WorldPersistentData { @@ -267,7 +267,7 @@ index f5f540032..00e9a1735 100644 } finally { if (pushbackinputstream != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 8823f94f7..552daf437 100644 +index 8823f94f7b..552daf4376 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -16,6 +16,9 @@ import java.util.concurrent.atomic.AtomicInteger; diff --git a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch index fdf8b8619..dd3945d01 100644 --- a/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch +++ b/Spigot-Server-Patches/0058-Complete-resource-pack-API.patch @@ -1,14 +1,14 @@ -From cb101e53b32e46961baa2986c56a7b1037e7ff1f Mon Sep 17 00:00:00 2001 +From 66cd8b650ee784167dc1ccb379ca3ac3072e4ca2 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 4 Apr 2015 23:17:52 -0400 Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 58e7cede6..8d325db4a 100644 +index 962362889a..7906b67570 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1353,7 +1353,11 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1318,7 +1318,11 @@ public class PlayerConnection implements PacketListenerPlayIn { // CraftBukkit start public void a(PacketPlayInResourcePackStatus packetplayinresourcepackstatus) { PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer()); @@ -22,7 +22,7 @@ index 58e7cede6..8d325db4a 100644 // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f4b3b7ff0..2e0621b88 100644 +index 3be0c60b5c..dbd34b1432 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -134,6 +134,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch index 78d699e53..997a37f63 100644 --- a/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0066-Add-World-Util-Methods.patch @@ -1,4 +1,4 @@ -From 157c060e8b929f22ff86400308741af965a75ddc Mon Sep 17 00:00:00 2001 +From b049e61067c54dcf37d13269adc3c886c08ed1b7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 20:16:03 -0400 Subject: [PATCH] Add World Util Methods @@ -6,7 +6,7 @@ Subject: [PATCH] Add World Util Methods Methods that can be used for other patches to help improve logic. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ec64391a4a..4aaf20dfcb 100644 +index 6c13ae3bae..77d6d5e6eb 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -371,6 +371,7 @@ public class Chunk implements IChunkAccess { @@ -18,17 +18,17 @@ index ec64391a4a..4aaf20dfcb 100644 return this.a(blockposition, i, this.world.getWorldProvider().g()); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f3f10ca60e..769d59271a 100644 +index 6e7f72a1a4..b1a3717d30 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -46,7 +46,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose protected final java.util.Set tileEntityListUnload = com.google.common.collect.Sets.newHashSet(); // Paper private final long b = 16777215L; private final Thread serverThread; -- private int d; -+ private int d; public int getSkylightSubtracted() { return this.d; } public void setSkylightSubtracted(int value) { this.d = value;} // Paper - OBFHELPER - protected int j = (new Random()).nextInt(); - protected final int k = 1013904223; +- private int u; ++ private int u; public int getSkylightSubtracted() { return this.u; } public void setSkylightSubtracted(int value) { this.u = value;} // Paper - OBFHELPER + protected int i = (new Random()).nextInt(); + protected final int j = 1013904223; protected float lastRainLevel; @@ -208,6 +208,54 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose return i < 0 || i >= 256; diff --git a/Spigot-Server-Patches/0067-Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/0067-Custom-replacement-for-eaten-items.patch index 697bb2ede..4e69dff84 100644 --- a/Spigot-Server-Patches/0067-Custom-replacement-for-eaten-items.patch +++ b/Spigot-Server-Patches/0067-Custom-replacement-for-eaten-items.patch @@ -1,11 +1,11 @@ -From 8f8be849cf05bfb4adbb69d9946489c33b770ffc Mon Sep 17 00:00:00 2001 +From f77b9c5b4e36960ad5e5abb91bb4ddd2d271a65a Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 21 Jun 2015 15:07:20 -0400 Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 0b21c0b8dd..645b7f605c 100644 +index acd6a3f142..f32408b3b5 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2817,12 +2817,13 @@ public abstract class EntityLiving extends Entity { @@ -35,7 +35,7 @@ index 0b21c0b8dd..645b7f605c 100644 + // Paper end this.a(this.getRaisedHand(), itemstack); // CraftBukkit end - this.dq(); + this.dp(); + // Paper start - if the replacement is anything but the default, update the client inventory + if (this instanceof EntityPlayer && !com.google.common.base.Objects.equal(defaultReplacement, itemstack)) { + ((EntityPlayer) this).getBukkitEntity().updateInventory(); diff --git a/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch index d1e4423f0..fe3221257 100644 --- a/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/Spigot-Server-Patches/0071-Configurable-spawn-chances-for-skeleton-horses.patch @@ -1,4 +1,4 @@ -From cd5273fe9fa835c8840a82f4844be6f873b88cc7 Mon Sep 17 00:00:00 2001 +From c3fa37daab3af14e540958f9d1754deac692251a Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 22 Mar 2016 12:04:28 -0500 Subject: [PATCH] Configurable spawn chances for skeleton horses @@ -22,10 +22,10 @@ index 98049567f4..2a71381dae 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index b72e1b8062..48ee9d7a5c 100644 +index eaa2ff33c8..252fbb36eb 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -389,7 +389,7 @@ public class WorldServer extends World { +@@ -387,7 +387,7 @@ public class WorldServer extends World { blockposition = this.a(this.a(j, 0, k, 15)); if (this.isRainingAt(blockposition)) { DifficultyDamageScaler difficultydamagescaler = this.getDamageScaler(blockposition); diff --git a/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index ebece3e3e..3c630ca51 100644 --- a/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/Spigot-Server-Patches/0074-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -1,4 +1,4 @@ -From 9c9058dddd0f28532ee7dd70b53b47f330ac8a6d Mon Sep 17 00:00:00 2001 +From ac322fe105093fc639e571fac8a0e5cce52c5b6a Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 19:55:45 -0400 Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener @@ -32,10 +32,10 @@ index ef392f5fe8..227fe073fd 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ffa208e81b..a87df2b6fb 100644 +index 85c04d4035..1cbb8b1ef7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1095,6 +1095,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant { return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 822db5d4c0..93a061b6b2 100644 +index c40777ecb8..cb5515dc3b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -440,7 +440,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -66,10 +66,10 @@ index 822db5d4c0..93a061b6b2 100644 this.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index b5ff34443c..b7e98bc269 100644 +index 252fbb36eb..44ababac7a 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -68,6 +68,7 @@ public class WorldServer extends World { +@@ -71,6 +71,7 @@ public class WorldServer extends World { // CraftBukkit start private int tickPosition; diff --git a/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch index 6ccf44363..e238350c1 100644 --- a/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-Server-Patches/0075-Entity-AddTo-RemoveFrom-World-Events.patch @@ -1,14 +1,14 @@ -From 41fc6241ac74a486d2515d43f542b4d0c04c192d Mon Sep 17 00:00:00 2001 +From 8840587b8d1c787f21915ab058e88d720e56403c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:32:58 -0400 Subject: [PATCH] Entity AddTo/RemoveFrom World Events diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 443986ef3a..28a6a62dfc 100644 +index 44ababac7a..d2e6bd8c39 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1110,6 +1110,7 @@ public class WorldServer extends World { +@@ -1107,6 +1107,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -16,7 +16,7 @@ index 443986ef3a..28a6a62dfc 100644 } } -@@ -1119,6 +1120,7 @@ public class WorldServer extends World { +@@ -1116,6 +1117,7 @@ public class WorldServer extends World { if (this.tickingEntities) { throw new IllegalStateException("Removing entity while ticking!"); } else { diff --git a/Spigot-Server-Patches/0077-EntityPathfindEvent.patch b/Spigot-Server-Patches/0077-EntityPathfindEvent.patch index 40f577047..1d33a6398 100644 --- a/Spigot-Server-Patches/0077-EntityPathfindEvent.patch +++ b/Spigot-Server-Patches/0077-EntityPathfindEvent.patch @@ -1,4 +1,4 @@ -From 59ebe95337d3e98711219afb2c04a22a213cd3f0 Mon Sep 17 00:00:00 2001 +From 774c6237e4c391735a13a083af901713e91a82ea Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 21:22:26 -0400 Subject: [PATCH] EntityPathfindEvent @@ -6,23 +6,23 @@ Subject: [PATCH] EntityPathfindEvent Fires when an Entity decides to start moving to a location. diff --git a/src/main/java/net/minecraft/server/Navigation.java b/src/main/java/net/minecraft/server/Navigation.java -index 04ccf141ce..e15728668e 100644 +index 9ca0e2c9d0..fd1dbb1085 100644 --- a/src/main/java/net/minecraft/server/Navigation.java +++ b/src/main/java/net/minecraft/server/Navigation.java @@ -60,7 +60,7 @@ public class Navigation extends NavigationAbstract { @Override - public PathEntity a(Entity entity) { -- return this.b(new BlockPosition(entity)); -+ return this.b(new BlockPosition(entity), entity); // Paper - Forward target entity + public PathEntity a(Entity entity, int i) { +- return this.a(new BlockPosition(entity), i); ++ return this.a(new BlockPosition(entity), entity, i); // Paper - Forward target entity } private int t() { diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 4a03bd9800..a9f17b0318 100644 +index 4e49133b03..4d04ba8fc6 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -4,7 +4,7 @@ import javax.annotation.Nullable; +@@ -8,7 +8,7 @@ import javax.annotation.Nullable; public abstract class NavigationAbstract { @@ -31,63 +31,69 @@ index 4a03bd9800..a9f17b0318 100644 protected final World b; @Nullable protected PathEntity c; -@@ -71,13 +71,15 @@ public abstract class NavigationAbstract { - return this.b(new BlockPosition(d0, d1, d2)); - } +@@ -83,16 +83,26 @@ public abstract class NavigationAbstract { -- @Nullable -- public PathEntity b(BlockPosition blockposition) { -+ // Paper start - Add target entity parameter for path find event -+ @Nullable public PathEntity b(BlockPosition blockposition) { return this.b(blockposition, null); } -+ @Nullable public PathEntity b(BlockPosition blockposition, Entity target) { + @Nullable + public PathEntity a(BlockPosition blockposition, int i) { +- return this.a(ImmutableSet.of(blockposition), 8, false, i); ++ // Paper start - add target parameter ++ return this.a(blockposition, null, i); ++ } ++ @Nullable public PathEntity a(BlockPosition blockposition, Entity target, int i) { ++ return this.a(ImmutableSet.of(blockposition), target, 8, false, i); + // Paper end - float f = (float) blockposition.getX() + 0.5F; - float f1 = (float) blockposition.getY() + 0.5F; - float f2 = (float) blockposition.getZ() + 0.5F; - -- return this.a(blockposition, (double) f, (double) f1, (double) f2, 8, false); -+ return this.a(blockposition, target, (double) f, (double) f1, (double) f2, 8, false); // Paper - Path find event } @Nullable -@@ -87,11 +89,12 @@ public abstract class NavigationAbstract { - double d1 = entity.getBoundingBox().minY; - double d2 = entity.locZ; - -- return this.a(blockposition, d0, d1, d2, 16, true); -+ return this.a(blockposition, entity, d0, d1, d2, 16, true); // Paper - Path find event + public PathEntity a(Entity entity, int i) { +- return this.a(ImmutableSet.of(new BlockPosition(entity)), 16, true, i); ++ return this.a(ImmutableSet.of(new BlockPosition(entity)), entity, 16, true, i); // Paper } @Nullable -- protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) { -+ protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) { return this.a(blockposition, null, d0, d1, d2, i, flag); } -+ @Nullable protected PathEntity a(BlockPosition blockposition, Entity target, double d0, double d1, double d2, int i, boolean flag) { - if (this.a.locY < 0.0D) { ++ // Paper start - Add target + protected PathEntity a(Set set, int i, boolean flag, int j) { ++ return this.a(set, null, i, flag, j); ++ } ++ @Nullable protected PathEntity a(Set set, Entity target, int i, boolean flag, int j) { ++ // Paper end + if (set.isEmpty()) { return null; - } else if (!this.a()) { -@@ -99,6 +102,12 @@ public abstract class NavigationAbstract { - } else if (this.c != null && !this.c.b() && blockposition.equals(this.q)) { + } else if (this.a.locY < 0.0D) { +@@ -102,6 +112,23 @@ public abstract class NavigationAbstract { + } else if (this.c != null && !this.c.b() && set.contains(this.q)) { return this.c; } else { + // Paper start - Pathfind event -+ if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), -+ MCUtil.toLocation(getEntity().world, blockposition), target == null ? null : target.getBukkitEntity()).callEvent()) { -+ return null; ++ boolean copiedSet = false; ++ for (BlockPosition possibleTarget : set) { ++ if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), ++ MCUtil.toLocation(getEntity().world, possibleTarget), target == null ? null : target.getBukkitEntity()).callEvent()) { ++ if (!copiedSet) { ++ copiedSet = true; ++ set = new java.util.HashSet<>(set); ++ } ++ // note: since we copy the set this remove call is safe, since we're iterating over the old copy ++ set.remove(possibleTarget); ++ if (set.isEmpty()) { ++ return null; ++ } ++ } + } + // Paper end - this.q = blockposition.immutableCopy(); + this.b.getMethodProfiler().enter("pathfind"); float f = this.i(); - + BlockPosition blockposition = flag ? (new BlockPosition(this.a)).up() : new BlockPosition(this.a); diff --git a/src/main/java/net/minecraft/server/NavigationFlying.java b/src/main/java/net/minecraft/server/NavigationFlying.java -index 9dfca6067f..551ff417bd 100644 +index f5844a7260..fbf5752aa5 100644 --- a/src/main/java/net/minecraft/server/NavigationFlying.java +++ b/src/main/java/net/minecraft/server/NavigationFlying.java @@ -25,7 +25,7 @@ public class NavigationFlying extends NavigationAbstract { @Override - public PathEntity a(Entity entity) { -- return this.b(new BlockPosition(entity)); -+ return this.b(new BlockPosition(entity), entity); // Paper - Pathfind event + public PathEntity a(Entity entity, int i) { +- return this.a(new BlockPosition(entity), i); ++ return this.a(new BlockPosition(entity), entity, i); // Paper - Forward target entity } @Override diff --git a/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch b/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch index fd0393e6a..5f5d7de3d 100644 --- a/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch +++ b/Spigot-Server-Patches/0080-Do-not-load-chunks-for-Pathfinding.patch @@ -1,11 +1,11 @@ -From 3a28632a712e12127804f4157859dc49c0f32b36 Mon Sep 17 00:00:00 2001 +From 5ff0a28a206a6167b2cc2ed85be0bdbc41633c19 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 31 Mar 2016 19:17:58 -0400 Subject: [PATCH] Do not load chunks for Pathfinding diff --git a/src/main/java/net/minecraft/server/ChunkCache.java b/src/main/java/net/minecraft/server/ChunkCache.java -index ccbc1dde0..34e743716 100644 +index 869e8548c6..beb50d2068 100644 --- a/src/main/java/net/minecraft/server/ChunkCache.java +++ b/src/main/java/net/minecraft/server/ChunkCache.java @@ -25,7 +25,7 @@ public class ChunkCache implements IWorldReader { @@ -27,23 +27,23 @@ index ccbc1dde0..34e743716 100644 @Override diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index a9f17b031..8b05b8acd 100644 +index 4d04ba8fc6..126c05adc7 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -22,7 +22,7 @@ public abstract class NavigationAbstract { - protected long n; +@@ -27,7 +27,7 @@ public abstract class NavigationAbstract { protected PathfinderAbstract o; private BlockPosition q; -- private Pathfinder r; -+ private Pathfinder r; public Pathfinder getPathfinder() { return r; } // Paper - OBFHELPER + private int r; +- private Pathfinder s; ++ private Pathfinder s; public Pathfinder getPathfinder() { return this.s; } // Paper - OBFHELPER public NavigationAbstract(EntityInsentient entityinsentient, World world) { this.g = Vec3D.a; diff --git a/src/main/java/net/minecraft/server/Pathfinder.java b/src/main/java/net/minecraft/server/Pathfinder.java -index 359d9a11c..262fa5585 100644 +index 30b4569a39..0cec80ec7d 100644 --- a/src/main/java/net/minecraft/server/Pathfinder.java +++ b/src/main/java/net/minecraft/server/Pathfinder.java -@@ -12,7 +12,7 @@ public class Pathfinder { +@@ -19,7 +19,7 @@ public class Pathfinder { private final Set b = Sets.newHashSet(); private final PathPoint[] c = new PathPoint[32]; private final int d; @@ -53,7 +53,7 @@ index 359d9a11c..262fa5585 100644 public Pathfinder(PathfinderAbstract pathfinderabstract, int i) { this.e = pathfinderabstract; diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java -index 593f13af4..80fcb66e3 100644 +index 617c29a58a..45fd135034 100644 --- a/src/main/java/net/minecraft/server/PathfinderNormal.java +++ b/src/main/java/net/minecraft/server/PathfinderNormal.java @@ -355,7 +355,8 @@ public class PathfinderNormal extends PathfinderAbstract { diff --git a/Spigot-Server-Patches/0082-Add-PlayerUseUnknownEntityEvent.patch b/Spigot-Server-Patches/0082-Add-PlayerUseUnknownEntityEvent.patch index 8e415bcad..f853260d9 100644 --- a/Spigot-Server-Patches/0082-Add-PlayerUseUnknownEntityEvent.patch +++ b/Spigot-Server-Patches/0082-Add-PlayerUseUnknownEntityEvent.patch @@ -1,11 +1,11 @@ -From e7e9594d32eab8f5653501e1ed7aec5e623bb583 Mon Sep 17 00:00:00 2001 +From 3a52ecf1b027228b2c9325519362f95f31c7ed8a Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 2 Apr 2016 05:09:16 -0400 Subject: [PATCH] Add PlayerUseUnknownEntityEvent diff --git a/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java b/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java -index 680adbdeb..3f7697b39 100644 +index 680adbdeb0..3f7697b39c 100644 --- a/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java +++ b/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java @@ -5,7 +5,7 @@ import javax.annotation.Nullable; @@ -18,10 +18,10 @@ index 680adbdeb..3f7697b39 100644 private Vec3D c; private EnumHand d; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 8d325db4a..a6bb6a511 100644 +index 7906b67570..32c6e2eca4 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1932,6 +1932,16 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1897,6 +1897,16 @@ public class PlayerConnection implements PacketListenerPlayIn { } } } diff --git a/Spigot-Server-Patches/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/Spigot-Server-Patches/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch index b55a5542a..849106e56 100644 --- a/Spigot-Server-Patches/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch +++ b/Spigot-Server-Patches/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch @@ -1,15 +1,15 @@ -From 0f2946da63e4535f27443aca7732bb5ff9415eac Mon Sep 17 00:00:00 2001 +From 5bd701a50d3bfb1c5e3ee0d9e4943cf228713b68 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 3 Apr 2016 17:48:50 -0400 Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 35fb686d8..b1ce9b874 100644 +index a0e3974a54..07d1505867 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -510,6 +510,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose - public void m(BlockPosition blockposition) {} + public void b(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1) {} public void applyPhysics(BlockPosition blockposition, Block block) { + if (captureBlockStates) { return; } // Paper - Cancel all physics during placement diff --git a/Spigot-Server-Patches/0086-Remove-Debug-checks-from-DataBits.patch b/Spigot-Server-Patches/0086-Remove-Debug-checks-from-DataBits.patch index 0acf622bc..0ca06176e 100644 --- a/Spigot-Server-Patches/0086-Remove-Debug-checks-from-DataBits.patch +++ b/Spigot-Server-Patches/0086-Remove-Debug-checks-from-DataBits.patch @@ -1,4 +1,4 @@ -From 6200eb779aea5a7a90e6e77adee16a5ec273b9ff Mon Sep 17 00:00:00 2001 +From 0bb92ac5ff3a6a438066972a9983b450375cbe92 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Apr 2016 21:38:58 -0400 Subject: [PATCH] Remove Debug checks from DataBits @@ -9,10 +9,10 @@ Before: http://i.imgur.com/nQsMzAE.png After: http://i.imgur.com/nJ46crB.png diff --git a/src/main/java/net/minecraft/server/DataBits.java b/src/main/java/net/minecraft/server/DataBits.java -index 409dc837c..4194acc8b 100644 +index 08d1be3117..a75b08ee33 100644 --- a/src/main/java/net/minecraft/server/DataBits.java +++ b/src/main/java/net/minecraft/server/DataBits.java -@@ -14,7 +14,7 @@ public class DataBits { +@@ -15,7 +15,7 @@ public class DataBits { } public DataBits(int i, int j, long[] along) { @@ -21,7 +21,7 @@ index 409dc837c..4194acc8b 100644 this.d = j; this.b = i; this.a = along; -@@ -27,8 +27,8 @@ public class DataBits { +@@ -28,8 +28,8 @@ public class DataBits { } public int a(int i, int j) { @@ -32,7 +32,7 @@ index 409dc837c..4194acc8b 100644 int k = i * this.b; int l = k >> 6; int i1 = (i + 1) * this.b - 1 >> 6; -@@ -49,8 +49,8 @@ public class DataBits { +@@ -50,8 +50,8 @@ public class DataBits { } public void b(int i, int j) { @@ -43,7 +43,7 @@ index 409dc837c..4194acc8b 100644 int k = i * this.b; int l = k >> 6; int i1 = (i + 1) * this.b - 1 >> 6; -@@ -67,7 +67,7 @@ public class DataBits { +@@ -68,7 +68,7 @@ public class DataBits { } public int a(int i) { diff --git a/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index 858510f5c..41cdc473b 100644 --- a/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,4 +1,4 @@ -From e40c08b3fbb3d17216aa807c6111cc15157fc0d4 Mon Sep 17 00:00:00 2001 +From 8450187c9dae694288aa6eb2c64f2979755efeee Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 6 Apr 2016 01:04:23 -0500 Subject: [PATCH] Option to use vanilla per-world scoreboard coloring on names @@ -12,7 +12,7 @@ for this on CB at one point but I can't find it. We may need to do this ourselves at some point in the future. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 271410337..aeeb7c24e 100644 +index 271410337d..aeeb7c24ef 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -245,4 +245,9 @@ public class PaperWorldConfig { @@ -26,10 +26,10 @@ index 271410337..aeeb7c24e 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index a6bb6a511..c4384bbee 100644 +index 32c6e2eca4..046bcb27e3 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1666,7 +1666,16 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1631,7 +1631,16 @@ public class PlayerConnection implements PacketListenerPlayIn { return; } @@ -48,7 +48,7 @@ index a6bb6a511..c4384bbee 100644 if (((LazyPlayerSet) event.getRecipients()).isLazy()) { for (Object recipient : minecraftServer.getPlayerList().players) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index cce5305fb..d368b3975 100644 +index cce5305fbe..d368b39751 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -177,7 +177,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch index 47b18f3f1..1e71b40ab 100644 --- a/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0089-Remove-unused-World-Tile-Entity-List.patch @@ -1,4 +1,4 @@ -From e4a968963a687d98049c628e230dacbdd1011fcd Mon Sep 17 00:00:00 2001 +From 4e1e1c945760b2c4649778faddc0660e15f4b60b Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 00:25:28 -0400 Subject: [PATCH] Remove unused World Tile Entity List @@ -6,7 +6,7 @@ Subject: [PATCH] Remove unused World Tile Entity List Massive hit to performance and it is completely unnecessary. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b1ce9b874..f396ca691 100644 +index 07d1505867..ebeb48f6dc 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -40,7 +40,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -66,6 +66,28 @@ index b1ce9b874..f396ca691 100644 this.tileEntityListTick.remove(tileentity); } +diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java +index d2e6bd8c39..c81156a7ca 100644 +--- a/src/main/java/net/minecraft/server/WorldServer.java ++++ b/src/main/java/net/minecraft/server/WorldServer.java +@@ -1557,7 +1557,7 @@ public class WorldServer extends World { + } + + bufferedwriter.write(String.format("entities: %d\n", this.entitiesById.size())); +- bufferedwriter.write(String.format("block_entities: %d\n", this.tileEntityList.size())); ++ bufferedwriter.write(String.format("block_entities: %d\n", this.tileEntityListTick.size())); // Paper - remove unused list + bufferedwriter.write(String.format("block_ticks: %d\n", this.getBlockTickList().a())); + bufferedwriter.write(String.format("fluid_ticks: %d\n", this.getFluidTickList().a())); + bufferedwriter.write("distance_manager: " + playerchunkmap.e().c() + "\n"); +@@ -1720,7 +1720,7 @@ public class WorldServer extends World { + + private void a(Writer writer) throws IOException { + CSVWriter csvwriter = CSVWriter.a().a("x").a("y").a("z").a("type").a(writer); +- Iterator iterator = this.tileEntityList.iterator(); ++ Iterator iterator = this.tileEntityListTick.iterator(); // Paper - remove unused list + + while (iterator.hasNext()) { + TileEntity tileentity = (TileEntity) iterator.next(); -- 2.22.0 diff --git a/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch index cc93eb2b9..0e4685aac 100644 --- a/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0091-Configurable-Player-Collision.patch @@ -1,11 +1,11 @@ -From c0d681f2d2654d66987c76f82fba905b96076db8 Mon Sep 17 00:00:00 2001 +From c37becf719c64b0f3313627c7d9e6ee6be8fccd3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 02:10:49 -0400 Subject: [PATCH] Configurable Player Collision diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 0cef1853f..dc3438890 100644 +index 0cef1853f5..dc3438890b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -223,4 +223,9 @@ public class PaperConfig { @@ -19,10 +19,10 @@ index 0cef1853f..dc3438890 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a87df2b6f..ccfe1b4c3 100644 +index 1cbb8b1ef7..257258c189 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -436,6 +436,20 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Sat, 16 Apr 2016 00:39:33 -0400 Subject: [PATCH] Configurable RCON IP address @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable RCON IP address For servers with multiple IP's, ability to bind to a specific interface. diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -index 4af81c886..fb092a941 100644 +index ad1e3508a7..0c3ec83570 100644 --- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java -@@ -53,6 +53,8 @@ public class DedicatedServerProperties extends PropertyManager.EditableProperty playerIdleTimeout; public final PropertyManager.EditableProperty whiteList; @@ -18,7 +18,7 @@ index 4af81c886..fb092a941 100644 // CraftBukkit start public DedicatedServerProperties(Properties properties, OptionSet optionset) { super(properties, optionset); -@@ -98,6 +100,10 @@ public class DedicatedServerProperties extends PropertyManager> { @@ -45,7 +45,7 @@ index d7e81a6d9..729455ce5 100644 } diff --git a/src/main/java/net/minecraft/server/RemoteControlListener.java b/src/main/java/net/minecraft/server/RemoteControlListener.java -index e48d6dcd7..2ce490be0 100644 +index e48d6dcd74..2ce490be00 100644 --- a/src/main/java/net/minecraft/server/RemoteControlListener.java +++ b/src/main/java/net/minecraft/server/RemoteControlListener.java @@ -25,7 +25,7 @@ public class RemoteControlListener extends RemoteConnectionThread { diff --git a/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch index 1c0120aca..bf94c39c0 100644 --- a/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch +++ b/Spigot-Server-Patches/0095-Implement-PlayerLocaleChangeEvent.patch @@ -1,11 +1,11 @@ -From eb26cb49b8c0b9ca1bb297eec904b50998e3e56c Mon Sep 17 00:00:00 2001 +From f4fa73ca0720878a17001c4926e6c159446bdc2d Mon Sep 17 00:00:00 2001 From: Isaac Moore Date: Tue, 19 Apr 2016 14:09:31 -0500 Subject: [PATCH] Implement PlayerLocaleChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 462c66673..c5dbcbe59 100644 +index ceb88515f3..ef80bc12f6 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -37,7 +37,7 @@ import org.bukkit.inventory.MainHand; @@ -17,7 +17,7 @@ index 462c66673..c5dbcbe59 100644 public PlayerConnection playerConnection; public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; -@@ -1449,13 +1449,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1450,13 +1450,20 @@ public class EntityPlayer extends EntityHuman implements ICrafting { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(getBukkitEntity(), getMainHand() == EnumMainHand.LEFT ? MainHand.LEFT : MainHand.RIGHT); this.server.server.getPluginManager().callEvent(event); } @@ -40,7 +40,7 @@ index 462c66673..c5dbcbe59 100644 this.cl = packetplayinsettings.e(); this.getDataWatcher().set(EntityPlayer.bt, (byte) packetplayinsettings.f()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 57f2499ca..d854d4844 100644 +index a3faa7da33..2a04e9f504 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1758,8 +1758,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch index 8426c6c09..4af4d3c98 100644 --- a/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0098-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 46c11def326856f9e47d21b9abc6ba7a4b6b4cfa Mon Sep 17 00:00:00 2001 +From 1d10e6e32bcf870ba8f8e0a3f44fe1afbfabc7f6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 Apr 2016 00:57:27 -0400 Subject: [PATCH] remove null possibility for getServer singleton @@ -6,26 +6,26 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ccfe1b4c3..1dda1fee9 100644 +index 257258c189..bb0b37a29c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -59,6 +59,7 @@ import org.spigotmc.SlackActivityAccountant; // Spigot +@@ -68,6 +68,7 @@ import org.spigotmc.SlackActivityAccountant; // Spigot public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant implements IMojangStatistics, ICommandListener, AutoCloseable, Runnable { + private static MinecraftServer SERVER; // Paper public static final Logger LOGGER = LogManager.getLogger(); public static final File b = new File("usercache.json"); - public static final WorldSettings c = (new WorldSettings((long) "North Carolina".hashCode(), EnumGamemode.SURVIVAL, true, false, WorldType.NORMAL)).a(); -@@ -164,6 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant i = CompletableFuture.completedFuture(Unit.INSTANCE); +@@ -175,6 +176,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant(ResourcePackLoader::new); - this.ah = new CraftingManager(); -@@ -1911,7 +1913,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 29 Apr 2016 20:02:00 -0400 Subject: [PATCH] Improve Maps (in item frames) performance and bug fixes @@ -13,10 +13,10 @@ custom renderers are in use, defaulting to the much simpler Vanilla system. Additionally, numerous issues to player position tracking on maps has been fixed. diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1a41a9c1d..1a1b1dd1e 100644 +index 5c45d8ee08..87d3337c88 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -590,6 +590,12 @@ public abstract class EntityHuman extends EntityLiving { +@@ -605,6 +605,12 @@ public abstract class EntityHuman extends EntityLiving { return null; } // CraftBukkit end @@ -30,7 +30,7 @@ index 1a41a9c1d..1a1b1dd1e 100644 return entityitem; } diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java -index fc0815893..090d3dbd3 100644 +index fc08158937..090d3dbd31 100644 --- a/src/main/java/net/minecraft/server/WorldMap.java +++ b/src/main/java/net/minecraft/server/WorldMap.java @@ -31,6 +31,7 @@ public class WorldMap extends PersistentBase { @@ -102,10 +102,10 @@ index fc0815893..090d3dbd3 100644 for ( org.bukkit.map.MapCursor cursor : render.cursors) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 28a6a62df..d0ab36190 100644 +index d2e6bd8c39..863b678846 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1047,6 +1047,7 @@ public class WorldServer extends World { +@@ -1044,6 +1044,7 @@ public class WorldServer extends World { { if ( iter.next().trackee == entity ) { @@ -114,7 +114,7 @@ index 28a6a62df..d0ab36190 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java -index 256a13178..5768cd512 100644 +index 256a131781..5768cd512e 100644 --- a/src/main/java/org/bukkit/craftbukkit/map/RenderData.java +++ b/src/main/java/org/bukkit/craftbukkit/map/RenderData.java @@ -5,7 +5,7 @@ import org.bukkit.map.MapCursor; diff --git a/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch index 6aaced1e8..bd8eef733 100644 --- a/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0103-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From be64a5db5bd0d3a37ba2de71bba177043ba85e0d Mon Sep 17 00:00:00 2001 +From 26b42293f673a7c08bf8f14fde2260901ca07a3e 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 1dda1fee9..065062c61 100644 +index bb0b37a29c..b7e188cf9f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -740,7 +740,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 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 d0ab36190..4ba5b00ae 100644 +index 863b678846..f6831a33a4 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -937,6 +937,7 @@ public class WorldServer extends World { +@@ -934,6 +934,7 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot diff --git a/Spigot-Server-Patches/0112-More-informative-vehicle-moved-wrongly-message.patch b/Spigot-Server-Patches/0112-More-informative-vehicle-moved-wrongly-message.patch index 36d3852b3..6a4d75e0f 100644 --- a/Spigot-Server-Patches/0112-More-informative-vehicle-moved-wrongly-message.patch +++ b/Spigot-Server-Patches/0112-More-informative-vehicle-moved-wrongly-message.patch @@ -1,14 +1,14 @@ -From 43a5570007eaa8674bbce1e96544fba27dbd0e54 Mon Sep 17 00:00:00 2001 +From 3c1bfaec22e1743156d4806b5e56b666a63294e9 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 c4384bbee..be2fe04a9 100644 +index 046bcb27e3..39662f1462 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -361,7 +361,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -362,7 +362,7 @@ public class PlayerConnection implements PacketListenerPlayIn { if (d10 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot flag1 = true; diff --git a/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch b/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch index a0e4c906c..b60af3148 100644 --- a/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch +++ b/Spigot-Server-Patches/0113-Re-track-players-that-dismount-from-other-players.patch @@ -1,14 +1,14 @@ -From 6c34034efcc75beb19e063096f73cc95a0995b8f Mon Sep 17 00:00:00 2001 +From 472812cd2e86962b1e22b8ccaa27fa997ecc7742 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 c5dbcbe59..2d29e9d86 100644 +index ef80bc12f6..c0889bfc20 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 { +@@ -981,6 +981,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); } diff --git a/Spigot-Server-Patches/0116-Configurable-packet-in-spam-threshold.patch b/Spigot-Server-Patches/0116-Configurable-packet-in-spam-threshold.patch index 163b3d50f..82c89a001 100644 --- a/Spigot-Server-Patches/0116-Configurable-packet-in-spam-threshold.patch +++ b/Spigot-Server-Patches/0116-Configurable-packet-in-spam-threshold.patch @@ -1,11 +1,11 @@ -From f9ce5a3aec563f3b0d461b1d708e83538092f17b Mon Sep 17 00:00:00 2001 +From c948e40ab09a0873d5df1d64a05b26cb7e56bf93 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 1daa2e453..5d0645c82 100644 +index 1daa2e4535..5d0645c829 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 1daa2e453..5d0645c82 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index be2fe04a9..cfd34f516 100644 +index 39662f1462..586d40a471 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1226,13 +1226,14 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1191,13 +1191,14 @@ public class PlayerConnection implements PacketListenerPlayIn { // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; diff --git a/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch b/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch index 1f550103b..d75538aec 100644 --- a/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch +++ b/Spigot-Server-Patches/0118-Chunk-registration-fixes.patch @@ -1,4 +1,4 @@ -From ec685ceb20ffab12b02d5d83414fe27e24f579f4 Mon Sep 17 00:00:00 2001 +From fdb0692c5b8e5803493e54d448b2d4129badb38f Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 21 Sep 2016 22:54:28 -0400 Subject: [PATCH] Chunk registration fixes @@ -8,10 +8,10 @@ World checks and the Chunk Add logic are inconsistent on how Y > 256, < 0, is tr Keep them consistent diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4ba5b00ae..690f53041 100644 +index f6831a33a4..78d5cf4738 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -625,7 +625,7 @@ public class WorldServer extends World { +@@ -623,7 +623,7 @@ public class WorldServer extends World { public void chunkCheck(Entity entity) { this.getMethodProfiler().enter("chunkCheck"); int i = MathHelper.floor(entity.locX / 16.0D); diff --git a/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch index 311a58c5a..667b77c49 100644 --- a/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch +++ b/Spigot-Server-Patches/0122-Add-EntityZapEvent.patch @@ -1,11 +1,11 @@ -From 97f0e2e694712db3a4bc8febda96ed6e44a5a87f Mon Sep 17 00:00:00 2001 +From 495e69a586a30ceb3ba646e097c743813fd22e29 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 23621a0dc..0d099d2fd 100644 +index bdbd0371e8..1943a23de4 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -168,6 +168,12 @@ public class EntityPig extends EntityAnimal { @@ -22,10 +22,10 @@ index 23621a0dc..0d099d2fd 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 14125f519..5e56447e7 100644 +index ba0386ad4e..09d12d1fca 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -618,6 +618,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -693,6 +693,12 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation public void onLightningStrike(EntityLightning entitylightning) { EntityWitch entitywitch = (EntityWitch) EntityTypes.WITCH.a(this.world); @@ -39,7 +39,7 @@ index 14125f519..5e56447e7 100644 entitywitch.prepare(this.world, this.world.getDamageScaler(new BlockPosition(entitywitch)), EnumMobSpawn.CONVERSION, (GroupDataEntity) null, (NBTTagCompound) null); entitywitch.setNoAI(this.isNoAI()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index bb5c5aa3d..cf1abd187 100644 +index bff5883d77..7abced0442 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1014,6 +1014,14 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch b/Spigot-Server-Patches/0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch index 51f511890..326e6b51d 100644 --- a/Spigot-Server-Patches/0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch +++ b/Spigot-Server-Patches/0124-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch @@ -1,11 +1,11 @@ -From 328ec5b1b2c4b56d24a60aeb5858cf54b7f4aa21 Mon Sep 17 00:00:00 2001 +From 8eaf282800c825f2c49bfe029e6ad4ba46c21e67 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 849872f66..11b0f11a8 100644 +index 849872f663..11b0f11a80 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 849872f66..11b0f11a8 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 9d86beda9..44dd99ea2 100644 +index 0f9fa41133..0a6d2b9b39 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java -@@ -232,6 +232,15 @@ public class EntityFallingBlock extends Entity { +@@ -233,6 +233,15 @@ public class EntityFallingBlock extends Entity { @Override protected void a(NBTTagCompound nbttagcompound) { this.block = GameProfileSerializer.d(nbttagcompound.getCompound("BlockState")); diff --git a/Spigot-Server-Patches/0125-Cache-user-authenticator-threads.patch b/Spigot-Server-Patches/0125-Cache-user-authenticator-threads.patch index 79bc4b3f3..e09e9170b 100644 --- a/Spigot-Server-Patches/0125-Cache-user-authenticator-threads.patch +++ b/Spigot-Server-Patches/0125-Cache-user-authenticator-threads.patch @@ -1,14 +1,14 @@ -From dbbca49137c950788a787394a49de39d64f46a90 Mon Sep 17 00:00:00 2001 +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 diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index b85b048ac..22d5c7d20 100644 +index 3db306655d..49df63d6de 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -92,6 +92,12 @@ public class LoginListener implements PacketLoginInListener { +@@ -97,6 +97,12 @@ public class LoginListener implements PacketLoginInListener { } @@ -21,7 +21,7 @@ index b85b048ac..22d5c7d20 100644 // Spigot start public void initUUID() { -@@ -170,8 +176,8 @@ public class LoginListener implements PacketLoginInListener { +@@ -175,8 +181,8 @@ public class LoginListener implements PacketLoginInListener { this.networkManager.sendPacket(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic(), this.e)); } else { // Spigot start @@ -32,7 +32,7 @@ index b85b048ac..22d5c7d20 100644 @Override public void run() { try { -@@ -182,7 +188,8 @@ public class LoginListener implements PacketLoginInListener { +@@ -187,7 +193,8 @@ public class LoginListener implements PacketLoginInListener { server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + i.getName(), ex); } } @@ -42,7 +42,7 @@ index b85b048ac..22d5c7d20 100644 // Spigot end } -@@ -199,7 +206,8 @@ public class LoginListener implements PacketLoginInListener { +@@ -204,7 +211,8 @@ public class LoginListener implements PacketLoginInListener { this.loginKey = packetlogininencryptionbegin.a(privatekey); this.g = LoginListener.EnumProtocolState.AUTHENTICATING; this.networkManager.a(this.loginKey); @@ -52,9 +52,9 @@ index b85b048ac..22d5c7d20 100644 public void run() { GameProfile gameprofile = LoginListener.this.i; -@@ -246,10 +254,8 @@ public class LoginListener implements PacketLoginInListener { +@@ -251,10 +259,8 @@ public class LoginListener implements PacketLoginInListener { - return LoginListener.this.server.T() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; + return LoginListener.this.server.U() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } - }; - diff --git a/Spigot-Server-Patches/0126-Optimise-removeQueue.patch b/Spigot-Server-Patches/0126-Optimise-removeQueue.patch index c84432417..448660624 100644 --- a/Spigot-Server-Patches/0126-Optimise-removeQueue.patch +++ b/Spigot-Server-Patches/0126-Optimise-removeQueue.patch @@ -1,11 +1,11 @@ -From 98d8191eba1f6029f5ebae24b943dcb60151a8ab Mon Sep 17 00:00:00 2001 +From 3d1daac800afd1ea09b18d50ac15b616e6be5352 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/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 7b0c89ce7..fc4b3945d 100644 +index fd53e53562..a835f77dc3 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 7b0c89ce7..fc4b3945d 100644 this.playerConnection.sendPacket(new PacketPlayOutEntityDestroy(aint)); } -@@ -1323,7 +1332,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1324,7 +1333,14 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.lastHealthSent = -1.0F; this.lastFoodSent = -1; // this.recipeBook.a((RecipeBook) entityplayer.recipeBook); // CraftBukkit diff --git a/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch b/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch index 8bbfe11a6..92bb7ee0a 100644 --- a/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch +++ b/Spigot-Server-Patches/0132-Prevent-Pathfinding-out-of-World-Border.patch @@ -1,4 +1,4 @@ -From 55841be6ae2c51e34ba14f337cbbf0ff7c352696 Mon Sep 17 00:00:00 2001 +From 0c29a08334c31ceac93202ef8cc943e177ea67e5 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,17 +6,18 @@ 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 8b05b8acd..65b38d75b 100644 +index 126c05adc7..be6aa59749 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -95,6 +95,7 @@ public abstract class NavigationAbstract { - @Nullable - protected PathEntity a(BlockPosition blockposition, double d0, double d1, double d2, int i, boolean flag) { return this.a(blockposition, null, d0, d1, d2, i, flag); } - @Nullable protected PathEntity a(BlockPosition blockposition, Entity target, double d0, double d1, double d2, int i, boolean flag) { -+ if (!getEntity().getWorld().getWorldBorder().isInBounds(blockposition)) return null; // Paper - don't path out of world border - if (this.a.locY < 0.0D) { - return null; - } else if (!this.a()) { +@@ -115,7 +115,7 @@ public abstract class NavigationAbstract { + // Paper start - Pathfind event + boolean copiedSet = false; + for (BlockPosition possibleTarget : set) { +- if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), ++ if (!getEntity().getWorld().getWorldBorder().isInBounds(possibleTarget) || !new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), // Paper - don't path out of world border + MCUtil.toLocation(getEntity().world, possibleTarget), target == null ? null : target.getBukkitEntity()).callEvent()) { + if (!copiedSet) { + copiedSet = true; -- 2.22.0 diff --git a/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch index 257cb8f49..bd87ed1ed 100644 --- a/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0136-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From 66befc2b6f14be3178930d89c6d392a763f8bba3 Mon Sep 17 00:00:00 2001 +From 02f8350a638e2937a4fc5ba86243e2c3dcf83e36 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 2ba9cc9fe..ccdd0d27e 100644 +index 9bf18e9b06..de5a4a05ad 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 { @@ -18,7 +18,7 @@ index 2ba9cc9fe..ccdd0d27e 100644 super(entitytypes, world); @@ -789,4 +790,13 @@ public class EntityArmorStand extends EntityLiving { - return this.getEntityType().j().a(f); + return this.getEntityType().k().a(f); } + + // Paper start @@ -31,7 +31,7 @@ index 2ba9cc9fe..ccdd0d27e 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 2b66a08ad..124c3185b 100644 +index 2b66a08ade..124c3185bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -211,4 +211,16 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { diff --git a/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch index e6156cdee..d12843a3e 100644 --- a/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0137-Properly-fix-item-duplication-bug.patch @@ -1,4 +1,4 @@ -From 91e39c858f06734d31882e3027101fcd628e30df Mon Sep 17 00:00:00 2001 +From a4c3a38bf45b8c61a927d6776e5fd4390b369cc0 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 fc4b3945d..18c71640f 100644 +index a835f77dc3..5d659d626b 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1796,7 +1796,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1797,7 +1797,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override protected boolean isFrozen() { @@ -19,10 +19,10 @@ index fc4b3945d..18c71640f 100644 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index bf09c3939..fd8d30e5c 100644 +index 13c1d9b914..068827e2ea 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2550,7 +2550,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2515,7 +2515,7 @@ public class PlayerConnection implements PacketListenerPlayIn { } public final boolean isDisconnected() { diff --git a/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 95% rename from Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index b559563b9..b71d1c3cc 100644 --- a/Spigot-Server-Patches/0145-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0144-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From 4af485139828a7c37975ecab287553f2db10eb96 Mon Sep 17 00:00:00 2001 +From 03f39502eeb5083f0bc4a54de2de1ac40915ad44 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 4b9e51b30..c72ae7e25 100644 +index a4b6d6fd4c..2c0e59c60d 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 4b9e51b30..c72ae7e25 100644 } diff --git a/src/main/java/net/minecraft/server/ContainerGrindstone.java b/src/main/java/net/minecraft/server/ContainerGrindstone.java -index 2d2cd09ad..ed88e208d 100644 +index 2d2cd09ad1..ed88e208d0 100644 --- a/src/main/java/net/minecraft/server/ContainerGrindstone.java +++ b/src/main/java/net/minecraft/server/ContainerGrindstone.java @@ -81,7 +81,7 @@ public class ContainerGrindstone extends Container { @@ -41,7 +41,7 @@ index 2d2cd09ad..ed88e208d 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 0421052d2..f015c023e 100644 +index cf857b88de..5fae347db2 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -607,7 +607,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -54,7 +54,7 @@ index 0421052d2..f015c023e 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index a4cd502bc..214ecdb88 100644 +index a4cd502bca..214ecdb884 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -16,9 +16,59 @@ public class EntityExperienceOrb extends Entity { @@ -134,7 +134,7 @@ index a4cd502bc..214ecdb88 100644 @Override diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 05fa5cd6a..d9767de12 100644 +index 758559d35d..2a351701b4 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -404,7 +404,7 @@ public class EntityFishingHook extends Entity { @@ -147,7 +147,7 @@ index 05fa5cd6a..d9767de12 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 45c024ca2..cb2f3eb45 100644 +index c435c7303d..c5e671961b 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 { @@ -161,7 +161,7 @@ index 45c024ca2..cb2f3eb45 100644 this.expToDrop = 0; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index 4ac5cce06..05970c564 100644 +index 4ac5cce062..05970c5644 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -43,7 +43,7 @@ public class EntityThrownExpBottle extends EntityProjectileThrowable { @@ -174,7 +174,7 @@ index 4ac5cce06..05970c564 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index dc1ba69f6..013b3a1ca 100644 +index 25c7214ded..594cc70def 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 { @@ -187,10 +187,10 @@ index dc1ba69f6..013b3a1ca 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 5e56447e7..9311cc5bd 100644 +index 09d12d1fca..a4033a6663 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -429,7 +429,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -504,7 +504,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation } if (merchantrecipe.isRewardExp()) { @@ -200,7 +200,7 @@ index 5e56447e7..9311cc5bd 100644 } diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java -index b9aa51295..c179e11e4 100644 +index 1753c67aa9..a24e7127d7 100644 --- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java +++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java @@ -147,7 +147,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract { @@ -213,7 +213,7 @@ index b9aa51295..c179e11e4 100644 } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 363a98bec..0cc34400b 100644 +index 363a98bece..0cc34400be 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java @@ -117,7 +117,7 @@ public class PathfinderGoalBreed extends PathfinderGoal { @@ -226,20 +226,20 @@ index 363a98bec..0cc34400b 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 4ccc77e4f..e306b138d 100644 +index 954f0f2019..ac60c96e3a 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -367,7 +367,7 @@ public class PlayerInteractManager { +@@ -364,7 +364,7 @@ public class PlayerInteractManager { - // CraftBukkit start - Drop event experience + // Drop event experience if (flag && event != null) { - iblockdata.getBlock().dropExperience(this.world, blockposition, event.getExpToDrop()); + iblockdata.getBlock().dropExperience(this.world, blockposition, event.getExpToDrop(), this.player); // Paper } - // CraftBukkit end + return true; diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index d2698e847..edc4a5c34 100644 +index d2698e847c..edc4a5c34e 100644 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java @@ -2,7 +2,7 @@ package net.minecraft.server; @@ -252,7 +252,7 @@ index d2698e847..edc4a5c34 100644 public SlotFurnaceResult(EntityHuman entityhuman, IInventory iinventory, int i, int j, int k) { diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 0cb2e6d87..2bbd3663a 100644 +index 0cb2e6d874..2bbd3663a7 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -554,7 +554,7 @@ public abstract class TileEntityFurnace extends TileEntityContainer implements I @@ -265,7 +265,7 @@ index 0cb2e6d87..2bbd3663a 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b07e3fe26..853a0374e 100644 +index b02bc99298..ac680a6a78 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1695,7 +1695,7 @@ public class CraftWorld implements World { @@ -278,7 +278,7 @@ index b07e3fe26..853a0374e 100644 entity = new EntityLightning(world, x, y, z, false); } else if (Firework.class.isAssignableFrom(clazz)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java -index 1b512cc45..fbad04567 100644 +index 1b512cc45c..fbad045675 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -20,6 +20,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { diff --git a/Spigot-Server-Patches/0146-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0145-Cap-Entity-Collisions.patch similarity index 93% rename from Spigot-Server-Patches/0146-Cap-Entity-Collisions.patch rename to Spigot-Server-Patches/0145-Cap-Entity-Collisions.patch index 165dedfcf..0cac4d6b7 100644 --- a/Spigot-Server-Patches/0146-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0145-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From e33ae307a120190c1dd440ba9e099ec6f3f7418c Mon Sep 17 00:00:00 2001 +From b40164fbd816aa8ff20c8416815fc9d49ad83204 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 46d525223..de8362ddd 100644 +index 46d5252239..de8362ddd7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -315,4 +315,10 @@ public class PaperWorldConfig { @@ -27,7 +27,7 @@ index 46d525223..de8362ddd 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index f2be5b5a3..4dd2df808 100644 +index f4188fc75d..482864ac62 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 @@ -39,7 +39,7 @@ index f2be5b5a3..4dd2df808 100644 // Spigot end diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index cb2f3eb45..769540479 100644 +index c5e671961b..96bed03b15 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2559,8 +2559,11 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0147-Remove-CraftScheduler-Async-Task-Debugger.patch b/Spigot-Server-Patches/0146-Remove-CraftScheduler-Async-Task-Debugger.patch similarity index 95% rename from Spigot-Server-Patches/0147-Remove-CraftScheduler-Async-Task-Debugger.patch rename to Spigot-Server-Patches/0146-Remove-CraftScheduler-Async-Task-Debugger.patch index 89bcfaf4c..87388f856 100644 --- a/Spigot-Server-Patches/0147-Remove-CraftScheduler-Async-Task-Debugger.patch +++ b/Spigot-Server-Patches/0146-Remove-CraftScheduler-Async-Task-Debugger.patch @@ -1,4 +1,4 @@ -From c6eda3f2ed18dd7cb6c375e143ec729bef2d7729 Mon Sep 17 00:00:00 2001 +From 8a89d0054aa70d747bc10d9a0f546df94ab6bb3e 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 552daf437..e102be583 100644 +index 552daf4376..e102be583c 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 { diff --git a/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch similarity index 75% rename from Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch rename to Spigot-Server-Patches/0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index ff9dcb8ef..f581d9f8a 100644 --- a/Spigot-Server-Patches/0148-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/Spigot-Server-Patches/0147-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -1,14 +1,14 @@ -From 6774c84e4671225b9edb7d8f94e4aa589d376d82 Mon Sep 17 00:00:00 2001 +From 3728f0b19240c5f228fb7caa3e467ab7f78f9155 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 b5ae705d9..71494ecb3 100644 +index 14b0875eee..63140fb642 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -104,7 +104,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -109,7 +109,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { this.v = new AtomicInteger(); this.playerMap = new PlayerMap(); this.trackedEntities = new Int2ObjectOpenHashMap(); @@ -17,20 +17,20 @@ index b5ae705d9..71494ecb3 100644 this.definedStructureManager = definedstructuremanager; this.x = worldserver.getWorldProvider().getDimensionManager().a(file); this.world = worldserver; -@@ -347,7 +347,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -354,7 +354,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { // Spigot start org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; activityAccountant.startActivity(0.5); - int targetSize = (int) (this.unloadQueue.size() * UNLOAD_QUEUE_RESIZE_FACTOR); -+ int targetSize = Math.min(this.unloadQueue.size() - 100, (int) (this.unloadQueue.size() * UNLOAD_QUEUE_RESIZE_FACTOR)); // Paper - Make more aggressive ++ int targetSize = Math.min(this.unloadQueue.size() - 100, (int) (this.unloadQueue.size() * UNLOAD_QUEUE_RESIZE_FACTOR)); // Paper - Make more aggressive // Spigot end while (longiterator.hasNext()) { // Spigot long j = longiterator.nextLong(); -@@ -369,7 +369,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -376,7 +376,9 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { Runnable runnable; -- while (booleansupplier.getAsBoolean() && (runnable = (Runnable) this.A.poll()) != null) { +- 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 diff --git a/Spigot-Server-Patches/0149-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch similarity index 93% rename from Spigot-Server-Patches/0149-Do-not-let-armorstands-drown.patch rename to Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch index d0f1e90e1..699e3c60e 100644 --- a/Spigot-Server-Patches/0149-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0148-Do-not-let-armorstands-drown.patch @@ -1,11 +1,11 @@ -From e69cd7f468280194fb62e08f23f504f7862c187c Mon Sep 17 00:00:00 2001 +From 9ea404bf49b2813a616fb19a09d7fed57e502d05 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 ccdd0d27e..62a878d13 100644 +index de5a4a05ad..297ed7c1ce 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -798,5 +798,10 @@ public class EntityArmorStand extends EntityLiving { @@ -20,7 +20,7 @@ index ccdd0d27e..62a878d13 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 769540479..3961ae171 100644 +index 96bed03b15..0733caf7bd 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -223,6 +223,7 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch b/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch similarity index 96% rename from Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch rename to Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch index 4dc272fd0..bb74da48e 100644 --- a/Spigot-Server-Patches/0150-Properly-handle-async-calls-to-restart-the-server.patch +++ b/Spigot-Server-Patches/0149-Properly-handle-async-calls-to-restart-the-server.patch @@ -1,4 +1,4 @@ -From badadfda257f57e9e0512be166f7e8b2d5734d0f Mon Sep 17 00:00:00 2001 +From 153b2024ee027d82e6cad338025d9afed894e013 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,10 +30,10 @@ 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 065062c61..36d29b332 100644 +index b7e188cf9f..d8dd78b56a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -78,6 +78,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant worldServer = Maps.newLinkedHashMap(); // CraftBukkit - keep order, k+v already use identity methods private PlayerList playerList; private volatile boolean isRunning = true; @@ -41,7 +41,7 @@ index 065062c61..36d29b332 100644 private boolean isStopped; private int ticks; protected final Proxy proxy; -@@ -703,7 +704,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 fe8e6dcb7..f8a3c9718 100644 +index fe8e6dcb77..f8a3c9718d 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 { diff --git a/Spigot-Server-Patches/0152-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch similarity index 88% rename from Spigot-Server-Patches/0152-Add-option-to-make-parrots-stay-on-shoulders-despite.patch rename to Spigot-Server-Patches/0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index 74ba54f3f..1a1bf2722 100644 --- a/Spigot-Server-Patches/0152-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/Spigot-Server-Patches/0151-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -1,4 +1,4 @@ -From 7e2d4c45595801a4ddf9575d68a62a65d23091b9 Mon Sep 17 00:00:00 2001 +From 4b69c61b46470062ee37c9f54bc6ae98e6759489 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 de8362ddd..54d679944 100644 +index de8362ddd7..54d6799442 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -321,4 +321,10 @@ public class PaperWorldConfig { @@ -26,23 +26,23 @@ index de8362ddd..54d679944 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1a1b1dd1e..0974135c6 100644 +index 87d3337c88..1efec35941 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -436,7 +436,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -451,7 +451,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) { + if (!this.world.isClientSide && (this.fallDistance > 0.5F || this.isInWater() || this.isPassenger()) || 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 b34a0fb35..f7d487bb6 100644 +index 068827e2ea..579c551f95 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1793,6 +1793,13 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1756,6 +1756,13 @@ public class PlayerConnection implements PacketListenerPlayIn { switch (packetplayinentityaction.c()) { case START_SNEAKING: this.player.setSneaking(true); diff --git a/Spigot-Server-Patches/0153-Add-configuration-option-to-prevent-player-names-fro.patch b/Spigot-Server-Patches/0152-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 92% rename from Spigot-Server-Patches/0153-Add-configuration-option-to-prevent-player-names-fro.patch rename to Spigot-Server-Patches/0152-Add-configuration-option-to-prevent-player-names-fro.patch index ddf354684..ae1624908 100644 --- a/Spigot-Server-Patches/0153-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/Spigot-Server-Patches/0152-Add-configuration-option-to-prevent-player-names-fro.patch @@ -1,4 +1,4 @@ -From eb27f8f1c3b57c94ede68718f517ff4f285afd64 Mon Sep 17 00:00:00 2001 +From 41566122b7aea7361afaecd0032a395f3d193040 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 b5a50afd2..11d2a1013 100644 +index b5a50afd24..11d2a1013b 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,7 +20,7 @@ index b5a50afd2..11d2a1013 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9b4e957d6..79b2f0f57 100644 +index 9ccf6a6891..f762ff1d2e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2095,5 +2095,10 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0154-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch similarity index 96% rename from Spigot-Server-Patches/0154-Use-TerminalConsoleAppender-for-console-improvements.patch rename to Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch index 28a13ec62..5a5bfafa0 100644 --- a/Spigot-Server-Patches/0154-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0153-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From 103b8778f1616489f464d9b206a0dae38b9ac2d6 Mon Sep 17 00:00:00 2001 +From e81667bbdaab0d52dc2d54ed822697ad462bf617 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 75c1b84f6..58ccbaa1a 100644 +index 04b0dd9a7f..54d214a8cf 100644 --- a/pom.xml +++ b/pom.xml @@ -41,10 +41,27 @@ @@ -75,7 +75,7 @@ index 75c1b84f6..58ccbaa1a 100644 org.apache.maven.plugins diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java new file mode 100644 -index 000000000..cd6e25923 +index 0000000000..cd6e259239 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -0,0 +1,40 @@ @@ -121,7 +121,7 @@ index 000000000..cd6e25923 +} diff --git a/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java new file mode 100644 -index 000000000..685deaa0e +index 0000000000..685deaa0e5 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/console/TerminalConsoleCommandSender.java @@ -0,0 +1,17 @@ @@ -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 6e1509c2c..26b35855e 100644 +index f2c65e40a1..f8fa3f78e7 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,10 +185,10 @@ index 6e1509c2c..26b35855e 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 36d29b332..f340f4bfe 100644 +index d8dd78b56a..2cf4adf779 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -48,7 +48,7 @@ import org.apache.commons.lang3.Validate; +@@ -57,7 +57,7 @@ import org.apache.commons.lang3.Validate; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; // CraftBukkit start @@ -197,7 +197,7 @@ index 36d29b332..f340f4bfe 100644 import org.bukkit.Bukkit; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.Main; -@@ -148,7 +148,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -197,7 +197,9 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 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 54d679944..4d0d4cbe4 100644 +index 54d6799442..4d0d4cbe4e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -327,4 +327,10 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index 54d679944..4d0d4cbe4 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 7ee854e94..8f5f97a22 100644 +index 53b1e2ac03..100a1a10c9 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 { diff --git a/Spigot-Server-Patches/0156-Item-canEntityPickup.patch b/Spigot-Server-Patches/0155-Item-canEntityPickup.patch similarity index 92% rename from Spigot-Server-Patches/0156-Item-canEntityPickup.patch rename to Spigot-Server-Patches/0155-Item-canEntityPickup.patch index 86c0a1182..c37986995 100644 --- a/Spigot-Server-Patches/0156-Item-canEntityPickup.patch +++ b/Spigot-Server-Patches/0155-Item-canEntityPickup.patch @@ -1,11 +1,11 @@ -From 02db19d0526850a5513db4a9433794486e981ed5 Mon Sep 17 00:00:00 2001 +From 4e73cb7abb2e428e3f77a0a75b9b45d63aa2c43d 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 4fa345db6..c20374d77 100644 +index 6e304492cf..a14d490ade 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 { @@ -21,7 +21,7 @@ index 4fa345db6..c20374d77 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 0569ad9af..c0b81223f 100644 +index 0569ad9af8..c0b81223f1 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 { @@ -33,7 +33,7 @@ index 0569ad9af..c0b81223f 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 cc593fbc9..3f552b590 100644 +index cc593fbc99..3f552b5905 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 { diff --git a/Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch b/Spigot-Server-Patches/0156-PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 95% rename from Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch rename to Spigot-Server-Patches/0156-PlayerPickupItemEvent-setFlyAtPlayer.patch index 6c5170e6b..cdc951f05 100644 --- a/Spigot-Server-Patches/0157-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/Spigot-Server-Patches/0156-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -1,11 +1,11 @@ -From 1a93d53038435493ae5a76b56555011cd1ee2e77 Mon Sep 17 00:00:00 2001 +From 7983e759d8066c357793dd5487226a0c5a27b2ca 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 c0b81223f..1baff88c4 100644 +index c0b81223f1..1baff88c4a 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 { diff --git a/Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch b/Spigot-Server-Patches/0157-PlayerAttemptPickupItemEvent.patch similarity index 94% rename from Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch rename to Spigot-Server-Patches/0157-PlayerAttemptPickupItemEvent.patch index 3cd7914f3..645f47555 100644 --- a/Spigot-Server-Patches/0158-PlayerAttemptPickupItemEvent.patch +++ b/Spigot-Server-Patches/0157-PlayerAttemptPickupItemEvent.patch @@ -1,11 +1,11 @@ -From 0f1ba434f613344fbc4695c30fbba356ad18bc28 Mon Sep 17 00:00:00 2001 +From 5908c0f26e8452837d9a92f7bf31821e27639437 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 1baff88c4..f1f86ef8b 100644 +index 1baff88c4a..f1f86ef8b5 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; diff --git a/Spigot-Server-Patches/0159-Add-UnknownCommandEvent.patch b/Spigot-Server-Patches/0158-Add-UnknownCommandEvent.patch similarity index 94% rename from Spigot-Server-Patches/0159-Add-UnknownCommandEvent.patch rename to Spigot-Server-Patches/0158-Add-UnknownCommandEvent.patch index aa06c2463..d3bd4335d 100644 --- a/Spigot-Server-Patches/0159-Add-UnknownCommandEvent.patch +++ b/Spigot-Server-Patches/0158-Add-UnknownCommandEvent.patch @@ -1,11 +1,11 @@ -From 633f79e3f1621746dbcf0a0aa6e2f835b0323440 Mon Sep 17 00:00:00 2001 +From f4b1ac869326bd16b7c94847d5ece41e4dc896c8 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 a8d1a2f1b..9972ca6ab 100644 +index 7179692e11..344c99d107 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; diff --git a/Spigot-Server-Patches/0160-Basic-PlayerProfile-API.patch b/Spigot-Server-Patches/0159-Basic-PlayerProfile-API.patch similarity index 97% rename from Spigot-Server-Patches/0160-Basic-PlayerProfile-API.patch rename to Spigot-Server-Patches/0159-Basic-PlayerProfile-API.patch index 7d74d3139..6ebec12ac 100644 --- a/Spigot-Server-Patches/0160-Basic-PlayerProfile-API.patch +++ b/Spigot-Server-Patches/0159-Basic-PlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 9d0d2b30be170aeca39eacbb5feccdb3c6df4664 Mon Sep 17 00:00:00 2001 +From 9362f6ce5477a3176986f89a20e7b06d87e4575f 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 000000000..b151a13c1 +index 0000000000..b151a13c1b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java @@ -0,0 +1,280 @@ @@ -293,7 +293,7 @@ index 000000000..b151a13c1 +} 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 000000000..25836b975 +index 0000000000..25836b975b --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperAuthenticationService.java @@ -0,0 +1,30 @@ @@ -329,7 +329,7 @@ index 000000000..25836b975 +} 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 000000000..3bcdb8f93 +index 0000000000..3bcdb8f93f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperGameProfileRepository.java @@ -0,0 +1,17 @@ @@ -352,7 +352,7 @@ index 000000000..3bcdb8f93 +} 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 000000000..4b2a67423 +index 0000000000..4b2a67423f --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperMinecraftSessionService.java @@ -0,0 +1,29 @@ @@ -387,7 +387,7 @@ index 000000000..4b2a67423 +} 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 000000000..3aceb0ea8 +index 0000000000..3aceb0ea8a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/PaperUserAuthentication.java @@ -0,0 +1,11 @@ @@ -403,7 +403,7 @@ index 000000000..3aceb0ea8 + } +} diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 1f6a12632..6d278a0da 100644 +index 1f6a126329..6d278a0da5 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 1f6a12632..6d278a0da 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 f340f4bfe..c229651b5 100644 +index 2cf4adf779..6276833474 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1244,7 +1244,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 0974135c6..d1f01bb64 100644 +index 1efec35941..9d1c3b0737 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1781,20 +1781,45 @@ public abstract class EntityHuman extends EntityLiving { - // CraftBukkit end +@@ -1800,20 +1800,44 @@ public abstract class EntityHuman extends EntityLiving { + } + // Paper start @@ -28,9 +28,8 @@ index 0974135c6..d1f01bb64 100644 + } + return entity; + } -+ + // Paper - maintain old signature - private boolean spawnEntityFromShoulder(@Nullable NBTTagCompound nbttagcompound) { // CraftBukkit void->boolean + private boolean spawnEntityFromShoulder(NBTTagCompound nbttagcompound) { // CraftBukkit void->boolean - if (!this.world.isClientSide && !nbttagcompound.isEmpty()) { + return spawnEntityFromShoulder0(nbttagcompound) != null; + } @@ -59,7 +58,7 @@ index 0974135c6..d1f01bb64 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 5cc5074a5..e4d9300be 100644 +index fa9cedd6e2..4d9125c226 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -664,6 +664,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/Spigot-Server-Patches/0162-Profile-Lookup-Events.patch b/Spigot-Server-Patches/0161-Profile-Lookup-Events.patch similarity index 97% rename from Spigot-Server-Patches/0162-Profile-Lookup-Events.patch rename to Spigot-Server-Patches/0161-Profile-Lookup-Events.patch index ac8859c22..8196fd523 100644 --- a/Spigot-Server-Patches/0162-Profile-Lookup-Events.patch +++ b/Spigot-Server-Patches/0161-Profile-Lookup-Events.patch @@ -1,4 +1,4 @@ -From ec335e5cf002193d782def24ab0d161b66153e51 Mon Sep 17 00:00:00 2001 +From db5fd6216ff20d4670dc04f0222792982220196f 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 3bcdb8f93..bb9894318 100644 +index 3bcdb8f93f..bb9894318e 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 @@ diff --git a/Spigot-Server-Patches/0163-Block-player-logins-during-server-shutdown.patch b/Spigot-Server-Patches/0162-Block-player-logins-during-server-shutdown.patch similarity index 90% rename from Spigot-Server-Patches/0163-Block-player-logins-during-server-shutdown.patch rename to Spigot-Server-Patches/0162-Block-player-logins-during-server-shutdown.patch index fd81e45a9..2a7195817 100644 --- a/Spigot-Server-Patches/0163-Block-player-logins-during-server-shutdown.patch +++ b/Spigot-Server-Patches/0162-Block-player-logins-during-server-shutdown.patch @@ -1,11 +1,11 @@ -From ea0babba02771d72151b9692c5ce02fe9ad853aa Mon Sep 17 00:00:00 2001 +From f59189466e67ed2dd9a28bb8f55af3f6a6b57266 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 22d5c7d20..91b6f1de8 100644 +index 49df63d6de..977a5009dd 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 { diff --git a/Spigot-Server-Patches/0164-Entity-fromMobSpawner.patch b/Spigot-Server-Patches/0163-Entity-fromMobSpawner.patch similarity index 95% rename from Spigot-Server-Patches/0164-Entity-fromMobSpawner.patch rename to Spigot-Server-Patches/0163-Entity-fromMobSpawner.patch index b67ff06ac..d3cc21ea7 100644 --- a/Spigot-Server-Patches/0164-Entity-fromMobSpawner.patch +++ b/Spigot-Server-Patches/0163-Entity-fromMobSpawner.patch @@ -1,11 +1,11 @@ -From d8dc04b6f30e2587ea3298941140f903ce0e7d19 Mon Sep 17 00:00:00 2001 +From f2644404c77b9c3a56656a7c49c5db077787d5b4 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 4dd2df808..433972025 100644 +index 482864ac62..be4ebcadb7 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 @@ -37,7 +37,7 @@ index 4dd2df808..433972025 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 13e62e3d7f..4bd511dd7c 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -133,6 +133,7 @@ public abstract class MobSpawnerAbstract { @@ -49,7 +49,7 @@ index 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 ed496d03a..b000bc8c7 100644 +index ed496d03ae..b000bc8c71 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1047,5 +1047,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0165-Improve-the-Saddle-API-for-Horses.patch b/Spigot-Server-Patches/0164-Improve-the-Saddle-API-for-Horses.patch similarity index 94% rename from Spigot-Server-Patches/0165-Improve-the-Saddle-API-for-Horses.patch rename to Spigot-Server-Patches/0164-Improve-the-Saddle-API-for-Horses.patch index 73c5561c0..dac72bf5c 100644 --- a/Spigot-Server-Patches/0165-Improve-the-Saddle-API-for-Horses.patch +++ b/Spigot-Server-Patches/0164-Improve-the-Saddle-API-for-Horses.patch @@ -1,4 +1,4 @@ -From 38a48da2e69d4ff804616f0533ea238d0ef1b43a Mon Sep 17 00:00:00 2001 +From c7287c81488d289834b45064849790e3dac26be7 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 09016e354..9952db3eb 100644 +index 09016e3547..9952db3eb5 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 09016e354..9952db3eb 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java -index 63991bf4b..9a47a1adc 100644 +index 63991bf4be..9a47a1adc1 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 63991bf4b..9a47a1adc 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 000000000..99cfbaf90 +index 0000000000..99cfbaf90b --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java @@ -0,0 +1,15 @@ diff --git a/Spigot-Server-Patches/0166-Implement-ensureServerConversions-API.patch b/Spigot-Server-Patches/0165-Implement-ensureServerConversions-API.patch similarity index 91% rename from Spigot-Server-Patches/0166-Implement-ensureServerConversions-API.patch rename to Spigot-Server-Patches/0165-Implement-ensureServerConversions-API.patch index 871ade764..a5c5384f4 100644 --- a/Spigot-Server-Patches/0166-Implement-ensureServerConversions-API.patch +++ b/Spigot-Server-Patches/0165-Implement-ensureServerConversions-API.patch @@ -1,4 +1,4 @@ -From 881e728b2d73b2e1fc2b974ea554b03b26ca7393 Mon Sep 17 00:00:00 2001 +From 0dbd7be656fe599ebdf257ce06a895bcaec94ebf Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 22:43:12 -0400 Subject: [PATCH] Implement ensureServerConversions API @@ -7,7 +7,7 @@ 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 e3bb1dffd..594a280e9 100644 +index e3bb1dffd6..594a280e9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -330,4 +330,10 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/Spigot-Server-Patches/0167-Implement-getI18NDisplayName.patch b/Spigot-Server-Patches/0166-Implement-getI18NDisplayName.patch similarity index 93% rename from Spigot-Server-Patches/0167-Implement-getI18NDisplayName.patch rename to Spigot-Server-Patches/0166-Implement-getI18NDisplayName.patch index 149634a95..ca75fc657 100644 --- a/Spigot-Server-Patches/0167-Implement-getI18NDisplayName.patch +++ b/Spigot-Server-Patches/0166-Implement-getI18NDisplayName.patch @@ -1,4 +1,4 @@ -From f13614046f40648258e7472353c7b21c0f88c177 Mon Sep 17 00:00:00 2001 +From 9517f80ea1b821d95a458c4ba1f0d43ddf78921d Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 4 May 2016 23:59:38 -0400 Subject: [PATCH] Implement getI18NDisplayName @@ -8,7 +8,7 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/net/minecraft/server/LocaleLanguage.java b/src/main/java/net/minecraft/server/LocaleLanguage.java -index c0c13798f..601273933 100644 +index c0c13798f8..6012739331 100644 --- a/src/main/java/net/minecraft/server/LocaleLanguage.java +++ b/src/main/java/net/minecraft/server/LocaleLanguage.java @@ -65,10 +65,12 @@ public class LocaleLanguage { @@ -25,7 +25,7 @@ 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 594a280e9..80f71a77b 100644 +index 594a280e9a..80f71a77b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -335,5 +335,18 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch b/Spigot-Server-Patches/0167-ProfileWhitelistVerifyEvent.patch similarity index 96% rename from Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch rename to Spigot-Server-Patches/0167-ProfileWhitelistVerifyEvent.patch index 32a68f4ba..92768324e 100644 --- a/Spigot-Server-Patches/0168-ProfileWhitelistVerifyEvent.patch +++ b/Spigot-Server-Patches/0167-ProfileWhitelistVerifyEvent.patch @@ -1,11 +1,11 @@ -From 576e17ccad9de416655b035f5ac05f8645416fc5 Mon Sep 17 00:00:00 2001 +From 9363bf8ee294b4e8687c4af786bd781e781ad95b 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 6a7770798..a167843bf 100644 +index 6a77707983..a167843bfb 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 { diff --git a/Spigot-Server-Patches/0169-Fix-this-stupid-bullshit.patch b/Spigot-Server-Patches/0168-Fix-this-stupid-bullshit.patch similarity index 94% rename from Spigot-Server-Patches/0169-Fix-this-stupid-bullshit.patch rename to Spigot-Server-Patches/0168-Fix-this-stupid-bullshit.patch index c0ae1347d..fea755e1b 100644 --- a/Spigot-Server-Patches/0169-Fix-this-stupid-bullshit.patch +++ b/Spigot-Server-Patches/0168-Fix-this-stupid-bullshit.patch @@ -1,4 +1,4 @@ -From 709bb372b87f6478be5717d270cd81223c460db7 Mon Sep 17 00:00:00 2001 +From 834c2e5d32a575b12eb91a6c2ad0685179bc76f3 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,7 +9,7 @@ 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 d2bdd7c73..1fa81904d 100644 +index d2bdd7c73f..1fa81904d4 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 { diff --git a/Spigot-Server-Patches/0170-Ocelot-despawns-should-honor-nametags-and-leash.patch b/Spigot-Server-Patches/0169-Ocelot-despawns-should-honor-nametags-and-leash.patch similarity index 89% rename from Spigot-Server-Patches/0170-Ocelot-despawns-should-honor-nametags-and-leash.patch rename to Spigot-Server-Patches/0169-Ocelot-despawns-should-honor-nametags-and-leash.patch index cb6f90874..7d750f387 100644 --- a/Spigot-Server-Patches/0170-Ocelot-despawns-should-honor-nametags-and-leash.patch +++ b/Spigot-Server-Patches/0169-Ocelot-despawns-should-honor-nametags-and-leash.patch @@ -1,11 +1,11 @@ -From 06483bd2137b5de16b38caa67e46aabf6d3fd094 Mon Sep 17 00:00:00 2001 +From 2e0688b36f97187cb8f065e164e5fd0fa9059935 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 f50efe782..0f1c25959 100644 +index a6b15efd5d..edc5f696c0 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 { diff --git a/Spigot-Server-Patches/0171-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/Spigot-Server-Patches/0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch similarity index 92% rename from Spigot-Server-Patches/0171-Reset-spawner-timer-when-spawner-event-is-cancelled.patch rename to Spigot-Server-Patches/0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch index afabf6739..840685bf7 100644 --- a/Spigot-Server-Patches/0171-Reset-spawner-timer-when-spawner-event-is-cancelled.patch +++ b/Spigot-Server-Patches/0170-Reset-spawner-timer-when-spawner-event-is-cancelled.patch @@ -1,11 +1,11 @@ -From 699a56bea1a38f6d317cf7c4dc340ef1a2937f16 Mon Sep 17 00:00:00 2001 +From 393e17f7fb0841095ec391a7a7192c6b81604ffb 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 4bd511dd7..59bd9ccd7 100644 +index 4bd511dd7c..59bd9ccd70 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 { diff --git a/Spigot-Server-Patches/0172-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/Spigot-Server-Patches/0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch similarity index 92% rename from Spigot-Server-Patches/0172-Fix-MC-117075-TE-Unload-Lag-Spike.patch rename to Spigot-Server-Patches/0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch index aea7398cf..ed0f063ea 100644 --- a/Spigot-Server-Patches/0172-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/Spigot-Server-Patches/0171-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -1,11 +1,11 @@ -From e306b1f60ec0dd3ebadefca87ae7a67b4cf38ab1 Mon Sep 17 00:00:00 2001 +From 71b39eb3328c1d4bb08e116a0410410bec249da8 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 cfdb6b57f..002fdd768 100644 +index d6f04c823a..8add757cc8 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 diff --git a/Spigot-Server-Patches/0173-Allow-specifying-a-custom-authentication-servers-dow.patch b/Spigot-Server-Patches/0172-Allow-specifying-a-custom-authentication-servers-dow.patch similarity index 92% rename from Spigot-Server-Patches/0173-Allow-specifying-a-custom-authentication-servers-dow.patch rename to Spigot-Server-Patches/0172-Allow-specifying-a-custom-authentication-servers-dow.patch index bf1669b7c..12d01893f 100644 --- a/Spigot-Server-Patches/0173-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/Spigot-Server-Patches/0172-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -1,4 +1,4 @@ -From 165f8cf515e55863064f67c20f7797e9936ad918 Mon Sep 17 00:00:00 2001 +From 3e8591beff5e88eda41d6790603446fbe00fe15c 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 11d2a1013..11f08c2b7 100644 +index 11d2a1013b..11f08c2b73 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -1,5 +1,6 @@ @@ -27,10 +27,10 @@ index 11d2a1013..11f08c2b7 100644 + } } diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 91b6f1de8..398f67f4b 100644 +index 977a5009dd..c3ff7a6b8f 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -242,6 +242,10 @@ public class LoginListener implements PacketLoginInListener { +@@ -247,6 +247,10 @@ public class LoginListener implements PacketLoginInListener { LoginListener.this.i = LoginListener.this.a(gameprofile); LoginListener.this.g = LoginListener.EnumProtocolState.READY_TO_ACCEPT; } else { diff --git a/Spigot-Server-Patches/0174-LivingEntity-setKiller.patch b/Spigot-Server-Patches/0173-LivingEntity-setKiller.patch similarity index 93% rename from Spigot-Server-Patches/0174-LivingEntity-setKiller.patch rename to Spigot-Server-Patches/0173-LivingEntity-setKiller.patch index 7636b3244..92b4bb27f 100644 --- a/Spigot-Server-Patches/0174-LivingEntity-setKiller.patch +++ b/Spigot-Server-Patches/0173-LivingEntity-setKiller.patch @@ -1,11 +1,11 @@ -From 304a36f415dcc5530b321815a2fe6f48c79191dc Mon Sep 17 00:00:00 2001 +From 24f63e31e78e209ed3fea9cbe1b1536b13c5459d 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 3961ae171..31e3bf0ed 100644 +index 0733caf7bd..efc7617957 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 { @@ -18,7 +18,7 @@ index 3961ae171..31e3bf0ed 100644 protected int ticksFarFromPlayer; protected float aT; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index aa50435be..42cc15882 100644 +index aa50435bec..42cc158824 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -304,6 +304,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0175-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch b/Spigot-Server-Patches/0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch similarity index 93% rename from Spigot-Server-Patches/0175-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch rename to Spigot-Server-Patches/0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch index 1782dbacb..cf208cb2b 100644 --- a/Spigot-Server-Patches/0175-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch +++ b/Spigot-Server-Patches/0174-Use-Log4j-IOStreams-to-redirect-System.out-err-to-lo.patch @@ -1,4 +1,4 @@ -From 47c7a823f8bb02c915e51a9e0fea989318c661d4 Mon Sep 17 00:00:00 2001 +From 6123d01c33d30f1f87f3760e6ecc70c1b67a4aa2 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 58ccbaa1a..85fa0d983 100644 +index 54d214a8cf..ea6fb01249 100644 --- a/pom.xml +++ b/pom.xml @@ -63,6 +63,11 @@ @@ -28,7 +28,7 @@ index 58ccbaa1a..85fa0d983 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 26b35855e..c093747bb 100644 +index f8fa3f78e7..118d90242e 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -137,8 +137,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer diff --git a/Spigot-Server-Patches/0176-Handle-plugin-prefixes-using-Log4J-configuration.patch b/Spigot-Server-Patches/0175-Handle-plugin-prefixes-using-Log4J-configuration.patch similarity index 95% rename from Spigot-Server-Patches/0176-Handle-plugin-prefixes-using-Log4J-configuration.patch rename to Spigot-Server-Patches/0175-Handle-plugin-prefixes-using-Log4J-configuration.patch index 50787583f..610429c3b 100644 --- a/Spigot-Server-Patches/0176-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/Spigot-Server-Patches/0175-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -1,4 +1,4 @@ -From 6274ed4beb01d620d286d631208e21977133d642 Mon Sep 17 00:00:00 2001 +From 8e9be82d7e127ea31437f7c85c18273646a24ea6 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 85fa0d983..5558921cd 100644 +index ea6fb01249..d955106433 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ @@ -28,7 +28,7 @@ index 85fa0d983..5558921cd 100644 org.apache.logging.log4j diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index fc6cb9306..bd601333e 100644 +index fc6cb9306a..bd601333ee 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -291,7 +291,7 @@ public class SpigotConfig @@ -41,7 +41,7 @@ index fc6cb9306..bd601333e 100644 public static int playerShuffle; diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 08b6bb7f9..9f8334376 100644 +index 08b6bb7f97..9f8334376f 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -2,10 +2,22 @@ diff --git a/Spigot-Server-Patches/0177-Include-Log4J2-SLF4J-implementation.patch b/Spigot-Server-Patches/0176-Include-Log4J2-SLF4J-implementation.patch similarity index 87% rename from Spigot-Server-Patches/0177-Include-Log4J2-SLF4J-implementation.patch rename to Spigot-Server-Patches/0176-Include-Log4J2-SLF4J-implementation.patch index 4967cd32d..5ad16c664 100644 --- a/Spigot-Server-Patches/0177-Include-Log4J2-SLF4J-implementation.patch +++ b/Spigot-Server-Patches/0176-Include-Log4J2-SLF4J-implementation.patch @@ -1,11 +1,11 @@ -From d51166fad157707f92dbc777e8bb27dcbe987b1d Mon Sep 17 00:00:00 2001 +From bf759fa436ae169e7e28d17abdd048943a1d2e54 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 5558921cd..4ead09327 100644 +index d955106433..b7db74c9ba 100644 --- a/pom.xml +++ b/pom.xml @@ -63,6 +63,12 @@ diff --git a/Spigot-Server-Patches/0178-Disable-logger-prefix-for-various-plugins-bypassing-.patch b/Spigot-Server-Patches/0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch similarity index 95% rename from Spigot-Server-Patches/0178-Disable-logger-prefix-for-various-plugins-bypassing-.patch rename to Spigot-Server-Patches/0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch index 95f440a7d..08cfdb380 100644 --- a/Spigot-Server-Patches/0178-Disable-logger-prefix-for-various-plugins-bypassing-.patch +++ b/Spigot-Server-Patches/0177-Disable-logger-prefix-for-various-plugins-bypassing-.patch @@ -1,4 +1,4 @@ -From c9f4d39e4d82c6184244bcb0930fb9e217bfd216 Mon Sep 17 00:00:00 2001 +From 1950fa644d4c5e34543c88115d259bc2133591ef 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 9f8334376..6711e6dff 100644 +index 9f8334376f..6711e6dff9 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -5,7 +5,8 @@ diff --git a/Spigot-Server-Patches/0179-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0178-Add-PlayerJumpEvent.patch similarity index 94% rename from Spigot-Server-Patches/0179-Add-PlayerJumpEvent.patch rename to Spigot-Server-Patches/0178-Add-PlayerJumpEvent.patch index 3f7ee0d50..79dc68457 100644 --- a/Spigot-Server-Patches/0179-Add-PlayerJumpEvent.patch +++ b/Spigot-Server-Patches/0178-Add-PlayerJumpEvent.patch @@ -1,11 +1,11 @@ -From 356e3a97ae6553c4cdbd3dc780da703fe717a246 Mon Sep 17 00:00:00 2001 +From 246163fe2f7e4f715d94d4a759d31cc34fba3d75 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 f7d487bb6..b743d4f5e 100644 +index 579c551f95..5e3ca96871 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,7 +17,7 @@ index f7d487bb6..b743d4f5e 100644 import co.aikar.timings.MinecraftTimings; // Paper // CraftBukkit end -@@ -912,7 +914,34 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -913,7 +915,34 @@ public class PlayerConnection implements PacketListenerPlayIn { d8 = d5 - this.p; d9 = d6 - this.q; if (this.player.onGround && !packetplayinflying.b() && d8 > 0.0D) { diff --git a/Spigot-Server-Patches/0180-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0179-handle-PacketPlayInKeepAlive-async.patch similarity index 92% rename from Spigot-Server-Patches/0180-handle-PacketPlayInKeepAlive-async.patch rename to Spigot-Server-Patches/0179-handle-PacketPlayInKeepAlive-async.patch index da5e63aef..8e27d28ca 100644 --- a/Spigot-Server-Patches/0180-handle-PacketPlayInKeepAlive-async.patch +++ b/Spigot-Server-Patches/0179-handle-PacketPlayInKeepAlive-async.patch @@ -1,4 +1,4 @@ -From cf4ab77812dee87bc6c484bfe8bf228acc25ff79 Mon Sep 17 00:00:00 2001 +From 78d292bb028979a78ee9567c774e6d97f4aa24f7 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 b743d4f5e..f658be09c 100644 +index 5e3ca96871..0cb68a8553 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2513,14 +2513,18 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2476,14 +2476,18 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInKeepAlive packetplayinkeepalive) { diff --git a/Spigot-Server-Patches/0181-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-Server-Patches/0180-Expose-client-protocol-version-and-virtual-host.patch similarity index 93% rename from Spigot-Server-Patches/0181-Expose-client-protocol-version-and-virtual-host.patch rename to Spigot-Server-Patches/0180-Expose-client-protocol-version-and-virtual-host.patch index cdf87e9e0..02083f02a 100644 --- a/Spigot-Server-Patches/0181-Expose-client-protocol-version-and-virtual-host.patch +++ b/Spigot-Server-Patches/0180-Expose-client-protocol-version-and-virtual-host.patch @@ -1,4 +1,4 @@ -From 49d2d347eb0097c129e8ac08eb90979d6db794b2 Mon Sep 17 00:00:00 2001 +From 7792dcfee7c0a9197d18e8cd965acffb0fa7e5f3 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 000000000..5caca6439 +index 0000000000..5caca6439d --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java @@ -0,0 +1,50 @@ @@ -61,7 +61,7 @@ index 000000000..5caca6439 + +} diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index 66dda900b..07d85e535 100644 +index 078b711c47..740c8d2728 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,13 +84,13 @@ index 66dda900b..07d85e535 100644 @Override diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index d4c59baf8..ae60f757e 100644 +index 3ccf166366..e2d8ed88f0 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java -@@ -62,6 +62,10 @@ public class NetworkManager extends SimpleChannelInboundHandler> { - private float t; - private int u; - private boolean v; +@@ -60,6 +60,10 @@ public class NetworkManager extends SimpleChannelInboundHandler> { + private float s; + private int t; + private boolean u; + // Paper start - NetworkClient implementation + public int protocolVersion; + public java.net.InetSocketAddress virtualHost; @@ -99,7 +99,7 @@ index d4c59baf8..ae60f757e 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 4f008e472..8545146fb 100644 +index 4f008e4723..8545146fb1 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 f658be09c..8c9d09e97 100644 +index 0cb68a8553..1d140b3fe7 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 { diff --git a/Spigot-Server-Patches/0183-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/Spigot-Server-Patches/0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch similarity index 65% rename from Spigot-Server-Patches/0183-Send-attack-SoundEffects-only-to-players-who-can-see.patch rename to Spigot-Server-Patches/0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch index c071f41cb..35ccd5b47 100644 --- a/Spigot-Server-Patches/0183-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/Spigot-Server-Patches/0182-Send-attack-SoundEffects-only-to-players-who-can-see.patch @@ -1,4 +1,4 @@ -From c2b855ad1bdf8d35808470af87415eb11f9bf87b Mon Sep 17 00:00:00 2001 +From 2367b8fc37274600701109e28bd28b6fe7f9ec73 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,10 +6,10 @@ 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 d1f01bb64..3b978528b 100644 +index 9d1c3b0737..4cfe87d078 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -941,6 +941,15 @@ public abstract class EntityHuman extends EntityLiving { +@@ -956,6 +956,15 @@ public abstract class EntityHuman extends EntityLiving { return super.isFrozen() || this.isSleeping(); } @@ -25,67 +25,68 @@ index d1f01bb64..3b978528b 100644 public void attack(Entity entity) { if (entity.bs()) { if (!entity.t(this)) { -@@ -965,7 +974,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -980,7 +989,7 @@ public abstract class EntityHuman extends EntityLiving { int i = b0 + EnchantmentManager.b((EntityLiving) this); if (this.isSprinting() && flag) { -- this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_KNOCKBACK, this.getSoundCategory(), 1.0F, 1.0F); +- 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; } -@@ -1040,7 +1049,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1055,7 +1064,7 @@ public abstract class EntityHuman extends EntityLiving { } } -- this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_SWEEP, this.getSoundCategory(), 1.0F, 1.0F); +- 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.dF(); + this.dE(); } -@@ -1068,15 +1077,15 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1083,15 +1092,15 @@ public abstract class EntityHuman extends EntityLiving { } if (flag2) { -- this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_CRIT, this.getSoundCategory(), 1.0F, 1.0F); +- 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.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_STRONG, this.getSoundCategory(), 1.0F, 1.0F); +- 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.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_WEAK, this.getSoundCategory(), 1.0F, 1.0F); +- 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 } } -@@ -1128,7 +1137,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1143,7 +1152,7 @@ public abstract class EntityHuman extends EntityLiving { this.applyExhaustion(world.spigotConfig.combatExhaustion); // Spigot - Change to use configurable value } else { -- this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_PLAYER_ATTACK_NODAMAGE, this.getSoundCategory(), 1.0F, 1.0F); +- 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 002fdd768..dc95fe907 100644 +index 8add757cc8..22f1d9e27b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -671,6 +671,10 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose - this.a(entityhuman, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, soundeffect, soundcategory, f, f1); +@@ -671,6 +671,11 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose + this.playSound(entityhuman, (double) blockposition.getX() + 0.5D, (double) blockposition.getY() + 0.5D, (double) blockposition.getZ() + 0.5D, soundeffect, soundcategory, f, f1); } + // Paper start - OBFHELPER + public final void sendSoundEffect(@Nullable EntityHuman fromEntity, double x, double y, double z, SoundEffect soundeffect, SoundCategory soundcategory, float volume, float pitch) { -+ this.a(fromEntity, x, y, z, soundeffect, soundcategory, volume, pitch); ++ this.playSound(fromEntity, x, y, z, soundeffect, soundcategory, volume, pitch); + } - public abstract void a(@Nullable EntityHuman entityhuman, double d0, double d1, double d2, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1); ++ // Paper end + public abstract void playSound(@Nullable EntityHuman entityhuman, double d0, double d1, double d2, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1); - public abstract void a(@Nullable EntityHuman entityhuman, Entity entity, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1); + public abstract void playSound(@Nullable EntityHuman entityhuman, Entity entity, SoundEffect soundeffect, SoundCategory soundcategory, float f, float f1); -- 2.22.0 diff --git a/Spigot-Server-Patches/0184-Option-for-maximum-exp-value-when-merging-orbs.patch b/Spigot-Server-Patches/0183-Option-for-maximum-exp-value-when-merging-orbs.patch similarity index 95% rename from Spigot-Server-Patches/0184-Option-for-maximum-exp-value-when-merging-orbs.patch rename to Spigot-Server-Patches/0183-Option-for-maximum-exp-value-when-merging-orbs.patch index da6e8584d..13b388d37 100644 --- a/Spigot-Server-Patches/0184-Option-for-maximum-exp-value-when-merging-orbs.patch +++ b/Spigot-Server-Patches/0183-Option-for-maximum-exp-value-when-merging-orbs.patch @@ -1,11 +1,11 @@ -From fd01c1197ce06a475905315bb53b5b98534ad936 Mon Sep 17 00:00:00 2001 +From af6cb20df0f7dcebfd2b343029e087749c1cc4c3 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 4d0d4cbe4..b3d8fe9c6 100644 +index 4d0d4cbe4e..b3d8fe9c68 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -333,4 +333,10 @@ public class PaperWorldConfig { @@ -20,7 +20,7 @@ index 4d0d4cbe4..b3d8fe9c6 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index a33a9fd79..85a9dd5ab 100644 +index af1be62e2b..715a4acef8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -529,16 +529,32 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0185-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0184-Add-PlayerArmorChangeEvent.patch similarity index 94% rename from Spigot-Server-Patches/0185-Add-PlayerArmorChangeEvent.patch rename to Spigot-Server-Patches/0184-Add-PlayerArmorChangeEvent.patch index 2b4c55446..c5ce6747c 100644 --- a/Spigot-Server-Patches/0185-Add-PlayerArmorChangeEvent.patch +++ b/Spigot-Server-Patches/0184-Add-PlayerArmorChangeEvent.patch @@ -1,11 +1,11 @@ -From ac64242cb9351362f1c196aa499c09c4be763db4 Mon Sep 17 00:00:00 2001 +From 37eb7bf78423b3149998c38df7884b3adc0704c2 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 31e3bf0ed..1157a9eb6 100644 +index efc7617957..72adeb7271 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1,5 +1,6 @@ @@ -30,7 +30,7 @@ index 31e3bf0ed..1157a9eb6 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 02a7ae678..60b235f16 100644 +index 02a7ae6785..60b235f16f 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 { diff --git a/Spigot-Server-Patches/0186-Prevent-logins-from-being-processed-when-the-player-.patch b/Spigot-Server-Patches/0185-Prevent-logins-from-being-processed-when-the-player-.patch similarity index 91% rename from Spigot-Server-Patches/0186-Prevent-logins-from-being-processed-when-the-player-.patch rename to Spigot-Server-Patches/0185-Prevent-logins-from-being-processed-when-the-player-.patch index 3b207ee7a..76cd062f6 100644 --- a/Spigot-Server-Patches/0186-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/Spigot-Server-Patches/0185-Prevent-logins-from-being-processed-when-the-player-.patch @@ -1,4 +1,4 @@ -From e3f535b6ef8adbd665651c6432177a7a079c5ac6 Mon Sep 17 00:00:00 2001 +From 1ef9c95d02515c643df7f8ac642186f4e81ade43 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 398f67f4b..fe912e0eb 100644 +index c3ff7a6b8f..a2af5b4b29 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 { diff --git a/Spigot-Server-Patches/0187-use-CB-BlockState-implementations-for-captured-block.patch b/Spigot-Server-Patches/0186-use-CB-BlockState-implementations-for-captured-block.patch similarity index 94% rename from Spigot-Server-Patches/0187-use-CB-BlockState-implementations-for-captured-block.patch rename to Spigot-Server-Patches/0186-use-CB-BlockState-implementations-for-captured-block.patch index e5f13313f..cbd2c9c65 100644 --- a/Spigot-Server-Patches/0187-use-CB-BlockState-implementations-for-captured-block.patch +++ b/Spigot-Server-Patches/0186-use-CB-BlockState-implementations-for-captured-block.patch @@ -1,4 +1,4 @@ -From 4255c309221377575a5d5ca547d370e565e63ee6 Mon Sep 17 00:00:00 2001 +From 73f423d4b038df91294e25f806ab2836b290bfbf 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,7 +18,7 @@ the blockstate that will be valid for restoration, as opposed to dropping information on restoration when the event is cancelled. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index dc95fe907..b9570ea92 100644 +index 22f1d9e27b..e780f7af40 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 diff --git a/Spigot-Server-Patches/0188-API-to-get-a-BlockState-without-a-snapshot.patch b/Spigot-Server-Patches/0187-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 96% rename from Spigot-Server-Patches/0188-API-to-get-a-BlockState-without-a-snapshot.patch rename to Spigot-Server-Patches/0187-API-to-get-a-BlockState-without-a-snapshot.patch index 33d122d44..bfdb45a78 100644 --- a/Spigot-Server-Patches/0188-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/Spigot-Server-Patches/0187-API-to-get-a-BlockState-without-a-snapshot.patch @@ -1,4 +1,4 @@ -From 3fff2c50966bb9c1c4e9e8a29c5f6d4783e24501 Mon Sep 17 00:00:00 2001 +From 7cbfeb0fcca8c47db678223b0d478e2367b9f8a6 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,7 +13,7 @@ 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 af6977dcdc..c72b013868 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 @@ -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 2bc0b2e09..166c918d7 100644 +index 2bc0b2e093..166c918d73 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -312,6 +312,20 @@ public class CraftBlock implements Block { @@ -64,7 +64,7 @@ index 2bc0b2e09..166c918d7 100644 switch (material) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index 17d80b5c6..f6401e2cd 100644 +index 17d80b5c6e..f6401e2cde 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -26,20 +26,40 @@ public class CraftBlockEntityState extends CraftBlockState @@ -114,7 +114,7 @@ index 17d80b5c6..f6401e2cd 100644 private T createSnapshot(T tileEntity) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -index 15022ada0..af15656cc 100644 +index 15022ada0c..af15656cc4 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java @@ -17,10 +17,12 @@ public class CraftSign extends CraftBlockEntityState implements diff --git a/Spigot-Server-Patches/0189-AsyncTabCompleteEvent.patch b/Spigot-Server-Patches/0188-AsyncTabCompleteEvent.patch similarity index 96% rename from Spigot-Server-Patches/0189-AsyncTabCompleteEvent.patch rename to Spigot-Server-Patches/0188-AsyncTabCompleteEvent.patch index 0e1909e8e..8fd04bc5b 100644 --- a/Spigot-Server-Patches/0189-AsyncTabCompleteEvent.patch +++ b/Spigot-Server-Patches/0188-AsyncTabCompleteEvent.patch @@ -1,4 +1,4 @@ -From 14db645ac522a22543f78944e555c3f320db9bed Mon Sep 17 00:00:00 2001 +From c20b37ca6d31358fe106f4fef2c13036fd20b95a 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 8c9d09e97..21d42ab9d 100644 +index 1d140b3fe7..6008613fae 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -520,10 +520,10 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -521,10 +521,10 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInTabComplete packetplayintabcomplete) { @@ -30,7 +30,7 @@ index 8c9d09e97..21d42ab9d 100644 return; } // CraftBukkit end -@@ -533,12 +533,37 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -534,12 +534,37 @@ public class PlayerConnection implements PacketListenerPlayIn { stringreader.skip(); } @@ -72,7 +72,7 @@ index 8c9d09e97..21d42ab9d 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2f70d0627..2a2b28441 100644 +index 9f29be85c2..66d4dccedd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1667,7 +1667,7 @@ public final class CraftServer implements Server { @@ -85,7 +85,7 @@ index 2f70d0627..2a2b28441 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 5510266fb..a51202ed5 100644 +index 5510266fb1..a51202ed53 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 { diff --git a/Spigot-Server-Patches/0190-Avoid-NPE-in-PathfinderGoalTempt.patch b/Spigot-Server-Patches/0189-Avoid-NPE-in-PathfinderGoalTempt.patch similarity index 89% rename from Spigot-Server-Patches/0190-Avoid-NPE-in-PathfinderGoalTempt.patch rename to Spigot-Server-Patches/0189-Avoid-NPE-in-PathfinderGoalTempt.patch index 54f5c17f5..9c50e6284 100644 --- a/Spigot-Server-Patches/0190-Avoid-NPE-in-PathfinderGoalTempt.patch +++ b/Spigot-Server-Patches/0189-Avoid-NPE-in-PathfinderGoalTempt.patch @@ -1,11 +1,11 @@ -From ff5541a03601804d2ebb129189050015e3bf35c4 Mon Sep 17 00:00:00 2001 +From f28a5e2b34432128d6bed2ef1671bc526da11581 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 1bf5d6c08..0b036f29c 100644 +index fb395bcded..d1164dd682 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 { diff --git a/Spigot-Server-Patches/0191-PlayerPickupExperienceEvent.patch b/Spigot-Server-Patches/0190-PlayerPickupExperienceEvent.patch similarity index 92% rename from Spigot-Server-Patches/0191-PlayerPickupExperienceEvent.patch rename to Spigot-Server-Patches/0190-PlayerPickupExperienceEvent.patch index fda6a5c0b..af2b1adf7 100644 --- a/Spigot-Server-Patches/0191-PlayerPickupExperienceEvent.patch +++ b/Spigot-Server-Patches/0190-PlayerPickupExperienceEvent.patch @@ -1,4 +1,4 @@ -From 9aed4e9e561bd1824cadb8bd7095bdd6941b61fe Mon Sep 17 00:00:00 2001 +From 7c4b40c1f1c8da1b1d5908549738a0a4206f0bdc Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 22:02:53 -0500 Subject: [PATCH] PlayerPickupExperienceEvent @@ -6,7 +6,7 @@ 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 214ecdb88..8c2569566 100644 +index 214ecdb884..8c25695669 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -219,7 +219,7 @@ public class EntityExperienceOrb extends Entity { diff --git a/Spigot-Server-Patches/0192-ExperienceOrbMergeEvent.patch b/Spigot-Server-Patches/0191-ExperienceOrbMergeEvent.patch similarity index 93% rename from Spigot-Server-Patches/0192-ExperienceOrbMergeEvent.patch rename to Spigot-Server-Patches/0191-ExperienceOrbMergeEvent.patch index debefcee4..d8d40d9ad 100644 --- a/Spigot-Server-Patches/0192-ExperienceOrbMergeEvent.patch +++ b/Spigot-Server-Patches/0191-ExperienceOrbMergeEvent.patch @@ -1,4 +1,4 @@ -From 426522cbfdb03eef95524413ada590b5fedc7b25 Mon Sep 17 00:00:00 2001 +From 5e9cdf789703c332afbdf0b57a6c1d645fe71cd9 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 85a9dd5ab..aedff6fcf 100644 +index 715a4acef8..fa96ec3247 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -539,7 +539,7 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0193-Ability-to-apply-mending-to-XP-API.patch b/Spigot-Server-Patches/0192-Ability-to-apply-mending-to-XP-API.patch similarity index 95% rename from Spigot-Server-Patches/0193-Ability-to-apply-mending-to-XP-API.patch rename to Spigot-Server-Patches/0192-Ability-to-apply-mending-to-XP-API.patch index d7c72fe44..c5cd55270 100644 --- a/Spigot-Server-Patches/0193-Ability-to-apply-mending-to-XP-API.patch +++ b/Spigot-Server-Patches/0192-Ability-to-apply-mending-to-XP-API.patch @@ -1,4 +1,4 @@ -From c5579073dc8e3321aac94fdfa3adcf55b32eb834 Mon Sep 17 00:00:00 2001 +From e807780b68417c154becacdddecc01485b9e7966 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,7 +10,7 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java -index 8c658079f..16e6d95cf 100644 +index ed9aedc07c..1d16919e6b 100644 --- a/src/main/java/net/minecraft/server/EnchantmentManager.java +++ b/src/main/java/net/minecraft/server/EnchantmentManager.java @@ -241,6 +241,11 @@ public class EnchantmentManager { @@ -26,7 +26,7 @@ index 8c658079f..16e6d95cf 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 8c2569566..6a5954889 100644 +index 8c25695669..6a5954889e 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -251,10 +251,12 @@ public class EntityExperienceOrb extends Entity { @@ -43,7 +43,7 @@ index 8c2569566..6a5954889 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 9d2a8a2da..d8ce699e3 100644 +index de43559647..854d6f7999 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 { diff --git a/Spigot-Server-Patches/0194-Make-max-squid-spawn-height-configurable.patch b/Spigot-Server-Patches/0193-Make-max-squid-spawn-height-configurable.patch similarity index 93% rename from Spigot-Server-Patches/0194-Make-max-squid-spawn-height-configurable.patch rename to Spigot-Server-Patches/0193-Make-max-squid-spawn-height-configurable.patch index ae2cc4237..479f0703e 100644 --- a/Spigot-Server-Patches/0194-Make-max-squid-spawn-height-configurable.patch +++ b/Spigot-Server-Patches/0193-Make-max-squid-spawn-height-configurable.patch @@ -1,4 +1,4 @@ -From 4d925697fd5b650cc2bc7b653993e85bb6225131 Mon Sep 17 00:00:00 2001 +From 0057bdebdfd3f05456d733383f3ae0570885290b 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 b3d8fe9c6..7287bf7d9 100644 +index b3d8fe9c68..7287bf7d9b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -339,4 +339,9 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index b3d8fe9c6..7287bf7d9 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index 338c203b3..aafb7df0c 100644 +index f8fa64959f..735d1879a8 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 { diff --git a/Spigot-Server-Patches/0195-PreCreatureSpawnEvent.patch b/Spigot-Server-Patches/0194-PreCreatureSpawnEvent.patch similarity index 85% rename from Spigot-Server-Patches/0195-PreCreatureSpawnEvent.patch rename to Spigot-Server-Patches/0194-PreCreatureSpawnEvent.patch index 045c1532c..25c1e97c8 100644 --- a/Spigot-Server-Patches/0195-PreCreatureSpawnEvent.patch +++ b/Spigot-Server-Patches/0194-PreCreatureSpawnEvent.patch @@ -1,4 +1,4 @@ -From 99cf553c28be7dfe122a00533b9bad68baae8b06 Mon Sep 17 00:00:00 2001 +From d12fdc3e162f3ed34415d5aab640a2c0dde75f70 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 14 Jan 2018 17:01:31 -0500 Subject: [PATCH] PreCreatureSpawnEvent @@ -15,7 +15,7 @@ instead and save a lot of server resources. See: https://github.com/PaperMC/Paper/issues/917 diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 59bd9ccd7..6f5d8b031 100644 +index 59bd9ccd70..6f5d8b0315 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 { @@ -48,7 +48,7 @@ index 59bd9ccd7..6f5d8b031 100644 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 4aa65c193..4458b48ee 100644 +index 9c065c9997..30da877d53 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 { @@ -60,9 +60,9 @@ index 4aa65c193..4458b48ee 100644 int j2 = 0; while (true) { -@@ -74,6 +74,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))) { - EntityInsentient entityinsentient; +@@ -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))) { + EntityInsentient entityinsentient; + // Paper start + com.destroystokyo.paper.event.entity.PreCreatureSpawnEvent event; @@ -83,8 +83,8 @@ index 4aa65c193..4458b48ee 100644 + } + // Paper end + - try { - Entity entity = entitytypes.a(world); + try { + Entity entity = entitytypes.a(world); -- 2.22.0 diff --git a/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch b/Spigot-Server-Patches/0195-PlayerNaturallySpawnCreaturesEvent.patch similarity index 88% rename from Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch rename to Spigot-Server-Patches/0195-PlayerNaturallySpawnCreaturesEvent.patch index 4bfd820da..3d252cb23 100644 --- a/Spigot-Server-Patches/0196-PlayerNaturallySpawnCreaturesEvent.patch +++ b/Spigot-Server-Patches/0195-PlayerNaturallySpawnCreaturesEvent.patch @@ -1,4 +1,4 @@ -From 7e8abd496c43334132b6c4001fca6f95c41e2011 Mon Sep 17 00:00:00 2001 +From 9e159fdf185d9d4add91a0b6e62f66d1c39448a5 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 71494ecb3..398630bb4 100644 +index 63140fb642..ce13b91f66 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -785,12 +785,24 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -835,12 +835,24 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { chunkRange = (chunkRange > world.spigotConfig.viewDistance) ? (byte) world.spigotConfig.viewDistance : chunkRange; chunkRange = (chunkRange > 8) ? 8 : chunkRange; @@ -22,7 +22,7 @@ index 71494ecb3..398630bb4 100644 // Spigot end long i = chunkcoordintpair.pair(); - return !this.u.d(i) ? true : this.playerMap.a(i).noneMatch((entityplayer) -> { + return !this.chunkDistanceManager.d(i) ? true : this.playerMap.a(i).noneMatch((entityplayer) -> { - return !entityplayer.isSpectator() && a(chunkcoordintpair, (Entity) entityplayer) < blockRange; // Spigot + // Paper start - + com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent event; diff --git a/Spigot-Server-Patches/0197-Add-setPlayerProfile-API-for-Skulls.patch b/Spigot-Server-Patches/0196-Add-setPlayerProfile-API-for-Skulls.patch similarity index 96% rename from Spigot-Server-Patches/0197-Add-setPlayerProfile-API-for-Skulls.patch rename to Spigot-Server-Patches/0196-Add-setPlayerProfile-API-for-Skulls.patch index 74a33918f..eeac5570d 100644 --- a/Spigot-Server-Patches/0197-Add-setPlayerProfile-API-for-Skulls.patch +++ b/Spigot-Server-Patches/0196-Add-setPlayerProfile-API-for-Skulls.patch @@ -1,4 +1,4 @@ -From e2045a0e6938776f9c9ab0a0897ace9b4427587a Mon Sep 17 00:00:00 2001 +From 2abab834a6150dde60c05f78153364368618be36 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 a4bc7f970..2dd2f476f 100644 +index a4bc7f9701..2dd2f476f0 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 a4bc7f970..2dd2f476f 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 0136e1bfe..aee97b9f0 100644 +index 0136e1bfe1..aee97b9f03 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -3,6 +3,8 @@ package org.bukkit.craftbukkit.inventory; diff --git a/Spigot-Server-Patches/0198-Fill-Profile-Property-Events.patch b/Spigot-Server-Patches/0197-Fill-Profile-Property-Events.patch similarity index 95% rename from Spigot-Server-Patches/0198-Fill-Profile-Property-Events.patch rename to Spigot-Server-Patches/0197-Fill-Profile-Property-Events.patch index c8438d6da..736171448 100644 --- a/Spigot-Server-Patches/0198-Fill-Profile-Property-Events.patch +++ b/Spigot-Server-Patches/0197-Fill-Profile-Property-Events.patch @@ -1,4 +1,4 @@ -From 1bc7a40db9fa007d1cd40d9a1dfb8daef19ecfde Mon Sep 17 00:00:00 2001 +From 983dc15ebbccfcee1a79c984189d6a20984b7223 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 4b2a67423..61cfdf73c 100644 +index 4b2a67423f..61cfdf73c8 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 @@ diff --git a/Spigot-Server-Patches/0199-PlayerAdvancementCriterionGrantEvent.patch b/Spigot-Server-Patches/0198-PlayerAdvancementCriterionGrantEvent.patch similarity index 90% rename from Spigot-Server-Patches/0199-PlayerAdvancementCriterionGrantEvent.patch rename to Spigot-Server-Patches/0198-PlayerAdvancementCriterionGrantEvent.patch index 5b97474cb..32e1260a5 100644 --- a/Spigot-Server-Patches/0199-PlayerAdvancementCriterionGrantEvent.patch +++ b/Spigot-Server-Patches/0198-PlayerAdvancementCriterionGrantEvent.patch @@ -1,11 +1,11 @@ -From f7eb0740cc9a900d887c626266752ca42e1f5cf3 Mon Sep 17 00:00:00 2001 +From 365884033fb92fc9c1f6c5ebbc4b1d73690de74b 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 e8a69e18e..1833310c1 100644 +index 4040eb3b3f..b7f1f39a16 100644 --- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java +++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java @@ -276,6 +276,12 @@ public class AdvancementDataPlayer { diff --git a/Spigot-Server-Patches/0200-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0199-Add-ArmorStand-Item-Meta.patch similarity index 98% rename from Spigot-Server-Patches/0200-Add-ArmorStand-Item-Meta.patch rename to Spigot-Server-Patches/0199-Add-ArmorStand-Item-Meta.patch index 5dc5573cb..ca3a6b250 100644 --- a/Spigot-Server-Patches/0200-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0199-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 0bac19a94d325c1ec051fd683298d44d478cb580 Mon Sep 17 00:00:00 2001 +From 99a5fd70220d1da44b64c78c13482bd4669132dc 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 f70052284..3723facca 100644 +index f700522840..3723faccac 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 f70052284..3723facca 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 b0682e529..704a7d91e 100644 +index b0682e5299..704a7d91e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -162,6 +162,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -296,7 +296,7 @@ index b0682e529..704a7d91e 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 dd4ba3874..48c5e0621 100644 +index dd4ba38743..48c5e06215 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -6,6 +6,7 @@ import java.util.ArrayList; diff --git a/Spigot-Server-Patches/0201-Extend-Player-Interact-cancellation.patch b/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch similarity index 69% rename from Spigot-Server-Patches/0201-Extend-Player-Interact-cancellation.patch rename to Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch index b3f32448c..89df45ca3 100644 --- a/Spigot-Server-Patches/0201-Extend-Player-Interact-cancellation.patch +++ b/Spigot-Server-Patches/0200-Extend-Player-Interact-cancellation.patch @@ -1,4 +1,4 @@ -From 6fc018a25a1a61411a89428084fcaf9c8d38eb05 Mon Sep 17 00:00:00 2001 +From 252bb03623497434bf0011f19b74e6725ee31326 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,22 +13,22 @@ 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 e306b138d..89a13b88b 100644 +index ac60c96e3a..a898535d1b 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -111,6 +111,11 @@ public class PlayerInteractManager { - if (event.isCancelled()) { - // Let the client know the block still exists - ((EntityPlayer) this.player).playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition)); -+ // Paper start - brute force neighbor blocks for any attached blocks -+ for (EnumDirection dir : EnumDirection.values()) { -+ ((EntityPlayer) this.player).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition.shift(dir))); -+ } -+ // Paper end - // Update any tile entity data for this block - TileEntity tileentity = this.world.getTileEntity(blockposition); - if (tileentity != null) { -@@ -443,7 +448,25 @@ public class PlayerInteractManager { +@@ -136,6 +136,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 ++ // Paper start - brute force neighbor blocks for any attached blocks ++ for (EnumDirection dir : EnumDirection.values()) { ++ this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition.shift(dir))); ++ } ++ // Paper end + this.player.playerConnection.sendPacket(new PacketPlayOutBlockBreak(blockposition, this.world.getType(blockposition), packetplayinblockdig_enumplayerdigtype, false)); + // Update any tile entity data for this block + TileEntity tileentity = this.world.getTileEntity(blockposition); +@@ -440,7 +445,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 diff --git a/Spigot-Server-Patches/0202-Tameable-getOwnerUniqueId-API.patch b/Spigot-Server-Patches/0201-Tameable-getOwnerUniqueId-API.patch similarity index 91% rename from Spigot-Server-Patches/0202-Tameable-getOwnerUniqueId-API.patch rename to Spigot-Server-Patches/0201-Tameable-getOwnerUniqueId-API.patch index 98307f699..c82dd95a5 100644 --- a/Spigot-Server-Patches/0202-Tameable-getOwnerUniqueId-API.patch +++ b/Spigot-Server-Patches/0201-Tameable-getOwnerUniqueId-API.patch @@ -1,4 +1,4 @@ -From e70d2a2d324a327f19e69150135778aebf863f3e Mon Sep 17 00:00:00 2001 +From e7671db0140d7ff978a3e1a2652aa527aebfb8fb 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 9952db3eb..1aea5f3f0 100644 +index 9952db3eb5..1aea5f3f05 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 9952db3eb..1aea5f3f0 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 5dfa40dda..407b95caf 100644 +index 5dfa40dda1..407b95cafd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTameableAnimal.java @@ -17,6 +17,9 @@ public class CraftTameableAnimal extends CraftAnimals implements Tameable, Creat diff --git a/Spigot-Server-Patches/0203-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch similarity index 89% rename from Spigot-Server-Patches/0203-Toggleable-player-crits-helps-mitigate-hacked-client.patch rename to Spigot-Server-Patches/0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch index 18bd306b7..6b25f857b 100644 --- a/Spigot-Server-Patches/0203-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/Spigot-Server-Patches/0202-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -1,11 +1,11 @@ -From 19f4ef8235ba23d8e11c0aff936595232764a0b4 Mon Sep 17 00:00:00 2001 +From bc50bcf730d222bfbef8a6c34713d17108237c34 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 7287bf7d9..94ffba97b 100644 +index 7287bf7d9b..94ffba97b4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -182,6 +182,11 @@ public class PaperWorldConfig { @@ -21,10 +21,10 @@ index 7287bf7d9..94ffba97b 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 3b978528b..3a01cbe01 100644 +index 4cfe87d078..0ca5e7886b 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -981,6 +981,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -996,6 +996,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; diff --git a/Spigot-Server-Patches/0204-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch b/Spigot-Server-Patches/0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch similarity index 92% rename from Spigot-Server-Patches/0204-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch rename to Spigot-Server-Patches/0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch index ee49846f0..104185041 100644 --- a/Spigot-Server-Patches/0204-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch +++ b/Spigot-Server-Patches/0203-Fix-NPE-when-getting-location-from-InventoryEnderChe.patch @@ -1,4 +1,4 @@ -From 9940fd53e86d6b1cd2376b8a249e5bac76529366 Mon Sep 17 00:00:00 2001 +From 500fdae1ef6a574bb8d2e19fe39cea0927a66a82 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 5a9ac3960..fd31b9a6d 100644 +index 5a9ac3960d..fd31b9a6dc 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; diff --git a/Spigot-Server-Patches/0205-Prevent-Frosted-Ice-from-loading-holding-chunks.patch b/Spigot-Server-Patches/0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch similarity index 94% rename from Spigot-Server-Patches/0205-Prevent-Frosted-Ice-from-loading-holding-chunks.patch rename to Spigot-Server-Patches/0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch index 8de8398e6..d0ddb07b9 100644 --- a/Spigot-Server-Patches/0205-Prevent-Frosted-Ice-from-loading-holding-chunks.patch +++ b/Spigot-Server-Patches/0204-Prevent-Frosted-Ice-from-loading-holding-chunks.patch @@ -1,11 +1,11 @@ -From 8974cecfb3fff6d5ed1682c3b1e090cbc83668a3 Mon Sep 17 00:00:00 2001 +From 7e1d6381c1a8e2ab67ec801f5fbc8fc7ed1ba227 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 39c3bbc9c..881dfb123 100644 +index 39c3bbc9cf..881dfb1235 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 { diff --git a/Spigot-Server-Patches/0206-Disable-Explicit-Network-Manager-Flushing.patch b/Spigot-Server-Patches/0205-Disable-Explicit-Network-Manager-Flushing.patch similarity index 84% rename from Spigot-Server-Patches/0206-Disable-Explicit-Network-Manager-Flushing.patch rename to Spigot-Server-Patches/0205-Disable-Explicit-Network-Manager-Flushing.patch index bfbe585f7..83ed3e907 100644 --- a/Spigot-Server-Patches/0206-Disable-Explicit-Network-Manager-Flushing.patch +++ b/Spigot-Server-Patches/0205-Disable-Explicit-Network-Manager-Flushing.patch @@ -1,4 +1,4 @@ -From e35a1d6f383a4a69dfa9567882bb7eb3aa207ff4 Mon Sep 17 00:00:00 2001 +From d57978e971969411eb0978aa748a96c14afb289a 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,10 +12,10 @@ 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 ae60f757e..efd02bd67 100644 +index e2d8ed88f0..08e314af7c 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java -@@ -65,6 +65,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -63,6 +63,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { // Paper start - NetworkClient implementation public int protocolVersion; public java.net.InetSocketAddress virtualHost; @@ -23,7 +23,7 @@ index ae60f757e..efd02bd67 100644 // Paper end public NetworkManager(EnumProtocolDirection enumprotocoldirection) { -@@ -241,7 +242,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -231,7 +232,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } if (this.channel != null) { @@ -31,7 +31,7 @@ index ae60f757e..efd02bd67 100644 + if (enableExplicitFlush) this.channel.eventLoop().execute(() -> this.channel.flush()); // Paper - we don't need to explicit flush here, but allow opt in incase issues are found to a better version } - if (this.u++ % 20 == 0) { + if (this.t++ % 20 == 0) { -- 2.22.0 diff --git a/Spigot-Server-Patches/0207-Implement-extended-PaperServerListPingEvent.patch b/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch similarity index 93% rename from Spigot-Server-Patches/0207-Implement-extended-PaperServerListPingEvent.patch rename to Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch index 6abdbff6d..a3b8f1fb8 100644 --- a/Spigot-Server-Patches/0207-Implement-extended-PaperServerListPingEvent.patch +++ b/Spigot-Server-Patches/0206-Implement-extended-PaperServerListPingEvent.patch @@ -1,4 +1,4 @@ -From 5497bba3c0008d8a69db1b0663a7b880cae9ff10 Mon Sep 17 00:00:00 2001 +From 3f76cff698d6e21e7a9628c25fd4fb5d719d40e5 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 000000000..c1a8e295b +index 0000000000..c1a8e295b6 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java @@ -0,0 +1,31 @@ @@ -43,7 +43,7 @@ index 000000000..c1a8e295b +} 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 000000000..a2a409e63 +index 0000000000..a2a409e635 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperStatusClient.java @@ -0,0 +1,11 @@ @@ -60,7 +60,7 @@ index 000000000..a2a409e63 +} 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 000000000..a85466bc7 +index 0000000000..a85466bc7e --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/StandardPaperServerListPingEventImpl.java @@ -0,0 +1,112 @@ @@ -177,32 +177,33 @@ index 000000000..a85466bc7 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c229651b5..946803e2b 100644 +index 6276833474..f768e116bd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1,5 +1,8 @@ +@@ -1,6 +1,9 @@ package net.minecraft.server; + import com.google.common.base.Splitter; +import co.aikar.timings.Timings; +import com.destroystokyo.paper.event.server.PaperServerListPingEvent; +import com.google.common.base.Stopwatch; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.gson.JsonElement; -@@ -1047,7 +1050,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 5000000000L) { - this.Y = i; +@@ -1059,7 +1062,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant= 5000000000L) { + this.Z = i; this.serverPing.setPlayerSample(new ServerPing.ServerPingPlayerSample(this.getMaxPlayers(), this.getPlayerCount())); - GameProfile[] agameprofile = new GameProfile[Math.min(this.getPlayerCount(), 12)]; + GameProfile[] agameprofile = new GameProfile[Math.min(this.getPlayerCount(), org.spigotmc.SpigotConfig.playerSample)]; // Paper - int j = MathHelper.nextInt(this.p, 0, this.getPlayerCount() - agameprofile.length); + int j = MathHelper.nextInt(this.q, 0, this.getPlayerCount() - agameprofile.length); 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 b247a18b9..ba1c76c1a 100644 +index 2b08f285d1..295c9ac22d 100644 --- a/src/main/java/net/minecraft/server/PacketStatusListener.java +++ b/src/main/java/net/minecraft/server/PacketStatusListener.java -@@ -32,6 +32,8 @@ public class PacketStatusListener implements PacketStatusInListener { +@@ -37,6 +37,8 @@ public class PacketStatusListener implements PacketStatusInListener { this.networkManager.close(PacketStatusListener.a); } else { this.d = true; @@ -211,7 +212,7 @@ index b247a18b9..ba1c76c1a 100644 // CraftBukkit start // this.networkManager.sendPacket(new PacketStatusOutServerInfo(this.minecraftServer.getServerPing())); final Object[] players = minecraftServer.getPlayerList().players.toArray(); -@@ -127,6 +129,9 @@ public class PacketStatusListener implements PacketStatusInListener { +@@ -132,6 +134,9 @@ public class PacketStatusListener implements PacketStatusInListener { ping.setServerInfo(new ServerPing.ServerData(minecraftServer.getServerModName() + " " + minecraftServer.getVersion(), version)); this.networkManager.sendPacket(new PacketStatusOutServerInfo(ping)); @@ -222,7 +223,7 @@ index b247a18b9..ba1c76c1a 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index aa125a52d..ea52e89bd 100644 +index aa125a52dc..ea52e89bd9 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 { @@ -247,7 +248,7 @@ index aa125a52d..ea52e89bd 100644 this.c = agameprofile; } diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index bd601333e..6c5430ff9 100644 +index bd601333ee..6c5430ff94 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -290,7 +290,7 @@ public class SpigotConfig diff --git a/Spigot-Server-Patches/0208-Improved-Async-Task-Scheduler.patch b/Spigot-Server-Patches/0207-Improved-Async-Task-Scheduler.patch similarity index 99% rename from Spigot-Server-Patches/0208-Improved-Async-Task-Scheduler.patch rename to Spigot-Server-Patches/0207-Improved-Async-Task-Scheduler.patch index 438ee69c3..2fcc7d815 100644 --- a/Spigot-Server-Patches/0208-Improved-Async-Task-Scheduler.patch +++ b/Spigot-Server-Patches/0207-Improved-Async-Task-Scheduler.patch @@ -1,4 +1,4 @@ -From 6a7216197de13c68cd62d61a774f008a65f6ce8d Mon Sep 17 00:00:00 2001 +From 700bf6c53b2c7c155e4486f7955ae011dd02f092 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 000000000..3c1992e21 +index 0000000000..3c1992e212 --- /dev/null +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftAsyncScheduler.java @@ -0,0 +1,122 @@ @@ -159,7 +159,7 @@ index 000000000..3c1992e21 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index e102be583..5db848de1 100644 +index e102be583c..5db848de14 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -62,7 +62,7 @@ public class CraftScheduler implements BukkitScheduler { diff --git a/Spigot-Server-Patches/0209-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/Spigot-Server-Patches/0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 93% rename from Spigot-Server-Patches/0209-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to Spigot-Server-Patches/0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index af312c9bd..53de360e0 100644 --- a/Spigot-Server-Patches/0209-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/Spigot-Server-Patches/0208-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -1,4 +1,4 @@ -From 9ce1e0fe22971473b06177acef0213738233ff58 Mon Sep 17 00:00:00 2001 +From 309034ed37f2220843b9b0ceecd7ecccc95e4258 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 fe912e0eb..7c3b9c0b9 100644 +index a2af5b4b29..a272a70303 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -1,5 +1,7 @@ @@ -25,7 +25,7 @@ index fe912e0eb..7c3b9c0b9 100644 import org.bukkit.craftbukkit.util.Waitable; import org.bukkit.event.player.AsyncPlayerPreLoginEvent; import org.bukkit.event.player.PlayerPreLoginEvent; -@@ -282,8 +285,16 @@ public class LoginListener implements PacketLoginInListener { +@@ -287,8 +290,16 @@ public class LoginListener implements PacketLoginInListener { java.util.UUID uniqueId = i.getId(); final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; diff --git a/Spigot-Server-Patches/0210-Player.setPlayerProfile-API.patch b/Spigot-Server-Patches/0209-Player.setPlayerProfile-API.patch similarity index 92% rename from Spigot-Server-Patches/0210-Player.setPlayerProfile-API.patch rename to Spigot-Server-Patches/0209-Player.setPlayerProfile-API.patch index ca13a9579..12a1f6bdf 100644 --- a/Spigot-Server-Patches/0210-Player.setPlayerProfile-API.patch +++ b/Spigot-Server-Patches/0209-Player.setPlayerProfile-API.patch @@ -1,4 +1,4 @@ -From 31c2b8881ad43dd6b609bbf4ddf6d0cd0f201fe1 Mon Sep 17 00:00:00 2001 +From 73e8d2932986ca06676e887f4dc839cd86468fd1 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 3a01cbe01..1c73572c4 100644 +index 0ca5e7886b..778356381d 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -65,7 +65,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -66,7 +66,7 @@ public abstract class EntityHuman extends EntityLiving { protected int bR; protected final float bS = 0.02F; - private int bU; -- private final GameProfile bV; -+ private GameProfile bV; public final void setProfile(final GameProfile profile) { this.bV = profile; } // Paper - OBFHELPER - private ItemStack bX; - private final ItemCooldown bY; + 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; @Nullable diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 7c3b9c0b9..d4d752ddb 100644 +index a272a70303..d6befec184 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 { @@ -31,7 +31,7 @@ index 7c3b9c0b9..d4d752ddb 100644 private final String j; private SecretKey loginKey; private EntityPlayer l; -@@ -286,12 +286,12 @@ public class LoginListener implements PacketLoginInListener { +@@ -291,12 +291,12 @@ public class LoginListener implements PacketLoginInListener { final org.bukkit.craftbukkit.CraftServer server = LoginListener.this.server.server; // Paper start @@ -48,7 +48,7 @@ index 7c3b9c0b9..d4d752ddb 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 d8ce699e3..28f97f9b0 100644 +index 854d6f7999..a2ef3f59ee 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 @@ diff --git a/Spigot-Server-Patches/0211-Fix-Dragon-Server-Crashes.patch b/Spigot-Server-Patches/0210-Fix-Dragon-Server-Crashes.patch similarity index 92% rename from Spigot-Server-Patches/0211-Fix-Dragon-Server-Crashes.patch rename to Spigot-Server-Patches/0210-Fix-Dragon-Server-Crashes.patch index 47132f779..478608183 100644 --- a/Spigot-Server-Patches/0211-Fix-Dragon-Server-Crashes.patch +++ b/Spigot-Server-Patches/0210-Fix-Dragon-Server-Crashes.patch @@ -1,4 +1,4 @@ -From 04eb83fd24ed63bb6dcd8b7b2fedeec27b3a944d Mon Sep 17 00:00:00 2001 +From 36ee48b6a551302d65c329ee8790f1d3c58e531b 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,7 +7,7 @@ If the dragon tries to find "ground" and hits a hole, or off edge, it will infinitely keep looking for non air and eventually crash. diff --git a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java -index cfe84f4d4..4ab310cd6 100644 +index a75128f966..98e15834ab 100644 --- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java +++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java @@ -53,7 +53,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded diff --git a/Spigot-Server-Patches/0212-getPlayerUniqueId-API.patch b/Spigot-Server-Patches/0211-getPlayerUniqueId-API.patch similarity index 94% rename from Spigot-Server-Patches/0212-getPlayerUniqueId-API.patch rename to Spigot-Server-Patches/0211-getPlayerUniqueId-API.patch index cca0be87e..4c32a2668 100644 --- a/Spigot-Server-Patches/0212-getPlayerUniqueId-API.patch +++ b/Spigot-Server-Patches/0211-getPlayerUniqueId-API.patch @@ -1,4 +1,4 @@ -From b961c21fb194ba2152c5ea568c9fbf7c5d0d7f23 Mon Sep 17 00:00:00 2001 +From c4a08d45b71ddad5c9fbb4f09f5544aa45715b22 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 22 Mar 2018 01:40:24 -0400 Subject: [PATCH] getPlayerUniqueId API @@ -9,7 +9,7 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2a2b28441..e3be79bb3 100644 +index 66d4dccedd..208556355c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1360,6 +1360,26 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0213-Make-player-data-saving-configurable.patch b/Spigot-Server-Patches/0212-Make-player-data-saving-configurable.patch similarity index 93% rename from Spigot-Server-Patches/0213-Make-player-data-saving-configurable.patch rename to Spigot-Server-Patches/0212-Make-player-data-saving-configurable.patch index 11ddbd80c..1c23530d6 100644 --- a/Spigot-Server-Patches/0213-Make-player-data-saving-configurable.patch +++ b/Spigot-Server-Patches/0212-Make-player-data-saving-configurable.patch @@ -1,11 +1,11 @@ -From c7396eebae33d10868f2c5f86b76cc3c4beb066a Mon Sep 17 00:00:00 2001 +From af649ec80359ef4ec3bb5288a046a86b77bbc6be 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 11f08c2b7..4169ec9a5 100644 +index 11f08c2b73..4169ec9a58 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 11f08c2b7..4169ec9a5 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index a0254d8e5..e60e10c57 100644 +index a0254d8e51..e60e10c57d 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 { diff --git a/Spigot-Server-Patches/0214-Make-legacy-ping-handler-more-reliable.patch b/Spigot-Server-Patches/0213-Make-legacy-ping-handler-more-reliable.patch similarity index 98% rename from Spigot-Server-Patches/0214-Make-legacy-ping-handler-more-reliable.patch rename to Spigot-Server-Patches/0213-Make-legacy-ping-handler-more-reliable.patch index b07809222..32f6ac4ef 100644 --- a/Spigot-Server-Patches/0214-Make-legacy-ping-handler-more-reliable.patch +++ b/Spigot-Server-Patches/0213-Make-legacy-ping-handler-more-reliable.patch @@ -1,4 +1,4 @@ -From 8a8df625cfb339c8912d12aa9d77e4cc123ada86 Mon Sep 17 00:00:00 2001 +From 41860548562325970f808e9539bd993dc12a8147 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 9ee5a1ff0..063efe9bb 100644 +index 9ee5a1ff02..063efe9bbe 100644 --- a/src/main/java/net/minecraft/server/LegacyPingHandler.java +++ b/src/main/java/net/minecraft/server/LegacyPingHandler.java @@ -14,6 +14,7 @@ public class LegacyPingHandler extends ChannelInboundHandlerAdapter { diff --git a/Spigot-Server-Patches/0215-Call-PaperServerListPingEvent-for-legacy-pings.patch b/Spigot-Server-Patches/0214-Call-PaperServerListPingEvent-for-legacy-pings.patch similarity index 98% rename from Spigot-Server-Patches/0215-Call-PaperServerListPingEvent-for-legacy-pings.patch rename to Spigot-Server-Patches/0214-Call-PaperServerListPingEvent-for-legacy-pings.patch index 2523b1727..ccb79ab98 100644 --- a/Spigot-Server-Patches/0215-Call-PaperServerListPingEvent-for-legacy-pings.patch +++ b/Spigot-Server-Patches/0214-Call-PaperServerListPingEvent-for-legacy-pings.patch @@ -1,4 +1,4 @@ -From 09533cdd58bffe6c96fe610ab8f9ae065b82d689 Mon Sep 17 00:00:00 2001 +From 8c7a325ee7c4c95704f476ac9a7a24ad7606092e 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 000000000..74c012fd4 +index 0000000000..74c012fd40 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperLegacyStatusClient.java @@ -0,0 +1,73 @@ @@ -84,7 +84,7 @@ index 000000000..74c012fd4 + +} diff --git a/src/main/java/net/minecraft/server/LegacyPingHandler.java b/src/main/java/net/minecraft/server/LegacyPingHandler.java -index 063efe9bb..4a49fe4cc 100644 +index 063efe9bbe..4a49fe4cc6 100644 --- a/src/main/java/net/minecraft/server/LegacyPingHandler.java +++ b/src/main/java/net/minecraft/server/LegacyPingHandler.java @@ -1,5 +1,7 @@ diff --git a/Spigot-Server-Patches/0216-Flag-to-disable-the-channel-limit.patch b/Spigot-Server-Patches/0215-Flag-to-disable-the-channel-limit.patch similarity index 94% rename from Spigot-Server-Patches/0216-Flag-to-disable-the-channel-limit.patch rename to Spigot-Server-Patches/0215-Flag-to-disable-the-channel-limit.patch index c0e824e97..b3685e922 100644 --- a/Spigot-Server-Patches/0216-Flag-to-disable-the-channel-limit.patch +++ b/Spigot-Server-Patches/0215-Flag-to-disable-the-channel-limit.patch @@ -1,4 +1,4 @@ -From d5db63c3b4deaadbfdc7c9eb5189ae80c840df77 Mon Sep 17 00:00:00 2001 +From aaed32a66b35384c79f908f48c76766c658f0f5c 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,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 28f97f9b0..9ff2281c1 100644 +index a2ef3f59ee..2bba7f359d 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 { diff --git a/Spigot-Server-Patches/0217-Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch similarity index 92% rename from Spigot-Server-Patches/0217-Add-method-to-open-already-placed-sign.patch rename to Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch index 494af9001..bcdffde1e 100644 --- a/Spigot-Server-Patches/0217-Add-method-to-open-already-placed-sign.patch +++ b/Spigot-Server-Patches/0216-Add-method-to-open-already-placed-sign.patch @@ -1,11 +1,11 @@ -From 8be1f2ad1f0f1054949bb44f75b02d542ae46142 Mon Sep 17 00:00:00 2001 +From 7e1cf3d55185e302e284541bccbd6be873a9c62f 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 e4d9300be..6acb15043 100644 +index 4d9125c226..308f6fd5d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -763,4 +763,17 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/Spigot-Server-Patches/0218-Configurable-sprint-interruption-on-attack.patch b/Spigot-Server-Patches/0217-Configurable-sprint-interruption-on-attack.patch similarity index 89% rename from Spigot-Server-Patches/0218-Configurable-sprint-interruption-on-attack.patch rename to Spigot-Server-Patches/0217-Configurable-sprint-interruption-on-attack.patch index fcca920c9..4d5b0cf2c 100644 --- a/Spigot-Server-Patches/0218-Configurable-sprint-interruption-on-attack.patch +++ b/Spigot-Server-Patches/0217-Configurable-sprint-interruption-on-attack.patch @@ -1,4 +1,4 @@ -From a847eaf752b338f703f1d08c7d91bcab5f318b0d Mon Sep 17 00:00:00 2001 +From 76ffd33135a20f2afca038b2b83f653dfcb7924a 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 94ffba97b..0b6e812d8 100644 +index 94ffba97b4..0b6e812d8d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -349,4 +349,9 @@ public class PaperWorldConfig { @@ -20,10 +20,10 @@ index 94ffba97b..0b6e812d8 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1c73572c4..4ff6cba65 100644 +index 778356381d..494425e594 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1030,7 +1030,11 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1045,7 +1045,11 @@ public abstract class EntityHuman extends EntityLiving { } this.setMot(this.getMot().d(0.6D, 1.0D, 0.6D)); diff --git a/Spigot-Server-Patches/0219-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch similarity index 86% rename from Spigot-Server-Patches/0219-Fix-exploit-that-allowed-colored-signs-to-be-created.patch rename to Spigot-Server-Patches/0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index 2eb098567..9abc2dfa0 100644 --- a/Spigot-Server-Patches/0219-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0218-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -1,14 +1,14 @@ -From 1dd58ac6a0b3aef0240e47811220c5a170f3a8bc Mon Sep 17 00:00:00 2001 +From 88c638f67dcd3b367d2c759c77487c4d1419e92e 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 21d42ab9d..e6b8b68f1 100644 +index 6008613fae..89beac63aa 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2528,7 +2528,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2491,7 +2491,7 @@ public class PlayerConnection implements PacketListenerPlayIn { String[] lines = new String[4]; for (int i = 0; i < astring.length; ++i) { diff --git a/Spigot-Server-Patches/0220-EndermanEscapeEvent.patch b/Spigot-Server-Patches/0219-EndermanEscapeEvent.patch similarity index 94% rename from Spigot-Server-Patches/0220-EndermanEscapeEvent.patch rename to Spigot-Server-Patches/0219-EndermanEscapeEvent.patch index 5b33ec06f..441fb1748 100644 --- a/Spigot-Server-Patches/0220-EndermanEscapeEvent.patch +++ b/Spigot-Server-Patches/0219-EndermanEscapeEvent.patch @@ -1,4 +1,4 @@ -From 8642239a246dccd8c5ab3af9377a3a3d431447fe Mon Sep 17 00:00:00 2001 +From 12535a1cf340d627583cbe58a5305d06b760260e 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 0fb7793bd..db351a249 100644 +index 99391c0562..de320f8885 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; @@ -39,7 +39,7 @@ index 0fb7793bd..db351a249 100644 - 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.dW(); + this.dV(); } @@ -266,17 +273,19 @@ public class EntityEnderman extends EntityMonster { } else if (!(damagesource instanceof EntityDamageSourceIndirect) && damagesource != DamageSource.FIREWORKS) { @@ -47,14 +47,14 @@ index 0fb7793bd..db351a249 100644 - 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.dW(); + this.dV(); } return flag; } else { + if (this.tryEscape(EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start for (int i = 0; i < 64; ++i) { - if (this.dW()) { + if (this.dV()) { return true; } } @@ -77,7 +77,7 @@ index 0fb7793bd..db351a249 100644 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.dW(); + this.i.dV(); } -- diff --git a/Spigot-Server-Patches/0221-Enderman.teleportRandomly.patch b/Spigot-Server-Patches/0220-Enderman.teleportRandomly.patch similarity index 85% rename from Spigot-Server-Patches/0221-Enderman.teleportRandomly.patch rename to Spigot-Server-Patches/0220-Enderman.teleportRandomly.patch index 211e052bd..5b142c375 100644 --- a/Spigot-Server-Patches/0221-Enderman.teleportRandomly.patch +++ b/Spigot-Server-Patches/0220-Enderman.teleportRandomly.patch @@ -1,4 +1,4 @@ -From 46b573b157ceb2c9994bcb946552d960fb6cd84d Mon Sep 17 00:00:00 2001 +From 903cfd800fa9c272fb09ab51ff22ff6ea54e1f03 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 db351a249..d136b07f3 100644 +index de320f8885..7d2e00085a 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 { super.mobTick(); } -+ public final boolean teleportRandomly() { return this.dW(); } // Paper - OBFHELPER - protected boolean dW() { ++ 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); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java -index 970efabd3..0c5f35934 100644 +index 970efabd37..0c5f359346 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderman.java @@ -16,6 +16,7 @@ public class CraftEnderman extends CraftMonster implements Enderman { diff --git a/Spigot-Server-Patches/0222-Block-Enderpearl-Travel-Exploit.patch b/Spigot-Server-Patches/0221-Block-Enderpearl-Travel-Exploit.patch similarity index 93% rename from Spigot-Server-Patches/0222-Block-Enderpearl-Travel-Exploit.patch rename to Spigot-Server-Patches/0221-Block-Enderpearl-Travel-Exploit.patch index 8f63ff742..b62608255 100644 --- a/Spigot-Server-Patches/0222-Block-Enderpearl-Travel-Exploit.patch +++ b/Spigot-Server-Patches/0221-Block-Enderpearl-Travel-Exploit.patch @@ -1,4 +1,4 @@ -From a56701c6bf479e9b7ed07282debc18406dab7943 Mon Sep 17 00:00:00 2001 +From f63e5fd2593cbe46eb018bcd6c08ca23a319310f 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 0b6e812d8..da1055003 100644 +index 0b6e812d8d..da10550030 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -354,4 +354,10 @@ public class PaperWorldConfig { @@ -27,7 +27,7 @@ index 0b6e812d8..da1055003 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 5f0cb4c33d..f2f4b2d929 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java @@ -205,6 +205,7 @@ public abstract class EntityProjectile extends Entity implements IProjectile { diff --git a/Spigot-Server-Patches/0223-Expand-World.spawnParticle-API-and-add-Builder.patch b/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 94% rename from Spigot-Server-Patches/0223-Expand-World.spawnParticle-API-and-add-Builder.patch rename to Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch index 583a0f127..c3ab1a2cc 100644 --- a/Spigot-Server-Patches/0223-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/Spigot-Server-Patches/0222-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -1,4 +1,4 @@ -From 821a3693cc4df4304ff5b9842c2fc1b2a47238fb Mon Sep 17 00:00:00 2001 +From 10adafc83cafff0ee6f55d01991eb2b544412b40 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 690f53041..74939dce3 100644 +index 78d5cf4738..8ede95a0b6 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -48,7 +48,7 @@ public class WorldServer extends World { +@@ -52,7 +52,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 690f53041..74939dce3 100644 boolean tickingEntities; private final MinecraftServer server; private final WorldNBTStorage dataManager; -@@ -1332,12 +1332,17 @@ public class WorldServer extends World { +@@ -1329,12 +1329,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) { @@ -43,7 +43,7 @@ index 690f53041..74939dce3 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 853a0374e..17f830717 100644 +index ac680a6a78..c3dffc1e44 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2161,11 +2161,17 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0224-EndermanAttackPlayerEvent.patch b/Spigot-Server-Patches/0223-EndermanAttackPlayerEvent.patch similarity index 93% rename from Spigot-Server-Patches/0224-EndermanAttackPlayerEvent.patch rename to Spigot-Server-Patches/0223-EndermanAttackPlayerEvent.patch index 97b7cbc25..015a88b11 100644 --- a/Spigot-Server-Patches/0224-EndermanAttackPlayerEvent.patch +++ b/Spigot-Server-Patches/0223-EndermanAttackPlayerEvent.patch @@ -1,4 +1,4 @@ -From 91674c0167a23b2222b383801afb300402ce6b34 Mon Sep 17 00:00:00 2001 +From 6643560be4e40630c36e03903e9d10324c9bcd36 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 May 2018 20:18:54 -0400 Subject: [PATCH] EndermanAttackPlayerEvent @@ -8,7 +8,7 @@ Allow control over whether or not an enderman aggros a player. This allows you to override/extend the pumpkin/stare logic. diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index d136b07f3..ad65200dc 100644 +index 7d2e00085a..639f55ed98 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -138,7 +138,15 @@ public class EntityEnderman extends EntityMonster { diff --git a/Spigot-Server-Patches/0225-WitchConsumePotionEvent.patch b/Spigot-Server-Patches/0224-WitchConsumePotionEvent.patch similarity index 93% rename from Spigot-Server-Patches/0225-WitchConsumePotionEvent.patch rename to Spigot-Server-Patches/0224-WitchConsumePotionEvent.patch index 44ddbc7bd..2645b90a6 100644 --- a/Spigot-Server-Patches/0225-WitchConsumePotionEvent.patch +++ b/Spigot-Server-Patches/0224-WitchConsumePotionEvent.patch @@ -1,4 +1,4 @@ -From 40f489a7bc55fbf06102f8360714b0e32f2a6aa5 Mon Sep 17 00:00:00 2001 +From e9a5ef45bd28700d89ae12366e546852377e52f7 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 cc7b026b4..6e9d34158 100644 +index 6b50d5334d..189263bf75 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -88,7 +88,11 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { diff --git a/Spigot-Server-Patches/0226-WitchThrowPotionEvent.patch b/Spigot-Server-Patches/0225-WitchThrowPotionEvent.patch similarity index 84% rename from Spigot-Server-Patches/0226-WitchThrowPotionEvent.patch rename to Spigot-Server-Patches/0225-WitchThrowPotionEvent.patch index 59eeedd38..2b3c9a08a 100644 --- a/Spigot-Server-Patches/0226-WitchThrowPotionEvent.patch +++ b/Spigot-Server-Patches/0225-WitchThrowPotionEvent.patch @@ -1,4 +1,4 @@ -From 6eb3a390b680b6384894afbe77f421e28a3b967e Mon Sep 17 00:00:00 2001 +From 58c8d7cc70eec4baf44c06a6cea071b0f9b48a8c 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 6e9d34158..0c641d915 100644 +index 189263bf75..0a40e2ff1b 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 6e9d34158..0c641d915 100644 + // Paper end entitypotion.pitch -= -20.0F; entitypotion.shoot(d0, d1 + (double) (f1 * 0.2F), d2, 0.75F, 8.0F); - this.world.a((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 diff --git a/Spigot-Server-Patches/0227-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/Spigot-Server-Patches/0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch similarity index 92% rename from Spigot-Server-Patches/0227-Allow-spawning-Item-entities-with-World.spawnEntity.patch rename to Spigot-Server-Patches/0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 3faf54bbe..ecdbe4de1 100644 --- a/Spigot-Server-Patches/0227-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/Spigot-Server-Patches/0226-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -1,4 +1,4 @@ -From 423beb68d535b72ed9cc78ceaad808579edcd882 Mon Sep 17 00:00:00 2001 +From cb17a03b8e605212fcb5bacfd881087d50f109c1 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,7 +8,7 @@ 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 17f830717..d1c634790 100644 +index c3dffc1e44..0b632a0e2e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1391,6 +1391,10 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0228-WitchReadyPotionEvent.patch b/Spigot-Server-Patches/0227-WitchReadyPotionEvent.patch similarity index 81% rename from Spigot-Server-Patches/0228-WitchReadyPotionEvent.patch rename to Spigot-Server-Patches/0227-WitchReadyPotionEvent.patch index 325c68217..4edc7dfd2 100644 --- a/Spigot-Server-Patches/0228-WitchReadyPotionEvent.patch +++ b/Spigot-Server-Patches/0227-WitchReadyPotionEvent.patch @@ -1,11 +1,11 @@ -From ae421885ee7a0da3bd1423a3f077abbcf915ecb9 Mon Sep 17 00:00:00 2001 +From 7b8e216c26c93b91bbec112feaf5037b903727fd 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 0c641d915..d383b0ab4 100644 +index 0a40e2ff1b..ff4e73fff3 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 { @@ -20,7 +20,7 @@ index 0c641d915..d383b0ab4 100644 + // Paper end this.bB = this.getItemInMainHand().k(); this.s(true); - this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_WITCH_DRINK, 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_DRINK, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); -- 2.22.0 diff --git a/Spigot-Server-Patches/0229-ItemStack-getMaxItemUseDuration.patch b/Spigot-Server-Patches/0228-ItemStack-getMaxItemUseDuration.patch similarity index 91% rename from Spigot-Server-Patches/0229-ItemStack-getMaxItemUseDuration.patch rename to Spigot-Server-Patches/0228-ItemStack-getMaxItemUseDuration.patch index 00bc87e4e..3a79da9a8 100644 --- a/Spigot-Server-Patches/0229-ItemStack-getMaxItemUseDuration.patch +++ b/Spigot-Server-Patches/0228-ItemStack-getMaxItemUseDuration.patch @@ -1,4 +1,4 @@ -From 3920bea85b2955becc157a606af909fee4e75b62 Mon Sep 17 00:00:00 2001 +From 64ccf0a1e755d75f0f30780415ede6261ce9f2c8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jun 2018 23:00:29 -0400 Subject: [PATCH] ItemStack#getMaxItemUseDuration @@ -6,7 +6,7 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 09d0de48e..90c718255 100644 +index d4ffaea7cb..f849a29e2a 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -545,6 +545,7 @@ public final class ItemStack { @@ -18,7 +18,7 @@ index 09d0de48e..90c718255 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 c45fe35e0..e6aac0cff 100644 +index c45fe35e03..e6aac0cff0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -174,6 +174,13 @@ public final class CraftItemStack extends ItemStack { diff --git a/Spigot-Server-Patches/0230-Implement-EntityTeleportEndGatewayEvent.patch b/Spigot-Server-Patches/0229-Implement-EntityTeleportEndGatewayEvent.patch similarity index 95% rename from Spigot-Server-Patches/0230-Implement-EntityTeleportEndGatewayEvent.patch rename to Spigot-Server-Patches/0229-Implement-EntityTeleportEndGatewayEvent.patch index c937c961b..811828cb1 100644 --- a/Spigot-Server-Patches/0230-Implement-EntityTeleportEndGatewayEvent.patch +++ b/Spigot-Server-Patches/0229-Implement-EntityTeleportEndGatewayEvent.patch @@ -1,11 +1,11 @@ -From 235f79947e3a2b578b579d5907788a48f918bad7 Mon Sep 17 00:00:00 2001 +From d131147b250b5d04ac47721128a5af05f3f32a3a 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 1783f5914..e28461f18 100644 +index 7ca5f04733..15dccc905e 100644 --- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java +++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java @@ -144,8 +144,19 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick diff --git a/Spigot-Server-Patches/0231-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/Spigot-Server-Patches/0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch similarity index 93% rename from Spigot-Server-Patches/0231-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch rename to Spigot-Server-Patches/0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch index eb875729c..f7c6b472d 100644 --- a/Spigot-Server-Patches/0231-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch +++ b/Spigot-Server-Patches/0230-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch @@ -1,4 +1,4 @@ -From 5df19965bdf97ee2eff64c257742e3437fed1e04 Mon Sep 17 00:00:00 2001 +From 2249fc498d9c064e9ad6d1b406fb4d7415adcb21 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 8f5f97a22..6be155edc 100644 +index 100a1a10c9..ae4dd98ee1 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 { diff --git a/Spigot-Server-Patches/0232-Fix-CraftEntity-hashCode.patch b/Spigot-Server-Patches/0231-Fix-CraftEntity-hashCode.patch similarity index 94% rename from Spigot-Server-Patches/0232-Fix-CraftEntity-hashCode.patch rename to Spigot-Server-Patches/0231-Fix-CraftEntity-hashCode.patch index 8987286f8..9179c12a2 100644 --- a/Spigot-Server-Patches/0232-Fix-CraftEntity-hashCode.patch +++ b/Spigot-Server-Patches/0231-Fix-CraftEntity-hashCode.patch @@ -1,4 +1,4 @@ -From f9a05ebd2db189dede6cbe67b9690d330218d01b Mon Sep 17 00:00:00 2001 +From 7aac589b834910f337649ac862cc5c4bded521e3 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Jun 2018 20:20:15 -0400 Subject: [PATCH] Fix CraftEntity hashCode @@ -21,7 +21,7 @@ check is essentially the same as this.getHandle() == other.getHandle() However, replaced it too to make it clearer of intent. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index b000bc8c7..1cd3448e5 100644 +index b000bc8c71..1cd3448e57 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -720,14 +720,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0233-Configurable-Alternative-LootPool-Luck-Formula.patch b/Spigot-Server-Patches/0232-Configurable-Alternative-LootPool-Luck-Formula.patch similarity index 97% rename from Spigot-Server-Patches/0233-Configurable-Alternative-LootPool-Luck-Formula.patch rename to Spigot-Server-Patches/0232-Configurable-Alternative-LootPool-Luck-Formula.patch index 560ce958a..52652483c 100644 --- a/Spigot-Server-Patches/0233-Configurable-Alternative-LootPool-Luck-Formula.patch +++ b/Spigot-Server-Patches/0232-Configurable-Alternative-LootPool-Luck-Formula.patch @@ -1,4 +1,4 @@ -From b16cf91d853e7cd69b578cdf65c4a60073480ae5 Mon Sep 17 00:00:00 2001 +From 5bfc8dd97d1150abe4bb21086f52c26791b5bc87 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 4169ec9a5..eeef7d330 100644 +index 4169ec9a58..eeef7d330b 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,7 +53,7 @@ index 4169ec9a5..eeef7d330 100644 + } } diff --git a/src/main/java/net/minecraft/server/LootSelectorEntry.java b/src/main/java/net/minecraft/server/LootSelectorEntry.java -index 1016325bd..2c979e0b7 100644 +index 1016325bd7..2c979e0b74 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; diff --git a/Spigot-Server-Patches/0234-Print-Error-details-when-failing-to-save-player-data.patch b/Spigot-Server-Patches/0233-Print-Error-details-when-failing-to-save-player-data.patch similarity index 89% rename from Spigot-Server-Patches/0234-Print-Error-details-when-failing-to-save-player-data.patch rename to Spigot-Server-Patches/0233-Print-Error-details-when-failing-to-save-player-data.patch index 040fee5d1..8949b7933 100644 --- a/Spigot-Server-Patches/0234-Print-Error-details-when-failing-to-save-player-data.patch +++ b/Spigot-Server-Patches/0233-Print-Error-details-when-failing-to-save-player-data.patch @@ -1,11 +1,11 @@ -From 3d5e9f9a3ade9697c78e454eb9c018166ad1471a Mon Sep 17 00:00:00 2001 +From b9d71ab51bf488d1eb7094d08329ccec6e04659c 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 e60e10c57..350ac42d6 100644 +index e60e10c57d..350ac42d6b 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -151,7 +151,7 @@ public class WorldNBTStorage implements IPlayerFileData { diff --git a/Spigot-Server-Patches/0235-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0234-Make-shield-blocking-delay-configurable.patch similarity index 94% rename from Spigot-Server-Patches/0235-Make-shield-blocking-delay-configurable.patch rename to Spigot-Server-Patches/0234-Make-shield-blocking-delay-configurable.patch index 9662505ae..129a92a85 100644 --- a/Spigot-Server-Patches/0235-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0234-Make-shield-blocking-delay-configurable.patch @@ -1,11 +1,11 @@ -From 0822a6c42dfd9fc49ba0f1356fcc88a39c69e8c0 Mon Sep 17 00:00:00 2001 +From bc6650512170cc798661473a88c62c3871774f8b 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 da1055003..182ac2e7f 100644 +index da10550030..182ac2e7f6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -360,4 +360,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index da1055003..182ac2e7f 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 1157a9eb6..d4c38ae46 100644 +index 72adeb7271..a578dec9db 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2921,7 +2921,7 @@ public abstract class EntityLiving extends Entity { @@ -48,7 +48,7 @@ index 1157a9eb6..d4c38ae46 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 42cc15882..513b3fac7 100644 +index 42cc158824..513b3fac7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -619,5 +619,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0236-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch b/Spigot-Server-Patches/0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch similarity index 93% rename from Spigot-Server-Patches/0236-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch rename to Spigot-Server-Patches/0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch index 7ee8b35c7..349ad8c2b 100644 --- a/Spigot-Server-Patches/0236-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch +++ b/Spigot-Server-Patches/0235-Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch @@ -1,4 +1,4 @@ -From 4e0ec3705a7a3096cd1ff04b9119d483b1020252 Mon Sep 17 00:00:00 2001 +From 4db4d3c836ba7a2674d7b58bf4d46b8cc8d4e7e6 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 121e1fd53..0e66bdda8 100644 +index 121e1fd538..0e66bdda8c 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 { diff --git a/Spigot-Server-Patches/0237-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch similarity index 94% rename from Spigot-Server-Patches/0237-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch rename to Spigot-Server-Patches/0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index eeede5f5d..21543aa6a 100644 --- a/Spigot-Server-Patches/0237-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-Server-Patches/0236-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -1,4 +1,4 @@ -From b26356d09a1ca94c751ffd7410b5147aa3ee47fa Mon Sep 17 00:00:00 2001 +From c650f345d35f50bc022884fc512b7f21745eab03 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 fd649020c..2331ec275 100644 +index 5c3628035f..8f1b5a5502 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 fd649020c..2331ec275 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 19a25023d..8d5864975 100644 +index 0ea1bf4dc0..90592fd380 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 19a25023d..8d5864975 100644 @@ -88,7 +90,7 @@ public class ItemBow extends ItemProjectileWeapon { } - world.a((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 5aab02afd..0a926db89 100644 +index 28d7fdeef8..a2be9b44e8 100644 --- a/src/main/java/net/minecraft/server/ItemCrossbow.java +++ b/src/main/java/net/minecraft/server/ItemCrossbow.java @@ -220,7 +220,7 @@ public class ItemCrossbow extends ItemProjectileWeapon { @@ -72,7 +72,7 @@ index 5aab02afd..0a926db89 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 aedff6fcf..9de01e604 100644 +index fa96ec3247..9e6ad82ba5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -50,6 +50,7 @@ import net.minecraft.server.GeneratorAccess; diff --git a/Spigot-Server-Patches/0238-PlayerReadyArrowEvent.patch b/Spigot-Server-Patches/0237-PlayerReadyArrowEvent.patch similarity index 88% rename from Spigot-Server-Patches/0238-PlayerReadyArrowEvent.patch rename to Spigot-Server-Patches/0237-PlayerReadyArrowEvent.patch index bf5499eca..b6093a164 100644 --- a/Spigot-Server-Patches/0238-PlayerReadyArrowEvent.patch +++ b/Spigot-Server-Patches/0237-PlayerReadyArrowEvent.patch @@ -1,4 +1,4 @@ -From da1c53c88ec4787ec6d988e6b1a827b4f1544513 Mon Sep 17 00:00:00 2001 +From b7b0c7f334337b6d252361e7c3e0efab9a2a9e5c Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 18 Jun 2018 01:12:53 -0400 Subject: [PATCH] PlayerReadyArrowEvent @@ -7,10 +7,10 @@ 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 4ff6cba65..ed1ba110c 100644 +index 494425e594..bae1cd65d0 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -2033,6 +2033,17 @@ public abstract class EntityHuman extends EntityLiving { +@@ -2051,6 +2051,17 @@ public abstract class EntityHuman extends EntityLiving { return (EntitySize) EntityHuman.b.getOrDefault(entitypose, EntityHuman.bs); } @@ -28,7 +28,7 @@ index 4ff6cba65..ed1ba110c 100644 @Override public ItemStack f(ItemStack itemstack) { if (!(itemstack.getItem() instanceof ItemProjectileWeapon)) { -@@ -2049,7 +2060,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -2067,7 +2078,7 @@ public abstract class EntityHuman extends EntityLiving { for (int i = 0; i < this.inventory.getSize(); ++i) { ItemStack itemstack2 = this.inventory.getItem(i); diff --git a/Spigot-Server-Patches/0239-Fire-EntityShootBowEvent-for-Illusioner.patch b/Spigot-Server-Patches/0238-Fire-EntityShootBowEvent-for-Illusioner.patch similarity index 93% rename from Spigot-Server-Patches/0239-Fire-EntityShootBowEvent-for-Illusioner.patch rename to Spigot-Server-Patches/0238-Fire-EntityShootBowEvent-for-Illusioner.patch index b7a17ca8e..d2946d34d 100644 --- a/Spigot-Server-Patches/0239-Fire-EntityShootBowEvent-for-Illusioner.patch +++ b/Spigot-Server-Patches/0238-Fire-EntityShootBowEvent-for-Illusioner.patch @@ -1,11 +1,11 @@ -From 61b851869389d066b59ca200e7c455ba39ad74ec Mon Sep 17 00:00:00 2001 +From 5ce1d4e9b773db23978cde160a4abd46b019319f 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 4e0e6caa1..76641682b 100644 +index 2c320c8a43..cc37b5ff16 100644 --- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java +++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java @@ -138,8 +138,18 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan diff --git a/Spigot-Server-Patches/0240-Implement-EntityKnockbackByEntityEvent.patch b/Spigot-Server-Patches/0239-Implement-EntityKnockbackByEntityEvent.patch similarity index 93% rename from Spigot-Server-Patches/0240-Implement-EntityKnockbackByEntityEvent.patch rename to Spigot-Server-Patches/0239-Implement-EntityKnockbackByEntityEvent.patch index 16cca8e4b..1941b68a8 100644 --- a/Spigot-Server-Patches/0240-Implement-EntityKnockbackByEntityEvent.patch +++ b/Spigot-Server-Patches/0239-Implement-EntityKnockbackByEntityEvent.patch @@ -1,4 +1,4 @@ -From a794ca942487bbdd8cb5cfab5d54f365cb0419d5 Mon Sep 17 00:00:00 2001 +From c32f8c825de97cc79061ca8cd11e41cbdbdb7dea Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Mon, 18 Jun 2018 15:46:23 +0200 Subject: [PATCH] Implement EntityKnockbackByEntityEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent This event is called when an entity receives knockback by another entity. diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d4c38ae46..ca266029e 100644 +index a578dec9db..c2634f8813 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1430,6 +1430,16 @@ public abstract class EntityLiving extends Entity { diff --git a/Spigot-Server-Patches/0241-Expand-Explosions-API.patch b/Spigot-Server-Patches/0240-Expand-Explosions-API.patch similarity index 92% rename from Spigot-Server-Patches/0241-Expand-Explosions-API.patch rename to Spigot-Server-Patches/0240-Expand-Explosions-API.patch index 0187becb1..2453cfea3 100644 --- a/Spigot-Server-Patches/0241-Expand-Explosions-API.patch +++ b/Spigot-Server-Patches/0240-Expand-Explosions-API.patch @@ -1,4 +1,4 @@ -From af636bd2795fe74fe99827ffd6c389589cc44ab3 Mon Sep 17 00:00:00 2001 +From b87f3fe0260cbb5d07929f3bf568d91f843e2d77 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 20 Jun 2018 23:17:24 -0400 Subject: [PATCH] Expand Explosions API @@ -6,7 +6,7 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d1c634790..4995a93af 100644 +index 0b632a0e2e..ad0f2d4399 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -838,6 +838,11 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0242-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0241-LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 85% rename from Spigot-Server-Patches/0242-LivingEntity-Hand-Raised-Item-Use-API.patch rename to Spigot-Server-Patches/0241-LivingEntity-Hand-Raised-Item-Use-API.patch index 65a6dbd50..a43b37fe4 100644 --- a/Spigot-Server-Patches/0242-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0241-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From 4ea4b6672ef3e3cd1c530fb7d035b36b3d9b7319 Mon Sep 17 00:00:00 2001 +From 639efcb00e1ca46a92d1ac3b84ba20c10f04a4ba 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,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index ca266029e..1500e43ee 100644 +index c2634f8813..b29e0c5d35 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 { @@ -22,17 +22,17 @@ index ca266029e..1500e43ee 100644 return this.activeItem; } -+ public int getItemUseRemainingTime() { return dn(); } // Paper - OBFHELPER - public int dn() { ++ public int getItemUseRemainingTime() { return this.dm(); } // Paper - OBFHELPER + public int dm() { return this.bo; } -+ public int getHandRaisedTime() { return do_(); } // Paper - OBFHELPER - public int do_() { - return this.isHandRaised() ? this.activeItem.k() - this.dn() : 0; ++ public int getHandRaisedTime() { return this.dn(); } // Paper - OBFHELPER + public int dn() { + return this.isHandRaised() ? this.activeItem.k() - this.dm() : 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 513b3fac7..8dea7d36b 100644 +index 513b3fac7f..8dea7d36b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -629,5 +629,25 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0243-RangedEntity-API.patch b/Spigot-Server-Patches/0242-RangedEntity-API.patch similarity index 95% rename from Spigot-Server-Patches/0243-RangedEntity-API.patch rename to Spigot-Server-Patches/0242-RangedEntity-API.patch index 9a7dc177e..a43508fe7 100644 --- a/Spigot-Server-Patches/0243-RangedEntity-API.patch +++ b/Spigot-Server-Patches/0242-RangedEntity-API.patch @@ -1,4 +1,4 @@ -From 844581798ad3011c16826077c3f5b9af223e2f81 Mon Sep 17 00:00:00 2001 +From eccbb9755b0bf9d49533524423a17a899730db53 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 000000000..696660b08 +index 0000000000..696660b089 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/CraftRangedEntity.java @@ -0,0 +1,19 @@ @@ -32,7 +32,7 @@ index 000000000..696660b08 + } +} diff --git a/src/main/java/net/minecraft/server/IRangedEntity.java b/src/main/java/net/minecraft/server/IRangedEntity.java -index b4178ce1e..9b79ac77d 100644 +index b4178ce1e8..9b79ac77db 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 b4178ce1e..9b79ac77d 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 2ec1af8be..f31d3eed3 100644 +index 2ec1af8be4..f31d3eed3a 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 2ec1af8be..f31d3eed3 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 23ab78da1..3f94c5a92 100644 +index 23ab78da15..3f94c5a920 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 23ab78da1..3f94c5a92 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 b4ae89840..02df66ecf 100644 +index b4ae898401..02df66ecfe 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 b4ae89840..02df66ecf 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 27460c59e..e482b1c9d 100644 +index 27460c59e3..e482b1c9dc 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 27460c59e..e482b1c9d 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 244e4dc8e..bae107e76 100644 +index 244e4dc8ec..bae107e76e 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 244e4dc8e..bae107e76 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 38b555cc7..03cf6136e 100644 +index 38b555cc7e..03cf6136e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWither.java @@ -1,5 +1,6 @@ diff --git a/Spigot-Server-Patches/0244-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0243-Add-config-to-disable-ender-dragon-legacy-check.patch similarity index 94% rename from Spigot-Server-Patches/0244-Add-config-to-disable-ender-dragon-legacy-check.patch rename to Spigot-Server-Patches/0243-Add-config-to-disable-ender-dragon-legacy-check.patch index ec361b60f..6177a2092 100644 --- a/Spigot-Server-Patches/0244-Add-config-to-disable-ender-dragon-legacy-check.patch +++ b/Spigot-Server-Patches/0243-Add-config-to-disable-ender-dragon-legacy-check.patch @@ -1,11 +1,11 @@ -From ca98fc9d658253f352b06b68994642de3d09c7d8 Mon Sep 17 00:00:00 2001 +From 7320ef367e08783793e1b1a464626ecdeb810259 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 182ac2e7f..b7e819d60 100644 +index 182ac2e7f6..b7e819d601 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -365,4 +365,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index 182ac2e7f..b7e819d60 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 88a8e4abd0..6700c8c658 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java @@ -28,10 +28,10 @@ public class EnderDragonBattle { diff --git a/Spigot-Server-Patches/0245-Implement-World.getEntity-UUID-API.patch b/Spigot-Server-Patches/0244-Implement-World.getEntity-UUID-API.patch similarity index 89% rename from Spigot-Server-Patches/0245-Implement-World.getEntity-UUID-API.patch rename to Spigot-Server-Patches/0244-Implement-World.getEntity-UUID-API.patch index 792259c61..170655b39 100644 --- a/Spigot-Server-Patches/0245-Implement-World.getEntity-UUID-API.patch +++ b/Spigot-Server-Patches/0244-Implement-World.getEntity-UUID-API.patch @@ -1,11 +1,11 @@ -From 0be9fb479e1fd3f77a6beab186210767349dcada Mon Sep 17 00:00:00 2001 +From 530fe99e55cf5e67d1eeedd7bd2f9903b7ec1ec4 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 4995a93af..e74238033 100644 +index ad0f2d4399..0c190e5f49 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1194,6 +1194,15 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0246-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch similarity index 90% rename from Spigot-Server-Patches/0246-InventoryCloseEvent-Reason-API.patch rename to Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch index ca0933129..3914a64dd 100644 --- a/Spigot-Server-Patches/0246-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0245-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From 16c8e2016bc73e782153dc7eb1dfcc8f3cdc6376 Mon Sep 17 00:00:00 2001 +From caf172832352a28c0bf4d34e9729e72fe410f977 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 ed1ba110c..8b0094d1d 100644 +index bae1cd65d0..d2b228d0a8 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -149,7 +149,7 @@ public abstract class EntityHuman extends EntityLiving { - this.dB(); +@@ -164,7 +164,7 @@ public abstract class EntityHuman extends EntityLiving { + this.dA(); super.tick(); if (!this.world.isClientSide && this.activeContainer != null && !this.activeContainer.canUse(this)) { - this.closeInventory(); @@ -19,7 +19,7 @@ index ed1ba110c..8b0094d1d 100644 this.activeContainer = this.defaultContainer; } -@@ -336,6 +336,13 @@ public abstract class EntityHuman extends EntityLiving { +@@ -351,6 +351,13 @@ public abstract class EntityHuman extends EntityLiving { return 20; } @@ -34,7 +34,7 @@ index ed1ba110c..8b0094d1d 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 18c71640f..2ce606322 100644 +index 5d659d626b..c48ac7a482 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 { @@ -46,7 +46,7 @@ index 18c71640f..2ce606322 100644 this.activeContainer = this.defaultContainer; } -@@ -536,7 +536,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -537,7 +537,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { // SPIGOT-943 - only call if they have an inventory open if (this.activeContainer != this.defaultContainer) { @@ -55,7 +55,7 @@ index 18c71640f..2ce606322 100644 } String deathMessage = event.getDeathMessage(); -@@ -1058,7 +1058,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1059,7 +1059,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return OptionalInt.empty(); } else { if (this.activeContainer != this.defaultContainer) { @@ -64,7 +64,7 @@ index 18c71640f..2ce606322 100644 } this.nextContainerCounter(); -@@ -1111,7 +1111,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1112,7 +1112,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } // CraftBukkit end if (this.activeContainer != this.defaultContainer) { @@ -73,7 +73,7 @@ index 18c71640f..2ce606322 100644 } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1175,7 +1175,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1176,7 +1176,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @Override public void closeInventory() { @@ -88,10 +88,10 @@ index 18c71640f..2ce606322 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index e6b8b68f1..c315a5648 100644 +index 89beac63aa..b9793d4cc6 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2062,7 +2062,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2025,7 +2025,7 @@ public class PlayerConnection implements PacketListenerPlayIn { PlayerConnectionUtils.ensureMainThread(packetplayinclosewindow, this, this.player.getWorldServer()); if (this.player.isFrozen()) return; // CraftBukkit @@ -101,7 +101,7 @@ index e6b8b68f1..c315a5648 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 a167843bf..9e5cd22d7 100644 +index a167843bfb..9e5cd22d7d 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 { @@ -114,10 +114,10 @@ index a167843bf..9e5cd22d7 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 74939dce3..71e5dffb9 100644 +index 8ede95a0b6..cd4cb9616c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -990,7 +990,7 @@ public class WorldServer extends World { +@@ -987,7 +987,7 @@ public class WorldServer extends World { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -126,7 +126,7 @@ index 74939dce3..71e5dffb9 100644 } } } -@@ -1013,7 +1013,7 @@ public class WorldServer extends World { +@@ -1010,7 +1010,7 @@ public class WorldServer extends World { { if ( h instanceof org.bukkit.craftbukkit.entity.CraftHumanEntity ) { @@ -136,7 +136,7 @@ index 74939dce3..71e5dffb9 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 6acb15043..cccc1be13 100644 +index 308f6fd5d7..f54f895909 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -618,8 +618,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -155,7 +155,7 @@ index 6acb15043..cccc1be13 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 9ff2281c1..36f6766a6 100644 +index 2bba7f359d..39285c92c4 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 { @@ -168,7 +168,7 @@ index 9ff2281c1..36f6766a6 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 9de01e604..80b0fb8c1 100644 +index 9e6ad82ba5..e84df5dd4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1259,8 +1259,19 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0247-Configurable-Bed-Search-Radius.patch b/Spigot-Server-Patches/0246-Configurable-Bed-Search-Radius.patch similarity index 98% rename from Spigot-Server-Patches/0247-Configurable-Bed-Search-Radius.patch rename to Spigot-Server-Patches/0246-Configurable-Bed-Search-Radius.patch index 1591eb245..0a9f3815a 100644 --- a/Spigot-Server-Patches/0247-Configurable-Bed-Search-Radius.patch +++ b/Spigot-Server-Patches/0246-Configurable-Bed-Search-Radius.patch @@ -1,4 +1,4 @@ -From d463592231936386358b1faeec2ebd5f081d5cfa Mon Sep 17 00:00:00 2001 +From 4cd00bd2211d90c38f4604afcd55457d3ded9461 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 b7e819d60..fc0455934 100644 +index b7e819d601..fc0455934b 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -370,4 +370,15 @@ public class PaperWorldConfig { @@ -30,7 +30,7 @@ index b7e819d60..fc0455934 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java -index c49eb0ecb..35cf3c3ac 100644 +index 43b5d00b02..b2525e2a2d 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 { diff --git a/Spigot-Server-Patches/0248-Vex-getSummoner-API.patch b/Spigot-Server-Patches/0247-Vex-getSummoner-API.patch similarity index 92% rename from Spigot-Server-Patches/0248-Vex-getSummoner-API.patch rename to Spigot-Server-Patches/0247-Vex-getSummoner-API.patch index 6daacf9d8..4369f6043 100644 --- a/Spigot-Server-Patches/0248-Vex-getSummoner-API.patch +++ b/Spigot-Server-Patches/0247-Vex-getSummoner-API.patch @@ -1,4 +1,4 @@ -From c9af00734c7ba847ab2bd5a0f0cbfd4caa0b11b5 Mon Sep 17 00:00:00 2001 +From 39ae0187fdc652e7896d692d5da0266671873ed5 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 be6c173e3..c8e81b824 100644 +index 7c164531b3..25aea53150 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 be6c173e3..c8e81b824 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 737a37b6f..169c951ec 100644 +index 737a37b6fe..169c951ec3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java @@ -1,8 +1,10 @@ diff --git a/Spigot-Server-Patches/0249-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch similarity index 88% rename from Spigot-Server-Patches/0249-Refresh-player-inventory-when-cancelling-PlayerInter.patch rename to Spigot-Server-Patches/0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch index fee7bcbcc..72ee8c5dd 100644 --- a/Spigot-Server-Patches/0249-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0248-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -1,4 +1,4 @@ -From 060704ac791c945178d143d4d0adb1b9a03c75ed Mon Sep 17 00:00:00 2001 +From 444c84a9b153f9b5cfc94e21175a881a9c84d6c4 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 c315a5648..72886442c 100644 +index b9793d4cc6..f2de19b9b4 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1976,6 +1976,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1939,6 +1939,7 @@ public class PlayerConnection implements PacketListenerPlayIn { } if (event.isCancelled()) { diff --git a/Spigot-Server-Patches/0250-Don-t-change-the-Entity-Random-seed-for-squids.patch b/Spigot-Server-Patches/0249-Don-t-change-the-Entity-Random-seed-for-squids.patch similarity index 88% rename from Spigot-Server-Patches/0250-Don-t-change-the-Entity-Random-seed-for-squids.patch rename to Spigot-Server-Patches/0249-Don-t-change-the-Entity-Random-seed-for-squids.patch index 9400e9624..c3b6f1a89 100644 --- a/Spigot-Server-Patches/0250-Don-t-change-the-Entity-Random-seed-for-squids.patch +++ b/Spigot-Server-Patches/0249-Don-t-change-the-Entity-Random-seed-for-squids.patch @@ -1,11 +1,11 @@ -From 11bb20d0d0ea5a246851e69698c6614afbdc1a64 Mon Sep 17 00:00:00 2001 +From 9886f0270859ce331fa76821ad2d2253dffcc22a 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 aafb7df0c..bcea73a40 100644 +index 735d1879a8..a4d2ff64d8 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 { diff --git a/Spigot-Server-Patches/0251-Re-add-vanilla-entity-warnings-for-duplicates.patch b/Spigot-Server-Patches/0250-Re-add-vanilla-entity-warnings-for-duplicates.patch similarity index 87% rename from Spigot-Server-Patches/0251-Re-add-vanilla-entity-warnings-for-duplicates.patch rename to Spigot-Server-Patches/0250-Re-add-vanilla-entity-warnings-for-duplicates.patch index 8ebd2c7d5..000938404 100644 --- a/Spigot-Server-Patches/0251-Re-add-vanilla-entity-warnings-for-duplicates.patch +++ b/Spigot-Server-Patches/0250-Re-add-vanilla-entity-warnings-for-duplicates.patch @@ -1,4 +1,4 @@ -From ac81e63131a3046cdf1093e4ee2a138dfa0e8ab2 Mon Sep 17 00:00:00 2001 +From 34feaa0ebfc4d90a9139870e709a57776b3329d5 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 71e5dffb9..2e19b7342 100644 +index cd4cb9616c..895d9ccac8 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -975,7 +975,8 @@ public class WorldServer extends World { +@@ -972,7 +972,8 @@ public class WorldServer extends World { if (entity1 == null) { return false; } else { diff --git a/Spigot-Server-Patches/0252-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 similarity index 90% rename from Spigot-Server-Patches/0252-Avoid-item-merge-if-stack-size-above-max-stack-size.patch rename to Spigot-Server-Patches/0251-Avoid-item-merge-if-stack-size-above-max-stack-size.patch index 2f3514cec..06a5fa12b 100644 --- a/Spigot-Server-Patches/0252-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 @@ -1,11 +1,11 @@ -From f9db7abe42e9f812b40c9babce4b46c03f4f416b Mon Sep 17 00:00:00 2001 +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 f1f86ef8b..6e026d34f 100644 +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 { diff --git a/Spigot-Server-Patches/0253-Use-asynchronous-Log4j-2-loggers.patch b/Spigot-Server-Patches/0252-Use-asynchronous-Log4j-2-loggers.patch similarity index 92% rename from Spigot-Server-Patches/0253-Use-asynchronous-Log4j-2-loggers.patch rename to Spigot-Server-Patches/0252-Use-asynchronous-Log4j-2-loggers.patch index 333753cce..13b35a5fd 100644 --- a/Spigot-Server-Patches/0253-Use-asynchronous-Log4j-2-loggers.patch +++ b/Spigot-Server-Patches/0252-Use-asynchronous-Log4j-2-loggers.patch @@ -1,11 +1,11 @@ -From 310c12d03ea9ff7b6bcd63f78cb7ad7129080e32 Mon Sep 17 00:00:00 2001 +From 36095dbce64ae8d5bba9f951d3841d8ce3f86ba6 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 4ead09327..1f3571dd0 100644 +index b7db74c9ba..0130272236 100644 --- a/pom.xml +++ b/pom.xml @@ -74,6 +74,13 @@ @@ -24,7 +24,7 @@ index 4ead09327..1f3571dd0 100644 asm diff --git a/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java b/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java new file mode 100644 -index 000000000..db652a1f7 +index 0000000000..db652a1f7a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/log/LogFullPolicy.java @@ -0,0 +1,17 @@ @@ -47,7 +47,7 @@ index 000000000..db652a1f7 +} diff --git a/src/main/resources/log4j2.component.properties b/src/main/resources/log4j2.component.properties new file mode 100644 -index 000000000..f72f7425c +index 0000000000..f72f7425c1 --- /dev/null +++ b/src/main/resources/log4j2.component.properties @@ -0,0 +1,2 @@ diff --git a/Spigot-Server-Patches/0254-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0253-add-more-information-to-Entity.toString.patch similarity index 93% rename from Spigot-Server-Patches/0254-add-more-information-to-Entity.toString.patch rename to Spigot-Server-Patches/0253-add-more-information-to-Entity.toString.patch index 37cf2d531..9fe7836cc 100644 --- a/Spigot-Server-Patches/0254-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0253-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From 54c728860fb47bc3db330806dcc981134a17c8e0 Mon Sep 17 00:00:00 2001 +From e42167f12d63b5a2c17300b544da4739b22fb114 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,7 +6,7 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 433972025..0940520fa 100644 +index be4ebcadb7..6ada923797 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 diff --git a/Spigot-Server-Patches/0255-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch similarity index 89% rename from Spigot-Server-Patches/0255-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch rename to Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 00415e128..ccbc4c361 100644 --- a/Spigot-Server-Patches/0255-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/Spigot-Server-Patches/0254-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -1,4 +1,4 @@ -From 56cff16e06f7cfae2890ce7c1ff1716b20b355ba Mon Sep 17 00:00:00 2001 +From 9b93fc0dd61ee4f91577b0ceee341de42e7bcf1b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 08:25:40 -0400 Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues @@ -6,7 +6,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues Add -Ddebug.entities=true to your JVM flags to gain more information diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 0940520fa..3d522b90a 100644 +index 6ada923797..9241874139 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -75,6 +75,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -19,10 +19,10 @@ index 0940520fa..3d522b90a 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 398630bb4..6d5b34980 100644 +index ce13b91f66..16acacc3ec 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -964,6 +964,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1014,6 +1014,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 398630bb4..6d5b34980 100644 this.trackedEntities.put(entity.getId(), playerchunkmap_entitytracker); playerchunkmap_entitytracker.track(this.world.getPlayers()); if (entity instanceof EntityPlayer) { -@@ -1006,7 +1007,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1056,7 +1057,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { if (playerchunkmap_entitytracker1 != null) { playerchunkmap_entitytracker1.a(); } @@ -40,7 +40,7 @@ index 398630bb4..6d5b34980 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 b9570ea92..23d5555d9 100644 +index e780f7af40..627fec10a8 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -68,6 +68,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -52,10 +52,10 @@ index b9570ea92..23d5555d9 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 2e19b7342..dbdc4b66e 100644 +index 895d9ccac8..14dde107ac 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -69,6 +69,9 @@ public class WorldServer extends World { +@@ -72,6 +72,9 @@ public class WorldServer extends World { // CraftBukkit start private int tickPosition; boolean hasPhysicsEvent = true; // Paper @@ -65,7 +65,7 @@ index 2e19b7342..dbdc4b66e 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) { -@@ -939,6 +942,12 @@ public class WorldServer extends World { +@@ -936,6 +939,12 @@ public class WorldServer extends World { org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); return true; } // Paper if (entity.dead) { @@ -78,7 +78,7 @@ index 2e19b7342..dbdc4b66e 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)) { -@@ -1102,7 +1111,24 @@ public class WorldServer extends World { +@@ -1099,7 +1108,24 @@ public class WorldServer extends World { } } @@ -103,7 +103,7 @@ index 2e19b7342..dbdc4b66e 100644 + this.getChunkProvider().addEntity(entity); if (entity instanceof EntityInsentient) { - this.I.add(((EntityInsentient) entity).getNavigation()); + this.H.add(((EntityInsentient) entity).getNavigation()); -- 2.22.0 diff --git a/Spigot-Server-Patches/0256-EnderDragon-Events.patch b/Spigot-Server-Patches/0255-EnderDragon-Events.patch similarity index 86% rename from Spigot-Server-Patches/0256-EnderDragon-Events.patch rename to Spigot-Server-Patches/0255-EnderDragon-Events.patch index c3edb44bc..7afb8600b 100644 --- a/Spigot-Server-Patches/0256-EnderDragon-Events.patch +++ b/Spigot-Server-Patches/0255-EnderDragon-Events.patch @@ -1,34 +1,35 @@ -From 9d7ab6a703362e6d3e35eebf9a1dbd4b7bb172ca Mon Sep 17 00:00:00 2001 +From bd3ed37e90eaf8ea43b8517228e594167904744a 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 4ab310cd6..90f6d58dd 100644 +index 98e15834ab..577d1d2070 100644 --- a/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java +++ b/src/main/java/net/minecraft/server/DragonControllerLandedFlame.java -@@ -65,7 +65,9 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded +@@ -65,7 +65,11 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded this.d.setDuration(200); this.d.setParticle(Particles.DRAGON_BREATH); - this.d.a(new MobEffect(MobEffects.HARM)); -+ if (new com.destroystokyo.paper.event.entity.EnderDragonFlameEvent((org.bukkit.entity.EnderDragon) this.a.getBukkitEntity(), (org.bukkit.entity.AreaEffectCloud) this.d.getBukkitEntity()).callEvent()) // Paper + this.d.addEffect(new MobEffect(MobEffects.HARM)); ++ if (new com.destroystokyo.paper.event.entity.EnderDragonFlameEvent((org.bukkit.entity.EnderDragon) this.a.getBukkitEntity(), (org.bukkit.entity.AreaEffectCloud) this.d.getBukkitEntity()).callEvent()) { // Paper this.a.world.addEntity(this.d); -+ else this.removeAreaEffect(); // Paper ++ } else { ++ this.removeAreaEffect(); ++ } } } -@@ -76,6 +78,8 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded +@@ -76,6 +80,7 @@ public class DragonControllerLandedFlame extends AbstractDragonControllerLanded ++this.c; } -+ + public void removeAreaEffect() { this.e(); } // Paper - OBFHELPER @Override 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 14e20f496..0b0815e11 100644 +index 14e20f4961..0b0815e113 100644 --- a/src/main/java/net/minecraft/server/DragonControllerStrafe.java +++ b/src/main/java/net/minecraft/server/DragonControllerStrafe.java @@ -68,7 +68,9 @@ public class DragonControllerStrafe extends AbstractDragonController { @@ -42,7 +43,7 @@ index 14e20f496..0b0815e11 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 3c2f846b5..b6958bf78 100644 +index 9dfa15fe2a..547698a2d4 100644 --- a/src/main/java/net/minecraft/server/EntityDragonFireball.java +++ b/src/main/java/net/minecraft/server/EntityDragonFireball.java @@ -40,8 +40,10 @@ public class EntityDragonFireball extends EntityFireball { diff --git a/Spigot-Server-Patches/0257-PlayerElytraBoostEvent.patch b/Spigot-Server-Patches/0256-PlayerElytraBoostEvent.patch similarity index 94% rename from Spigot-Server-Patches/0257-PlayerElytraBoostEvent.patch rename to Spigot-Server-Patches/0256-PlayerElytraBoostEvent.patch index a8f0d42bb..6a5a335f0 100644 --- a/Spigot-Server-Patches/0257-PlayerElytraBoostEvent.patch +++ b/Spigot-Server-Patches/0256-PlayerElytraBoostEvent.patch @@ -1,11 +1,11 @@ -From c65ba3a01ec82ad71398ffbe40d8b0ac190b79e8 Mon Sep 17 00:00:00 2001 +From 37e3692d88aa1ac9ebef50ac2cdf9f42a4ed9871 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 aea46ffae..9e86ef4ce 100644 +index aea46ffae5..9e86ef4ce2 100644 --- a/src/main/java/net/minecraft/server/ItemFireworks.java +++ b/src/main/java/net/minecraft/server/ItemFireworks.java @@ -35,11 +35,16 @@ public class ItemFireworks extends Item { diff --git a/Spigot-Server-Patches/0258-PlayerLaunchProjectileEvent.patch b/Spigot-Server-Patches/0257-PlayerLaunchProjectileEvent.patch similarity index 80% rename from Spigot-Server-Patches/0258-PlayerLaunchProjectileEvent.patch rename to Spigot-Server-Patches/0257-PlayerLaunchProjectileEvent.patch index c5a77f63a..ed914ed53 100644 --- a/Spigot-Server-Patches/0258-PlayerLaunchProjectileEvent.patch +++ b/Spigot-Server-Patches/0257-PlayerLaunchProjectileEvent.patch @@ -1,11 +1,11 @@ -From dbcab6f65b4134d092992d61898fbb9edfe1c87f Mon Sep 17 00:00:00 2001 +From 6d32725397984e06fbb0d679422a33a7abac94bd Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 21 Jul 2018 03:11:03 -0500 Subject: [PATCH] PlayerLaunchProjectileEvent diff --git a/src/main/java/net/minecraft/server/ItemEgg.java b/src/main/java/net/minecraft/server/ItemEgg.java -index 2bdb65bf8..f526af45f 100644 +index 7cc3c33b00..b92d39600c 100644 --- a/src/main/java/net/minecraft/server/ItemEgg.java +++ b/src/main/java/net/minecraft/server/ItemEgg.java @@ -10,17 +10,35 @@ public class ItemEgg extends Item { @@ -17,7 +17,7 @@ index 2bdb65bf8..f526af45f 100644 itemstack.subtract(1); } - world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EGG_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (ItemEgg.i.nextFloat() * 0.4F + 0.8F)); + world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EGG_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (ItemEgg.i.nextFloat() * 0.4F + 0.8F)); + */ // Paper end if (!world.isClientSide) { EntityEgg entityegg = new EntityEgg(world, entityhuman); @@ -34,7 +34,7 @@ index 2bdb65bf8..f526af45f 100644 + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } + -+ world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EGG_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); ++ world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EGG_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + } else { + if (entityhuman instanceof EntityPlayer) { + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); @@ -46,7 +46,7 @@ index 2bdb65bf8..f526af45f 100644 entityhuman.b(StatisticList.ITEM_USED.b(this)); diff --git a/src/main/java/net/minecraft/server/ItemEnderPearl.java b/src/main/java/net/minecraft/server/ItemEnderPearl.java -index eb5f62dec..e8e52d726 100644 +index e4a9e4b7b7..8a02b69fb3 100644 --- a/src/main/java/net/minecraft/server/ItemEnderPearl.java +++ b/src/main/java/net/minecraft/server/ItemEnderPearl.java @@ -16,7 +16,19 @@ public class ItemEnderPearl extends Item { @@ -63,7 +63,7 @@ index eb5f62dec..e8e52d726 100644 + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } + -+ world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_ENDER_PEARL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); ++ world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_ENDER_PEARL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + entityhuman.getCooldownTracker().a(this, 20); + } else { + // Paper end @@ -78,23 +78,23 @@ index eb5f62dec..e8e52d726 100644 - itemstack.subtract(1); - } - -- world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_ENDER_PEARL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemEnderPearl.i.nextFloat() * 0.4F + 0.8F)); +- world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_ENDER_PEARL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemEnderPearl.i.nextFloat() * 0.4F + 0.8F)); - entityhuman.getCooldownTracker().a(this, 20); - // CraftBukkit end -+ // Paper start - moved up -+ //if (!entityhuman.abilities.canInstantlyBuild) { -+ // itemstack.subtract(1); -+ //} -+ // -+ //world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_ENDER_PEARL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemEnderPearl.i.nextFloat() * 0.4F + 0.8F)); -+ //entityhuman.getCooldownTracker().a(this, 20); -+ // // CraftBukkit end -+ // Paper end ++// // Paper start - moved up ++// if (!entityhuman.abilities.canInstantlyBuild) { ++// itemstack.subtract(1); ++// } ++// ++// world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_ENDER_PEARL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemEnderPearl.i.nextFloat() * 0.4F + 0.8F)); ++// entityhuman.getCooldownTracker().a(this, 20); ++// // CraftBukkit end ++// // Paper end entityhuman.b(StatisticList.ITEM_USED.b(this)); return new InteractionResultWrapper<>(EnumInteractionResult.SUCCESS, itemstack); diff --git a/src/main/java/net/minecraft/server/ItemExpBottle.java b/src/main/java/net/minecraft/server/ItemExpBottle.java -index 35f842ede..eb626a6f0 100644 +index 8d557cd85e..2a0aded65f 100644 --- a/src/main/java/net/minecraft/server/ItemExpBottle.java +++ b/src/main/java/net/minecraft/server/ItemExpBottle.java @@ -9,18 +9,35 @@ public class ItemExpBottle extends Item { @@ -107,7 +107,7 @@ index 35f842ede..eb626a6f0 100644 itemstack.subtract(1); } - world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EXPERIENCE_BOTTLE_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemExpBottle.i.nextFloat() * 0.4F + 0.8F)); + world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EXPERIENCE_BOTTLE_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemExpBottle.i.nextFloat() * 0.4F + 0.8F)); + */ // Paper end if (!world.isClientSide) { EntityThrownExpBottle entitythrownexpbottle = new EntityThrownExpBottle(world, entityhuman); @@ -124,7 +124,7 @@ index 35f842ede..eb626a6f0 100644 + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } + -+ world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EXPERIENCE_BOTTLE_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); ++ world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_EXPERIENCE_BOTTLE_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + } else { + if (entityhuman instanceof EntityPlayer) { + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); @@ -136,7 +136,7 @@ index 35f842ede..eb626a6f0 100644 entityhuman.b(StatisticList.ITEM_USED.b(this)); diff --git a/src/main/java/net/minecraft/server/ItemLingeringPotion.java b/src/main/java/net/minecraft/server/ItemLingeringPotion.java -index e3683bdae..f3ad1cd6d 100644 +index 1bddb78013..ca3f9f8cc9 100644 --- a/src/main/java/net/minecraft/server/ItemLingeringPotion.java +++ b/src/main/java/net/minecraft/server/ItemLingeringPotion.java @@ -9,15 +9,40 @@ public class ItemLingeringPotion extends ItemPotion { @@ -146,7 +146,7 @@ index e3683bdae..f3ad1cd6d 100644 + /* // Paper start ItemStack itemstack1 = entityhuman.abilities.canInstantlyBuild ? itemstack.cloneItemStack() : itemstack.cloneAndSubtract(1); - world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_LINGERING_POTION_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemLingeringPotion.i.nextFloat() * 0.4F + 0.8F)); + world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_LINGERING_POTION_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemLingeringPotion.i.nextFloat() * 0.4F + 0.8F)); + */ // Paper end if (!world.isClientSide) { + @@ -170,7 +170,7 @@ index e3683bdae..f3ad1cd6d 100644 + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } + -+ world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_LINGERING_POTION_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); ++ world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_LINGERING_POTION_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + } else { + if (entityhuman instanceof EntityPlayer) { + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); @@ -182,10 +182,10 @@ index e3683bdae..f3ad1cd6d 100644 entityhuman.b(StatisticList.ITEM_USED.b(this)); diff --git a/src/main/java/net/minecraft/server/ItemSnowball.java b/src/main/java/net/minecraft/server/ItemSnowball.java -index 624989dd7..c119785b7 100644 +index f5387a74ae..bbd22596e8 100644 --- a/src/main/java/net/minecraft/server/ItemSnowball.java +++ b/src/main/java/net/minecraft/server/ItemSnowball.java -@@ -23,15 +23,23 @@ public class ItemSnowball extends Item { +@@ -23,14 +23,21 @@ public class ItemSnowball extends Item { entitysnowball.setItem(itemstack); entitysnowball.a(entityhuman, entityhuman.pitch, entityhuman.yaw, 0.0F, 1.5F, 1.0F); @@ -200,22 +200,20 @@ index 624989dd7..c119785b7 100644 + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); } -- world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemSnowball.i.nextFloat() * 0.4F + 0.8F)); +- world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (ItemSnowball.i.nextFloat() * 0.4F + 0.8F)); - } else if (entityhuman instanceof EntityPlayer) { - ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); -+ world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); ++ world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + } else { + if (entityhuman instanceof EntityPlayer) { + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } -+ return new InteractionResultWrapper(EnumInteractionResult.FAIL, itemstack); ++ return new InteractionResultWrapper<>(EnumInteractionResult.FAIL, itemstack); } -+ // Paper end } // CraftBukkit end - diff --git a/src/main/java/net/minecraft/server/ItemSplashPotion.java b/src/main/java/net/minecraft/server/ItemSplashPotion.java -index e267e43fe..fa6d627db 100644 +index bb9e606596..4460ddc6dc 100644 --- a/src/main/java/net/minecraft/server/ItemSplashPotion.java +++ b/src/main/java/net/minecraft/server/ItemSplashPotion.java @@ -9,15 +9,39 @@ public class ItemSplashPotion extends ItemPotion { @@ -225,7 +223,7 @@ index e267e43fe..fa6d627db 100644 + /* // Paper start ItemStack itemstack1 = entityhuman.abilities.canInstantlyBuild ? itemstack.cloneItemStack() : itemstack.cloneAndSubtract(1); - world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SPLASH_POTION_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (ItemSplashPotion.i.nextFloat() * 0.4F + 0.8F)); + world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SPLASH_POTION_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (ItemSplashPotion.i.nextFloat() * 0.4F + 0.8F)); + */ // Paper end if (!world.isClientSide) { EntityPotion entitypotion = new EntityPotion(world, entityhuman); @@ -248,7 +246,7 @@ index e267e43fe..fa6d627db 100644 + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); + } + -+ world.a((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SPLASH_POTION_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); ++ world.playSound((EntityHuman) null, entityhuman.locX, entityhuman.locY, entityhuman.locZ, SoundEffects.ENTITY_SPLASH_POTION_THROW, SoundCategory.PLAYERS, 0.5F, 0.4F / (Entity.SHARED_RANDOM.nextFloat() * 0.4F + 0.8F)); + } else { + if (entityhuman instanceof EntityPlayer) { + ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); diff --git a/Spigot-Server-Patches/0259-Speedup-BlockPos-by-fixing-inlining.patch b/Spigot-Server-Patches/0258-Speedup-BlockPos-by-fixing-inlining.patch similarity index 98% rename from Spigot-Server-Patches/0259-Speedup-BlockPos-by-fixing-inlining.patch rename to Spigot-Server-Patches/0258-Speedup-BlockPos-by-fixing-inlining.patch index 0a399e719..cfa00561a 100644 --- a/Spigot-Server-Patches/0259-Speedup-BlockPos-by-fixing-inlining.patch +++ b/Spigot-Server-Patches/0258-Speedup-BlockPos-by-fixing-inlining.patch @@ -1,4 +1,4 @@ -From 100f4c3bee91ea3350a9f2a513493af2cb3bbd5b Mon Sep 17 00:00:00 2001 +From 2503875393e8d1e8805b2dc620f2238c74d97dc9 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,7 +21,7 @@ This is based upon conclusions drawn from inspecting the assenmbly generated byt They had 'callq' (invoke) instead of 'mov' (get from memory) instructions. diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 7cb46d7a9..e96428bb2 100644 +index 7cb46d7a9c..e96428bb2b 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -7,22 +7,22 @@ import javax.annotation.concurrent.Immutable; @@ -101,7 +101,7 @@ index 7cb46d7a9..e96428bb2 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 2eabaaeba..04f754d2c 100644 +index 2eabaaeba2..04f754d2c1 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -335,11 +335,12 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali diff --git a/Spigot-Server-Patches/0260-Optimize-RegistryID.c.patch b/Spigot-Server-Patches/0259-Optimize-RegistryID.c.patch similarity index 95% rename from Spigot-Server-Patches/0260-Optimize-RegistryID.c.patch rename to Spigot-Server-Patches/0259-Optimize-RegistryID.c.patch index eaec8fcd1..a6bff88e4 100644 --- a/Spigot-Server-Patches/0260-Optimize-RegistryID.c.patch +++ b/Spigot-Server-Patches/0259-Optimize-RegistryID.c.patch @@ -1,4 +1,4 @@ -From a3daf0db66e2b991ddd0766a89afc7f4bf18d037 Mon Sep 17 00:00:00 2001 +From f071f20c2ecc1c03b6f2a72d6dcf1efafe0bc8ec 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 e15d28671..e8a48b9a4 100644 +index e15d286710..e8a48b9a4c 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 { diff --git a/Spigot-Server-Patches/0261-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/Spigot-Server-Patches/0260-Option-to-prevent-armor-stands-from-doing-entity-loo.patch similarity index 89% rename from Spigot-Server-Patches/0261-Option-to-prevent-armor-stands-from-doing-entity-loo.patch rename to Spigot-Server-Patches/0260-Option-to-prevent-armor-stands-from-doing-entity-loo.patch index 551f48e1e..c800d5832 100644 --- a/Spigot-Server-Patches/0261-Option-to-prevent-armor-stands-from-doing-entity-loo.patch +++ b/Spigot-Server-Patches/0260-Option-to-prevent-armor-stands-from-doing-entity-loo.patch @@ -1,11 +1,11 @@ -From c515ea6b352d6c5f5d4b4d551e8064024956c647 Mon Sep 17 00:00:00 2001 +From 57d2c6e11b7ac54355e761d06b3ace6f2b1b7df6 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 12:57:39 +0200 Subject: [PATCH] Option to prevent armor stands from doing entity lookups diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index fc0455934..09607fb44 100644 +index fc0455934b..09607fb447 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -321,6 +321,11 @@ public class PaperWorldConfig { @@ -21,10 +21,10 @@ index fc0455934..09607fb44 100644 private void maxEntityCollision() { maxCollisionsPerEntity = getInt( "max-entity-collisions", this.spigotConfig.getInt("max-entity-collisions", 8) ); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 23d5555d9..0d73a53f6 100644 +index 627fec10a8..cacc18ca41 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -867,6 +867,14 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose +@@ -868,6 +868,14 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose } } diff --git a/Spigot-Server-Patches/0262-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0261-Vanished-players-don-t-have-rights.patch similarity index 96% rename from Spigot-Server-Patches/0262-Vanished-players-don-t-have-rights.patch rename to Spigot-Server-Patches/0261-Vanished-players-don-t-have-rights.patch index 66074b3f7..48f30034f 100644 --- a/Spigot-Server-Patches/0262-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0261-Vanished-players-don-t-have-rights.patch @@ -1,11 +1,11 @@ -From eb42a367a8195dd80412dec332d66590a8e170c1 Mon Sep 17 00:00:00 2001 +From 8132a8e911aa3e09efde964f0900ced2e3b3e858 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 14:22:26 +0200 Subject: [PATCH] Vanished players don't have rights diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 3d522b90a..c73274ece 100644 +index 9241874139..9776a29923 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -97,7 +97,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,7 +18,7 @@ index 3d522b90a..c73274ece 100644 protected int j; private Entity vehicle; diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 452602d43..862ae2554 100644 +index 3328a84792..367b02800a 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -146,6 +146,7 @@ public class IBlockData extends BlockDataAbstract implements @@ -30,7 +30,7 @@ index 452602d43..862ae2554 100644 return this.getBlock().b(this, iblockaccess, blockposition, voxelshapecollision); } diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index 7d76be658..289d9cdf0 100644 +index c34c635a85..0c8b11bbec 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java @@ -136,7 +136,8 @@ public class ItemBlock extends Item { @@ -44,7 +44,7 @@ index 7d76be658..289d9cdf0 100644 BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), player, CraftBlockData.fromData(iblockdata), defaultReturn); diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java -index 6bfbc3616..7bed2d208 100644 +index 3801b3f21d..092f02cc2f 100644 --- a/src/main/java/net/minecraft/server/VoxelShape.java +++ b/src/main/java/net/minecraft/server/VoxelShape.java @@ -46,6 +46,7 @@ public abstract class VoxelShape { @@ -56,7 +56,7 @@ index 6bfbc3616..7bed2d208 100644 return (VoxelShape) (this.isEmpty() ? VoxelShapes.a() : new VoxelShapeArray(this.a, new DoubleListOffset(this.a(EnumDirection.EnumAxis.X), d0), new DoubleListOffset(this.a(EnumDirection.EnumAxis.Y), d1), new DoubleListOffset(this.a(EnumDirection.EnumAxis.Z), d2))); } diff --git a/src/main/java/net/minecraft/server/VoxelShapes.java b/src/main/java/net/minecraft/server/VoxelShapes.java -index b8659f703..c8bd4b703 100644 +index b8659f703c..c8bd4b7034 100644 --- a/src/main/java/net/minecraft/server/VoxelShapes.java +++ b/src/main/java/net/minecraft/server/VoxelShapes.java @@ -33,6 +33,7 @@ public final class VoxelShapes { @@ -76,7 +76,7 @@ index b8659f703..c8bd4b703 100644 if (operatorboolean.apply(false, false)) { throw new IllegalArgumentException(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 0d73a53f6..f0332c893 100644 +index cacc18ca41..c60279da8f 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -164,6 +164,48 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -129,7 +129,7 @@ index 0d73a53f6..f0332c893 100644 public BiomeBase getBiome(BlockPosition blockposition) { IChunkProvider ichunkprovider = this.getChunkProvider(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 80b0fb8c1..dd25a8ad2 100644 +index e84df5dd4e..379838fd60 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1140,6 +1140,14 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0263-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch b/Spigot-Server-Patches/0262-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch similarity index 89% rename from Spigot-Server-Patches/0263-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch rename to Spigot-Server-Patches/0262-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch index 0e2015ffc..0b664168d 100644 --- a/Spigot-Server-Patches/0263-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch +++ b/Spigot-Server-Patches/0262-Mark-chunk-dirty-anytime-entities-change-to-guarante.patch @@ -1,4 +1,4 @@ -From 859d51d3d71fd48790317f5528cddd05dcf33b74 Mon Sep 17 00:00:00 2001 +From bdc8b4e008a43b7abca0d75d8bc9f3ed61a82fd2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:18:31 -0400 Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it @@ -6,7 +6,7 @@ Subject: [PATCH] Mark chunk dirty anytime entities change to guarantee it diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index cacef3ac9..10381fe95 100644 +index 1da80e244b..4c0fc8f7ea 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -416,6 +416,7 @@ public class Chunk implements IChunkAccess { diff --git a/Spigot-Server-Patches/0264-Add-some-Debug-to-Chunk-Entity-slices.patch b/Spigot-Server-Patches/0263-Add-some-Debug-to-Chunk-Entity-slices.patch similarity index 95% rename from Spigot-Server-Patches/0264-Add-some-Debug-to-Chunk-Entity-slices.patch rename to Spigot-Server-Patches/0263-Add-some-Debug-to-Chunk-Entity-slices.patch index 4e78eca30..7b4853a66 100644 --- a/Spigot-Server-Patches/0264-Add-some-Debug-to-Chunk-Entity-slices.patch +++ b/Spigot-Server-Patches/0263-Add-some-Debug-to-Chunk-Entity-slices.patch @@ -1,4 +1,4 @@ -From 20cddda6aaba71df69418fd2487a65a4bff219cb Mon Sep 17 00:00:00 2001 +From 5e4738fb8845901178678c562879409f2aae83e5 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 23 Jul 2018 22:44:23 -0400 Subject: [PATCH] Add some Debug to Chunk Entity slices @@ -9,7 +9,7 @@ This should hopefully avoid duplicate entities ever being created if the entity was to end up in 2 different chunk slices diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 10381fe95..ebc00f355 100644 +index 4c0fc8f7ea..a74e389d14 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -408,6 +408,25 @@ public class Chunk implements IChunkAccess { @@ -57,7 +57,7 @@ index 10381fe95..ebc00f355 100644 return; } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c73274ece..75638e89e 100644 +index 9776a29923..701090c11e 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -67,6 +67,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0265-EntityTransformedEvent.patch b/Spigot-Server-Patches/0264-EntityTransformedEvent.patch similarity index 90% rename from Spigot-Server-Patches/0265-EntityTransformedEvent.patch rename to Spigot-Server-Patches/0264-EntityTransformedEvent.patch index aa051c1fd..162a3599c 100644 --- a/Spigot-Server-Patches/0265-EntityTransformedEvent.patch +++ b/Spigot-Server-Patches/0264-EntityTransformedEvent.patch @@ -1,11 +1,11 @@ -From ad89e7a292561972e373f0a1d3c0b603e39ce75d Mon Sep 17 00:00:00 2001 +From b9384d31cb672ba39234f47c4840290d8e72304c Mon Sep 17 00:00:00 2001 From: Anthony MacAllister Date: Thu, 26 Jul 2018 15:30:03 -0400 Subject: [PATCH] EntityTransformedEvent diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 89e2bde04..d1059355a 100644 +index 3b1b0b5992..1363069ff2 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -110,6 +110,7 @@ public class EntityMushroomCow extends EntityCow { @@ -17,10 +17,10 @@ index 89e2bde04..d1059355a 100644 this.die(); // CraftBukkit - from above diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 9311cc5bd..07f7b90f5 100644 +index a4033a6663..c2ccb85896 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -636,6 +636,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation +@@ -711,6 +711,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation if (CraftEventFactory.callEntityTransformEvent(this, entitywitch, EntityTransformEvent.TransformReason.LIGHTNING).isCancelled()) { return; } @@ -29,10 +29,10 @@ index 9311cc5bd..07f7b90f5 100644 // CraftBukkit end this.die(); diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 19eb72909..5d93af585 100644 +index 99e501cef4..3542c17e9a 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java -@@ -248,6 +248,7 @@ public class EntityZombie extends EntityMonster { +@@ -250,6 +250,7 @@ public class EntityZombie extends EntityMonster { return; } // CraftBukkit end @@ -40,7 +40,7 @@ index 19eb72909..5d93af585 100644 this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.DROWNED); // CraftBukkit - added spawn reason this.die(); } -@@ -419,6 +420,7 @@ public class EntityZombie extends EntityMonster { +@@ -422,6 +423,7 @@ public class EntityZombie extends EntityMonster { if (CraftEventFactory.callEntityTransformEvent(this, entityzombievillager, EntityTransformEvent.TransformReason.INFECTION).isCancelled()) { return; } @@ -49,10 +49,10 @@ index 19eb72909..5d93af585 100644 this.world.addEntity(entityzombievillager, CreatureSpawnEvent.SpawnReason.INFECTION); // CraftBukkit - add SpawnReason // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index 042ee18cb..4d475d963 100644 +index 3609946389..da8a8c8551 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java -@@ -157,6 +157,7 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo +@@ -170,6 +170,7 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo if (CraftEventFactory.callEntityTransformEvent(this, entityvillager, EntityTransformEvent.TransformReason.CURED).isCancelled()) { return; } diff --git a/Spigot-Server-Patches/0266-SkeletonHorse-Additions.patch b/Spigot-Server-Patches/0265-SkeletonHorse-Additions.patch similarity index 91% rename from Spigot-Server-Patches/0266-SkeletonHorse-Additions.patch rename to Spigot-Server-Patches/0265-SkeletonHorse-Additions.patch index d49bf8d02..01865031d 100644 --- a/Spigot-Server-Patches/0266-SkeletonHorse-Additions.patch +++ b/Spigot-Server-Patches/0265-SkeletonHorse-Additions.patch @@ -1,11 +1,11 @@ -From f42cd04f200f83daab216ea19c1685d7a5745cc0 Mon Sep 17 00:00:00 2001 +From b1dcd3fe0f0a7fb39c46b90ee97048a337b8e7ec Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 27 Jul 2018 22:36:31 -0500 Subject: [PATCH] SkeletonHorse Additions diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java -index c9f097303..d28119583 100644 +index ab6deaaa89..0aa77914ca 100644 --- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java +++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java @@ -6,7 +6,7 @@ public class EntityHorseSkeleton extends EntityHorseAbstract { @@ -21,8 +21,8 @@ index c9f097303..d28119583 100644 return 0.96F; } -+ public boolean isTrap() { return this.dW(); } // Paper - OBFHELPER - public boolean dW() { ++ public boolean isTrap() { return this.dV(); } // Paper - OBFHELPER + public boolean dV() { return this.bJ; } @@ -31,7 +31,7 @@ index c9f097303..d28119583 100644 if (flag != this.bJ) { this.bJ = flag; diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java -index 7b0a6f82f..f09374413 100644 +index 7b0a6f82fb..f093744136 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java @@ -15,6 +15,7 @@ public class PathfinderGoalHorseTrap extends PathfinderGoal { @@ -43,7 +43,7 @@ index 7b0a6f82f..f09374413 100644 this.a.r(false); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java -index e822c2200..2a7d1d4ec 100644 +index e822c2200d..2a7d1d4ec2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSkeletonHorse.java @@ -26,4 +26,26 @@ public class CraftSkeletonHorse extends CraftAbstractHorse implements SkeletonHo diff --git a/Spigot-Server-Patches/0267-Prevent-Saving-Bad-entities-to-chunks.patch b/Spigot-Server-Patches/0266-Prevent-Saving-Bad-entities-to-chunks.patch similarity index 96% rename from Spigot-Server-Patches/0267-Prevent-Saving-Bad-entities-to-chunks.patch rename to Spigot-Server-Patches/0266-Prevent-Saving-Bad-entities-to-chunks.patch index 498442bcd..70f4394b3 100644 --- a/Spigot-Server-Patches/0267-Prevent-Saving-Bad-entities-to-chunks.patch +++ b/Spigot-Server-Patches/0266-Prevent-Saving-Bad-entities-to-chunks.patch @@ -1,4 +1,4 @@ -From d96de2dba63e8403fab3d6c2c30587a83723f6eb Mon Sep 17 00:00:00 2001 +From 91043567437b4d6e6a453fd63b75599c3140146f Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 26 Jul 2018 00:11:12 -0400 Subject: [PATCH] Prevent Saving Bad entities to chunks @@ -18,7 +18,7 @@ an invalid entity. This should reduce log occurrences of dupe uuid messages. diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index ad3ade3c5..cf3396508 100644 +index 03be77299b..e778c2e857 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -319,6 +319,7 @@ public class ChunkRegionLoader { diff --git a/Spigot-Server-Patches/0268-Don-t-call-getItemMeta-on-hasItemMeta.patch b/Spigot-Server-Patches/0267-Don-t-call-getItemMeta-on-hasItemMeta.patch similarity index 97% rename from Spigot-Server-Patches/0268-Don-t-call-getItemMeta-on-hasItemMeta.patch rename to Spigot-Server-Patches/0267-Don-t-call-getItemMeta-on-hasItemMeta.patch index 8eb9af48b..16b4be6e4 100644 --- a/Spigot-Server-Patches/0268-Don-t-call-getItemMeta-on-hasItemMeta.patch +++ b/Spigot-Server-Patches/0267-Don-t-call-getItemMeta-on-hasItemMeta.patch @@ -1,4 +1,4 @@ -From 313e554690065c3bd478096515c499cbbca6a659 Mon Sep 17 00:00:00 2001 +From e902a3bb5d479ce67deb8601624c634156089b1d Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Thu, 26 Jul 2018 14:10:23 +0200 Subject: [PATCH] Don't call getItemMeta on hasItemMeta @@ -11,7 +11,7 @@ Returns true if getDamage() == 0 or has damage tag or other tag is set. Check the `ItemMetaTest#testTaggedButNotMeta` method to see how this method behaves. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index e6aac0cff..b8775dee9 100644 +index e6aac0cff0..b8775dee90 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -543,7 +543,7 @@ public final class CraftItemStack extends ItemStack { @@ -24,7 +24,7 @@ index e6aac0cff..b8775dee9 100644 static boolean hasItemMeta(net.minecraft.server.ItemStack item) { diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index 48c5e0621..761494fa4 100644 +index 48c5e06215..761494fa4b 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -4,6 +4,7 @@ import static org.hamcrest.Matchers.*; diff --git a/Spigot-Server-Patches/0269-Ignore-Dead-Entities-in-entityList-iteration.patch b/Spigot-Server-Patches/0268-Ignore-Dead-Entities-in-entityList-iteration.patch similarity index 92% rename from Spigot-Server-Patches/0269-Ignore-Dead-Entities-in-entityList-iteration.patch rename to Spigot-Server-Patches/0268-Ignore-Dead-Entities-in-entityList-iteration.patch index e6536b060..1722c9ba9 100644 --- a/Spigot-Server-Patches/0269-Ignore-Dead-Entities-in-entityList-iteration.patch +++ b/Spigot-Server-Patches/0268-Ignore-Dead-Entities-in-entityList-iteration.patch @@ -1,4 +1,4 @@ -From 77fe6440818608c6e17a70c5301e14629eaf2b9f Mon Sep 17 00:00:00 2001 +From a680062d33a9e21c10228f994cf97c7a47dd1adb Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 28 Jul 2018 12:18:27 -0400 Subject: [PATCH] Ignore Dead Entities in entityList iteration @@ -11,7 +11,7 @@ This will ensure that dead entities are skipped from iteration since they shouldn't of been in the list in the first place. diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 360abc05e..391726d99 100644 +index 360abc05e4..391726d99c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -176,6 +176,7 @@ public class PaperCommand extends Command { @@ -23,7 +23,7 @@ index 360abc05e..391726d99 100644 MutablePair> info = list.computeIfAbsent(key, k -> MutablePair.of(0, Maps.newHashMap())); ChunkCoordIntPair chunk = new ChunkCoordIntPair(e.getChunkX(), e.getChunkZ()); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index ebc00f355..099f0ad78 100644 +index a74e389d14..09e010e670 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -678,6 +678,7 @@ public class Chunk implements IChunkAccess { @@ -51,7 +51,7 @@ index ebc00f355..099f0ad78 100644 if (oclass.isInstance(t0) && t0.getBoundingBox().c(axisalignedbb) && (predicate == null || predicate.test(t0))) { // Spigot - instance check list.add(t0); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 75638e89e..8328b8e08 100644 +index 701090c11e..7d579c119b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -126,6 +126,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,18 +63,19 @@ index 75638e89e..8328b8e08 100644 private float av; private float aw; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index dbdc4b66e..f52321fbc 100644 +index 14dde107ac..7efc39df7d 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -847,6 +847,7 @@ public class WorldServer extends World { +@@ -845,7 +845,7 @@ public class WorldServer extends World { while (objectiterator.hasNext()) { Entity entity = (Entity) objectiterator.next(); +- + if (entity.shouldBeRemoved) continue; // Paper - // CraftBukkit start - Split out persistent check, don't apply it to special persistent mobs if (entity instanceof EntityInsentient) { EntityInsentient entityinsentient = (EntityInsentient) entity; -@@ -1139,6 +1140,7 @@ public class WorldServer extends World { + +@@ -1136,6 +1136,7 @@ public class WorldServer extends World { entity.origin = entity.getBukkitEntity().getLocation(); } // Paper end @@ -82,7 +83,7 @@ index dbdc4b66e..f52321fbc 100644 new com.destroystokyo.paper.event.entity.EntityAddToWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid } -@@ -1153,6 +1155,7 @@ public class WorldServer extends World { +@@ -1150,6 +1151,7 @@ public class WorldServer extends World { this.removeEntityFromChunk(entity); this.entitiesById.remove(entity.getId()); this.unregisterEntity(entity); @@ -91,7 +92,7 @@ index dbdc4b66e..f52321fbc 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e74238033..73d365806 100644 +index 0c190e5f49..ddfb39ef6f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -931,6 +931,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0270-Provide-option-to-use-a-versioned-world-folder-for-t.patch b/Spigot-Server-Patches/0269-Provide-option-to-use-a-versioned-world-folder-for-t.patch similarity index 98% rename from Spigot-Server-Patches/0270-Provide-option-to-use-a-versioned-world-folder-for-t.patch rename to Spigot-Server-Patches/0269-Provide-option-to-use-a-versioned-world-folder-for-t.patch index 4b9c6f82a..b6240c3a9 100644 --- a/Spigot-Server-Patches/0270-Provide-option-to-use-a-versioned-world-folder-for-t.patch +++ b/Spigot-Server-Patches/0269-Provide-option-to-use-a-versioned-world-folder-for-t.patch @@ -1,4 +1,4 @@ -From d9c193166979cfb4e6c68cc6944cc5ec2494c1f0 Mon Sep 17 00:00:00 2001 +From 9c38be60e37133286ee35635cdc44ac7a4eb555e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 29 Jul 2018 15:48:50 -0400 Subject: [PATCH] Provide option to use a versioned world folder for testing @@ -19,7 +19,7 @@ may be some delay there, but region files are only copied on demand. This is highly experiemental so backup your world before relying on this to not modify it diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index eeef7d330..dfdc7c384 100644 +index eeef7d330b..dfdc7c384d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -13,6 +13,7 @@ import java.util.List; @@ -59,7 +59,7 @@ index eeef7d330..dfdc7c384 100644 + } } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 21b3b06f5..871881165 100644 +index 21b3b06f53..8718811655 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -10,13 +10,41 @@ import java.io.IOException; @@ -163,7 +163,7 @@ index 21b3b06f5..871881165 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index 350ac42d6..eaae44686 100644 +index 350ac42d6b..eaae446861 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -31,6 +31,58 @@ public class WorldNBTStorage implements IPlayerFileData { diff --git a/Spigot-Server-Patches/0271-MC-111480-Start-Entity-ID-s-at-1.patch b/Spigot-Server-Patches/0270-MC-111480-Start-Entity-ID-s-at-1.patch similarity index 91% rename from Spigot-Server-Patches/0271-MC-111480-Start-Entity-ID-s-at-1.patch rename to Spigot-Server-Patches/0270-MC-111480-Start-Entity-ID-s-at-1.patch index 75fa56b54..f6dbf3826 100644 --- a/Spigot-Server-Patches/0271-MC-111480-Start-Entity-ID-s-at-1.patch +++ b/Spigot-Server-Patches/0270-MC-111480-Start-Entity-ID-s-at-1.patch @@ -1,4 +1,4 @@ -From c2525f012bd43e0ee24318fae3ce49ccb3377074 Mon Sep 17 00:00:00 2001 +From b4a6f6b957e5228dc76fcaadc7ceda6fff224bf2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 29 Jul 2018 22:58:47 -0400 Subject: [PATCH] MC-111480: Start Entity ID's at 1 @@ -7,7 +7,7 @@ DataWatchers that store Entity ID's treat 0 as special, and can break things such as Elytra Fireworks. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8328b8e08..2cbc4af68 100644 +index 7d579c119b..7811beb807 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -92,7 +92,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke diff --git a/Spigot-Server-Patches/0272-Implement-Expanded-ArmorStand-API.patch b/Spigot-Server-Patches/0271-Implement-Expanded-ArmorStand-API.patch similarity index 97% rename from Spigot-Server-Patches/0272-Implement-Expanded-ArmorStand-API.patch rename to Spigot-Server-Patches/0271-Implement-Expanded-ArmorStand-API.patch index 8f6b873b8..3a9578bd2 100644 --- a/Spigot-Server-Patches/0272-Implement-Expanded-ArmorStand-API.patch +++ b/Spigot-Server-Patches/0271-Implement-Expanded-ArmorStand-API.patch @@ -1,4 +1,4 @@ -From 314d957ac5db0f44d6ed43ce8aa472b79ed67737 Mon Sep 17 00:00:00 2001 +From a780bcc147ff715e5eb836894fa8915e357299c0 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Thu, 26 Jul 2018 02:25:46 -0400 Subject: [PATCH] Implement Expanded ArmorStand API @@ -8,7 +8,7 @@ Add the following: - Enable/Disable slot interactions diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 62a878d13..25afd9554 100644 +index 297ed7c1ce..961e284712 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -36,7 +36,7 @@ public class EntityArmorStand extends EntityLiving { @@ -29,7 +29,7 @@ index 62a878d13..25afd9554 100644 return (this.bE & 1 << enumitemslot.c()) != 0 || enumitemslot.a() == EnumItemSlot.Function.HAND && !this.hasArms(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 124c3185b..9f5c3b92e 100644 +index 124c3185bc..9f5c3b92e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -30,11 +30,13 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { diff --git a/Spigot-Server-Patches/0273-AnvilDamageEvent.patch b/Spigot-Server-Patches/0272-AnvilDamageEvent.patch similarity index 94% rename from Spigot-Server-Patches/0273-AnvilDamageEvent.patch rename to Spigot-Server-Patches/0272-AnvilDamageEvent.patch index 4190947f9..6ca471b2d 100644 --- a/Spigot-Server-Patches/0273-AnvilDamageEvent.patch +++ b/Spigot-Server-Patches/0272-AnvilDamageEvent.patch @@ -1,11 +1,11 @@ -From 3598209772201fa9922274d7ff7447690b6fda77 Mon Sep 17 00:00:00 2001 +From 8c824a76d1e77103bde43f1e18598392f4e0e0f3 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 20 Jul 2018 23:37:03 -0500 Subject: [PATCH] AnvilDamageEvent diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java -index 88e706f07..abdcd52c4 100644 +index 59f4798520..7718c5a3b7 100644 --- a/src/main/java/net/minecraft/server/ContainerAnvil.java +++ b/src/main/java/net/minecraft/server/ContainerAnvil.java @@ -85,6 +85,16 @@ public class ContainerAnvil extends Container { diff --git a/Spigot-Server-Patches/0274-Add-TNTPrimeEvent.patch b/Spigot-Server-Patches/0273-Add-TNTPrimeEvent.patch similarity index 97% rename from Spigot-Server-Patches/0274-Add-TNTPrimeEvent.patch rename to Spigot-Server-Patches/0273-Add-TNTPrimeEvent.patch index 9d84fb483..0ef6e18dc 100644 --- a/Spigot-Server-Patches/0274-Add-TNTPrimeEvent.patch +++ b/Spigot-Server-Patches/0273-Add-TNTPrimeEvent.patch @@ -1,11 +1,11 @@ -From 802011776a7c01313eac48f14c3d9794e1772192 Mon Sep 17 00:00:00 2001 +From e866f25ed159540cac7277d5ccd1a3785f7263a0 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Mon, 16 Jul 2018 00:05:05 +0300 Subject: [PATCH] Add TNTPrimeEvent diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java -index 49e3d7284..71357b73f 100644 +index 37e6a91520..135c6ae47e 100644 --- a/src/main/java/net/minecraft/server/BlockFire.java +++ b/src/main/java/net/minecraft/server/BlockFire.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -39,7 +39,7 @@ index 49e3d7284..71357b73f 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockTNT.java b/src/main/java/net/minecraft/server/BlockTNT.java -index 013fa3524..f717ac87c 100644 +index 462c77a000..b2689ee8bf 100644 --- a/src/main/java/net/minecraft/server/BlockTNT.java +++ b/src/main/java/net/minecraft/server/BlockTNT.java @@ -1,6 +1,7 @@ @@ -114,7 +114,7 @@ index 013fa3524..f717ac87c 100644 world.a(blockposition, false); } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index f015c023e..8dc849ca1 100644 +index 5fae347db2..c2f35f89d3 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -11,6 +11,7 @@ import org.bukkit.craftbukkit.block.CraftBlock; diff --git a/Spigot-Server-Patches/0275-Break-up-and-make-tab-spam-limits-configurable.patch b/Spigot-Server-Patches/0274-Break-up-and-make-tab-spam-limits-configurable.patch similarity index 95% rename from Spigot-Server-Patches/0275-Break-up-and-make-tab-spam-limits-configurable.patch rename to Spigot-Server-Patches/0274-Break-up-and-make-tab-spam-limits-configurable.patch index 997d0e976..ae80a6741 100644 --- a/Spigot-Server-Patches/0275-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/Spigot-Server-Patches/0274-Break-up-and-make-tab-spam-limits-configurable.patch @@ -1,4 +1,4 @@ -From 7ed00c19884964a7c6bd2d81d221631ca0b5b799 Mon Sep 17 00:00:00 2001 +From 010e85370e2742e11f9cc6e0d0b261768317362e Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 29 Jul 2018 05:02:15 +0100 Subject: [PATCH] Break up and make tab spam limits configurable @@ -22,7 +22,7 @@ to take the burden of this into their own hand without having to rely on plugins doing unsafe things. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index dfdc7c384..207e5d3e2 100644 +index dfdc7c384d..207e5d3e23 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -311,4 +311,18 @@ public class PaperConfig { @@ -45,7 +45,7 @@ index dfdc7c384..207e5d3e2 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 72886442c..7770ed312 100644 +index f2de19b9b4..a814d8cae9 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -76,6 +76,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -64,7 +64,7 @@ index 72886442c..7770ed312 100644 /* Use thread-safe field access instead if (this.chatThrottle > 0) { --this.chatThrottle; -@@ -522,7 +524,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -523,7 +525,7 @@ public class PlayerConnection implements PacketListenerPlayIn { public void a(PacketPlayInTabComplete packetplayintabcomplete) { // PlayerConnectionUtils.ensureMainThread(packetplayintabcomplete, this, this.player.getWorldServer()); // Paper - run this async // CraftBukkit start diff --git a/Spigot-Server-Patches/0276-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0275-Add-hand-to-bucket-events.patch similarity index 98% rename from Spigot-Server-Patches/0276-Add-hand-to-bucket-events.patch rename to Spigot-Server-Patches/0275-Add-hand-to-bucket-events.patch index 546b40e1d..22c141e47 100644 --- a/Spigot-Server-Patches/0276-Add-hand-to-bucket-events.patch +++ b/Spigot-Server-Patches/0275-Add-hand-to-bucket-events.patch @@ -1,11 +1,11 @@ -From 5f5029baefafc33392090e676d082468f9309a03 Mon Sep 17 00:00:00 2001 +From 04c5c10babc2a9dc7617f1da00274afdc049d092 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 2 Aug 2018 08:44:35 -0500 Subject: [PATCH] Add hand to bucket events diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index a17738f9f..d2c2e3cc3 100644 +index a17738f9ff..d2c2e3cc33 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -62,7 +62,7 @@ public class EntityCow extends EntityAnimal { @@ -18,7 +18,7 @@ index a17738f9f..d2c2e3cc3 100644 if (event.isCancelled()) { return false; diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java -index dd9308193..72040275b 100644 +index 6f8a116c06..731f117065 100644 --- a/src/main/java/net/minecraft/server/ItemBucket.java +++ b/src/main/java/net/minecraft/server/ItemBucket.java @@ -39,7 +39,7 @@ public class ItemBucket extends Item { @@ -67,7 +67,7 @@ index dd9308193..72040275b 100644 ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory(); // SPIGOT-4541 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index dd25a8ad2..c9185a198 100644 +index 379838fd60..02536db14a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -360,6 +360,20 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0277-MC-135506-Experience-should-save-as-Integers.patch b/Spigot-Server-Patches/0276-MC-135506-Experience-should-save-as-Integers.patch similarity index 92% rename from Spigot-Server-Patches/0277-MC-135506-Experience-should-save-as-Integers.patch rename to Spigot-Server-Patches/0276-MC-135506-Experience-should-save-as-Integers.patch index 11d3945d2..b173a0020 100644 --- a/Spigot-Server-Patches/0277-MC-135506-Experience-should-save-as-Integers.patch +++ b/Spigot-Server-Patches/0276-MC-135506-Experience-should-save-as-Integers.patch @@ -1,11 +1,11 @@ -From 319eb95cd2e90d240b5dbeca0c57d1ebb479767d Mon Sep 17 00:00:00 2001 +From de854b3c9dd85dcb9eac1030d8965da684085c56 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 3 Aug 2018 00:04:54 -0400 Subject: [PATCH] MC-135506: Experience should save as Integers diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 6a5954889..1a98442e0 100644 +index 6a5954889e..1a98442e08 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -204,7 +204,7 @@ public class EntityExperienceOrb extends Entity { diff --git a/Spigot-Server-Patches/0278-Fix-client-rendering-skulls-from-same-user.patch b/Spigot-Server-Patches/0277-Fix-client-rendering-skulls-from-same-user.patch similarity index 96% rename from Spigot-Server-Patches/0278-Fix-client-rendering-skulls-from-same-user.patch rename to Spigot-Server-Patches/0277-Fix-client-rendering-skulls-from-same-user.patch index 112819faa..a94b9b295 100644 --- a/Spigot-Server-Patches/0278-Fix-client-rendering-skulls-from-same-user.patch +++ b/Spigot-Server-Patches/0277-Fix-client-rendering-skulls-from-same-user.patch @@ -1,4 +1,4 @@ -From 504e263e0da175161bd698dccc9ad55bcd1df1f0 Mon Sep 17 00:00:00 2001 +From ee3e5585032f57eda55905990cc126bc607f6b21 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Nov 2016 00:40:42 -0500 Subject: [PATCH] Fix client rendering skulls from same user @@ -12,7 +12,7 @@ This allows the client to render multiple skull textures from the same user, for when different skins were used when skull was made. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 90c718255..b9c5af51f 100644 +index f849a29e2a..c69a067ef1 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -54,7 +54,7 @@ public final class ItemStack { @@ -25,7 +25,7 @@ index 90c718255..b9c5af51f 100644 private EntityItemFrame i; private ShapeDetectorBlock j; diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java -index 0d67676f7..fa2d3ce8c 100644 +index 0d67676f7d..fa2d3ce8cb 100644 --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java @@ -253,6 +253,15 @@ public class PacketDataSerializer extends ByteBuf { @@ -62,7 +62,7 @@ index 0d67676f7..fa2d3ce8c 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 363ab5da1..d19a30ad8 100644 +index 363ab5da12..d19a30ad87 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -51,6 +51,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -74,7 +74,7 @@ index 363ab5da1..d19a30ad8 100644 this.f.add(nbttagcompound); } diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java -index 177cceb77..0882d82ce 100644 +index 177cceb77f..0882d82cef 100644 --- a/src/main/java/net/minecraft/server/TileEntitySkull.java +++ b/src/main/java/net/minecraft/server/TileEntitySkull.java @@ -142,9 +142,37 @@ public class TileEntitySkull extends TileEntity /*implements ITickable*/ { // Pa diff --git a/Spigot-Server-Patches/0279-Add-Early-Warning-Feature-to-WatchDog.patch b/Spigot-Server-Patches/0278-Add-Early-Warning-Feature-to-WatchDog.patch similarity index 96% rename from Spigot-Server-Patches/0279-Add-Early-Warning-Feature-to-WatchDog.patch rename to Spigot-Server-Patches/0278-Add-Early-Warning-Feature-to-WatchDog.patch index 3b57b8247..7c9833b56 100644 --- a/Spigot-Server-Patches/0279-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/Spigot-Server-Patches/0278-Add-Early-Warning-Feature-to-WatchDog.patch @@ -1,4 +1,4 @@ -From 1a32287deb77e1cab8d651da4765dfd860f3ede7 Mon Sep 17 00:00:00 2001 +From 8cc7127cdb6e25d9203312019470e428ba99951d Mon Sep 17 00:00:00 2001 From: miclebrick Date: Wed, 8 Aug 2018 15:30:52 -0400 Subject: [PATCH] Add Early Warning Feature to WatchDog @@ -9,7 +9,7 @@ thread dumps at an interval until the point of crash. This will help diagnose what was going on in that time before the crash. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 207e5d3e2..a13c8c68b 100644 +index 207e5d3e23..a13c8c68b6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -25,6 +25,7 @@ import org.bukkit.configuration.file.YamlConfiguration; @@ -36,10 +36,10 @@ index 207e5d3e2..a13c8c68b 100644 public static int tabSpamLimit = 500; private static void tabSpamLimiters() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 946803e2b..fe8647bbc 100644 +index f768e116bd..ec35d98cc5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -850,6 +850,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 10 Aug 2018 22:11:49 -0400 Subject: [PATCH] Make EnderDragon implement Mob diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java -index cc115cc36..4947249da 100644 +index cc115cc368..4947249da2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftComplexLivingEntity.java @@ -1,17 +1,18 @@ diff --git a/Spigot-Server-Patches/0281-Detect-and-repair-corrupt-Region-Files.patch b/Spigot-Server-Patches/0280-Detect-and-repair-corrupt-Region-Files.patch similarity index 98% rename from Spigot-Server-Patches/0281-Detect-and-repair-corrupt-Region-Files.patch rename to Spigot-Server-Patches/0280-Detect-and-repair-corrupt-Region-Files.patch index 362a9a791..07a06e2cb 100644 --- a/Spigot-Server-Patches/0281-Detect-and-repair-corrupt-Region-Files.patch +++ b/Spigot-Server-Patches/0280-Detect-and-repair-corrupt-Region-Files.patch @@ -1,4 +1,4 @@ -From f6636c2dc555898f1dcfb1ea8d91b65c9c7a1f96 Mon Sep 17 00:00:00 2001 +From 1bdd1d5693380eb76a04520a2de4e4e7318b5c41 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 11 Aug 2018 00:49:20 -0400 Subject: [PATCH] Detect and repair corrupt Region Files @@ -11,7 +11,7 @@ I don't know why mojang only checks for 4096, when anything less than 8192 is a But to be safe, it will attempt to back up the file. diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 4e6288e8b..e68f90194 100644 +index 4e6288e8bb..e68f901943 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -27,13 +27,13 @@ public class RegionFile implements AutoCloseable { diff --git a/Spigot-Server-Patches/0282-Use-ConcurrentHashMap-in-JsonList.patch b/Spigot-Server-Patches/0281-Use-ConcurrentHashMap-in-JsonList.patch similarity index 97% rename from Spigot-Server-Patches/0282-Use-ConcurrentHashMap-in-JsonList.patch rename to Spigot-Server-Patches/0281-Use-ConcurrentHashMap-in-JsonList.patch index 4bf9df1bc..ec3461347 100644 --- a/Spigot-Server-Patches/0282-Use-ConcurrentHashMap-in-JsonList.patch +++ b/Spigot-Server-Patches/0281-Use-ConcurrentHashMap-in-JsonList.patch @@ -1,4 +1,4 @@ -From 7fa3516421d9d62ad415369eb24d8b79439f8d20 Mon Sep 17 00:00:00 2001 +From 258ff67bf071e96e6876c5e0c79f1824c5d3c306 Mon Sep 17 00:00:00 2001 From: egg82 Date: Tue, 7 Aug 2018 01:24:23 -0600 Subject: [PATCH] Use ConcurrentHashMap in JsonList @@ -25,7 +25,7 @@ The point of this is readability, but does have a side-benefit of a small microp Finally, added a couple obfhelpers for the modified code diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java -index 734e7ecf6..8570e38f4 100644 +index 734e7ecf63..8570e38f42 100644 --- a/src/main/java/net/minecraft/server/JsonList.java +++ b/src/main/java/net/minecraft/server/JsonList.java @@ -35,7 +35,8 @@ public class JsonList> { diff --git a/Spigot-Server-Patches/0283-Use-a-Queue-for-Queueing-Commands.patch b/Spigot-Server-Patches/0282-Use-a-Queue-for-Queueing-Commands.patch similarity index 94% rename from Spigot-Server-Patches/0283-Use-a-Queue-for-Queueing-Commands.patch rename to Spigot-Server-Patches/0282-Use-a-Queue-for-Queueing-Commands.patch index b2190d41d..252c7843e 100644 --- a/Spigot-Server-Patches/0283-Use-a-Queue-for-Queueing-Commands.patch +++ b/Spigot-Server-Patches/0282-Use-a-Queue-for-Queueing-Commands.patch @@ -1,4 +1,4 @@ -From cebb8111bf66d374155ae1e9b6e7a0a8f3bc78bb Mon Sep 17 00:00:00 2001 +From 5fb2815537295ce5488fe268c3022169bee43f12 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 12 Aug 2018 02:33:39 -0400 Subject: [PATCH] Use a Queue for Queueing Commands @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Queue for Queueing Commands Lists are bad as Queues mmmkay. diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index c093747bb..c1473330f 100644 +index 118d90242e..6da54a64bd 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -43,7 +43,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer diff --git a/Spigot-Server-Patches/0284-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/Spigot-Server-Patches/0283-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch similarity index 93% rename from Spigot-Server-Patches/0284-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch rename to Spigot-Server-Patches/0283-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch index 69048db8e..efa5000e4 100644 --- a/Spigot-Server-Patches/0284-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch +++ b/Spigot-Server-Patches/0283-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch @@ -1,11 +1,11 @@ -From 8367477bfaa701151be8eddfb74c52703fe4d318 Mon Sep 17 00:00:00 2001 +From df6ec7a1f1ec7e521f77a2ef79d2031e8b104efc Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 15 Aug 2018 01:16:34 -0400 Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index acba08308..bb3e4805b 100644 +index acba08308a..bb3e4805b1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java @@ -123,9 +123,16 @@ public class CraftChunk implements Chunk { diff --git a/Spigot-Server-Patches/0285-Allow-disabling-armour-stand-ticking.patch b/Spigot-Server-Patches/0284-Allow-disabling-armour-stand-ticking.patch similarity index 98% rename from Spigot-Server-Patches/0285-Allow-disabling-armour-stand-ticking.patch rename to Spigot-Server-Patches/0284-Allow-disabling-armour-stand-ticking.patch index 63c6c826e..929780ac5 100644 --- a/Spigot-Server-Patches/0285-Allow-disabling-armour-stand-ticking.patch +++ b/Spigot-Server-Patches/0284-Allow-disabling-armour-stand-ticking.patch @@ -1,11 +1,11 @@ -From b09520ac7ccc210db48af204dbdd1c3e828a3fa6 Mon Sep 17 00:00:00 2001 +From d11d56ba796f7daafe7350c1eece92e782ac2300 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 15 Aug 2018 01:26:09 -0700 Subject: [PATCH] Allow disabling armour stand ticking diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 09607fb44..5832c3e86 100644 +index 09607fb447..5832c3e868 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -386,4 +386,10 @@ public class PaperWorldConfig { @@ -20,7 +20,7 @@ index 09607fb44..5832c3e86 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 25afd9554..19eb40db9 100644 +index 961e284712..b71d061a37 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -44,6 +44,11 @@ public class EntityArmorStand extends EntityLiving { @@ -140,7 +140,7 @@ index 25afd9554..19eb40db9 100644 public Vector3f r() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 1500e43ee..32c51a941 100644 +index b29e0c5d35..2cbcd1e17b 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2265,52 +2265,7 @@ public abstract class EntityLiving extends Entity { @@ -256,7 +256,7 @@ index 1500e43ee..32c51a941 100644 float f2 = MathHelper.g(f - this.aK); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 9f5c3b92e..07ce93f17 100644 +index 9f5c3b92e3..07ce93f17c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -297,5 +297,15 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { diff --git a/Spigot-Server-Patches/0286-Optimize-BlockPosition-helper-methods.patch b/Spigot-Server-Patches/0285-Optimize-BlockPosition-helper-methods.patch similarity index 97% rename from Spigot-Server-Patches/0286-Optimize-BlockPosition-helper-methods.patch rename to Spigot-Server-Patches/0285-Optimize-BlockPosition-helper-methods.patch index 57a8efdd3..0863abcd7 100644 --- a/Spigot-Server-Patches/0286-Optimize-BlockPosition-helper-methods.patch +++ b/Spigot-Server-Patches/0285-Optimize-BlockPosition-helper-methods.patch @@ -1,4 +1,4 @@ -From f476c90add87985dab6d2f895543bf3703f4ef0f Mon Sep 17 00:00:00 2001 +From bc08ff9417570d7df849e53f35df454caab58231 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Wed, 15 Aug 2018 12:05:12 -0700 Subject: [PATCH] Optimize BlockPosition helper methods @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize BlockPosition helper methods Resolves #1338 diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 04f754d2c..16f093040 100644 +index 04f754d2c1..16f0930404 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -134,55 +134,72 @@ public class BlockPosition extends BaseBlockPosition implements MinecraftSeriali diff --git a/Spigot-Server-Patches/0287-Send-nearby-packets-from-world-player-list-not-serve.patch b/Spigot-Server-Patches/0286-Send-nearby-packets-from-world-player-list-not-serve.patch similarity index 94% rename from Spigot-Server-Patches/0287-Send-nearby-packets-from-world-player-list-not-serve.patch rename to Spigot-Server-Patches/0286-Send-nearby-packets-from-world-player-list-not-serve.patch index 294a271ec..e642a2b84 100644 --- a/Spigot-Server-Patches/0287-Send-nearby-packets-from-world-player-list-not-serve.patch +++ b/Spigot-Server-Patches/0286-Send-nearby-packets-from-world-player-list-not-serve.patch @@ -1,11 +1,11 @@ -From 8087359bc3385edb25ad1fe8c01ab14419d83b1f Mon Sep 17 00:00:00 2001 +From 4b9d753ac8b8210f60a8cc870946e609acd92f78 Mon Sep 17 00:00:00 2001 From: Mystiflow Date: Fri, 6 Jul 2018 13:21:30 +0100 Subject: [PATCH] Send nearby packets from world player list not server list diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 9e5cd22d7..049d702cb 100644 +index 9e5cd22d7d..049d702cb9 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -922,8 +922,25 @@ public abstract class PlayerList { @@ -46,10 +46,10 @@ index 9e5cd22d7..049d702cb 100644 double d5 = d1 - entityplayer.locY; double d6 = d2 - entityplayer.locZ; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f52321fbc..cca4d9703 100644 +index 7efc39df7d..0c1eff6618 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1188,7 +1188,7 @@ public class WorldServer extends World { +@@ -1184,7 +1184,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); @@ -58,8 +58,8 @@ index f52321fbc..cca4d9703 100644 } @Override -@@ -1320,7 +1320,7 @@ public class WorldServer extends World { - BlockActionData blockactiondata = (BlockActionData) this.J.removeFirst(); +@@ -1316,7 +1316,7 @@ public class WorldServer extends World { + BlockActionData blockactiondata = (BlockActionData) this.I.removeFirst(); if (this.a(blockactiondata)) { - this.server.getPlayerList().sendPacketNearby((EntityHuman) null, (double) blockactiondata.a().getX(), (double) blockactiondata.a().getY(), (double) blockactiondata.a().getZ(), 64.0D, this.worldProvider.getDimensionManager(), new PacketPlayOutBlockAction(blockactiondata.a(), blockactiondata.b(), blockactiondata.c(), blockactiondata.d())); @@ -68,7 +68,7 @@ index f52321fbc..cca4d9703 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 73d365806..18dfa4c9c 100644 +index ddfb39ef6f..bda6d073ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1996,7 +1996,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0288-Restore-vanlla-default-mob-spawn-range.patch b/Spigot-Server-Patches/0287-Restore-vanlla-default-mob-spawn-range.patch similarity index 87% rename from Spigot-Server-Patches/0288-Restore-vanlla-default-mob-spawn-range.patch rename to Spigot-Server-Patches/0287-Restore-vanlla-default-mob-spawn-range.patch index 4afdc4332..ab9301f55 100644 --- a/Spigot-Server-Patches/0288-Restore-vanlla-default-mob-spawn-range.patch +++ b/Spigot-Server-Patches/0287-Restore-vanlla-default-mob-spawn-range.patch @@ -1,11 +1,11 @@ -From 471b25737c3f2f49767ad3f3127106c84ac10a32 Mon Sep 17 00:00:00 2001 +From 69e4fd0a779bc9bdc0220fe993b9ac7e01ee56b6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 18 Aug 2018 12:43:16 -0400 Subject: [PATCH] Restore vanlla default mob-spawn-range diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java -index 255133903..b3afb901a 100644 +index 2551339031..b3afb901a9 100644 --- a/src/main/java/org/spigotmc/SpigotWorldConfig.java +++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java @@ -158,7 +158,7 @@ public class SpigotWorldConfig diff --git a/Spigot-Server-Patches/0289-Optimize-Hoppers.patch b/Spigot-Server-Patches/0288-Optimize-Hoppers.patch similarity index 98% rename from Spigot-Server-Patches/0289-Optimize-Hoppers.patch rename to Spigot-Server-Patches/0288-Optimize-Hoppers.patch index 68b656688..488eb5753 100644 --- a/Spigot-Server-Patches/0289-Optimize-Hoppers.patch +++ b/Spigot-Server-Patches/0288-Optimize-Hoppers.patch @@ -1,4 +1,4 @@ -From b89fe7ef9ff7c97beb5b86bd5087d1bb64f12831 Mon Sep 17 00:00:00 2001 +From c85986c672039323f2fd7f2b7837252cf7d3ac78 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Apr 2016 22:09:52 -0400 Subject: [PATCH] Optimize Hoppers @@ -11,7 +11,7 @@ Subject: [PATCH] Optimize Hoppers * Skip subsequent InventoryMoveItemEvents if a plugin does not use the item after first event fire for an iteration diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5832c3e86..ede558d02 100644 +index 5832c3e868..ede558d029 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -355,6 +355,15 @@ public class PaperWorldConfig { @@ -31,7 +31,7 @@ index 5832c3e86..ede558d02 100644 private void disableSprintInterruptionOnAttack() { disableSprintInterruptionOnAttack = getBoolean("game-mechanics.disable-sprint-interruption-on-attack", false); diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index b9c5af51f..ab66dbf88 100644 +index c69a067ef1..1e23d77e72 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -482,8 +482,9 @@ public final class ItemStack { @@ -47,10 +47,10 @@ index b9c5af51f..ab66dbf88 100644 itemstack.d(this.C()); if (this.tag != null) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fe8647bbc..6c7ce47c5 100644 +index ec35d98cc5..8b08ebb7d5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1127,6 +1127,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 0; // Paper @@ -59,7 +59,7 @@ index fe8647bbc..6c7ce47c5 100644 this.methodProfiler.a(() -> { return worldserver.getWorldData().getName() + " " + IRegistry.DIMENSION_TYPE.getKey(worldserver.worldProvider.getDimensionManager()); diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index c72b01386..b8ddb99fa 100644 +index c72b013868..b8ddb99fa3 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -62,6 +62,7 @@ public abstract class TileEntity implements KeyedObject { // Paper @@ -79,7 +79,7 @@ index c72b01386..b8ddb99fa 100644 this.world.b(this.position, this); if (!this.c.isAir()) { diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index 1ba98bf73..6f6519f6c 100644 +index 1ba98bf736..6f6519f6c5 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java @@ -189,6 +189,154 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi diff --git a/Spigot-Server-Patches/0290-Optimize-CraftBlockData-Creation.patch b/Spigot-Server-Patches/0289-Optimize-CraftBlockData-Creation.patch similarity index 94% rename from Spigot-Server-Patches/0290-Optimize-CraftBlockData-Creation.patch rename to Spigot-Server-Patches/0289-Optimize-CraftBlockData-Creation.patch index ccf32bf86..69714ec24 100644 --- a/Spigot-Server-Patches/0290-Optimize-CraftBlockData-Creation.patch +++ b/Spigot-Server-Patches/0289-Optimize-CraftBlockData-Creation.patch @@ -1,4 +1,4 @@ -From 970a2b324d274fe318390cddb3128952d8b8d1ef Mon Sep 17 00:00:00 2001 +From 0dc7fe61b11f27da089ec80669932ea398a42d97 Mon Sep 17 00:00:00 2001 From: miclebrick Date: Thu, 23 Aug 2018 11:45:32 -0400 Subject: [PATCH] Optimize CraftBlockData Creation @@ -7,7 +7,7 @@ Avoids a hashmap lookup by cacheing a reference to the CraftBlockData and cloning it when one is needed. diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index 862ae2554..d25989d51 100644 +index 367b02800a..9fd1b4915f 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -4,6 +4,8 @@ import com.google.common.collect.ImmutableMap; @@ -36,7 +36,7 @@ index 862ae2554..d25989d51 100644 return this.getBlock().l(this); } diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 49c9975cf..fb8a77873 100644 +index 99c361dc69..839e645b69 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -548,7 +548,17 @@ public class CraftBlockData implements BlockData { diff --git a/Spigot-Server-Patches/0291-Fix-MC-124320.patch b/Spigot-Server-Patches/0290-Fix-MC-124320.patch similarity index 95% rename from Spigot-Server-Patches/0291-Fix-MC-124320.patch rename to Spigot-Server-Patches/0290-Fix-MC-124320.patch index 45e98d4f1..740081064 100644 --- a/Spigot-Server-Patches/0291-Fix-MC-124320.patch +++ b/Spigot-Server-Patches/0290-Fix-MC-124320.patch @@ -1,11 +1,11 @@ -From d1e30be6c202f30df97962059b78389dc342012d Mon Sep 17 00:00:00 2001 +From 655ce6a322e71a7650745e2f2af7ff76300e2e31 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 23 Aug 2018 09:25:30 -0500 Subject: [PATCH] Fix MC-124320 diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index c72ae7e25..d71102164 100644 +index 2c0e59c60d..3aa4cb6401 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -167,6 +167,7 @@ public class Block implements IMaterial { @@ -17,7 +17,7 @@ index c72ae7e25..d71102164 100644 IBlockData iblockdata1 = iblockdata; BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(); diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index ad65200dc..9f2c339ae 100644 +index 639f55ed98..2d29da8560 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -335,8 +335,9 @@ public class EntityEnderman extends EntityMonster { diff --git a/Spigot-Server-Patches/0292-Slime-Pathfinder-Events.patch b/Spigot-Server-Patches/0291-Slime-Pathfinder-Events.patch similarity index 97% rename from Spigot-Server-Patches/0292-Slime-Pathfinder-Events.patch rename to Spigot-Server-Patches/0291-Slime-Pathfinder-Events.patch index 82d4cb6d2..f431316b7 100644 --- a/Spigot-Server-Patches/0292-Slime-Pathfinder-Events.patch +++ b/Spigot-Server-Patches/0291-Slime-Pathfinder-Events.patch @@ -1,11 +1,11 @@ -From 9c0934f9ff4b27356a7080c6624ebf83b23aeab0 Mon Sep 17 00:00:00 2001 +From c1aebef600be981587f5720b073036ed868e11ff Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 24 Aug 2018 08:18:42 -0500 Subject: [PATCH] Slime Pathfinder Events diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index 039050f63..a59b66e66 100644 +index a5238c6734..253ff9594c 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -3,6 +3,14 @@ package net.minecraft.server; @@ -42,7 +42,7 @@ index 039050f63..a59b66e66 100644 + // Paper end } - public boolean eb() { + public boolean ea() { @@ -342,7 +356,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { @Override @@ -118,7 +118,7 @@ index 039050f63..a59b66e66 100644 @Override @@ -438,6 +472,13 @@ public class EntitySlime extends EntityInsentient implements IMonster { this.a.a((Entity) this.a.getGoalTarget(), 10.0F, 10.0F); - ((EntitySlime.ControllerMoveSlime) this.a.getControllerMove()).a(this.a.yaw, this.a.dW()); + ((EntitySlime.ControllerMoveSlime) this.a.getControllerMove()).a(this.a.yaw, this.a.dV()); } + + // Paper start - clear timer and target when goal resets @@ -147,7 +147,7 @@ index 039050f63..a59b66e66 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java -index ce6ed6e89..6e9f1b66d 100644 +index ce6ed6e890..6e9f1b66df 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java @@ -35,4 +35,14 @@ public class CraftSlime extends CraftMob implements Slime { diff --git a/Spigot-Server-Patches/0293-Configurable-speed-for-water-flowing-over-lava.patch b/Spigot-Server-Patches/0292-Configurable-speed-for-water-flowing-over-lava.patch similarity index 96% rename from Spigot-Server-Patches/0293-Configurable-speed-for-water-flowing-over-lava.patch rename to Spigot-Server-Patches/0292-Configurable-speed-for-water-flowing-over-lava.patch index 92e20e4cc..2435da1a7 100644 --- a/Spigot-Server-Patches/0293-Configurable-speed-for-water-flowing-over-lava.patch +++ b/Spigot-Server-Patches/0292-Configurable-speed-for-water-flowing-over-lava.patch @@ -1,11 +1,11 @@ -From 247d525548f562c55cedda616747b2356322b53a Mon Sep 17 00:00:00 2001 +From a046292b3b54be6e6a242b791fa08039e4c3f4e0 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 8 Aug 2018 16:33:21 -0600 Subject: [PATCH] Configurable speed for water flowing over lava diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ede558d02..7e031d18e 100644 +index ede558d029..7e031d18e0 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -396,6 +396,12 @@ public class PaperWorldConfig { @@ -22,7 +22,7 @@ index ede558d02..7e031d18e 100644 private void armorStandTick() { this.armorStandTick = this.getBoolean("armor-stands-tick", this.armorStandTick); diff --git a/src/main/java/net/minecraft/server/BlockFluids.java b/src/main/java/net/minecraft/server/BlockFluids.java -index cccdd1398..56bf0b1d8 100644 +index cccdd13988..56bf0b1d81 100644 --- a/src/main/java/net/minecraft/server/BlockFluids.java +++ b/src/main/java/net/minecraft/server/BlockFluids.java @@ -70,11 +70,27 @@ public class BlockFluids extends Block implements IFluidSource { diff --git a/Spigot-Server-Patches/0294-Optimize-RegistryMaterials.patch b/Spigot-Server-Patches/0293-Optimize-RegistryMaterials.patch similarity index 94% rename from Spigot-Server-Patches/0294-Optimize-RegistryMaterials.patch rename to Spigot-Server-Patches/0293-Optimize-RegistryMaterials.patch index bb70a504f..b0b296788 100644 --- a/Spigot-Server-Patches/0294-Optimize-RegistryMaterials.patch +++ b/Spigot-Server-Patches/0293-Optimize-RegistryMaterials.patch @@ -1,4 +1,4 @@ -From 5d18a05c970c6f2484c7039bc2cd947d46fd4aa3 Mon Sep 17 00:00:00 2001 +From 291b4375927c5222ac23894c0a96013055bce0bc Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 26 Aug 2018 20:49:50 -0400 Subject: [PATCH] Optimize RegistryMaterials @@ -8,7 +8,7 @@ Use larger initial sizes to increase bucket capacity on the BiMap BiMap.get was seen to be using a good bit of CPU time. diff --git a/src/main/java/net/minecraft/server/RegistryMaterials.java b/src/main/java/net/minecraft/server/RegistryMaterials.java -index f291e05b2..fed38e6ef 100644 +index f291e05b26..fed38e6ef0 100644 --- a/src/main/java/net/minecraft/server/RegistryMaterials.java +++ b/src/main/java/net/minecraft/server/RegistryMaterials.java @@ -16,9 +16,9 @@ import org.apache.logging.log4j.Logger; diff --git a/Spigot-Server-Patches/0295-Add-PhantomPreSpawnEvent.patch b/Spigot-Server-Patches/0294-Add-PhantomPreSpawnEvent.patch similarity index 96% rename from Spigot-Server-Patches/0295-Add-PhantomPreSpawnEvent.patch rename to Spigot-Server-Patches/0294-Add-PhantomPreSpawnEvent.patch index b4cd7e65e..565b1bb24 100644 --- a/Spigot-Server-Patches/0295-Add-PhantomPreSpawnEvent.patch +++ b/Spigot-Server-Patches/0294-Add-PhantomPreSpawnEvent.patch @@ -1,11 +1,11 @@ -From 068b0e5a20cefc87f9c20b39cdbaaa314eccd2f7 Mon Sep 17 00:00:00 2001 +From 2fc3d48ca08142a405b1d5f0e9ecfc0b257a7a3d Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 25 Aug 2018 19:56:51 -0500 Subject: [PATCH] Add PhantomPreSpawnEvent diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java -index 355441074..b672ac5c2 100644 +index e5ed5a3dcc..e5d032d02b 100644 --- a/src/main/java/net/minecraft/server/EntityPhantom.java +++ b/src/main/java/net/minecraft/server/EntityPhantom.java @@ -129,6 +129,11 @@ public class EntityPhantom extends EntityFlying implements IMonster { @@ -48,7 +48,7 @@ index 355441074..b672ac5c2 100644 private final PathfinderTargetCondition b; diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java -index 9f64d81c6..1818e7c38 100644 +index 9f64d81c64..1818e7c384 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java +++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java @@ -50,8 +50,17 @@ public class MobSpawnerPhantom { @@ -71,7 +71,7 @@ index 9f64d81c6..1818e7c38 100644 groupdataentity = entityphantom.prepare(worldserver, difficultydamagescaler, EnumMobSpawn.NATURAL, groupdataentity, (NBTTagCompound) null); worldserver.addEntity(entityphantom, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java -index 9f9ee9239..2b9731369 100644 +index 9f9ee92390..2b97313694 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPhantom.java @@ -35,4 +35,10 @@ public class CraftPhantom extends CraftFlying implements Phantom { diff --git a/Spigot-Server-Patches/0296-Add-More-Creeper-API.patch b/Spigot-Server-Patches/0295-Add-More-Creeper-API.patch similarity index 94% rename from Spigot-Server-Patches/0296-Add-More-Creeper-API.patch rename to Spigot-Server-Patches/0295-Add-More-Creeper-API.patch index 2dc3c9ea6..2c3aa6ad6 100644 --- a/Spigot-Server-Patches/0296-Add-More-Creeper-API.patch +++ b/Spigot-Server-Patches/0295-Add-More-Creeper-API.patch @@ -1,11 +1,11 @@ -From acaea9bde082e84f983cae5a24bfa96d8b17c16f Mon Sep 17 00:00:00 2001 +From 57b5375c57af7f8abc4f1071d3a284a8a0f07e5f Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 24 Aug 2018 11:50:26 -0500 Subject: [PATCH] Add More Creeper API diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 6be155edc..fd3f53e90 100644 +index ae4dd98ee1..bcb7276308 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -14,7 +14,7 @@ public class EntityCreeper extends EntityMonster { @@ -38,7 +38,7 @@ index 6be155edc..fd3f53e90 100644 public boolean canCauseHeadDrop() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java -index 896405148..075a5e77e 100644 +index 896405148c..075a5e77e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCreeper.java @@ -88,4 +88,18 @@ public class CraftCreeper extends CraftMonster implements Creeper { diff --git a/Spigot-Server-Patches/0297-Inventory-removeItemAnySlot.patch b/Spigot-Server-Patches/0296-Inventory-removeItemAnySlot.patch similarity index 95% rename from Spigot-Server-Patches/0297-Inventory-removeItemAnySlot.patch rename to Spigot-Server-Patches/0296-Inventory-removeItemAnySlot.patch index 659c793ac..b5615e70d 100644 --- a/Spigot-Server-Patches/0297-Inventory-removeItemAnySlot.patch +++ b/Spigot-Server-Patches/0296-Inventory-removeItemAnySlot.patch @@ -1,11 +1,11 @@ -From 89dc5bf95d25c99a6464c90e6053e205d2830fc4 Mon Sep 17 00:00:00 2001 +From 4aeb1c452c1fe8329a31d85d903d476da96af48a Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 28 Aug 2018 23:04:15 -0400 Subject: [PATCH] Inventory#removeItemAnySlot diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 0d637e207..026a0c399 100644 +index 0d637e207e..026a0c3995 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -223,10 +223,16 @@ public class CraftInventory implements Inventory { diff --git a/Spigot-Server-Patches/0298-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/Spigot-Server-Patches/0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch similarity index 91% rename from Spigot-Server-Patches/0298-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch rename to Spigot-Server-Patches/0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index db696dc43..f8d44b782 100644 --- a/Spigot-Server-Patches/0298-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/Spigot-Server-Patches/0297-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -1,4 +1,4 @@ -From cb52db2f60e178aa80ff344bddb6e9a0fbf26e50 Mon Sep 17 00:00:00 2001 +From 010bf3d3e699b581955bd0f4bafd418c06d4033b Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 2 Sep 2018 19:34:33 -0700 Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted @@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 18dfa4c9c..2ef965a7d 100644 +index bda6d073ba..51bc40c014 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -483,7 +483,7 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0299-Add-ray-tracing-methods-to-LivingEntity.patch b/Spigot-Server-Patches/0298-Add-ray-tracing-methods-to-LivingEntity.patch similarity index 96% rename from Spigot-Server-Patches/0299-Add-ray-tracing-methods-to-LivingEntity.patch rename to Spigot-Server-Patches/0298-Add-ray-tracing-methods-to-LivingEntity.patch index 564a8b79d..b37d0acfc 100644 --- a/Spigot-Server-Patches/0299-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/Spigot-Server-Patches/0298-Add-ray-tracing-methods-to-LivingEntity.patch @@ -1,11 +1,11 @@ -From 30fa4e6dae597a418fae1572c9a116cf5eb6ab3a Mon Sep 17 00:00:00 2001 +From 0f4a289817ad1677fc0d007aa5f2d8279142363d Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 3 Sep 2018 18:20:03 -0500 Subject: [PATCH] Add ray tracing methods to LivingEntity diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 32c51a941..c80278ede 100644 +index 2cbcd1e17b..6ed473c656 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -3176,6 +3176,23 @@ public abstract class EntityLiving extends Entity { @@ -33,7 +33,7 @@ index 32c51a941..c80278ede 100644 public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 8dea7d36b..d5c4115a8 100644 +index 8dea7d36b6..d5c4115a85 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -182,6 +182,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0300-Expose-attack-cooldown-methods-for-Player.patch b/Spigot-Server-Patches/0299-Expose-attack-cooldown-methods-for-Player.patch similarity index 78% rename from Spigot-Server-Patches/0300-Expose-attack-cooldown-methods-for-Player.patch rename to Spigot-Server-Patches/0299-Expose-attack-cooldown-methods-for-Player.patch index f32069980..2a4e832e6 100644 --- a/Spigot-Server-Patches/0300-Expose-attack-cooldown-methods-for-Player.patch +++ b/Spigot-Server-Patches/0299-Expose-attack-cooldown-methods-for-Player.patch @@ -1,33 +1,33 @@ -From 23033f036bd6b50d4c5ed79de4b4271435ac94ff Mon Sep 17 00:00:00 2001 +From ea563991707d6ac4b67e0ebd02bf6f6892ac0a56 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Tue, 4 Sep 2018 15:02:00 -0500 Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 8b0094d1d..e003f1c20 100644 +index d2b228d0a8..598df2239b 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -2004,14 +2004,17 @@ public abstract class EntityHuman extends EntityLiving { +@@ -2022,14 +2022,17 @@ public abstract class EntityHuman extends EntityLiving { this.datawatcher.set(EntityHuman.bw, nbttagcompound); } -+ public float getCooldownPeriod() { return dZ(); } // Paper - OBFHELPER - public float dZ() { ++ public float getCooldownPeriod() { return this.dY(); } // Paper - OBFHELPER + public float dY() { return (float) (1.0D / this.getAttributeInstance(GenericAttributes.ATTACK_SPEED).getValue() * 20.0D); } + public float getCooledAttackStrength(float adjustTicks) { return s(adjustTicks); } // Paper - OBFHELPER public float s(float f) { - return MathHelper.a(((float) this.aD + f) / this.dZ(), 0.0F, 1.0F); + return MathHelper.a(((float) this.aD + f) / this.dY(), 0.0F, 1.0F); } -+ public void resetCooldown() { ea(); } // Paper - OBFHELPER - public void ea() { ++ public void resetCooldown() { this.dZ(); } // Paper - OBFHELPER + public void dZ() { this.aD = 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 36f6766a6..672f92f85 100644 +index 39285c92c4..23897f8ca0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1929,6 +1929,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0301-Improve-death-events.patch b/Spigot-Server-Patches/0300-Improve-death-events.patch similarity index 97% rename from Spigot-Server-Patches/0301-Improve-death-events.patch rename to Spigot-Server-Patches/0300-Improve-death-events.patch index 8e33d2b3a..1be415d7a 100644 --- a/Spigot-Server-Patches/0301-Improve-death-events.patch +++ b/Spigot-Server-Patches/0300-Improve-death-events.patch @@ -1,4 +1,4 @@ -From e68d83128e8ab53bb88e726f4fa4e817b8bb3799 Mon Sep 17 00:00:00 2001 +From 7bae477a24119ee6ea2af1be25fedd4f35b7c545 Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 21 Aug 2018 01:39:35 +0100 Subject: [PATCH] Improve death events @@ -15,7 +15,7 @@ items and experience which is otherwise only properly possible by using internal code. diff --git a/src/main/java/net/minecraft/server/CombatTracker.java b/src/main/java/net/minecraft/server/CombatTracker.java -index 84c3ea9d0..f563a7b63 100644 +index 84c3ea9d00..f563a7b630 100644 --- a/src/main/java/net/minecraft/server/CombatTracker.java +++ b/src/main/java/net/minecraft/server/CombatTracker.java @@ -175,6 +175,7 @@ public class CombatTracker { @@ -27,7 +27,7 @@ index 84c3ea9d0..f563a7b63 100644 int i = this.f ? 300 : 100; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2cbc4af68..cbc0aea04 100644 +index 7811beb807..f9b097fd6f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1517,6 +1517,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -47,7 +47,7 @@ index 2cbc4af68..cbc0aea04 100644 protected void i(double d0, double d1, double d2) { diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 19eb40db9..ac5621722 100644 +index b71d061a37..cd21cfba9f 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -676,7 +676,8 @@ public class EntityArmorStand extends EntityLiving { @@ -61,7 +61,7 @@ index 19eb40db9..ac5621722 100644 } diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java -index 301659d9b..f9ba3b856 100644 +index 85231309fd..1da2f013fc 100644 --- a/src/main/java/net/minecraft/server/EntityFox.java +++ b/src/main/java/net/minecraft/server/EntityFox.java @@ -597,15 +597,25 @@ public class EntityFox extends EntityAnimal { @@ -94,7 +94,7 @@ index 301659d9b..f9ba3b856 100644 public static boolean a(EntityFox entityfox, EntityLiving entityliving) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index c80278ede..86d3c516b 100644 +index 6ed473c656..97a5df2549 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -85,7 +85,7 @@ public abstract class EntityLiving extends Entity { @@ -146,7 +146,7 @@ index c80278ede..86d3c516b 100644 } @@ -1340,11 +1346,29 @@ public abstract class EntityLiving extends Entity { if (this.isSleeping()) { - this.dz(); + this.dy(); } + */ // Paper @@ -164,7 +164,7 @@ index c80278ede..86d3c516b 100644 + entity.onKill(this); + } + if (this.isSleeping()) { -+ this.dz(); ++ this.dy(); + } + this.getCombatTracker().reset(); + } else { @@ -233,7 +233,7 @@ index c80278ede..86d3c516b 100644 return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 2ce606322..418a2cf0f 100644 +index c48ac7a482..88b61e7719 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -247,7 +247,7 @@ index 2ce606322..418a2cf0f 100644 // CraftBukkit start public String displayName; -@@ -533,6 +537,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -534,6 +538,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { String deathmessage = defaultMessage.getString(); org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, deathmessage, keepInventory); @@ -263,7 +263,7 @@ index 2ce606322..418a2cf0f 100644 // SPIGOT-943 - only call if they have an inventory open if (this.activeContainer != this.defaultContainer) { -@@ -686,8 +699,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -687,8 +700,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } } @@ -284,7 +284,7 @@ index 2ce606322..418a2cf0f 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -index 73cb64e09..9f317ff2e 100644 +index 73cb64e09d..9f317ff2e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java @@ -806,6 +806,22 @@ public enum CraftSound { @@ -311,7 +311,7 @@ index 73cb64e09..9f317ff2e 100644 this.minecraftKey = minecraftKey; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 672f92f85..3dd0ae0ca 100644 +index 23897f8ca0..3d60e98749 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1722,7 +1722,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -332,7 +332,7 @@ index 672f92f85..3dd0ae0ca 100644 public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c9185a198..71b48d418 100644 +index 02536db14a..22aa4767f9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -736,9 +736,16 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/0302-Allow-chests-to-be-placed-with-NBT-data.patch b/Spigot-Server-Patches/0301-Allow-chests-to-be-placed-with-NBT-data.patch similarity index 91% rename from Spigot-Server-Patches/0302-Allow-chests-to-be-placed-with-NBT-data.patch rename to Spigot-Server-Patches/0301-Allow-chests-to-be-placed-with-NBT-data.patch index aa230fa08..7051fcbf9 100644 --- a/Spigot-Server-Patches/0302-Allow-chests-to-be-placed-with-NBT-data.patch +++ b/Spigot-Server-Patches/0301-Allow-chests-to-be-placed-with-NBT-data.patch @@ -1,11 +1,11 @@ -From 76a4dbe761d3792c907711e803acd092cf9e2231 Mon Sep 17 00:00:00 2001 +From d59739ffc3b8c3667e141de7d76a1a1d8ea6c478 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 8 Sep 2018 18:43:31 -0500 Subject: [PATCH] Allow chests to be placed with NBT data diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index ab66dbf88..03236cf98 100644 +index 1e23d77e72..0e164840fd 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -235,6 +235,7 @@ public final class ItemStack { @@ -17,7 +17,7 @@ index ab66dbf88..03236cf98 100644 for (BlockState blockstate : blocks) { blockstate.update(true, false); diff --git a/src/main/java/net/minecraft/server/TileEntityChest.java b/src/main/java/net/minecraft/server/TileEntityChest.java -index 85b450c05..efc153de5 100644 +index 387e366130..6c10f0eb89 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -309,7 +309,7 @@ public class TileEntityChest extends TileEntityLootable { // Paper - Remove ITic diff --git a/Spigot-Server-Patches/0303-Mob-Pathfinding-API.patch b/Spigot-Server-Patches/0302-Mob-Pathfinding-API.patch similarity index 83% rename from Spigot-Server-Patches/0303-Mob-Pathfinding-API.patch rename to Spigot-Server-Patches/0302-Mob-Pathfinding-API.patch index 0e0460e7c..45ae7b958 100644 --- a/Spigot-Server-Patches/0303-Mob-Pathfinding-API.patch +++ b/Spigot-Server-Patches/0302-Mob-Pathfinding-API.patch @@ -1,4 +1,4 @@ -From 089c7ece5af8f77414f097fa94af160aea2985d2 Mon Sep 17 00:00:00 2001 +From 704ea2a6a85fe0adb3aced77df21d1a6407b8ffc Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 9 Sep 2018 13:30:00 -0400 Subject: [PATCH] Mob Pathfinding API @@ -7,7 +7,7 @@ Implements Pathfinding API for mobs diff --git a/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java new file mode 100644 -index 000000000..f68a07cb9 +index 0000000000..f68a07cb96 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java @@ -0,0 +1,111 @@ @@ -123,28 +123,28 @@ index 000000000..f68a07cb9 + } +} diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 65b38d75b..d8da790ae 100644 +index be6aa59749..66e10108d6 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -67,7 +67,7 @@ public abstract class NavigationAbstract { +@@ -72,7 +72,7 @@ public abstract class NavigationAbstract { } @Nullable -- public final PathEntity a(double d0, double d1, double d2) { -+ public final PathEntity calculateDestination(double d0, double d1, double d2) { return a(d0, d1, d2); } @Nullable public final PathEntity a(double d0, double d1, double d2) { // Paper - OBFHELPER - return this.b(new BlockPosition(d0, d1, d2)); +- public final PathEntity a(double d0, double d1, double d2, int i) { ++ public final PathEntity calculateDestination(double d0, double d1, double d2) { return a(d0, d1, d2, 0); } public final PathEntity a(double d0, double d1, double d2, int i) { // Paper - OBFHELPER + return this.a(new BlockPosition(d0, d1, d2), i); } -@@ -83,7 +83,7 @@ public abstract class NavigationAbstract { +@@ -92,7 +92,7 @@ public abstract class NavigationAbstract { } @Nullable -- public PathEntity a(Entity entity) { -+ public PathEntity calculateDestination(Entity entity) { return a(entity); } @Nullable public PathEntity a(Entity entity) { // Paper - OBFHELPER - BlockPosition blockposition = new BlockPosition(entity); - double d0 = entity.locX; - double d1 = entity.getBoundingBox().minY; -@@ -133,6 +133,7 @@ public abstract class NavigationAbstract { +- public PathEntity a(Entity entity, int i) { ++ public final PathEntity calculateDestination(Entity entity) { return a(entity, 0); } public PathEntity a(Entity entity, int i) { + return this.a(ImmutableSet.of(new BlockPosition(entity)), entity, 16, true, i); // Paper + } + +@@ -156,6 +156,7 @@ public abstract class NavigationAbstract { return pathentity != null && this.a(pathentity, d0); } @@ -152,7 +152,7 @@ index 65b38d75b..d8da790ae 100644 public boolean a(@Nullable PathEntity pathentity, double d0) { if (pathentity == null) { this.c = null; -@@ -156,7 +157,7 @@ public abstract class NavigationAbstract { +@@ -179,7 +180,7 @@ public abstract class NavigationAbstract { } } @@ -161,7 +161,7 @@ index 65b38d75b..d8da790ae 100644 public PathEntity l() { return this.c; } -@@ -242,6 +243,7 @@ public abstract class NavigationAbstract { +@@ -265,6 +266,7 @@ public abstract class NavigationAbstract { return this.c == null || this.c.b(); } @@ -170,10 +170,10 @@ index 65b38d75b..d8da790ae 100644 this.c = null; } diff --git a/src/main/java/net/minecraft/server/PathEntity.java b/src/main/java/net/minecraft/server/PathEntity.java -index f1d94420c..5fdb60180 100644 +index 312352ef84..dcb4e25080 100644 --- a/src/main/java/net/minecraft/server/PathEntity.java +++ b/src/main/java/net/minecraft/server/PathEntity.java -@@ -5,11 +5,12 @@ import javax.annotation.Nullable; +@@ -5,13 +5,14 @@ import javax.annotation.Nullable; public class PathEntity { @@ -181,14 +181,16 @@ index f1d94420c..5fdb60180 100644 + private final List a; public List getPoints() { return a; } // Paper - OBFHELPER private PathPoint[] b = new PathPoint[0]; private PathPoint[] c = new PathPoint[0]; - private PathPoint d; - private int e; -+ private int e; public int getNextIndex() { return e; } // Paper - OBFHELPER ++ private int e; public int getNextIndex() { return this.e; } // Paper - OBFHELPER + private final BlockPosition f; + private final float g; + private final boolean h; + public boolean hasNext() { return getNextIndex() < getPoints().size(); } // Paper - public PathEntity(List list) { + public PathEntity(List list, BlockPosition blockposition, boolean flag) { this.a = list; -@@ -23,8 +24,7 @@ public class PathEntity { +@@ -28,8 +29,7 @@ public class PathEntity { return this.e >= this.a.size(); } @@ -198,7 +200,7 @@ index f1d94420c..5fdb60180 100644 return !this.a.isEmpty() ? (PathPoint) this.a.get(this.a.size() - 1) : null; } -@@ -72,7 +72,7 @@ public class PathEntity { +@@ -77,7 +77,7 @@ public class PathEntity { return this.a(entity, this.e); } @@ -208,7 +210,7 @@ index f1d94420c..5fdb60180 100644 return new Vec3D((double) pathpoint.a, (double) pathpoint.b, (double) pathpoint.c); diff --git a/src/main/java/net/minecraft/server/PathPoint.java b/src/main/java/net/minecraft/server/PathPoint.java -index 955152ef4..4e2cef8f6 100644 +index b1db95daa9..18cdd2a6f2 100644 --- a/src/main/java/net/minecraft/server/PathPoint.java +++ b/src/main/java/net/minecraft/server/PathPoint.java @@ -2,9 +2,9 @@ package net.minecraft.server; @@ -225,7 +227,7 @@ index 955152ef4..4e2cef8f6 100644 public int d = -1; public float e; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 5bf1cd06f..53c2d154e 100644 +index 5bf1cd06fa..53c2d154ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -12,8 +12,11 @@ import org.bukkit.loot.LootTable; diff --git a/Spigot-Server-Patches/0304-Prevent-chunk-loading-from-Fluid-Flowing.patch b/Spigot-Server-Patches/0303-Prevent-chunk-loading-from-Fluid-Flowing.patch similarity index 97% rename from Spigot-Server-Patches/0304-Prevent-chunk-loading-from-Fluid-Flowing.patch rename to Spigot-Server-Patches/0303-Prevent-chunk-loading-from-Fluid-Flowing.patch index 67ee966cd..f53916681 100644 --- a/Spigot-Server-Patches/0304-Prevent-chunk-loading-from-Fluid-Flowing.patch +++ b/Spigot-Server-Patches/0303-Prevent-chunk-loading-from-Fluid-Flowing.patch @@ -1,11 +1,11 @@ -From 6570db6269c26530b424a15fd0cd97a4ea91a041 Mon Sep 17 00:00:00 2001 +From 9a0285ff8bc70129a1256d0813806e88022e95da Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 10 Sep 2018 23:36:16 -0400 Subject: [PATCH] Prevent chunk loading from Fluid Flowing diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java -index 46cacf970..fa1cec0da 100644 +index 3e9433e283..4660b95389 100644 --- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java +++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java @@ -178,7 +178,8 @@ public abstract class FluidTypeFlowing extends FluidType { diff --git a/Spigot-Server-Patches/0305-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/Spigot-Server-Patches/0304-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch similarity index 98% rename from Spigot-Server-Patches/0305-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch rename to Spigot-Server-Patches/0304-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index 593d96cd2..f930520aa 100644 --- a/Spigot-Server-Patches/0305-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/Spigot-Server-Patches/0304-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -1,11 +1,11 @@ -From d386ccb96d88fb404a29eed20fc7d807fcc2178a Mon Sep 17 00:00:00 2001 +From 7e11e5163ca99a542547906faf603a703660a677 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Wed, 12 Sep 2018 18:53:55 +0300 Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values diff --git a/src/main/java/net/minecraft/server/ArgumentBlock.java b/src/main/java/net/minecraft/server/ArgumentBlock.java -index 2574c36d3..1c9edeb31 100644 +index 005ebec266..97d85f8451 100644 --- a/src/main/java/net/minecraft/server/ArgumentBlock.java +++ b/src/main/java/net/minecraft/server/ArgumentBlock.java @@ -43,7 +43,7 @@ public class ArgumentBlock { @@ -32,7 +32,7 @@ index 2574c36d3..1c9edeb31 100644 this.s = this::l; if (this.i.canRead() && this.i.peek() == '#') { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 704a7d91e..a4412b28b 100644 +index 704a7d91e3..d484292dd0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -87,6 +87,12 @@ import org.bukkit.persistence.PersistentDataContainer; @@ -402,7 +402,7 @@ index 704a7d91e..a4412b28b 100644 + Namespaced resource = null; + try { + if (isTag) { -+ resource = new NamespacedTag(key.b(), key.getKey()); ++ resource = new NamespacedTag(key.getNamespace(), key.getKey()); + } else { + resource = CraftNamespacedKey.fromMinecraft(key); + } diff --git a/Spigot-Server-Patches/0306-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch b/Spigot-Server-Patches/0305-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch similarity index 83% rename from Spigot-Server-Patches/0306-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch rename to Spigot-Server-Patches/0305-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch index 2520a75e6..e0fe15188 100644 --- a/Spigot-Server-Patches/0306-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch +++ b/Spigot-Server-Patches/0305-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch @@ -1,11 +1,11 @@ -From e975addc659ae3d143a1109df2626cad04106ad3 Mon Sep 17 00:00:00 2001 +From a52dd455c6715e7f965b20e0a7fc6eb099534676 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 10 Sep 2018 23:56:36 -0400 Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java -index 4199c154e..31c441201 100644 +index bf8ca9b32a..7ccb3d5c06 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java @@ -12,11 +12,13 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { @@ -42,18 +42,17 @@ index 4199c154e..31c441201 100644 return blockposition1; } } -@@ -135,7 +139,8 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { +@@ -135,7 +139,7 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { @Override protected boolean a(IWorldReader iworldreader, BlockPosition blockposition) { -- Block block = iworldreader.getType(blockposition).getBlock(); -+ Block block = world.getBlockIfLoaded(blockposition); // Paper -+ if (block == null) return false; // Paper +- IChunkAccess ichunkaccess = iworldreader.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4, ChunkStatus.FULL, false); ++ IChunkAccess ichunkaccess = iworldreader.getChunkIfLoadedImmediately(blockposition.getX() >> 4, blockposition.getZ() >> 4); // Paper - return block == this.g && iworldreader.getType(blockposition.up()).isAir() && iworldreader.getType(blockposition.up(2)).isAir(); + return ichunkaccess == null ? false : ichunkaccess.getType(blockposition).getBlock() == this.g && ichunkaccess.getType(blockposition.up()).isAir() && ichunkaccess.getType(blockposition.up(2)).isAir(); } diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java -index dd6a8fe3d..ddbb71b1a 100644 +index 6e4da70b7e..643dc0241d 100644 --- a/src/main/java/net/minecraft/server/RandomPositionGenerator.java +++ b/src/main/java/net/minecraft/server/RandomPositionGenerator.java @@ -99,6 +99,7 @@ public class RandomPositionGenerator { diff --git a/Spigot-Server-Patches/0307-Prevent-mob-spawning-from-loading-generating-chunks.patch b/Spigot-Server-Patches/0306-Prevent-mob-spawning-from-loading-generating-chunks.patch similarity index 50% rename from Spigot-Server-Patches/0307-Prevent-mob-spawning-from-loading-generating-chunks.patch rename to Spigot-Server-Patches/0306-Prevent-mob-spawning-from-loading-generating-chunks.patch index e6c3dc532..7517f61e8 100644 --- a/Spigot-Server-Patches/0307-Prevent-mob-spawning-from-loading-generating-chunks.patch +++ b/Spigot-Server-Patches/0306-Prevent-mob-spawning-from-loading-generating-chunks.patch @@ -1,4 +1,4 @@ -From 03fc409fdf4f18daebe572d99e306261aaf80fad Mon Sep 17 00:00:00 2001 +From f7605c9bff97df59f2c1358da42b9323c190506f Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 12 Sep 2018 21:12:57 -0400 Subject: [PATCH] Prevent mob spawning from loading/generating chunks @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent mob spawning from loading/generating chunks also prevents if out of world border bounds diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 4458b48ee..09f1b9d76 100644 +index 30da877d53..c6ea37ffbd 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -25,9 +25,9 @@ public final class SpawnerCreature { @@ -21,15 +21,15 @@ index 4458b48ee..09f1b9d76 100644 BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(); int i1 = 0; -@@ -52,7 +52,7 @@ public final class SpawnerCreature { - float f1 = (float) k1 + 0.5F; - EntityHuman entityhuman = world.a((double) f, (double) f1, -1.0D); +@@ -55,7 +55,7 @@ public final class SpawnerCreature { + if (entityhuman != null) { + double d0 = entityhuman.e((double) f, (double) k, (double) f1); -- if (entityhuman != null && entityhuman.e((double) f, (double) k, (double) f1) > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D)) { -+ if (entityhuman != null && entityhuman.e((double) f, (double) k, (double) f1) > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D) && world.isLoadedAndInBounds(blockposition_mutableblockposition)) { // Paper - don't load chunks for mob spawn - ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition_mutableblockposition); +- if (d0 > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D)) { ++ if (d0 > 576.0D && !blockposition.a((IPosition) (new Vec3D((double) f, (double) k, (double) f1)), 24.0D) && world.isLoadedAndInBounds(blockposition_mutableblockposition)) { // Paper - don't load chunks for mob spawn + ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition_mutableblockposition); - if (Objects.equals(chunkcoordintpair, chunk.getPos()) || world.getChunkProvider().a(chunkcoordintpair)) { + if (Objects.equals(chunkcoordintpair, chunk.getPos()) || world.getChunkProvider().a(chunkcoordintpair)) { -- 2.22.0 diff --git a/Spigot-Server-Patches/0308-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/Spigot-Server-Patches/0307-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 80% rename from Spigot-Server-Patches/0308-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to Spigot-Server-Patches/0307-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch index dbde6150b..7e5eb8bbe 100644 --- a/Spigot-Server-Patches/0308-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch +++ b/Spigot-Server-Patches/0307-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch @@ -1,4 +1,4 @@ -From b094eebc506fe18833895637c589a5a1a213f87e Mon Sep 17 00:00:00 2001 +From a1855af5bfbd26f05e23c83c4c1c8accd9b8aa08 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 12 Sep 2018 21:47:01 -0400 Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning @@ -6,19 +6,19 @@ Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning Uses an EnumMap as well as a Set paired List for O(1) contains calls. diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 9a839d654..72eb669c5 100644 +index 65daa76bc1..a86ece8344 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java -@@ -38,7 +38,7 @@ public abstract class BiomeBase { +@@ -39,7 +39,7 @@ public abstract class BiomeBase { protected final Map>> r = Maps.newHashMap(); protected final List> s = Lists.newArrayList(); protected final Map, WorldGenFeatureConfiguration> t = Maps.newHashMap(); - private final Map> u = Maps.newHashMap(); + private final java.util.EnumMap> u = Maps.newEnumMap(EnumCreatureType.class); // Paper - - @Nullable - public static BiomeBase a(BiomeBase biomebase) { -@@ -85,7 +85,7 @@ public abstract class BiomeBase { + private final ThreadLocal v = ThreadLocal.withInitial(() -> { + return (Long2FloatLinkedOpenHashMap) SystemUtils.a(() -> { + Long2FloatLinkedOpenHashMap long2floatlinkedopenhashmap = new Long2FloatLinkedOpenHashMap(1024, 0.25F) { +@@ -96,7 +96,7 @@ public abstract class BiomeBase { for (j = 0; j < i; ++j) { EnumCreatureType enumcreaturetype = aenumcreaturetype[j]; @@ -27,7 +27,7 @@ index 9a839d654..72eb669c5 100644 } } else { -@@ -283,6 +283,38 @@ public abstract class BiomeBase { +@@ -324,6 +324,38 @@ public abstract class BiomeBase { return this.m; } diff --git a/Spigot-Server-Patches/0309-Implement-furnace-cook-speed-multiplier-API.patch b/Spigot-Server-Patches/0308-Implement-furnace-cook-speed-multiplier-API.patch similarity index 96% rename from Spigot-Server-Patches/0309-Implement-furnace-cook-speed-multiplier-API.patch rename to Spigot-Server-Patches/0308-Implement-furnace-cook-speed-multiplier-API.patch index 29e48782d..16dab11b0 100644 --- a/Spigot-Server-Patches/0309-Implement-furnace-cook-speed-multiplier-API.patch +++ b/Spigot-Server-Patches/0308-Implement-furnace-cook-speed-multiplier-API.patch @@ -1,4 +1,4 @@ -From 06ff269f22e72c29af69f2dac6b5cd04e50d026c Mon Sep 17 00:00:00 2001 +From 5015d83a985138b9e361b014247e9b1ba72ff012 Mon Sep 17 00:00:00 2001 From: Tassu Date: Thu, 13 Sep 2018 08:45:21 +0300 Subject: [PATCH] Implement furnace cook speed multiplier API @@ -6,7 +6,7 @@ Subject: [PATCH] Implement furnace cook speed multiplier API Signed-off-by: Tassu diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 2bbd3663a..55b564610 100644 +index 2bbd3663a7..55b5646103 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -8,6 +8,7 @@ import java.util.Map; @@ -57,7 +57,7 @@ index 2bbd3663a..55b564610 100644 this.cookTimeTotal = this.getRecipeCookingTime(); this.burn(irecipe); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java -index 9cc67915c..1ce10ea04 100644 +index 9cc67915ca..1ce10ea049 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftFurnace.java @@ -63,4 +63,18 @@ public class CraftFurnace extends CraftContainer diff --git a/Spigot-Server-Patches/0310-Support-Overriding-World-Seeds.patch b/Spigot-Server-Patches/0309-Support-Overriding-World-Seeds.patch similarity index 94% rename from Spigot-Server-Patches/0310-Support-Overriding-World-Seeds.patch rename to Spigot-Server-Patches/0309-Support-Overriding-World-Seeds.patch index f0e1d8a0a..c0d581d43 100644 --- a/Spigot-Server-Patches/0310-Support-Overriding-World-Seeds.patch +++ b/Spigot-Server-Patches/0309-Support-Overriding-World-Seeds.patch @@ -1,4 +1,4 @@ -From c2380aa3864f83641a0bcbc86c22c45fa05f39de Mon Sep 17 00:00:00 2001 +From 044c8aa6b91e58d8fc010647b88818f4b52ec6d7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Sep 2018 23:05:31 -0400 Subject: [PATCH] Support Overriding World Seeds @@ -15,7 +15,7 @@ This seed will end up being saved to the world data file, so it is a permanent change in that it won't go back if you remove it from paper.yml diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index a13c8c68b..ea3695b02 100644 +index a13c8c68b6..ea3695b021 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -11,6 +11,7 @@ import java.lang.reflect.Modifier; @@ -59,10 +59,10 @@ index a13c8c68b..ea3695b02 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6c7ce47c5..ac80ec7ae 100644 +index 8b08ebb7d5..ab72e5cd36 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -362,7 +362,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Mon, 17 Sep 2018 23:37:31 -0400 Subject: [PATCH] Optimize Server World Map @@ -21,7 +21,7 @@ known NMS used methods, but we can add more if naughty plugins are found later. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldMap.java b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java new file mode 100644 -index 000000000..6bb2f98b4 +index 0000000000..6bb2f98b45 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/PaperWorldMap.java @@ -0,0 +1,191 @@ @@ -217,10 +217,10 @@ index 000000000..6bb2f98b4 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ac80ec7ae..cb630fda6 100644 +index ab72e5cd36..64411e701f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -78,7 +78,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Tue, 18 Sep 2018 23:53:23 +0100 Subject: [PATCH] PreSpawnerSpawnEvent @@ -9,7 +9,7 @@ SpawnerSpawnEvent gets called instead of the CreatureSpawnEvent for spawners. diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 6f5d8b031..079099e30 100644 +index 6f5d8b0315..079099e308 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -110,11 +110,11 @@ public abstract class MobSpawnerAbstract { diff --git a/Spigot-Server-Patches/0313-Catch-JsonParseException-in-Entity-and-TE-names.patch b/Spigot-Server-Patches/0312-Catch-JsonParseException-in-Entity-and-TE-names.patch similarity index 95% rename from Spigot-Server-Patches/0313-Catch-JsonParseException-in-Entity-and-TE-names.patch rename to Spigot-Server-Patches/0312-Catch-JsonParseException-in-Entity-and-TE-names.patch index 0f3de4c53..21b102270 100644 --- a/Spigot-Server-Patches/0313-Catch-JsonParseException-in-Entity-and-TE-names.patch +++ b/Spigot-Server-Patches/0312-Catch-JsonParseException-in-Entity-and-TE-names.patch @@ -1,4 +1,4 @@ -From 3dd592030f1c2f7281bfdd39252fb74fb7f9ce29 Mon Sep 17 00:00:00 2001 +From a58127d969be71a3373e822df2131aa53a36b9c1 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 22 Sep 2018 15:56:59 -0400 Subject: [PATCH] Catch JsonParseException in Entity and TE names @@ -13,7 +13,7 @@ Shulkers) may need to be changed in order for it to re-save properly No more crashing though. diff --git a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java -index 7f9030fa8..9d8fc3aa9 100644 +index 6d85cd508e..23a69ba571 100644 --- a/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java +++ b/src/main/java/net/minecraft/server/CommandBlockListenerAbstract.java @@ -56,7 +56,7 @@ public abstract class CommandBlockListenerAbstract implements ICommandListener { @@ -26,7 +26,7 @@ index 7f9030fa8..9d8fc3aa9 100644 if (nbttagcompound.hasKeyOfType("TrackOutput", 1)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index cbc0aea04..5e60baf23 100644 +index f9b097fd6f..4833a9652a 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1701,7 +1701,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -39,7 +39,7 @@ index cbc0aea04..5e60baf23 100644 this.setCustomNameVisible(nbttagcompound.getBoolean("CustomNameVisible")); diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index 6d278a0da..ec3732193 100644 +index 6d278a0da5..ec3732193f 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -339,4 +339,19 @@ public final class MCUtil { @@ -63,7 +63,7 @@ index 6d278a0da..ec3732193 100644 + } } diff --git a/src/main/java/net/minecraft/server/TileEntityBanner.java b/src/main/java/net/minecraft/server/TileEntityBanner.java -index 1f26d8a02..12264c4d0 100644 +index 560330ba05..bfc58a7754 100644 --- a/src/main/java/net/minecraft/server/TileEntityBanner.java +++ b/src/main/java/net/minecraft/server/TileEntityBanner.java @@ -57,7 +57,7 @@ public class TileEntityBanner extends TileEntity implements INamableTileEntity { @@ -76,7 +76,7 @@ index 1f26d8a02..12264c4d0 100644 if (this.hasWorld()) { diff --git a/src/main/java/net/minecraft/server/TileEntityContainer.java b/src/main/java/net/minecraft/server/TileEntityContainer.java -index 473ec2cbd..ab6b86e4e 100644 +index 473ec2cbde..ab6b86e4e9 100644 --- a/src/main/java/net/minecraft/server/TileEntityContainer.java +++ b/src/main/java/net/minecraft/server/TileEntityContainer.java @@ -17,7 +17,7 @@ public abstract class TileEntityContainer extends TileEntity implements IInvento diff --git a/Spigot-Server-Patches/0314-Avoid-dimension-id-collisions.patch b/Spigot-Server-Patches/0313-Avoid-dimension-id-collisions.patch similarity index 91% rename from Spigot-Server-Patches/0314-Avoid-dimension-id-collisions.patch rename to Spigot-Server-Patches/0313-Avoid-dimension-id-collisions.patch index f61220f3c..2d77cb400 100644 --- a/Spigot-Server-Patches/0314-Avoid-dimension-id-collisions.patch +++ b/Spigot-Server-Patches/0313-Avoid-dimension-id-collisions.patch @@ -1,4 +1,4 @@ -From dac39792514978b124764723c37284f751849373 Mon Sep 17 00:00:00 2001 +From 40b719adffacc70145b5dbf5d85a72ae16cb3ab3 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 25 Sep 2018 06:53:43 +0200 Subject: [PATCH] Avoid dimension id collisions @@ -8,7 +8,7 @@ we would reuse an existing dimension id, if some other dimension was unloaded before. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index da8cb53ab..752427d91 100644 +index b0f4ef1b48..d0834ecaab 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -976,7 +976,7 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0315-Honor-EntityAgeable.ageLock.patch b/Spigot-Server-Patches/0314-Honor-EntityAgeable.ageLock.patch similarity index 86% rename from Spigot-Server-Patches/0315-Honor-EntityAgeable.ageLock.patch rename to Spigot-Server-Patches/0314-Honor-EntityAgeable.ageLock.patch index 75b83f4e3..c5666e869 100644 --- a/Spigot-Server-Patches/0315-Honor-EntityAgeable.ageLock.patch +++ b/Spigot-Server-Patches/0314-Honor-EntityAgeable.ageLock.patch @@ -1,11 +1,11 @@ -From fa162c3a22de7111a7496e63da0229c9be6b59be Mon Sep 17 00:00:00 2001 +From eb84a6f42dcb8f78011c1ee226fccf9b8b0de9af Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 23 Sep 2018 20:59:53 -0500 Subject: [PATCH] Honor EntityAgeable.ageLock diff --git a/src/main/java/net/minecraft/server/EntityAgeable.java b/src/main/java/net/minecraft/server/EntityAgeable.java -index da9740a99..e87754ef3 100644 +index da9740a99e..e87754ef33 100644 --- a/src/main/java/net/minecraft/server/EntityAgeable.java +++ b/src/main/java/net/minecraft/server/EntityAgeable.java @@ -85,6 +85,7 @@ public abstract class EntityAgeable extends EntityCreature { diff --git a/Spigot-Server-Patches/0316-Configurable-connection-throttle-kick-message.patch b/Spigot-Server-Patches/0315-Configurable-connection-throttle-kick-message.patch similarity index 94% rename from Spigot-Server-Patches/0316-Configurable-connection-throttle-kick-message.patch rename to Spigot-Server-Patches/0315-Configurable-connection-throttle-kick-message.patch index 5f466badb..a1286a8da 100644 --- a/Spigot-Server-Patches/0316-Configurable-connection-throttle-kick-message.patch +++ b/Spigot-Server-Patches/0315-Configurable-connection-throttle-kick-message.patch @@ -1,11 +1,11 @@ -From c814c63d1ee6b04dc1fe4d01c129d42df4a38e3b Mon Sep 17 00:00:00 2001 +From d68529932751226e348fd0d0a70944b5d377471c Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 2 Oct 2018 09:57:50 +0100 Subject: [PATCH] Configurable connection throttle kick message diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index ea3695b02..d2c039ea2 100644 +index ea3695b021..d2c039ea2f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -275,6 +275,11 @@ public class PaperConfig { @@ -21,7 +21,7 @@ index ea3695b02..d2c039ea2 100644 private static void savePlayerData() { savePlayerData = getBoolean("settings.save-player-data", savePlayerData); diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index 07d85e535..4b76c2d14 100644 +index 740c8d2728..9a8e5e1213 100644 --- a/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java @@ -38,7 +38,7 @@ public class HandshakeListener implements PacketHandshakingInListener { diff --git a/Spigot-Server-Patches/0317-Hook-into-CB-plugin-rewrites.patch b/Spigot-Server-Patches/0316-Hook-into-CB-plugin-rewrites.patch similarity index 98% rename from Spigot-Server-Patches/0317-Hook-into-CB-plugin-rewrites.patch rename to Spigot-Server-Patches/0316-Hook-into-CB-plugin-rewrites.patch index ad23b0a28..3d07ca476 100644 --- a/Spigot-Server-Patches/0317-Hook-into-CB-plugin-rewrites.patch +++ b/Spigot-Server-Patches/0316-Hook-into-CB-plugin-rewrites.patch @@ -1,4 +1,4 @@ -From ddaed4c3a460dba34f5375e71ae4d4fb691da21e Mon Sep 17 00:00:00 2001 +From 02060c548e5b7d6bf496c45852af3eb2e5b68aed Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 3 Oct 2018 20:09:18 -0400 Subject: [PATCH] Hook into CB plugin rewrites @@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 467b2d938..61f102355 100644 +index 467b2d9385..61f1023557 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java @@ -6,7 +6,9 @@ import java.io.FileOutputStream; diff --git a/Spigot-Server-Patches/0318-Allow-setting-the-vex-s-summoner.patch b/Spigot-Server-Patches/0317-Allow-setting-the-vex-s-summoner.patch similarity index 90% rename from Spigot-Server-Patches/0318-Allow-setting-the-vex-s-summoner.patch rename to Spigot-Server-Patches/0317-Allow-setting-the-vex-s-summoner.patch index 6fae59a87..43b8379dc 100644 --- a/Spigot-Server-Patches/0318-Allow-setting-the-vex-s-summoner.patch +++ b/Spigot-Server-Patches/0317-Allow-setting-the-vex-s-summoner.patch @@ -1,11 +1,11 @@ -From 7ec5f30480086a6edc70ee4d2e2601215ac3df9e Mon Sep 17 00:00:00 2001 +From ee9f9908fd798f679cf6abb2f07048c9a24ac6c5 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 6 Oct 2018 21:47:44 -0500 Subject: [PATCH] Allow setting the vex's summoner diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java -index c8e81b824..47fceb57e 100644 +index 25aea53150..51c05376da 100644 --- a/src/main/java/net/minecraft/server/EntityVex.java +++ b/src/main/java/net/minecraft/server/EntityVex.java @@ -133,6 +133,7 @@ public class EntityVex extends EntityMonster { @@ -17,7 +17,7 @@ index c8e81b824..47fceb57e 100644 this.c = entityinsentient; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java -index 169c951ec..2f7df3074 100644 +index 169c951ec3..2f7df3074f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVex.java @@ -23,6 +23,10 @@ public class CraftVex extends CraftMonster implements Vex { diff --git a/Spigot-Server-Patches/0319-Add-sun-related-API.patch b/Spigot-Server-Patches/0318-Add-sun-related-API.patch similarity index 86% rename from Spigot-Server-Patches/0319-Add-sun-related-API.patch rename to Spigot-Server-Patches/0318-Add-sun-related-API.patch index 0895ae495..ff76f1afd 100644 --- a/Spigot-Server-Patches/0319-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0318-Add-sun-related-API.patch @@ -1,23 +1,23 @@ -From 928455bc5846a2193c454e3528201567dd359d14 Mon Sep 17 00:00:00 2001 +From 811a5c3f01989aa0b3f734892a7629850562aff4 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index c20374d77..5e88367d3 100644 +index a14d490ade..09112a8b0e 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1327,6 +1327,7 @@ public abstract class EntityInsentient extends EntityLiving { return flag; } -+ public boolean isInDaylight() { return dT(); } // Paper - OBFHELPER - protected boolean dT() { ++ public boolean isInDaylight() { return this.dS(); } // Paper - OBFHELPER + protected boolean dS() { if (this.world.J() && !this.world.isClientSide) { float f = this.aF(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f0332c893..1f28358f9 100644 +index c60279da8f..1c3285f5c0 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -705,6 +705,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -26,10 +26,10 @@ index f0332c893..1f28358f9 100644 + public boolean isDayTime() { return J(); } // Paper - OBFHELPER public boolean J() { - return this.d < 4; + return this.u < 4; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2ef965a7d..79aac04ff 100644 +index 51bc40c014..a08366d360 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -824,6 +824,13 @@ public class CraftWorld implements World { @@ -47,7 +47,7 @@ index 2ef965a7d..79aac04ff 100644 public boolean createExplosion(double x, double y, double z, float power) { return createExplosion(x, y, z, power, false, true); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 53c2d154e..56c233872 100644 +index 53c2d154ed..56c233872b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -68,4 +68,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/Spigot-Server-Patches/0320-Check-Drowned-for-Villager-Aggression-Config.patch b/Spigot-Server-Patches/0319-Check-Drowned-for-Villager-Aggression-Config.patch similarity index 93% rename from Spigot-Server-Patches/0320-Check-Drowned-for-Villager-Aggression-Config.patch rename to Spigot-Server-Patches/0319-Check-Drowned-for-Villager-Aggression-Config.patch index 8fe4b89e7..4357f1721 100644 --- a/Spigot-Server-Patches/0320-Check-Drowned-for-Villager-Aggression-Config.patch +++ b/Spigot-Server-Patches/0319-Check-Drowned-for-Villager-Aggression-Config.patch @@ -1,11 +1,11 @@ -From 21bab75aaa099a1c00440fb3fd2b20bce9a472dc Mon Sep 17 00:00:00 2001 +From f1045e50a6d0e1f641e87f570c4788665cd991e0 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Wed, 10 Oct 2018 21:22:44 -0500 Subject: [PATCH] Check Drowned for Villager Aggression Config diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java -index 38e35f081..158c05d1e 100644 +index fd10cf318a..6f0094e6dc 100644 --- a/src/main/java/net/minecraft/server/EntityDrowned.java +++ b/src/main/java/net/minecraft/server/EntityDrowned.java @@ -29,7 +29,7 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity { diff --git a/Spigot-Server-Patches/0321-Here-s-Johnny.patch b/Spigot-Server-Patches/0320-Here-s-Johnny.patch similarity index 92% rename from Spigot-Server-Patches/0321-Here-s-Johnny.patch rename to Spigot-Server-Patches/0320-Here-s-Johnny.patch index ae952c92f..25040c98f 100644 --- a/Spigot-Server-Patches/0321-Here-s-Johnny.patch +++ b/Spigot-Server-Patches/0320-Here-s-Johnny.patch @@ -1,11 +1,11 @@ -From b323d63d3492490caf1a6a5dbb185e2101820f2d Mon Sep 17 00:00:00 2001 +From 186a68036e63b03e928028f0bdd395b904103c7e Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 12 Oct 2018 01:37:22 -0500 Subject: [PATCH] Here's Johnny! diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java -index daa7bf330..44531af41 100644 +index 06918b8c91..ffbd6e9269 100644 --- a/src/main/java/net/minecraft/server/EntityVindicator.java +++ b/src/main/java/net/minecraft/server/EntityVindicator.java @@ -11,7 +11,7 @@ public class EntityVindicator extends EntityIllagerAbstract { @@ -18,7 +18,7 @@ index daa7bf330..44531af41 100644 public EntityVindicator(EntityTypes entitytypes, World world) { super(entitytypes, world); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java -index 951d47929..5ff957ced 100644 +index 951d479298..5ff957ced7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVindicator.java @@ -25,4 +25,14 @@ public class CraftVindicator extends CraftIllager implements Vindicator { diff --git a/Spigot-Server-Patches/0322-Turtle-API.patch b/Spigot-Server-Patches/0321-Turtle-API.patch similarity index 71% rename from Spigot-Server-Patches/0322-Turtle-API.patch rename to Spigot-Server-Patches/0321-Turtle-API.patch index e3b2c29bb..fc2aa9df4 100644 --- a/Spigot-Server-Patches/0322-Turtle-API.patch +++ b/Spigot-Server-Patches/0321-Turtle-API.patch @@ -1,78 +1,78 @@ -From 3c42e1033a9a7894600dda82a8dc16f34f1b1d25 Mon Sep 17 00:00:00 2001 +From de12d9eb27172c21844363f2e66700833e43290f Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 29 Sep 2018 16:08:23 -0500 Subject: [PATCH] Turtle API diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 013b3a1ca..0037d1380 100644 +index 594cc70def..0bd80e5623 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -26,51 +26,63 @@ public class EntityTurtle extends EntityAnimal { this.K = 1.0F; } -+ public void setHome(BlockPosition pos) { g(pos); } // Paper - OBFHELPER ++ public final void setHome(BlockPosition pos) { g(pos); } // Paper - OBFHELPER public void g(BlockPosition blockposition) { this.datawatcher.set(EntityTurtle.bA, blockposition); } -+ public BlockPosition getHome() { return dY(); } // Paper - OBFHELPER - private BlockPosition dY() { ++ public final BlockPosition getHome() { return this.dX(); } // Paper - OBFHELPER + private BlockPosition dX() { return (BlockPosition) this.datawatcher.get(EntityTurtle.bA); } -+ public void setTravelPos(BlockPosition pos) { h(pos); } // Paper - OBFHELPER ++ public final void setTravelPos(BlockPosition pos) { this.h(pos); } // Paper - OBFHELPER private void h(BlockPosition blockposition) { this.datawatcher.set(EntityTurtle.bD, blockposition); } -+ public BlockPosition getTravelPos() { return dZ(); } // Paper - OBFHELPER - private BlockPosition dZ() { ++ public final BlockPosition getTravelPos() { return this.dY(); } // Paper - OBFHELPER + private BlockPosition dY() { return (BlockPosition) this.datawatcher.get(EntityTurtle.bD); } -+ public boolean hasEgg() { return dW(); } // Paper - OBFHELPER - public boolean dW() { ++ public final boolean hasEgg() { return this.dV(); } // Paper - OBFHELPER + public boolean dV() { return (Boolean) this.datawatcher.get(EntityTurtle.bB); } -+ public void setHasEgg(boolean hasEgg) { r(hasEgg); } // Paper - OBFHELPER ++ public final void setHasEgg(boolean hasEgg) { this.r(hasEgg); } // Paper - OBFHELPER private void r(boolean flag) { this.datawatcher.set(EntityTurtle.bB, flag); } -+ public boolean isDigging() { return dW(); } // Paper - OBFHELPER - public boolean dX() { ++ public final boolean isDigging() { return this.dW(); } // Paper - OBFHELPER + public boolean dW() { return (Boolean) this.datawatcher.get(EntityTurtle.bC); } -+ public void setDigging(boolean digging) { s(digging); } // Paper - OBFHELPER ++ public final void setDigging(boolean digging) { this.s(digging); } // Paper - OBFHELPER private void s(boolean flag) { this.bG = flag ? 1 : 0; this.datawatcher.set(EntityTurtle.bC, flag); } -+ public boolean isGoingHome() { return ea(); } // Paper - OBFHELPER - private boolean ea() { ++ public final boolean isGoingHome() { return this.dZ(); } // Paper - OBFHELPER + private boolean dZ() { return (Boolean) this.datawatcher.get(EntityTurtle.bE); } -+ public void setGoingHome(boolean goingHome) { t(goingHome); } // Paper - OBFHELPER ++ public final void setGoingHome(boolean goingHome) { this.t(goingHome); } // Paper - OBFHELPER private void t(boolean flag) { this.datawatcher.set(EntityTurtle.bE, flag); } -+ public boolean isTravelling() { return ef(); } // Paper - OBFHELPER - private boolean ef() { ++ public final boolean isTravelling() { return this.ee(); } // Paper - OBFHELPER + private boolean ee() { return (Boolean) this.datawatcher.get(EntityTurtle.bF); } -+ public void setTravelling(boolean travelling) { u(travelling); } // Paper - OBFHELPER ++ public final void setTravelling(boolean travelling) { this.u(travelling); } // Paper - OBFHELPER private void u(boolean flag) { this.datawatcher.set(EntityTurtle.bF, flag); } -@@ -441,14 +453,18 @@ public class EntityTurtle extends EntityAnimal { +@@ -441,14 +453,17 @@ public class EntityTurtle extends EntityAnimal { if (!this.g.isInWater() && this.k()) { if (this.g.bG < 1) { @@ -87,24 +87,23 @@ index 013b3a1ca..0037d1380 100644 + int eggCount = this.g.random.nextInt(4) + 1; + com.destroystokyo.paper.event.entity.TurtleLayEggEvent layEggEvent = new com.destroystokyo.paper.event.entity.TurtleLayEggEvent((org.bukkit.entity.Turtle) this.g.getBukkitEntity(), MCUtil.toLocation(this.g.world, this.e.up()), eggCount); + if (layEggEvent.callEvent() && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.g, this.e.up(), Blocks.TURTLE_EGG.getBlockData().set(BlockTurtleEgg.b, layEggEvent.getEggCount())).isCancelled()) { - world.a((EntityHuman) null, blockposition, SoundEffects.ENTITY_TURTLE_LAY_EGG, SoundCategory.BLOCKS, 0.3F, 0.9F + world.random.nextFloat() * 0.2F); + world.playSound((EntityHuman) null, blockposition, SoundEffects.ENTITY_TURTLE_LAY_EGG, SoundCategory.BLOCKS, 0.3F, 0.9F + world.random.nextFloat() * 0.2F); - world.setTypeAndData(this.e.up(), (IBlockData) Blocks.TURTLE_EGG.getBlockData().set(BlockTurtleEgg.b, this.g.random.nextInt(4) + 1), 3); + world.setTypeAndData(this.e.up(), (IBlockData) Blocks.TURTLE_EGG.getBlockData().set(BlockTurtleEgg.b, layEggEvent.getEggCount()), 3); -+ // Paper end } // CraftBukkit end this.g.r(false); -@@ -583,7 +599,7 @@ public class EntityTurtle extends EntityAnimal { +@@ -583,7 +598,7 @@ public class EntityTurtle extends EntityAnimal { @Override public boolean a() { -- return this.a.isBaby() ? false : (this.a.dW() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.dY().a((IPosition) this.a.ci(), 64.0D))); -+ return this.a.isBaby() ? false : (this.a.dW() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.dY().a((IPosition) this.a.ci(), 64.0D))) && new com.destroystokyo.paper.event.entity.TurtleGoHomeEvent((org.bukkit.entity.Turtle) this.a.getBukkitEntity()).callEvent(); // Paper +- return this.a.isBaby() ? false : (this.a.dV() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.dX().a((IPosition) this.a.getPositionVector(), 64.0D))); ++ return this.a.isBaby() ? false : (this.a.dW() ? true : (this.a.getRandom().nextInt(700) != 0 ? false : !this.a.dY().a((IPosition) this.a.getPositionVector(), 64.0D))) && new com.destroystokyo.paper.event.entity.TurtleGoHomeEvent((org.bukkit.entity.Turtle) this.a.getBukkitEntity()).callEvent(); // Paper } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java -index 123a2c75c..8edcf7af6 100644 +index 123a2c75ca..8edcf7af65 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftTurtle.java @@ -1,6 +1,8 @@ diff --git a/Spigot-Server-Patches/0323-Limit-lightning-strike-effect-distance.patch b/Spigot-Server-Patches/0322-Limit-lightning-strike-effect-distance.patch similarity index 84% rename from Spigot-Server-Patches/0323-Limit-lightning-strike-effect-distance.patch rename to Spigot-Server-Patches/0322-Limit-lightning-strike-effect-distance.patch index 2cd10766c..056d47fbc 100644 --- a/Spigot-Server-Patches/0323-Limit-lightning-strike-effect-distance.patch +++ b/Spigot-Server-Patches/0322-Limit-lightning-strike-effect-distance.patch @@ -1,11 +1,11 @@ -From 4734a4a0652d6db3529bd3c88faf9c8d887df8b3 Mon Sep 17 00:00:00 2001 +From 462edaeac7af83fb490a2b55a7d92d36d74f90ce Mon Sep 17 00:00:00 2001 From: Trigary Date: Fri, 14 Sep 2018 17:42:08 +0200 Subject: [PATCH] Limit lightning strike effect distance diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7e031d18e..63f313a92 100644 +index 7e031d18e0..63f313a92d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -234,6 +234,28 @@ public class PaperWorldConfig { @@ -38,7 +38,7 @@ index 7e031d18e..63f313a92 100644 public int fixedInhabitedTime; private void fixedInhabitedTime() { diff --git a/src/main/java/net/minecraft/server/EntityLightning.java b/src/main/java/net/minecraft/server/EntityLightning.java -index 0169f261c..da8578604 100644 +index 2ceee79cf2..27bf271bb5 100644 --- a/src/main/java/net/minecraft/server/EntityLightning.java +++ b/src/main/java/net/minecraft/server/EntityLightning.java @@ -64,6 +64,17 @@ public class EntityLightning extends Entity { @@ -63,16 +63,16 @@ index 0169f261c..da8578604 100644 } } // CraftBukkit end -- this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F); -+ //this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0f, 0.5F + this.random.nextFloat() * 0.2F); // Paper - Limit lightning strike effect distance (the packet is now sent from inside the loop) +- this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F); ++ //this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_LIGHTNING_BOLT_IMPACT, SoundCategory.WEATHER, 2.0F, 0.5F + this.random.nextFloat() * 0.2F); // Paper - Limit lightning strike effect distance (the packet is now sent from inside the loop) } --this.lifeTicks; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index cca4d9703..9a3690d66 100644 +index 0c1eff6618..fd878801b3 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -1188,7 +1188,7 @@ public class WorldServer extends World { +@@ -1184,7 +1184,7 @@ public class WorldServer extends World { } // CraftBukkit end this.globalEntityList.add(entitylightning); diff --git a/Spigot-Server-Patches/0324-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch b/Spigot-Server-Patches/0323-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch similarity index 94% rename from Spigot-Server-Patches/0324-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch rename to Spigot-Server-Patches/0323-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch index d7006fb8c..a4857e9f0 100644 --- a/Spigot-Server-Patches/0324-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch +++ b/Spigot-Server-Patches/0323-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch @@ -1,4 +1,4 @@ -From 52b8ab25eb4b1b71de7eb5c3e186db2dc4cbe9a5 Mon Sep 17 00:00:00 2001 +From a58314dd18e49eda089384652ff34d7a44979f0e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 17 Oct 2018 19:17:27 -0400 Subject: [PATCH] MC-50319: Check other worlds for shooter of projectiles @@ -11,7 +11,7 @@ If the projectile fails to find the shooter in the current world, check other worlds. diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index f2f4b2d92..18d28a151 100644 +index f2f4b2d929..18d28a151a 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java @@ -213,11 +213,21 @@ public abstract class EntityProjectile extends Entity implements IProjectile { diff --git a/Spigot-Server-Patches/0325-Call-player-spectator-target-events.patch b/Spigot-Server-Patches/0324-Call-player-spectator-target-events.patch similarity index 95% rename from Spigot-Server-Patches/0325-Call-player-spectator-target-events.patch rename to Spigot-Server-Patches/0324-Call-player-spectator-target-events.patch index a4b0117c4..056434c75 100644 --- a/Spigot-Server-Patches/0325-Call-player-spectator-target-events.patch +++ b/Spigot-Server-Patches/0324-Call-player-spectator-target-events.patch @@ -1,11 +1,11 @@ -From 14090fa746fb375472cd62ce33f8bb2a4320e565 Mon Sep 17 00:00:00 2001 +From 3ebb235b21e01c1e7c81e9fc2e07044d45c37299 Mon Sep 17 00:00:00 2001 From: Caleb Bassham Date: Fri, 28 Sep 2018 02:32:19 -0500 Subject: [PATCH] Call player spectator target events diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 418a2cf0f..160f456e2 100644 +index 88b61e7719..709ec9625e 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -60,7 +60,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -17,7 +17,7 @@ index 418a2cf0f..160f456e2 100644 public boolean worldChangeInvuln; private boolean cp; private void setHasSeenCredits(boolean has) { this.cp = has; } // Paper - OBFHELPER private final RecipeBookServer recipeBook; -@@ -1574,15 +1574,35 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1575,15 +1575,35 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return (Entity) (this.spectatedEntity == null ? this : this.spectatedEntity); } diff --git a/Spigot-Server-Patches/0326-Add-Velocity-IP-Forwarding-Support.patch b/Spigot-Server-Patches/0325-Add-Velocity-IP-Forwarding-Support.patch similarity index 94% rename from Spigot-Server-Patches/0326-Add-Velocity-IP-Forwarding-Support.patch rename to Spigot-Server-Patches/0325-Add-Velocity-IP-Forwarding-Support.patch index d7f43e63a..853c468b4 100644 --- a/Spigot-Server-Patches/0326-Add-Velocity-IP-Forwarding-Support.patch +++ b/Spigot-Server-Patches/0325-Add-Velocity-IP-Forwarding-Support.patch @@ -1,4 +1,4 @@ -From 9bda82e87a0c44a81f622bb2b668c8ebf6cd7596 Mon Sep 17 00:00:00 2001 +From 2a1652d5c16477c05e7937b1df54b8c091267a63 Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Mon, 8 Oct 2018 14:36:14 -0400 Subject: [PATCH] Add Velocity IP Forwarding Support @@ -14,7 +14,7 @@ forwarding, and is integrated into the Minecraft login process by using the 1.13 login plugin message packet. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index d2c039ea2..63d860292 100644 +index d2c039ea2f..63d8602927 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -8,6 +8,7 @@ import java.io.IOException; @@ -55,7 +55,7 @@ index d2c039ea2..63d860292 100644 } diff --git a/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java new file mode 100644 -index 000000000..fdd8708f9 +index 0000000000..fdd8708f97 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/proxy/VelocityProxy.java @@ -0,0 +1,67 @@ @@ -127,7 +127,7 @@ index 000000000..fdd8708f9 + } +} diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index d4d752ddb..5d46a975e 100644 +index d6befec184..41b2c90c3a 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -42,6 +42,7 @@ public class LoginListener implements PacketLoginInListener { @@ -138,7 +138,7 @@ index d4d752ddb..5d46a975e 100644 public LoginListener(MinecraftServer minecraftserver, NetworkManager networkmanager) { this.g = LoginListener.EnumProtocolState.HELLO; -@@ -188,6 +189,14 @@ public class LoginListener implements PacketLoginInListener { +@@ -193,6 +194,14 @@ public class LoginListener implements PacketLoginInListener { this.g = LoginListener.EnumProtocolState.KEY; this.networkManager.sendPacket(new PacketLoginOutEncryptionBegin("", this.server.getKeyPair().getPublic(), this.e)); } else { @@ -153,7 +153,7 @@ index d4d752ddb..5d46a975e 100644 // Spigot start // Paper start - Cache authenticator threads authenticatorPool.execute(new Runnable() { -@@ -280,6 +289,12 @@ public class LoginListener implements PacketLoginInListener { +@@ -285,6 +294,12 @@ public class LoginListener implements PacketLoginInListener { public class LoginHandler { public void fireEvents() throws Exception { @@ -166,7 +166,7 @@ index d4d752ddb..5d46a975e 100644 String playerName = i.getName(); java.net.InetAddress address = ((java.net.InetSocketAddress) networkManager.getSocketAddress()).getAddress(); java.util.UUID uniqueId = i.getId(); -@@ -327,6 +342,35 @@ public class LoginListener implements PacketLoginInListener { +@@ -332,6 +347,35 @@ public class LoginListener implements PacketLoginInListener { // Spigot end public void a(PacketLoginInCustomPayload packetloginincustompayload) { @@ -203,12 +203,12 @@ index d4d752ddb..5d46a975e 100644 } diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index efd02bd67..c073b04aa 100644 +index 08e314af7c..046196d54d 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java -@@ -46,7 +46,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { - private final Queue packetQueue = Queues.newConcurrentLinkedQueue(); private final Queue getPacketQueue() { return this.packetQueue; } // Paper - OBFHELPER - private final ReentrantReadWriteLock j = new ReentrantReadWriteLock(); +@@ -44,7 +44,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { + private final EnumProtocolDirection h; + private final Queue packetQueue = Queues.newConcurrentLinkedQueue(); public Channel channel; - public SocketAddress socketAddress; + public SocketAddress socketAddress; public void setSpoofedRemoteAddress(SocketAddress address) { this.socketAddress = address; } // Paper - OBFHELPER @@ -216,7 +216,7 @@ index efd02bd67..c073b04aa 100644 public java.util.UUID spoofedUUID; public com.mojang.authlib.properties.Property[] spoofedProfile; diff --git a/src/main/java/net/minecraft/server/PacketDataSerializer.java b/src/main/java/net/minecraft/server/PacketDataSerializer.java -index fa2d3ce8c..dac560c63 100644 +index fa2d3ce8cb..dac560c63f 100644 --- a/src/main/java/net/minecraft/server/PacketDataSerializer.java +++ b/src/main/java/net/minecraft/server/PacketDataSerializer.java @@ -140,6 +140,7 @@ public class PacketDataSerializer extends ByteBuf { @@ -244,7 +244,7 @@ index fa2d3ce8c..dac560c63 100644 int j = this.i(); diff --git a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java -index 4d1f44139..c1ca6f950 100644 +index 4d1f441395..c1ca6f9501 100644 --- a/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java +++ b/src/main/java/net/minecraft/server/PacketLoginInCustomPayload.java @@ -4,8 +4,8 @@ import java.io.IOException; @@ -259,7 +259,7 @@ index 4d1f44139..c1ca6f950 100644 public PacketLoginInCustomPayload() {} diff --git a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java -index ae74dc9e1..7eb230f1b 100644 +index ae74dc9e18..7eb230f1b2 100644 --- a/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java +++ b/src/main/java/net/minecraft/server/PacketLoginOutCustomPayload.java @@ -10,6 +10,14 @@ public class PacketLoginOutCustomPayload implements Packet Date: Fri, 12 Oct 2018 14:10:46 -0500 Subject: [PATCH] Add more Witch API diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index d383b0ab4..9fea75024 100644 +index ff4e73fff3..0b849f37c5 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -1,5 +1,11 @@ @@ -45,7 +45,7 @@ index d383b0ab4..9fea75024 100644 public boolean l() { return (Boolean) this.getDataWatcher().get(EntityWitch.bA); } -@@ -121,18 +129,19 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { +@@ -121,18 +129,20 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { } if (potionregistry != null) { @@ -53,30 +53,31 @@ index d383b0ab4..9fea75024 100644 - ItemStack potion = PotionUtil.a(new ItemStack(Items.POTION), potionregistry); - 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 start - moved all this down into its own method -+ //ItemStack potion = PotionUtil.a(new ItemStack(Items.POTION), potionregistry); -+ //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)); -+ //this.bB = this.getItemInMainHand().k(); -+ //this.s(true); -+ //this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_WITCH_DRINK, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); -+ //AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); -+ //attributeinstance.c(EntityWitch.bz); -+ //attributeinstance.b(EntityWitch.bz); -+ -+ setDrinkingPotion(PotionUtil.addPotionToItemStack(new ItemStack(Items.POTION), potionregistry)); ++ // Paper start - move all this down into its own method ++// ItemStack potion = PotionUtil.a(new ItemStack(Items.POTION), potionregistry); ++// 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); ++// AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); ++// ++// attributeinstance.removeModifier(EntityWitch.bz); ++// attributeinstance.addModifier(EntityWitch.bz); ++ this.setDrinkingPotion(PotionUtil.addPotionToItemStack(new ItemStack(Items.POTION), potionregistry)); // Paper end - this.bB = this.getItemInMainHand().k(); - this.s(true); -- this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, SoundEffects.ENTITY_WITCH_DRINK, 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_DRINK, this.getSoundCategory(), 1.0F, 0.8F + this.random.nextFloat() * 0.4F); - AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); - -- attributeinstance.c(EntityWitch.bz); -- attributeinstance.b(EntityWitch.bz); +- attributeinstance.removeModifier(EntityWitch.bz); +- attributeinstance.addModifier(EntityWitch.bz); } } -@@ -144,6 +153,18 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { +@@ -144,6 +154,18 @@ public class EntityWitch extends EntityRaider implements IRangedEntity { super.movementTick(); } @@ -93,10 +94,10 @@ index d383b0ab4..9fea75024 100644 + // Paper end + @Override - public SoundEffect dW() { + public SoundEffect dV() { return SoundEffects.ENTITY_WITCH_CELEBRATE; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java -index bae107e76..b43a2bbd5 100644 +index bae107e76e..b43a2bbd5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWitch.java @@ -1,12 +1,18 @@ diff --git a/Spigot-Server-Patches/0328-Fix-MC-93764.patch b/Spigot-Server-Patches/0327-Fix-MC-93764.patch similarity index 86% rename from Spigot-Server-Patches/0328-Fix-MC-93764.patch rename to Spigot-Server-Patches/0327-Fix-MC-93764.patch index 29bab9264..c06640b21 100644 --- a/Spigot-Server-Patches/0328-Fix-MC-93764.patch +++ b/Spigot-Server-Patches/0327-Fix-MC-93764.patch @@ -1,11 +1,11 @@ -From d6cdfc78638823863961e32a34208116eb22fdd0 Mon Sep 17 00:00:00 2001 +From 2a0f99a82bad43467508e0b49046f76ba3df9e0d Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 19 Oct 2018 19:38:45 -0500 Subject: [PATCH] Fix MC-93764 diff --git a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java -index 715faef17..b97408cff 100644 +index 715faef171..b97408cffa 100644 --- a/src/main/java/net/minecraft/server/WorldProviderTheEnd.java +++ b/src/main/java/net/minecraft/server/WorldProviderTheEnd.java @@ -27,7 +27,7 @@ public class WorldProviderTheEnd extends WorldProvider { diff --git a/Spigot-Server-Patches/0329-Add-option-to-prevent-players-from-moving-into-unloa.patch b/Spigot-Server-Patches/0328-Add-option-to-prevent-players-from-moving-into-unloa.patch similarity index 92% rename from Spigot-Server-Patches/0329-Add-option-to-prevent-players-from-moving-into-unloa.patch rename to Spigot-Server-Patches/0328-Add-option-to-prevent-players-from-moving-into-unloa.patch index e7dbc928b..0dba9eda8 100644 --- a/Spigot-Server-Patches/0329-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/Spigot-Server-Patches/0328-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -1,4 +1,4 @@ -From 228d99096ce38699ea2e026992cfe006ca6cc584 Mon Sep 17 00:00:00 2001 +From 2bc98858fe530d335079b28b0a47627b5aa6d22a Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Mon, 22 Oct 2018 17:34:10 +0200 Subject: [PATCH] Add option to prevent players from moving into unloaded @@ -6,7 +6,7 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 63f313a92..2299860b8 100644 +index 63f313a92d..2299860b81 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -429,4 +429,9 @@ public class PaperWorldConfig { @@ -20,10 +20,10 @@ index 63f313a92..2299860b8 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7770ed312..408c1e404 100644 +index a814d8cae9..9eb6982508 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -347,6 +347,13 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -348,6 +348,13 @@ public class PlayerConnection implements PacketListenerPlayIn { } speed *= 2f; // TODO: Get the speed of the vehicle instead of the player @@ -37,7 +37,7 @@ index 7770ed312..408c1e404 100644 if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isExemptPlayer()) { // CraftBukkit end PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getDisplayName().getString(), this.player.getDisplayName().getString(), d6, d7, d8); -@@ -891,9 +898,9 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -892,9 +899,9 @@ public class PlayerConnection implements PacketListenerPlayIn { double d1 = this.player.locY; double d2 = this.player.locZ; double d3 = this.player.locY; @@ -49,7 +49,7 @@ index 7770ed312..408c1e404 100644 float f = packetplayinflying.a(this.player.yaw); float f1 = packetplayinflying.b(this.player.pitch); double d7 = d4 - this.l; -@@ -932,6 +939,12 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -933,6 +940,12 @@ public class PlayerConnection implements PacketListenerPlayIn { } else { speed = player.abilities.walkSpeed * 10f; } diff --git a/Spigot-Server-Patches/0330-Reset-players-airTicks-on-respawn.patch b/Spigot-Server-Patches/0329-Reset-players-airTicks-on-respawn.patch similarity index 84% rename from Spigot-Server-Patches/0330-Reset-players-airTicks-on-respawn.patch rename to Spigot-Server-Patches/0329-Reset-players-airTicks-on-respawn.patch index 9ebca0274..4d6910f2a 100644 --- a/Spigot-Server-Patches/0330-Reset-players-airTicks-on-respawn.patch +++ b/Spigot-Server-Patches/0329-Reset-players-airTicks-on-respawn.patch @@ -1,11 +1,11 @@ -From b30d3ee85360cb8d1da0876268c000ee0f01178e Mon Sep 17 00:00:00 2001 +From f0b9e05a2e55e9552f9e32b2818bcee2a0ee20dd Mon Sep 17 00:00:00 2001 From: GreenMeanie Date: Sat, 20 Oct 2018 22:34:02 -0400 Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 5e60baf23..44c12d248 100644 +index 4833a9652a..19bbcc043f 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2323,6 +2323,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -17,10 +17,10 @@ index 5e60baf23..44c12d248 100644 return 300; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 160f456e2..b190515f7 100644 +index 709ec9625e..ce585a1774 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1862,6 +1862,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1863,6 +1863,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } this.setHealth(this.getMaxHealth()); diff --git a/Spigot-Server-Patches/0331-Strip-private-area-unicode-characters-from-signs.patch b/Spigot-Server-Patches/0330-Strip-private-area-unicode-characters-from-signs.patch similarity index 97% rename from Spigot-Server-Patches/0331-Strip-private-area-unicode-characters-from-signs.patch rename to Spigot-Server-Patches/0330-Strip-private-area-unicode-characters-from-signs.patch index 2695ffb61..98944d007 100644 --- a/Spigot-Server-Patches/0331-Strip-private-area-unicode-characters-from-signs.patch +++ b/Spigot-Server-Patches/0330-Strip-private-area-unicode-characters-from-signs.patch @@ -1,4 +1,4 @@ -From c3dd6a91cd43ad998307d96d87eb158c79829423 Mon Sep 17 00:00:00 2001 +From 1d67c5e8d1a1d69e96fb7c06a41f3942d5afbb9a Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 23 Oct 2018 20:53:43 -0400 Subject: [PATCH] Strip private area unicode characters from signs @@ -20,7 +20,7 @@ think of no reason to use it. Fixes GH-1571 diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index ddf8f4659..275b82b10 100644 +index 74fede54e1..1b01792730 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -14,6 +14,11 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // diff --git a/Spigot-Server-Patches/0332-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/Spigot-Server-Patches/0331-Don-t-sleep-after-profile-lookups-if-not-needed.patch similarity index 94% rename from Spigot-Server-Patches/0332-Don-t-sleep-after-profile-lookups-if-not-needed.patch rename to Spigot-Server-Patches/0331-Don-t-sleep-after-profile-lookups-if-not-needed.patch index bd265879a..c793484a7 100644 --- a/Spigot-Server-Patches/0332-Don-t-sleep-after-profile-lookups-if-not-needed.patch +++ b/Spigot-Server-Patches/0331-Don-t-sleep-after-profile-lookups-if-not-needed.patch @@ -1,4 +1,4 @@ -From 52a7bf4ff9453287cf888ae072fa9907cc51d4b6 Mon Sep 17 00:00:00 2001 +From 2e468b10d36cc2a5c93163aeea1eb27af12ad9be Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 23 Oct 2018 20:25:05 -0400 Subject: [PATCH] Don't sleep after profile lookups if not needed @@ -7,7 +7,7 @@ Mojang was sleeping even if we had no more requests to go after the current one finished, resulting in 100ms lost per profile lookup diff --git a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java -index 71e48e87b..23f1447cf 100644 +index 71e48e87b4..23f1447cfc 100644 --- a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java +++ b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java @@ -42,6 +42,7 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository { diff --git a/Spigot-Server-Patches/0333-Use-more-reasonable-thread-count-default-for-bootstr.patch b/Spigot-Server-Patches/0332-Use-more-reasonable-thread-count-default-for-bootstr.patch similarity index 89% rename from Spigot-Server-Patches/0333-Use-more-reasonable-thread-count-default-for-bootstr.patch rename to Spigot-Server-Patches/0332-Use-more-reasonable-thread-count-default-for-bootstr.patch index aac075c1d..f08ff3de1 100644 --- a/Spigot-Server-Patches/0333-Use-more-reasonable-thread-count-default-for-bootstr.patch +++ b/Spigot-Server-Patches/0332-Use-more-reasonable-thread-count-default-for-bootstr.patch @@ -1,11 +1,11 @@ -From 94e1e0a7e2a64a81a3f3a7a34c2553fbb5092333 Mon Sep 17 00:00:00 2001 +From adfe280f2c3a2298566c1977081665f1e032f17c Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 23 Oct 2018 23:14:38 -0400 Subject: [PATCH] Use more reasonable thread count default for bootstrap diff --git a/src/main/java/net/minecraft/server/SystemUtils.java b/src/main/java/net/minecraft/server/SystemUtils.java -index 59164684e..4e9d53fb5 100644 +index 538ed5bb9b..35594821ce 100644 --- a/src/main/java/net/minecraft/server/SystemUtils.java +++ b/src/main/java/net/minecraft/server/SystemUtils.java @@ -66,7 +66,7 @@ public class SystemUtils { diff --git a/Spigot-Server-Patches/0333-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch b/Spigot-Server-Patches/0333-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch new file mode 100644 index 000000000..9a207275e --- /dev/null +++ b/Spigot-Server-Patches/0333-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch @@ -0,0 +1,33 @@ +From e8401927cb5951f9f934619dc3b1afa8be467dab Mon Sep 17 00:00:00 2001 +From: MisterVector +Date: Thu, 1 Nov 2018 14:50:05 -0700 +Subject: [PATCH] MC-136865: Use valid item for enchantment checks on block + break + +When an itemstack runs out of durability, the amount is reduced to +0 which then marks the item as invalid. This causes the last unit +of durability to not apply enchantments as the enchantment level +check sees the item as a dud. + +keep the clone of the item used to a non empty value so it represents +the item used. + +diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java +index a898535d1b..f953bd7ceb 100644 +--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java ++++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java +@@ -352,9 +352,10 @@ public class PlayerInteractManager { + ItemStack itemstack = this.player.getItemInMainHand(); + boolean flag1 = this.player.hasBlock(iblockdata); + ++ ItemStack itemstack1 = flag && flag1 && event.isDropItems() && !itemstack.isEmpty() ? itemstack.cloneItemStack() : ItemStack.a; // Paper - MC-136865 - clone before use + itemstack.a(this.world, iblockdata, blockposition, this.player); + if (flag && flag1 && event.isDropItems()) { // CraftBukkit - Check if block should drop items +- ItemStack itemstack1 = itemstack.isEmpty() ? ItemStack.a : itemstack.cloneItemStack(); ++ //ItemStack itemstack1 = itemstack.isEmpty() ? ItemStack.a : itemstack.cloneItemStack(); // Paper - MC-136865 - move up + + block.a(this.world, this.player, blockposition, iblockdata, tileentity, itemstack1); + } +-- +2.22.0 + diff --git a/Spigot-Server-Patches/0334-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch b/Spigot-Server-Patches/0334-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch deleted file mode 100644 index ea96616c4..000000000 --- a/Spigot-Server-Patches/0334-MC-136865-Use-valid-item-for-enchantment-checks-on-b.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 69bf42d82fd66a351e2953111aef49159758c9b3 Mon Sep 17 00:00:00 2001 -From: MisterVector -Date: Thu, 1 Nov 2018 14:50:05 -0700 -Subject: [PATCH] MC-136865: Use valid item for enchantment checks on block - break - -When an itemstack runs out of durability, the amount is reduced to -0 which then marks the item as invalid. This causes the last unit -of durability to not apply enchantments as the enchantment level -check sees the item as a dud. - -keep the clone of the item used to a non empty value so it represents -the item used. - -diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 89a13b88b..83b36b3e7 100644 ---- a/src/main/java/net/minecraft/server/PlayerInteractManager.java -+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -354,10 +354,11 @@ public class PlayerInteractManager { - ItemStack itemstack1 = this.player.getItemInMainHand(); - boolean flag1 = this.player.hasBlock(iblockdata); - -+ ItemStack itemstack2 = flag && flag1 && event.isDropItems() && !itemstack1.isEmpty() ? itemstack1.cloneItemStack() : ItemStack.a; // Paper - MC-136865 - clone before use - itemstack1.a(this.world, iblockdata, blockposition, this.player); - // CraftBukkit start - Check if block should drop items - if (flag && flag1 && event.isDropItems()) { -- ItemStack itemstack2 = itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack(); -+ //ItemStack itemstack2 = itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack(); // Paper - MC-136865 - move up - - iblockdata.getBlock().a(this.world, this.player, blockposition, iblockdata, tileentity, itemstack2); - } --- -2.22.0 - diff --git a/Spigot-Server-Patches/0335-Optimize-World-Time-Updates.patch b/Spigot-Server-Patches/0334-Optimize-World-Time-Updates.patch similarity index 93% rename from Spigot-Server-Patches/0335-Optimize-World-Time-Updates.patch rename to Spigot-Server-Patches/0334-Optimize-World-Time-Updates.patch index 11d018ab9..0c286a32a 100644 --- a/Spigot-Server-Patches/0335-Optimize-World-Time-Updates.patch +++ b/Spigot-Server-Patches/0334-Optimize-World-Time-Updates.patch @@ -1,4 +1,4 @@ -From 7319916152e40f904aabef06d2cd2428e5fd3670 Mon Sep 17 00:00:00 2001 +From 77948c3cd158e638e53bfee0a823c89dff1c6f6f Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 2 Nov 2018 23:11:51 -0400 Subject: [PATCH] Optimize World Time Updates @@ -8,10 +8,10 @@ the updates per world, so that we can re-use the same packet object for every player unless they have per-player time enabled. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cb630fda6..f222d4470 100644 +index 64411e701f..3cc7672621 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1114,12 +1114,24 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Mon, 5 Nov 2018 04:23:51 +0000 Subject: [PATCH] Restore custom InventoryHolder support @@ -17,7 +17,7 @@ will always work as intended in the past, those without will create implementati based inventories. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java -index 9957ed040..ae280dd40 100644 +index 9957ed0402..ae280dd40b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/util/CraftInventoryCreator.java @@ -39,10 +39,20 @@ public final class CraftInventoryCreator { diff --git a/Spigot-Server-Patches/0337-Use-Vanilla-Minecart-Speeds.patch b/Spigot-Server-Patches/0336-Use-Vanilla-Minecart-Speeds.patch similarity index 91% rename from Spigot-Server-Patches/0337-Use-Vanilla-Minecart-Speeds.patch rename to Spigot-Server-Patches/0336-Use-Vanilla-Minecart-Speeds.patch index 64c7e0ac4..9726745a1 100644 --- a/Spigot-Server-Patches/0337-Use-Vanilla-Minecart-Speeds.patch +++ b/Spigot-Server-Patches/0336-Use-Vanilla-Minecart-Speeds.patch @@ -1,4 +1,4 @@ -From 85043c5ddc441e2ef0796f83857bd2804e9d6158 Mon Sep 17 00:00:00 2001 +From afad9f309b019f52a937784669996c434d9d8c0a Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 8 Nov 2018 21:33:09 -0500 Subject: [PATCH] Use Vanilla Minecart Speeds @@ -6,7 +6,7 @@ Subject: [PATCH] Use Vanilla Minecart Speeds CraftBukkit changed the values on flying speed, restore back to vanilla diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index e1a684b37..6df2930e2 100644 +index e1a684b370..6df2930e2d 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java @@ -35,9 +35,9 @@ public abstract class EntityMinecartAbstract extends Entity { diff --git a/Spigot-Server-Patches/0338-Fix-SpongeAbsortEvent-handling.patch b/Spigot-Server-Patches/0337-Fix-SpongeAbsortEvent-handling.patch similarity index 93% rename from Spigot-Server-Patches/0338-Fix-SpongeAbsortEvent-handling.patch rename to Spigot-Server-Patches/0337-Fix-SpongeAbsortEvent-handling.patch index 0a19fafba..37347beee 100644 --- a/Spigot-Server-Patches/0338-Fix-SpongeAbsortEvent-handling.patch +++ b/Spigot-Server-Patches/0337-Fix-SpongeAbsortEvent-handling.patch @@ -1,4 +1,4 @@ -From 209d5dfb8c8183e089fe3178a2dfce4ca644564e Mon Sep 17 00:00:00 2001 +From 79ed057b17bb20598620f69371aa58c5e00854f9 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sat, 10 Nov 2018 05:15:21 +0000 Subject: [PATCH] Fix SpongeAbsortEvent handling @@ -6,7 +6,7 @@ Subject: [PATCH] Fix SpongeAbsortEvent handling Only process drops when the block is actually going to be removed diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index d71102164..5d8db912a 100644 +index 3aa4cb6401..79ed7a7b44 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -472,7 +472,7 @@ public class Block implements IMaterial { @@ -19,7 +19,7 @@ index d71102164..5d8db912a 100644 if (world instanceof WorldServer) { a(iblockdata, (WorldServer) world, blockposition, tileentity).forEach((itemstack) -> { diff --git a/src/main/java/net/minecraft/server/BlockSponge.java b/src/main/java/net/minecraft/server/BlockSponge.java -index 4e281ce6d..6a64af71b 100644 +index 4e281ce6dd..6a64af71b9 100644 --- a/src/main/java/net/minecraft/server/BlockSponge.java +++ b/src/main/java/net/minecraft/server/BlockSponge.java @@ -113,8 +113,11 @@ public class BlockSponge extends Block { diff --git a/Spigot-Server-Patches/0338-Don-t-allow-digging-into-unloaded-chunks.patch b/Spigot-Server-Patches/0338-Don-t-allow-digging-into-unloaded-chunks.patch new file mode 100644 index 000000000..3ec0f6f01 --- /dev/null +++ b/Spigot-Server-Patches/0338-Don-t-allow-digging-into-unloaded-chunks.patch @@ -0,0 +1,25 @@ +From df1b6feb04b62e6ff414815fdc5746fec3bd584f Mon Sep 17 00:00:00 2001 +From: Shane Freeder +Date: Sun, 11 Nov 2018 21:01:09 +0000 +Subject: [PATCH] Don't allow digging into unloaded chunks + + +diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java +index 9eb6982508..45c2777552 100644 +--- a/src/main/java/net/minecraft/server/PlayerConnection.java ++++ b/src/main/java/net/minecraft/server/PlayerConnection.java +@@ -1259,6 +1259,11 @@ public class PlayerConnection implements PacketListenerPlayIn { + case START_DESTROY_BLOCK: + case ABORT_DESTROY_BLOCK: + case STOP_DESTROY_BLOCK: ++ // Paper start - Don't allow digging in unloaded chunks ++ if (this.player.world.getChunkIfLoadedImmediately(blockposition.getX() >> 4, blockposition.getZ() >> 4) == null) { ++ return; ++ } ++ // Paper end - Don't allow digging in unloaded chunks + this.player.playerInteractManager.a(blockposition, packetplayinblockdig_enumplayerdigtype, packetplayinblockdig.c(), this.minecraftServer.getMaxBuildHeight()); + return; + default: +-- +2.22.0 + diff --git a/Spigot-Server-Patches/0339-Don-t-allow-digging-into-unloaded-chunks.patch b/Spigot-Server-Patches/0339-Don-t-allow-digging-into-unloaded-chunks.patch deleted file mode 100644 index 5cdf2c14d..000000000 --- a/Spigot-Server-Patches/0339-Don-t-allow-digging-into-unloaded-chunks.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c0c7513d8ddffeb50b7f46b9da8684a715712795 Mon Sep 17 00:00:00 2001 -From: Shane Freeder -Date: Sun, 11 Nov 2018 21:01:09 +0000 -Subject: [PATCH] Don't allow digging into unloaded chunks - - -diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 408c1e404..c8d11ce84 100644 ---- a/src/main/java/net/minecraft/server/PlayerConnection.java -+++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1257,6 +1257,11 @@ public class PlayerConnection implements PacketListenerPlayIn { - case START_DESTROY_BLOCK: - case ABORT_DESTROY_BLOCK: - case STOP_DESTROY_BLOCK: -+ // Paper start - Don't allow digging in unloaded chunks -+ if (!worldserver.isChunkLoaded(blockposition.getX() >> 4, blockposition.getZ() >> 4)) { -+ return; -+ } -+ // Paper end - Don't allow digging in unloaded chunks - double d0 = this.player.locX - ((double) blockposition.getX() + 0.5D); - double d1 = this.player.locY - ((double) blockposition.getY() + 0.5D) + 1.5D; - double d2 = this.player.locZ - ((double) blockposition.getZ() + 0.5D); --- -2.22.0 - diff --git a/Spigot-Server-Patches/0340-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0339-Optimize-redstone-algorithm.patch similarity index 99% rename from Spigot-Server-Patches/0340-Optimize-redstone-algorithm.patch rename to Spigot-Server-Patches/0339-Optimize-redstone-algorithm.patch index 1b9ddd066..e7ed67cf2 100644 --- a/Spigot-Server-Patches/0340-Optimize-redstone-algorithm.patch +++ b/Spigot-Server-Patches/0339-Optimize-redstone-algorithm.patch @@ -1,4 +1,4 @@ -From f0ad64d1d07bfcd7e4dee2b707463bc2de37de75 Mon Sep 17 00:00:00 2001 +From 62b4b8f39aa3507325cb971c593ca157a7b1f116 Mon Sep 17 00:00:00 2001 From: theosib Date: Thu, 27 Sep 2018 01:43:35 -0600 Subject: [PATCH] Optimize redstone algorithm @@ -19,7 +19,7 @@ Aside from making the obvious class/function renames and obfhelpers I didn't nee Just added Bukkit's event system and took a few liberties with dead code and comment misspellings. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 2299860b8..91c809b7c 100644 +index 2299860b81..91c809b7ce 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -434,4 +434,14 @@ public class PaperWorldConfig { @@ -39,7 +39,7 @@ index 2299860b8..91c809b7c 100644 } diff --git a/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java new file mode 100644 -index 000000000..cf5661f1c +index 0000000000..cf5661f1c5 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/RedstoneWireTurbo.java @@ -0,0 +1,912 @@ @@ -956,7 +956,7 @@ index 000000000..cf5661f1c + } +} diff --git a/src/main/java/net/minecraft/server/BlockRedstoneWire.java b/src/main/java/net/minecraft/server/BlockRedstoneWire.java -index 7ce9cdb85..6b5015ce5 100644 +index cffb8de4f1..337c03d1d8 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneWire.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneWire.java @@ -1,5 +1,7 @@ @@ -979,7 +979,7 @@ index 7ce9cdb85..6b5015ce5 100644 public BlockRedstoneWire(Block.Info block_info) { super(block_info); @@ -157,6 +159,117 @@ public class BlockRedstoneWire extends Block { - return Block.d(iblockdata1, iworldreader, blockposition1, EnumDirection.UP) || iblockdata1.getBlock() == Blocks.HOPPER; + return iblockdata1.d(iworldreader, blockposition1, EnumDirection.UP) || iblockdata1.getBlock() == Blocks.HOPPER; } + // Paper start - Optimize redstone @@ -1124,7 +1124,7 @@ index 7ce9cdb85..6b5015ce5 100644 c(iblockdata, world, blockposition); world.a(blockposition, false); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 1f28358f9..736871341 100644 +index 1c3285f5c0..ef561cd95b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -594,6 +594,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -1135,12 +1135,12 @@ index 1f28358f9..736871341 100644 public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) { if (!this.isClientSide) { IBlockData iblockdata = this.getType(blockposition); -@@ -1334,6 +1335,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose +@@ -1358,6 +1359,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0)))); } -+ public int isBlockIndirectlyGettingPowered(BlockPosition pos) { return r(pos); } // Paper - OBFHELPER - public int r(BlockPosition blockposition) { ++ public int isBlockIndirectlyGettingPowered(BlockPosition pos) { return this.q(pos); } // Paper - OBFHELPER + public int q(BlockPosition blockposition) { int i = 0; EnumDirection[] aenumdirection = World.a; -- diff --git a/Spigot-Server-Patches/0341-force-entity-dismount-during-teleportation.patch b/Spigot-Server-Patches/0340-force-entity-dismount-during-teleportation.patch similarity index 94% rename from Spigot-Server-Patches/0341-force-entity-dismount-during-teleportation.patch rename to Spigot-Server-Patches/0340-force-entity-dismount-during-teleportation.patch index a45f3bfdd..3a8180186 100644 --- a/Spigot-Server-Patches/0341-force-entity-dismount-during-teleportation.patch +++ b/Spigot-Server-Patches/0340-force-entity-dismount-during-teleportation.patch @@ -1,4 +1,4 @@ -From e58218d68c4a8779a6822d9c649f9ed17fd5f7de Mon Sep 17 00:00:00 2001 +From ffd4c73340c3c2b1368d2d9854dd4d59e7f19a06 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 15 Nov 2018 13:38:37 +0000 Subject: [PATCH] force entity dismount during teleportation @@ -20,7 +20,7 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 44c12d248..bb491a42b 100644 +index 19bbcc043f..75da085969 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2045,12 +2045,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -72,10 +72,10 @@ index 44c12d248..bb491a42b 100644 if (event.isCancelled()) { return false; diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index e003f1c20..61da5d365 100644 +index 598df2239b..d81d11d570 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -937,9 +937,11 @@ public abstract class EntityHuman extends EntityLiving { +@@ -952,9 +952,11 @@ public abstract class EntityHuman extends EntityLiving { return -0.35D; } @@ -91,7 +91,7 @@ index e003f1c20..61da5d365 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 86d3c516b..a8769548f 100644 +index 52bde422b8..192a9a86d1 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -2669,11 +2669,13 @@ public abstract class EntityLiving extends Entity { @@ -112,10 +112,10 @@ index 86d3c516b..a8769548f 100644 this.B(entity); } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index b190515f7..8d21731aa 100644 +index ce585a1774..d3886a6e04 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1002,11 +1002,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1003,11 +1003,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { } } diff --git a/Spigot-Server-Patches/0342-Book-Size-Limits.patch b/Spigot-Server-Patches/0341-Book-Size-Limits.patch similarity index 94% rename from Spigot-Server-Patches/0342-Book-Size-Limits.patch rename to Spigot-Server-Patches/0341-Book-Size-Limits.patch index 461e05b5d..8fc5894f5 100644 --- a/Spigot-Server-Patches/0342-Book-Size-Limits.patch +++ b/Spigot-Server-Patches/0341-Book-Size-Limits.patch @@ -1,4 +1,4 @@ -From 137ac8184abff9074d191227469757828dd7e6da Mon Sep 17 00:00:00 2001 +From 81fc0d1616ca012b5475bedecbe3755cacb579ca Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 16 Nov 2018 23:08:50 -0500 Subject: [PATCH] Book Size Limits @@ -6,7 +6,7 @@ Subject: [PATCH] Book Size Limits Puts some limits on the size of books. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 63d860292..8feb0efdc 100644 +index 63d8602927..8feb0efdcd 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -375,4 +375,11 @@ public class PaperConfig { @@ -22,7 +22,7 @@ index 63d860292..8feb0efdc 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index c8d11ce84..9f9482aa0 100644 +index 45c2777552..04b3791f36 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -14,6 +14,7 @@ import java.util.Iterator; @@ -33,7 +33,7 @@ index c8d11ce84..9f9482aa0 100644 import org.apache.commons.lang3.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -786,6 +787,42 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -787,6 +788,42 @@ public class PlayerConnection implements PacketListenerPlayIn { @Override public void a(PacketPlayInBEdit packetplayinbedit) { diff --git a/Spigot-Server-Patches/0343-Make-the-default-permission-message-configurable.patch b/Spigot-Server-Patches/0342-Make-the-default-permission-message-configurable.patch similarity index 94% rename from Spigot-Server-Patches/0343-Make-the-default-permission-message-configurable.patch rename to Spigot-Server-Patches/0342-Make-the-default-permission-message-configurable.patch index d95e83f7a..73bc99310 100644 --- a/Spigot-Server-Patches/0343-Make-the-default-permission-message-configurable.patch +++ b/Spigot-Server-Patches/0342-Make-the-default-permission-message-configurable.patch @@ -1,11 +1,11 @@ -From 363103fb232cc9fbc05d68032fbfe8e120e6bb7b Mon Sep 17 00:00:00 2001 +From d9ac1f05ff60238411284540f4917dd04ab3b920 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 18 Nov 2018 19:49:56 +0000 Subject: [PATCH] Make the default permission message configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 8feb0efdc..81987e4ad 100644 +index 8feb0efdcd..81987e4ad9 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -21,6 +21,7 @@ import java.util.regex.Pattern; @@ -29,7 +29,7 @@ index 8feb0efdc..81987e4ad 100644 private static void savePlayerData() { savePlayerData = getBoolean("settings.save-player-data", savePlayerData); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f8365d8ba..d2882933d 100644 +index 145de4fe6e..12dbdbf1b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2137,6 +2137,11 @@ public final class CraftServer implements Server { diff --git a/Spigot-Server-Patches/0344-Add-more-Zombie-API.patch b/Spigot-Server-Patches/0343-Add-more-Zombie-API.patch similarity index 88% rename from Spigot-Server-Patches/0344-Add-more-Zombie-API.patch rename to Spigot-Server-Patches/0343-Add-more-Zombie-API.patch index 080df4cbc..b8fe908af 100644 --- a/Spigot-Server-Patches/0344-Add-more-Zombie-API.patch +++ b/Spigot-Server-Patches/0343-Add-more-Zombie-API.patch @@ -1,11 +1,11 @@ -From 1e2bfdb230e09b75fae748065f23c25741e99710 Mon Sep 17 00:00:00 2001 +From 2020a300a9980311b420dff9d43fe18dd424d437 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 04:29:59 -0500 Subject: [PATCH] Add more Zombie API diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 5e88367d3..c73d2ff5d 100644 +index 09112a8b0e..d00e99cdba 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -1247,6 +1247,8 @@ public abstract class EntityInsentient extends EntityLiving { @@ -18,10 +18,10 @@ index 5e88367d3..c73d2ff5d 100644 byte b0 = (Byte) this.datawatcher.get(EntityInsentient.b); diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 5d93af585..552bad052 100644 +index 3542c17e9a..135730156f 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java -@@ -31,6 +31,7 @@ public class EntityZombie extends EntityMonster { +@@ -32,6 +32,7 @@ public class EntityZombie extends EntityMonster { private int bF; public int drownedConversionTime; private int lastTick = MinecraftServer.currentTick; // CraftBukkit - add field @@ -29,7 +29,7 @@ index 5d93af585..552bad052 100644 public EntityZombie(EntityTypes entitytypes, World world) { super(entitytypes, world); -@@ -78,6 +79,7 @@ public class EntityZombie extends EntityMonster { +@@ -79,6 +80,7 @@ public class EntityZombie extends EntityMonster { this.getDataWatcher().register(EntityZombie.DROWN_CONVERTING, false); } @@ -37,7 +37,7 @@ index 5d93af585..552bad052 100644 public boolean isDrownConverting() { return (Boolean) this.getDataWatcher().get(EntityZombie.DROWN_CONVERTING); } -@@ -210,6 +212,13 @@ public class EntityZombie extends EntityMonster { +@@ -211,6 +213,13 @@ public class EntityZombie extends EntityMonster { this.getDataWatcher().set(EntityZombie.DROWN_CONVERTING, true); } @@ -48,10 +48,10 @@ index 5d93af585..552bad052 100644 + } + // Paper end + - protected void eb() { + protected void ea() { this.b(EntityTypes.DROWNED); this.world.a((EntityHuman) null, 1040, new BlockPosition(this), 0); -@@ -254,10 +263,17 @@ public class EntityZombie extends EntityMonster { +@@ -256,10 +265,17 @@ public class EntityZombie extends EntityMonster { } } @@ -70,15 +70,15 @@ index 5d93af585..552bad052 100644 @Override public boolean damageEntity(DamageSource damagesource, float f) { if (super.damageEntity(damagesource, f)) { -@@ -375,6 +391,7 @@ public class EntityZombie extends EntityMonster { - nbttagcompound.setBoolean("CanBreakDoors", this.ee()); +@@ -377,6 +393,7 @@ public class EntityZombie extends EntityMonster { + nbttagcompound.setBoolean("CanBreakDoors", this.ed()); nbttagcompound.setInt("InWaterTime", this.isInWater() ? this.bF : -1); nbttagcompound.setInt("DrownedConversionTime", this.isDrownConverting() ? this.drownedConversionTime : -1); + nbttagcompound.setBoolean("Paper.ShouldBurnInDay", shouldBurnInDay); // Paper } @Override -@@ -389,7 +406,11 @@ public class EntityZombie extends EntityMonster { +@@ -391,7 +408,11 @@ public class EntityZombie extends EntityMonster { if (nbttagcompound.hasKeyOfType("DrownedConversionTime", 99) && nbttagcompound.getInt("DrownedConversionTime") > -1) { this.startDrownedConversion(nbttagcompound.getInt("DrownedConversionTime")); } @@ -92,7 +92,7 @@ index 5d93af585..552bad052 100644 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java -index 0429cf020..c4320dbb6 100644 +index 0429cf020e..c4320dbb67 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftZombie.java @@ -80,4 +80,41 @@ public class CraftZombie extends CraftMonster implements Zombie { diff --git a/Spigot-Server-Patches/0345-Prevent-rayTrace-from-loading-chunks.patch b/Spigot-Server-Patches/0344-Prevent-rayTrace-from-loading-chunks.patch similarity index 93% rename from Spigot-Server-Patches/0345-Prevent-rayTrace-from-loading-chunks.patch rename to Spigot-Server-Patches/0344-Prevent-rayTrace-from-loading-chunks.patch index 004935af4..811cfaf48 100644 --- a/Spigot-Server-Patches/0345-Prevent-rayTrace-from-loading-chunks.patch +++ b/Spigot-Server-Patches/0344-Prevent-rayTrace-from-loading-chunks.patch @@ -1,4 +1,4 @@ -From 68f062ac04bd27daca8c15ac777cc1b4fb15efd8 Mon Sep 17 00:00:00 2001 +From cb816e21011991926e56dea616532d8df8f10a92 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 26 Nov 2018 19:21:58 -0500 Subject: [PATCH] Prevent rayTrace from loading chunks @@ -7,7 +7,7 @@ ray tracing into an unloaded chunk should be treated as a miss this saves a ton of lag for when AI tries to raytrace near unloaded chunks. diff --git a/src/main/java/net/minecraft/server/IBlockAccess.java b/src/main/java/net/minecraft/server/IBlockAccess.java -index 577b22775..c5586e44d 100644 +index 577b227758..c5586e44d4 100644 --- a/src/main/java/net/minecraft/server/IBlockAccess.java +++ b/src/main/java/net/minecraft/server/IBlockAccess.java @@ -41,7 +41,15 @@ public interface IBlockAccess { diff --git a/Spigot-Server-Patches/0346-Handle-Large-Packets-disconnecting-client.patch b/Spigot-Server-Patches/0345-Handle-Large-Packets-disconnecting-client.patch similarity index 93% rename from Spigot-Server-Patches/0346-Handle-Large-Packets-disconnecting-client.patch rename to Spigot-Server-Patches/0345-Handle-Large-Packets-disconnecting-client.patch index 1603ef7e1..05129a663 100644 --- a/Spigot-Server-Patches/0346-Handle-Large-Packets-disconnecting-client.patch +++ b/Spigot-Server-Patches/0345-Handle-Large-Packets-disconnecting-client.patch @@ -1,4 +1,4 @@ -From 4c9233aa8657a100150f84a63dbf720445df7c11 Mon Sep 17 00:00:00 2001 +From b99dd3033f3933d54f796e9b0deabf828e7380b4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 27 Nov 2018 21:18:06 -0500 Subject: [PATCH] Handle Large Packets disconnecting client @@ -7,10 +7,10 @@ If a players inventory is too big to send in a single packet, split the inventory set into multiple packets instead. diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index c073b04aa..1652662ae 100644 +index 046196d54d..d4aad8a5b7 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java -@@ -99,6 +99,15 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -97,6 +97,15 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } public void exceptionCaught(ChannelHandlerContext channelhandlercontext, Throwable throwable) { @@ -27,7 +27,7 @@ index c073b04aa..1652662ae 100644 NetworkManager.LOGGER.debug("Skipping packet due to errors", throwable.getCause()); } else { diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java -index 601d4d0fa..2d8e6a2f4 100644 +index 601d4d0fa2..2d8e6a2f4a 100644 --- a/src/main/java/net/minecraft/server/Packet.java +++ b/src/main/java/net/minecraft/server/Packet.java @@ -10,6 +10,12 @@ public interface Packet { @@ -44,7 +44,7 @@ index 601d4d0fa..2d8e6a2f4 100644 return false; } diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java -index 63c4dbd32..b0cfef52c 100644 +index 63c4dbd327..b0cfef52cb 100644 --- a/src/main/java/net/minecraft/server/PacketEncoder.java +++ b/src/main/java/net/minecraft/server/PacketEncoder.java @@ -49,7 +49,31 @@ public class PacketEncoder extends MessageToByteEncoder> { @@ -80,7 +80,7 @@ index 63c4dbd32..b0cfef52c 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index d19a30ad8..58eccd9c6 100644 +index d19a30ad87..58eccd9c63 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -68,7 +68,7 @@ public class PacketPlayOutMapChunk implements Packet { @@ -93,7 +93,7 @@ index d19a30ad8..58eccd9c6 100644 } else { this.e = new byte[i]; diff --git a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java -index f7c365567..631234324 100644 +index f7c3655671..631234324d 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutWindowItems.java @@ -9,6 +9,15 @@ public class PacketPlayOutWindowItems implements Packet { diff --git a/Spigot-Server-Patches/0347-Lazy-init-world-storage-in-CraftOfflinePlayer.patch b/Spigot-Server-Patches/0346-Lazy-init-world-storage-in-CraftOfflinePlayer.patch similarity index 96% rename from Spigot-Server-Patches/0347-Lazy-init-world-storage-in-CraftOfflinePlayer.patch rename to Spigot-Server-Patches/0346-Lazy-init-world-storage-in-CraftOfflinePlayer.patch index 33b4672ae..4d6ea2639 100644 --- a/Spigot-Server-Patches/0347-Lazy-init-world-storage-in-CraftOfflinePlayer.patch +++ b/Spigot-Server-Patches/0346-Lazy-init-world-storage-in-CraftOfflinePlayer.patch @@ -1,4 +1,4 @@ -From bb6ae177b15538c541022acce1296b1f20a6c35e Mon Sep 17 00:00:00 2001 +From 362f1022d736a4af384ee4d726362fcfa97f11d2 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 11 Dec 2018 22:25:07 -0500 Subject: [PATCH] Lazy init world storage in CraftOfflinePlayer @@ -8,7 +8,7 @@ worlds loaded. This is typically a rare occurrence but probably one that should be covered as best we can. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 6a448c02e..c1ef1c950 100644 +index 6a448c02ec..c1ef1c950d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -25,12 +25,12 @@ import org.bukkit.plugin.Plugin; diff --git a/Spigot-Server-Patches/0348-Add-PlayerConnectionCloseEvent.patch b/Spigot-Server-Patches/0347-Add-PlayerConnectionCloseEvent.patch similarity index 95% rename from Spigot-Server-Patches/0348-Add-PlayerConnectionCloseEvent.patch rename to Spigot-Server-Patches/0347-Add-PlayerConnectionCloseEvent.patch index 5719caa00..2289d55fc 100644 --- a/Spigot-Server-Patches/0348-Add-PlayerConnectionCloseEvent.patch +++ b/Spigot-Server-Patches/0347-Add-PlayerConnectionCloseEvent.patch @@ -1,4 +1,4 @@ -From 0b468ba67e7fa50f924ccd3e7baf7efea2c5ced5 Mon Sep 17 00:00:00 2001 +From 2371a7cce1890e7c955d0dff71803eacbcaf0c16 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 7 Oct 2018 12:05:28 -0700 Subject: [PATCH] Add PlayerConnectionCloseEvent @@ -34,7 +34,7 @@ how PlayerPreLoginEvent interacts with PlayerConnectionCloseEvent is undefined. diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 5d46a975e..9e4bc2405 100644 +index 41b2c90c3a..a8773037e5 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -35,9 +35,9 @@ public class LoginListener implements PacketLoginInListener { @@ -50,10 +50,10 @@ index 5d46a975e..9e4bc2405 100644 private SecretKey loginKey; private EntityPlayer l; diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 1652662ae..23fcdea17 100644 +index d4aad8a5b7..b1dededc15 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java -@@ -346,6 +346,26 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -336,6 +336,26 @@ public class NetworkManager extends SimpleChannelInboundHandler> { this.i().a(new ChatMessage("multiplayer.disconnect.generic", new Object[0])); } this.packetQueue.clear(); // Free up packet queue. diff --git a/Spigot-Server-Patches/0349-Prevent-Enderman-from-loading-chunks.patch b/Spigot-Server-Patches/0348-Prevent-Enderman-from-loading-chunks.patch similarity index 95% rename from Spigot-Server-Patches/0349-Prevent-Enderman-from-loading-chunks.patch rename to Spigot-Server-Patches/0348-Prevent-Enderman-from-loading-chunks.patch index d7487ed1b..fee228079 100644 --- a/Spigot-Server-Patches/0349-Prevent-Enderman-from-loading-chunks.patch +++ b/Spigot-Server-Patches/0348-Prevent-Enderman-from-loading-chunks.patch @@ -1,11 +1,11 @@ -From 84476e23751d1f8c891f103c194f4a0e2f7dc59a Mon Sep 17 00:00:00 2001 +From 27a2999cffd04b8c7d4310a2aba040bad333a70a Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 18 Dec 2018 02:15:08 +0000 Subject: [PATCH] Prevent Enderman from loading chunks diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java -index 9f2c339ae..0989c07cf 100644 +index 2d29da8560..a94ed1ae08 100644 --- a/src/main/java/net/minecraft/server/EntityEnderman.java +++ b/src/main/java/net/minecraft/server/EntityEnderman.java @@ -325,7 +325,8 @@ public class EntityEnderman extends EntityMonster { diff --git a/Spigot-Server-Patches/0350-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/Spigot-Server-Patches/0349-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch similarity index 96% rename from Spigot-Server-Patches/0350-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch rename to Spigot-Server-Patches/0349-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index c882b6350..741612d29 100644 --- a/Spigot-Server-Patches/0350-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/Spigot-Server-Patches/0349-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -1,4 +1,4 @@ -From af2bb9f0da4a9dda2edaba09843d6a6d80f1fd54 Mon Sep 17 00:00:00 2001 +From fbf880a67801f0006d7f2a5b73b0703723cee401 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 2 Jan 2019 00:35:43 -0600 Subject: [PATCH] Add APIs to replace OfflinePlayer#getLastPlayed @@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 8d21731aa..ce4ffe01b 100644 +index d3886a6e04..2d4021784f 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -75,6 +75,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -28,7 +28,7 @@ index 8d21731aa..ce4ffe01b 100644 public boolean queueHealthUpdatePacket = false; public net.minecraft.server.PacketPlayOutUpdateHealth queuedHealthUpdatePacket; diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 049d702cb..52aa83f51 100644 +index 049d702cb9..52aa83f51f 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -94,6 +94,7 @@ public abstract class PlayerList { @@ -40,7 +40,7 @@ index 049d702cb..52aa83f51 100644 UserCache usercache = this.server.getUserCache(); GameProfile gameprofile1 = usercache.a(gameprofile.getId()); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index c1ef1c950..3824180ee 100644 +index c1ef1c950d..3824180ee5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -256,6 +256,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -106,7 +106,7 @@ index c1ef1c950..3824180ee 100644 public Location getBedSpawnLocation() { NBTTagCompound data = getData(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3dd0ae0ca..de1b874f3 100644 +index 3d60e98749..ea4e569e5a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -140,6 +140,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0351-Fix-PlayerEditBookEvent.patch b/Spigot-Server-Patches/0350-Fix-PlayerEditBookEvent.patch similarity index 91% rename from Spigot-Server-Patches/0351-Fix-PlayerEditBookEvent.patch rename to Spigot-Server-Patches/0350-Fix-PlayerEditBookEvent.patch index 3e039091f..a59c26a28 100644 --- a/Spigot-Server-Patches/0351-Fix-PlayerEditBookEvent.patch +++ b/Spigot-Server-Patches/0350-Fix-PlayerEditBookEvent.patch @@ -1,4 +1,4 @@ -From 18fc707d6472cb98f496230b422df1ac47d76b13 Mon Sep 17 00:00:00 2001 +From 44ae12a7d53c10c379fa90acf6bca14230a83b4a Mon Sep 17 00:00:00 2001 From: Michael Himing Date: Sun, 16 Dec 2018 13:07:33 +1100 Subject: [PATCH] Fix PlayerEditBookEvent @@ -10,10 +10,10 @@ it impossible to properly cancel the event or modify the book meta cancelled writing diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 9f9482aa0..fad7f0df3 100644 +index 04b3791f36..4a1565f4f7 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -862,9 +862,11 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -863,9 +863,11 @@ public class PlayerConnection implements PacketListenerPlayIn { itemstack2.a("pages", (NBTBase) nbttaglist); this.player.a(packetplayinbedit.d(), CraftEventFactory.handleEditBookEvent(player, enumitemslot, itemstack1, itemstack2)); // CraftBukkit } else { diff --git a/Spigot-Server-Patches/0352-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/Spigot-Server-Patches/0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch similarity index 84% rename from Spigot-Server-Patches/0352-Workaround-for-vehicle-tracking-issue-on-disconnect.patch rename to Spigot-Server-Patches/0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index de2ca6164..4b4578c31 100644 --- a/Spigot-Server-Patches/0352-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/Spigot-Server-Patches/0351-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -1,14 +1,14 @@ -From 51f6d38524dd8d1030e4548c8099092149c5f7af Mon Sep 17 00:00:00 2001 +From 5acc68c089999360bd54db52b7ba91452319600c Mon Sep 17 00:00:00 2001 From: connorhartley Date: Mon, 7 Jan 2019 14:43:48 -0600 Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index ce4ffe01b..7c8774d22 100644 +index 2d4021784f..296d6cb1ce 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -1285,6 +1285,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1286,6 +1286,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { public void n() { this.ct = true; this.ejectPassengers(); diff --git a/Spigot-Server-Patches/0353-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch b/Spigot-Server-Patches/0352-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch similarity index 96% rename from Spigot-Server-Patches/0353-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch rename to Spigot-Server-Patches/0352-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch index de4eecc7b..7356c9f2c 100644 --- a/Spigot-Server-Patches/0353-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch +++ b/Spigot-Server-Patches/0352-Fire-BlockPistonRetractEvent-for-all-empty-pistons.patch @@ -1,4 +1,4 @@ -From 2c7c3abd9de974a09f80ff02c140fa615a8ccdf0 Mon Sep 17 00:00:00 2001 +From cc9dd8d543e2fe21fb8323e6e61f5a69511c9717 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 31 Jan 2019 16:33:36 -0500 Subject: [PATCH] Fire BlockPistonRetractEvent for all empty pistons @@ -24,7 +24,7 @@ Instead we opt to remove the check entirely so that the event fires for all piston types. diff --git a/src/main/java/net/minecraft/server/BlockPiston.java b/src/main/java/net/minecraft/server/BlockPiston.java -index b41750f22..d548b27b8 100644 +index e883c7ac98..de804348f3 100644 --- a/src/main/java/net/minecraft/server/BlockPiston.java +++ b/src/main/java/net/minecraft/server/BlockPiston.java @@ -121,7 +121,7 @@ public class BlockPiston extends BlockDirectional { diff --git a/Spigot-Server-Patches/0354-Block-Entity-remove-from-being-called-on-Players.patch b/Spigot-Server-Patches/0353-Block-Entity-remove-from-being-called-on-Players.patch similarity index 93% rename from Spigot-Server-Patches/0354-Block-Entity-remove-from-being-called-on-Players.patch rename to Spigot-Server-Patches/0353-Block-Entity-remove-from-being-called-on-Players.patch index 681300389..83e63c292 100644 --- a/Spigot-Server-Patches/0354-Block-Entity-remove-from-being-called-on-Players.patch +++ b/Spigot-Server-Patches/0353-Block-Entity-remove-from-being-called-on-Players.patch @@ -1,4 +1,4 @@ -From b3af6b8e115f7e055a3c09f73ee67911a84924e4 Mon Sep 17 00:00:00 2001 +From 58a6589c6b293c796a0b9f5ae7840bda4912a497 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 4 Feb 2019 23:33:24 -0500 Subject: [PATCH] Block Entity#remove from being called on Players @@ -12,7 +12,7 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index de1b874f3..9cf6330ab 100644 +index ea4e569e5a..15c874fc82 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1974,6 +1974,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0355-Allow-Saving-of-Oversized-Chunks.patch b/Spigot-Server-Patches/0354-Allow-Saving-of-Oversized-Chunks.patch similarity index 99% rename from Spigot-Server-Patches/0355-Allow-Saving-of-Oversized-Chunks.patch rename to Spigot-Server-Patches/0354-Allow-Saving-of-Oversized-Chunks.patch index f761a4997..ed9542a87 100644 --- a/Spigot-Server-Patches/0355-Allow-Saving-of-Oversized-Chunks.patch +++ b/Spigot-Server-Patches/0354-Allow-Saving-of-Oversized-Chunks.patch @@ -1,4 +1,4 @@ -From 24a26c7b4b4790379ed0595237208dbf27286107 Mon Sep 17 00:00:00 2001 +From 2d05bd7f3624fb882fd0eee352819bafc6876d5a Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 15 Feb 2019 01:08:19 -0500 Subject: [PATCH] Allow Saving of Oversized Chunks @@ -31,7 +31,7 @@ this fix, as the data will remain in the oversized file. Once the server returns to a jar with this fix, the data will be restored. diff --git a/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java b/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java -index 9fd8a75da..d49afd622 100644 +index 9fd8a75dae..d49afd622e 100644 --- a/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java +++ b/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java @@ -69,6 +69,7 @@ public class NBTCompressedStreamTools { @@ -51,7 +51,7 @@ index 9fd8a75da..d49afd622 100644 a((NBTBase) nbttagcompound, dataoutput); } diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index b7c94fe23..80eea5dfb 100644 +index b7c94fe238..80eea5dfbd 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -11,7 +11,7 @@ import java.util.Objects; @@ -64,7 +64,7 @@ index b7c94fe23..80eea5dfb 100644 public NBTTagList() {} diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index e68f90194..ed2ccebb2 100644 +index e68f901943..ed2ccebb23 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -23,7 +23,7 @@ public class RegionFile implements AutoCloseable { @@ -286,7 +286,7 @@ index e68f90194..ed2ccebb2 100644 + } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 871881165..c53518a47 100644 +index 8718811655..c53518a477 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -47,6 +47,7 @@ public abstract class RegionFileCache implements AutoCloseable { diff --git a/Spigot-Server-Patches/0356-BlockDestroyEvent.patch b/Spigot-Server-Patches/0355-BlockDestroyEvent.patch similarity index 95% rename from Spigot-Server-Patches/0356-BlockDestroyEvent.patch rename to Spigot-Server-Patches/0355-BlockDestroyEvent.patch index 3888be261..b7fb22d8b 100644 --- a/Spigot-Server-Patches/0356-BlockDestroyEvent.patch +++ b/Spigot-Server-Patches/0355-BlockDestroyEvent.patch @@ -1,4 +1,4 @@ -From 975f773e046e02c797f9023c118b24cba15256f5 Mon Sep 17 00:00:00 2001 +From 5cf46619cee7f54e790731dc27455a63ed09046a Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 6 Feb 2019 00:20:33 -0500 Subject: [PATCH] BlockDestroyEvent @@ -11,7 +11,7 @@ floating in the air. This can replace many uses of BlockPhysicsEvent diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 736871341..3269d095b 100644 +index ef561cd95b..dad0c893fd 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -524,8 +524,20 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose diff --git a/Spigot-Server-Patches/0357-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch b/Spigot-Server-Patches/0356-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch similarity index 96% rename from Spigot-Server-Patches/0357-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch rename to Spigot-Server-Patches/0356-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch index 8bccee90f..966bee56d 100644 --- a/Spigot-Server-Patches/0357-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch +++ b/Spigot-Server-Patches/0356-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch @@ -1,4 +1,4 @@ -From 72f072423249e1c616dd08a22098ea7ff486e14d Mon Sep 17 00:00:00 2001 +From b5b1f6e3dc91f247f2ad51aaeb653c27366f0644 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Jan 2019 00:08:15 -0500 Subject: [PATCH] Fix Custom Shapeless Custom Crafting Recipes @@ -10,7 +10,7 @@ This made the Bukkit RecipeChoice API not work for Shapeless. This reimplements vanilla logic using the same test logic as Shaped diff --git a/src/main/java/net/minecraft/server/ShapelessRecipes.java b/src/main/java/net/minecraft/server/ShapelessRecipes.java -index 070fc1e3e..691e697d6 100644 +index 070fc1e3ec..691e697d68 100644 --- a/src/main/java/net/minecraft/server/ShapelessRecipes.java +++ b/src/main/java/net/minecraft/server/ShapelessRecipes.java @@ -63,16 +63,46 @@ public class ShapelessRecipes implements RecipeCrafting { diff --git a/Spigot-Server-Patches/0358-Fix-sign-edit-memory-leak.patch b/Spigot-Server-Patches/0357-Fix-sign-edit-memory-leak.patch similarity index 91% rename from Spigot-Server-Patches/0358-Fix-sign-edit-memory-leak.patch rename to Spigot-Server-Patches/0357-Fix-sign-edit-memory-leak.patch index 194723eb3..f2c6fd131 100644 --- a/Spigot-Server-Patches/0358-Fix-sign-edit-memory-leak.patch +++ b/Spigot-Server-Patches/0357-Fix-sign-edit-memory-leak.patch @@ -1,4 +1,4 @@ -From 012b28b509ec32e0d168433065b884fd4df48d8c Mon Sep 17 00:00:00 2001 +From beebdba19e6511374001cd8844b683177acca066 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 Feb 2019 00:15:28 -0500 Subject: [PATCH] Fix sign edit memory leak @@ -6,10 +6,10 @@ Subject: [PATCH] Fix sign edit memory leak when a player edits a sign, a reference to their Entity is never cleand up. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index fad7f0df3..67b3e2c97 100644 +index 4a1565f4f7..6030766099 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2572,7 +2572,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2535,7 +2535,7 @@ public class PlayerConnection implements PacketListenerPlayIn { TileEntitySign tileentitysign = (TileEntitySign) tileentity; @@ -19,7 +19,7 @@ index fad7f0df3..67b3e2c97 100644 this.sendPacket(tileentity.getUpdatePacket()); // CraftBukkit return; diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index 275b82b10..281a2a88b 100644 +index 1b01792730..c7aa3b350a 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -17,6 +17,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // diff --git a/Spigot-Server-Patches/0359-Limit-Client-Sign-length-more.patch b/Spigot-Server-Patches/0358-Limit-Client-Sign-length-more.patch similarity index 94% rename from Spigot-Server-Patches/0359-Limit-Client-Sign-length-more.patch rename to Spigot-Server-Patches/0358-Limit-Client-Sign-length-more.patch index 2c7777057..6880da918 100644 --- a/Spigot-Server-Patches/0359-Limit-Client-Sign-length-more.patch +++ b/Spigot-Server-Patches/0358-Limit-Client-Sign-length-more.patch @@ -1,4 +1,4 @@ -From 6f6d54f82ce1cf3de5e2febd02bcbb0278ededb3 Mon Sep 17 00:00:00 2001 +From a1a2b52dc73803c37e1cdfc526200f9dc242593e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Feb 2019 22:18:40 -0500 Subject: [PATCH] Limit Client Sign length more @@ -22,7 +22,7 @@ it only impacts data sent from the client. Set -DPaper.maxSignLength=XX to change limit or -1 to disable diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 67b3e2c97..767acc5a7 100644 +index 6030766099..b030269f0a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -103,6 +103,7 @@ public class PlayerConnection implements PacketListenerPlayIn { @@ -33,7 +33,7 @@ index 67b3e2c97..767acc5a7 100644 private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit public PlayerConnection(MinecraftServer minecraftserver, NetworkManager networkmanager, EntityPlayer entityplayer) { -@@ -2588,6 +2589,15 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -2551,6 +2552,15 @@ public class PlayerConnection implements PacketListenerPlayIn { String[] lines = new String[4]; for (int i = 0; i < astring.length; ++i) { diff --git a/Spigot-Server-Patches/0360-Don-t-check-ConvertSigns-boolean-every-sign-save.patch b/Spigot-Server-Patches/0359-Don-t-check-ConvertSigns-boolean-every-sign-save.patch similarity index 93% rename from Spigot-Server-Patches/0360-Don-t-check-ConvertSigns-boolean-every-sign-save.patch rename to Spigot-Server-Patches/0359-Don-t-check-ConvertSigns-boolean-every-sign-save.patch index 18d782351..1b16980cc 100644 --- a/Spigot-Server-Patches/0360-Don-t-check-ConvertSigns-boolean-every-sign-save.patch +++ b/Spigot-Server-Patches/0359-Don-t-check-ConvertSigns-boolean-every-sign-save.patch @@ -1,4 +1,4 @@ -From f08d9c503ded639c3435d2e32dd790e7fa12bcbf Mon Sep 17 00:00:00 2001 +From 78e1b7306f6b982a5d69a09cde244cf3e28a9043 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 2 Mar 2019 11:11:29 -0500 Subject: [PATCH] Don't check ConvertSigns boolean every sign save @@ -7,7 +7,7 @@ property lookups arent super cheap. they synchronize, validate and check security managers. diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java -index 281a2a88b..7e5d81593 100644 +index c7aa3b350a..0a8d9b52dd 100644 --- a/src/main/java/net/minecraft/server/TileEntitySign.java +++ b/src/main/java/net/minecraft/server/TileEntitySign.java @@ -18,6 +18,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { // diff --git a/Spigot-Server-Patches/0361-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch b/Spigot-Server-Patches/0360-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch similarity index 93% rename from Spigot-Server-Patches/0361-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch rename to Spigot-Server-Patches/0360-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch index 391566a8c..cf101ec1e 100644 --- a/Spigot-Server-Patches/0361-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch +++ b/Spigot-Server-Patches/0360-Handle-Excessive-Signs-in-Chunks-creating-too-large-.patch @@ -1,4 +1,4 @@ -From d2140ba4accc710336ec38125f9119a5bdccd8c5 Mon Sep 17 00:00:00 2001 +From 331562f54c78c10872ec4960edd8b36dd7a6619b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 2 Mar 2019 14:55:01 -0500 Subject: [PATCH] Handle Excessive Signs in Chunks creating too large of @@ -11,10 +11,10 @@ Use -DPaper.excessiveSignsLimit=500 to configure that limit, or -1 to disable the limit and let your players be abused. diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 23fcdea17..ba23d2833 100644 +index b1dededc15..e156804f7a 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java -@@ -220,6 +220,15 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -212,6 +212,15 @@ public class NetworkManager extends SimpleChannelInboundHandler> { }); } @@ -31,7 +31,7 @@ index 23fcdea17..ba23d2833 100644 private void sendPacketQueue() { this.o(); } // Paper - OBFHELPER diff --git a/src/main/java/net/minecraft/server/Packet.java b/src/main/java/net/minecraft/server/Packet.java -index 2d8e6a2f4..8d0965a05 100644 +index 2d8e6a2f4a..8d0965a053 100644 --- a/src/main/java/net/minecraft/server/Packet.java +++ b/src/main/java/net/minecraft/server/Packet.java @@ -11,6 +11,7 @@ public interface Packet { @@ -43,7 +43,7 @@ index 2d8e6a2f4..8d0965a05 100644 return false; } diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index 58eccd9c6..ef71a1feb 100644 +index 58eccd9c63..ef71a1feb3 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -20,6 +20,15 @@ public class PacketPlayOutMapChunk implements Packet { diff --git a/Spigot-Server-Patches/0362-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/Spigot-Server-Patches/0361-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch similarity index 95% rename from Spigot-Server-Patches/0362-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch rename to Spigot-Server-Patches/0361-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch index fab02459a..09b1033eb 100644 --- a/Spigot-Server-Patches/0362-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch +++ b/Spigot-Server-Patches/0361-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch @@ -1,4 +1,4 @@ -From 7949780e1a42aa3e6ef27472e252d1d82f8b1f68 Mon Sep 17 00:00:00 2001 +From f936e3036737be2b1248454ca5569fb2d32f4a2c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 2 Mar 2019 16:12:35 -0500 Subject: [PATCH] MC-145260: Fix Whitelist On/Off inconsistency @@ -11,7 +11,7 @@ everything to the Whitelist object. https://github.com/PaperMC/Paper/issues/1880 diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java -index 8570e38f4..c97be42dd 100644 +index 8570e38f42..c97be42dd7 100644 --- a/src/main/java/net/minecraft/server/JsonList.java +++ b/src/main/java/net/minecraft/server/JsonList.java @@ -64,6 +64,7 @@ public class JsonList> { @@ -23,7 +23,7 @@ index 8570e38f4..c97be42dd 100644 this.e = flag; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 52aa83f51..0da3f95f8 100644 +index 52aa83f51f..0da3f95f89 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -62,7 +62,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0363-Set-Zombie-last-tick-at-start-of-drowning-process.patch b/Spigot-Server-Patches/0362-Set-Zombie-last-tick-at-start-of-drowning-process.patch similarity index 82% rename from Spigot-Server-Patches/0363-Set-Zombie-last-tick-at-start-of-drowning-process.patch rename to Spigot-Server-Patches/0362-Set-Zombie-last-tick-at-start-of-drowning-process.patch index e18143018..3194af6fb 100644 --- a/Spigot-Server-Patches/0363-Set-Zombie-last-tick-at-start-of-drowning-process.patch +++ b/Spigot-Server-Patches/0362-Set-Zombie-last-tick-at-start-of-drowning-process.patch @@ -1,4 +1,4 @@ -From 7e36fbe2ab5ed318e19a58d28347ae545f8b232a Mon Sep 17 00:00:00 2001 +From 760e61084fd5628a70d0bfc31afe90025ba51a5c Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 4 Mar 2019 02:23:28 -0500 Subject: [PATCH] Set Zombie last tick at start of drowning process @@ -6,10 +6,10 @@ Subject: [PATCH] Set Zombie last tick at start of drowning process Fixes GH-1887 diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 552bad052..2a3997149 100644 +index 135730156f..5950f3ebd0 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java -@@ -167,6 +167,7 @@ public class EntityZombie extends EntityMonster { +@@ -168,6 +168,7 @@ public class EntityZombie extends EntityMonster { ++this.bF; if (this.bF >= 600) { this.startDrownedConversion(300); diff --git a/Spigot-Server-Patches/0364-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/Spigot-Server-Patches/0363-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch similarity index 87% rename from Spigot-Server-Patches/0364-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch rename to Spigot-Server-Patches/0363-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 483dac676..cb3eb0694 100644 --- a/Spigot-Server-Patches/0364-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/Spigot-Server-Patches/0363-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch @@ -1,11 +1,11 @@ -From e4afa9dc216bc0da8edb4dd92ba7aaa46fe3190a Mon Sep 17 00:00:00 2001 +From 2247e4c12ed86bbd819042f1bfe93d01b4f1651a Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Wed, 13 Mar 2019 20:08:09 +0200 Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 0da3f95f8..65df0e7c8 100644 +index 0da3f95f89..65df0e7c8c 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1034,6 +1034,7 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0365-Add-LivingEntity-getTargetEntity.patch b/Spigot-Server-Patches/0364-Add-LivingEntity-getTargetEntity.patch similarity index 96% rename from Spigot-Server-Patches/0365-Add-LivingEntity-getTargetEntity.patch rename to Spigot-Server-Patches/0364-Add-LivingEntity-getTargetEntity.patch index 628ba0941..ce3653102 100644 --- a/Spigot-Server-Patches/0365-Add-LivingEntity-getTargetEntity.patch +++ b/Spigot-Server-Patches/0364-Add-LivingEntity-getTargetEntity.patch @@ -1,11 +1,11 @@ -From cb0a150f6bc158cccb7c94a9f7976c18ea8df93b Mon Sep 17 00:00:00 2001 +From 9f6a1c486a41aa4246ef8622be3e3534ab03ae3a Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 22 Sep 2018 00:33:08 -0500 Subject: [PATCH] Add LivingEntity#getTargetEntity diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java -index 4f60b931a..c950139c0 100644 +index 4f60b931a1..c950139c0f 100644 --- a/src/main/java/net/minecraft/server/AxisAlignedBB.java +++ b/src/main/java/net/minecraft/server/AxisAlignedBB.java @@ -108,6 +108,7 @@ public class AxisAlignedBB { @@ -46,7 +46,7 @@ index 4f60b931a..c950139c0 100644 double[] adouble = new double[]{1.0D}; double d0 = vec3d1.x - vec3d.x; diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index bb491a42b..7c2005e76 100644 +index 75da085969..046e7e031c 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1497,6 +1497,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -66,7 +66,7 @@ index bb491a42b..7c2005e76 100644 return 0.0F; } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index a8769548f..d44ea9ec5 100644 +index 192a9a86d1..251afcc1bb 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -3225,6 +3225,37 @@ public abstract class EntityLiving extends Entity { @@ -108,7 +108,7 @@ index a8769548f..d44ea9ec5 100644 public int getShieldBlockingDelay() { diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java -index d207e787a..467efdfc8 100644 +index 9bf1919451..56488b78dd 100644 --- a/src/main/java/net/minecraft/server/IEntitySelector.java +++ b/src/main/java/net/minecraft/server/IEntitySelector.java @@ -18,6 +18,7 @@ public final class IEntitySelector { @@ -120,7 +120,7 @@ index d207e787a..467efdfc8 100644 return !entity.isSpectator(); }; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index d5c4115a8..c4aa1945f 100644 +index d5c4115a85..c4aa1945ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -202,6 +202,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/Spigot-Server-Patches/0366-Use-proper-max-length-when-serialising-BungeeCord-te.patch b/Spigot-Server-Patches/0365-Use-proper-max-length-when-serialising-BungeeCord-te.patch similarity index 94% rename from Spigot-Server-Patches/0366-Use-proper-max-length-when-serialising-BungeeCord-te.patch rename to Spigot-Server-Patches/0365-Use-proper-max-length-when-serialising-BungeeCord-te.patch index c3cf2224f..ab47e9780 100644 --- a/Spigot-Server-Patches/0366-Use-proper-max-length-when-serialising-BungeeCord-te.patch +++ b/Spigot-Server-Patches/0365-Use-proper-max-length-when-serialising-BungeeCord-te.patch @@ -1,4 +1,4 @@ -From a4e1cd2248a90f088ce52c2b64dea62ff22268c3 Mon Sep 17 00:00:00 2001 +From 346fc5c87003b5fafdddc35030c4b74e02beed34 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 20 Mar 2019 21:19:29 -0700 Subject: [PATCH] Use proper max length when serialising BungeeCord text @@ -6,7 +6,7 @@ Subject: [PATCH] Use proper max length when serialising BungeeCord text diff --git a/src/main/java/net/minecraft/server/PacketPlayOutChat.java b/src/main/java/net/minecraft/server/PacketPlayOutChat.java -index 0ab611564..f7b2095bb 100644 +index 0ab611564e..f7b2095bb7 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutChat.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutChat.java @@ -3,7 +3,7 @@ package net.minecraft.server; diff --git a/Spigot-Server-Patches/0367-Entity-getEntitySpawnReason.patch b/Spigot-Server-Patches/0366-Entity-getEntitySpawnReason.patch similarity index 95% rename from Spigot-Server-Patches/0367-Entity-getEntitySpawnReason.patch rename to Spigot-Server-Patches/0366-Entity-getEntitySpawnReason.patch index 5dd971a79..490b3f46a 100644 --- a/Spigot-Server-Patches/0367-Entity-getEntitySpawnReason.patch +++ b/Spigot-Server-Patches/0366-Entity-getEntitySpawnReason.patch @@ -1,4 +1,4 @@ -From 2e74dcfcf133b718c7eb957376d1495a1a81922a Mon Sep 17 00:00:00 2001 +From c12e1a7c9bfb513528472d0850042afa191da2a9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 00:24:52 -0400 Subject: [PATCH] Entity#getEntitySpawnReason @@ -10,7 +10,7 @@ persistenting Living Entity, SPAWNER for spawners, or DEFAULT since data was not stored. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7c2005e76..04d4f358f 100644 +index 046e7e031c..f87514a200 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -68,6 +68,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -59,7 +59,7 @@ index 7c2005e76..04d4f358f 100644 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 65df0e7c8..abddc8895 100644 +index 65df0e7c8c..abddc8895e 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -250,7 +250,7 @@ public abstract class PlayerList { @@ -72,10 +72,10 @@ index 65df0e7c8..abddc8895 100644 }); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 9a3690d66..f992fc34c 100644 +index fd878801b3..3734613efe 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -941,6 +941,7 @@ public class WorldServer extends World { +@@ -937,6 +937,7 @@ public class WorldServer extends World { // CraftBukkit start private boolean addEntity0(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp( "entity add"); // Spigot @@ -84,7 +84,7 @@ index 9a3690d66..f992fc34c 100644 if (entity.dead) { // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 1cd3448e5..15042943c 100644 +index 1cd3448e57..15042943c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1053,5 +1053,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/Spigot-Server-Patches/0368-Update-entity-Metadata-for-all-tracked-players.patch b/Spigot-Server-Patches/0367-Update-entity-Metadata-for-all-tracked-players.patch similarity index 89% rename from Spigot-Server-Patches/0368-Update-entity-Metadata-for-all-tracked-players.patch rename to Spigot-Server-Patches/0367-Update-entity-Metadata-for-all-tracked-players.patch index b5b481bb6..bfc670c66 100644 --- a/Spigot-Server-Patches/0368-Update-entity-Metadata-for-all-tracked-players.patch +++ b/Spigot-Server-Patches/0367-Update-entity-Metadata-for-all-tracked-players.patch @@ -1,11 +1,11 @@ -From f23c5ef2752ea4d0b2a430c72eae3838130e3901 Mon Sep 17 00:00:00 2001 +From 3408da94a3a428e0304b92ff3cdbd81bfc5df56e Mon Sep 17 00:00:00 2001 From: AgentTroll Date: Fri, 22 Mar 2019 22:24:03 -0700 Subject: [PATCH] Update entity Metadata for all tracked players diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index cd7e0299a..460c687d3 100644 +index cd7e0299ac..460c687d3e 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -379,6 +379,12 @@ public class EntityTrackerEntry { @@ -22,10 +22,10 @@ index cd7e0299a..460c687d3 100644 this.f.accept(packet); if (this.tracker instanceof EntityPlayer) { diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 767acc5a7..e4c0fa424 100644 +index b030269f0a..79054b4519 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2032,7 +2032,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -1995,7 +1995,7 @@ public class PlayerConnection implements PacketListenerPlayIn { if (event.isCancelled() || this.player.inventory.getItemInHand() == null || this.player.inventory.getItemInHand().getItem() != origItem) { // Refresh the current entity metadata diff --git a/Spigot-Server-Patches/0369-Fire-event-on-GS4-query.patch b/Spigot-Server-Patches/0368-Fire-event-on-GS4-query.patch similarity index 98% rename from Spigot-Server-Patches/0369-Fire-event-on-GS4-query.patch rename to Spigot-Server-Patches/0368-Fire-event-on-GS4-query.patch index 5e9af55c0..b8c763256 100644 --- a/Spigot-Server-Patches/0369-Fire-event-on-GS4-query.patch +++ b/Spigot-Server-Patches/0368-Fire-event-on-GS4-query.patch @@ -1,11 +1,11 @@ -From 8256b22de88e63b135e9f67d82b1d1fd59f1cc77 Mon Sep 17 00:00:00 2001 +From 5f7d0017011a5ee2a1f0915926e5cc1b464d6abd Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Sun, 17 Mar 2019 21:46:56 +0200 Subject: [PATCH] Fire event on GS4 query diff --git a/src/main/java/net/minecraft/server/RemoteConnectionThread.java b/src/main/java/net/minecraft/server/RemoteConnectionThread.java -index 66bfbcf02..d821ef9a7 100644 +index 66bfbcf02b..d821ef9a75 100644 --- a/src/main/java/net/minecraft/server/RemoteConnectionThread.java +++ b/src/main/java/net/minecraft/server/RemoteConnectionThread.java @@ -15,7 +15,7 @@ public abstract class RemoteConnectionThread implements Runnable { @@ -26,7 +26,7 @@ index 66bfbcf02..d821ef9a7 100644 return this.b.getPlayerCount(); } diff --git a/src/main/java/net/minecraft/server/RemoteStatusListener.java b/src/main/java/net/minecraft/server/RemoteStatusListener.java -index a556a7133..67e94a6f0 100644 +index a556a71334..67e94a6f07 100644 --- a/src/main/java/net/minecraft/server/RemoteStatusListener.java +++ b/src/main/java/net/minecraft/server/RemoteStatusListener.java @@ -21,19 +21,19 @@ public class RemoteStatusListener extends RemoteConnectionThread { @@ -184,7 +184,7 @@ index a556a7133..67e94a6f0 100644 } } diff --git a/src/main/java/net/minecraft/server/RemoteStatusReply.java b/src/main/java/net/minecraft/server/RemoteStatusReply.java -index 848b5c3f0..73efea7e1 100644 +index 848b5c3f0e..73efea7e13 100644 --- a/src/main/java/net/minecraft/server/RemoteStatusReply.java +++ b/src/main/java/net/minecraft/server/RemoteStatusReply.java @@ -18,15 +18,27 @@ public class RemoteStatusReply { diff --git a/Spigot-Server-Patches/0370-Implement-PlayerPostRespawnEvent.patch b/Spigot-Server-Patches/0369-Implement-PlayerPostRespawnEvent.patch similarity index 95% rename from Spigot-Server-Patches/0370-Implement-PlayerPostRespawnEvent.patch rename to Spigot-Server-Patches/0369-Implement-PlayerPostRespawnEvent.patch index db405d841..2103ec339 100644 --- a/Spigot-Server-Patches/0370-Implement-PlayerPostRespawnEvent.patch +++ b/Spigot-Server-Patches/0369-Implement-PlayerPostRespawnEvent.patch @@ -1,11 +1,11 @@ -From 05256c22933dd74cce5a27ac0b3ad4dc0b566167 Mon Sep 17 00:00:00 2001 +From 7b7c6d55b413eeb9a74ac496314f5670f4b884cd Mon Sep 17 00:00:00 2001 From: MisterVector Date: Fri, 26 Oct 2018 21:31:00 -0700 Subject: [PATCH] Implement PlayerPostRespawnEvent diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index abddc8895..a183bb450 100644 +index abddc8895e..a183bb450d 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -637,9 +637,14 @@ public abstract class PlayerList { diff --git a/Spigot-Server-Patches/0371-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch b/Spigot-Server-Patches/0370-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch similarity index 93% rename from Spigot-Server-Patches/0371-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch rename to Spigot-Server-Patches/0370-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch index a86d955e6..a26410309 100644 --- a/Spigot-Server-Patches/0371-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch +++ b/Spigot-Server-Patches/0370-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch @@ -1,4 +1,4 @@ -From cc1e9fe3c77c40d4c5352190286427aaa8eb1e9f Mon Sep 17 00:00:00 2001 +From b4ca29ecbed23d7c2d09e89fa3e224678f4a141c Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 18:09:20 -0400 Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items @@ -6,7 +6,7 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items vanilla checks for == 0 diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 6e026d34f..209169895 100644 +index 6e026d34f0..2091698953 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -59,6 +59,7 @@ public class EntityItem extends Entity { diff --git a/Spigot-Server-Patches/0372-Implement-getters-and-setters-for-EntityItem-owner-a.patch b/Spigot-Server-Patches/0371-Implement-getters-and-setters-for-EntityItem-owner-a.patch similarity index 93% rename from Spigot-Server-Patches/0372-Implement-getters-and-setters-for-EntityItem-owner-a.patch rename to Spigot-Server-Patches/0371-Implement-getters-and-setters-for-EntityItem-owner-a.patch index 0371be83e..8d2d4f9ea 100644 --- a/Spigot-Server-Patches/0372-Implement-getters-and-setters-for-EntityItem-owner-a.patch +++ b/Spigot-Server-Patches/0371-Implement-getters-and-setters-for-EntityItem-owner-a.patch @@ -1,4 +1,4 @@ -From cd015a142bf82396e26b9c5cedc8e1aa174717d5 Mon Sep 17 00:00:00 2001 +From 3a20b44acacbc7b96b475d29da37133f72475b63 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 6 Oct 2018 20:54:23 -0500 Subject: [PATCH] Implement getters and setters for EntityItem owner and @@ -6,7 +6,7 @@ Subject: [PATCH] Implement getters and setters for EntityItem owner and diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index 3f552b590..cb756b1ba 100644 +index 3f552b5905..cb756b1ba0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -8,6 +8,11 @@ import org.bukkit.entity.EntityType; diff --git a/Spigot-Server-Patches/0373-Server-Tick-Events.patch b/Spigot-Server-Patches/0372-Server-Tick-Events.patch similarity index 86% rename from Spigot-Server-Patches/0373-Server-Tick-Events.patch rename to Spigot-Server-Patches/0372-Server-Tick-Events.patch index 4c2bb14a4..c3e03acd3 100644 --- a/Spigot-Server-Patches/0373-Server-Tick-Events.patch +++ b/Spigot-Server-Patches/0372-Server-Tick-Events.patch @@ -1,4 +1,4 @@ -From 61840dea6891e336ca6045f74a88aeebd42c6e6e Mon Sep 17 00:00:00 2001 +From 613197e5b056474a4223329b85423ccec4bec422 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Mar 2019 22:48:45 -0400 Subject: [PATCH] Server Tick Events @@ -6,10 +6,10 @@ Subject: [PATCH] Server Tick Events Fires event at start and end of a server tick diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f222d4470..1e2f2f8b9 100644 +index 3cc7672621..05c23a2d98 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1044,6 +1044,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Wed, 27 Mar 2019 23:01:33 -0400 Subject: [PATCH] PlayerDeathEvent#getItemsToKeep @@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4 diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 7c8774d22..633fe836d 100644 +index 296d6cb1ce..89a4f435b7 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -510,6 +510,46 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -58,7 +58,7 @@ index 7c8774d22..633fe836d 100644 @Override public void die(DamageSource damagesource) { boolean flag = this.world.getGameRules().getBoolean(GameRules.SHOW_DEATH_MESSAGES); -@@ -594,7 +634,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -595,7 +635,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.releaseShoulderEntities(); // we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory. if (!event.getKeepInventory()) { diff --git a/Spigot-Server-Patches/0375-Allow-login-events-to-fire-only-after-the-server-plu.patch b/Spigot-Server-Patches/0374-Allow-login-events-to-fire-only-after-the-server-plu.patch similarity index 89% rename from Spigot-Server-Patches/0375-Allow-login-events-to-fire-only-after-the-server-plu.patch rename to Spigot-Server-Patches/0374-Allow-login-events-to-fire-only-after-the-server-plu.patch index c91254727..2c8edc286 100644 --- a/Spigot-Server-Patches/0375-Allow-login-events-to-fire-only-after-the-server-plu.patch +++ b/Spigot-Server-Patches/0374-Allow-login-events-to-fire-only-after-the-server-plu.patch @@ -1,4 +1,4 @@ -From 1acdff4c1ace95e07eed3a1fa5552ffd6af2e7f9 Mon Sep 17 00:00:00 2001 +From fcbe8db874577c2047d830b1c4b7e7ad98c94485 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sun, 31 Mar 2019 22:02:24 -0700 Subject: [PATCH] Allow login events to fire only after the server plugins are @@ -7,10 +7,10 @@ Subject: [PATCH] Allow login events to fire only after the server plugins are Event threads will simply block until they're ready to accept. diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 9e4bc2405..028c23dbe 100644 +index a8773037e5..c09e1edfd4 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java -@@ -285,6 +285,36 @@ public class LoginListener implements PacketLoginInListener { +@@ -290,6 +290,36 @@ public class LoginListener implements PacketLoginInListener { } } @@ -47,7 +47,7 @@ index 9e4bc2405..028c23dbe 100644 // Spigot start public class LoginHandler { -@@ -295,6 +325,7 @@ public class LoginListener implements PacketLoginInListener { +@@ -300,6 +330,7 @@ public class LoginListener implements PacketLoginInListener { return; } // Paper end @@ -56,10 +56,10 @@ index 9e4bc2405..028c23dbe 100644 java.net.InetAddress address = ((java.net.InetSocketAddress) networkManager.getSocketAddress()).getAddress(); java.util.UUID uniqueId = i.getId(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1e2f2f8b9..55e8db8a0 100644 +index 05c23a2d98..b2a9fe30d5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -461,6 +461,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Mon, 1 Apr 2019 18:57:32 -0700 Subject: [PATCH] Make region files more reliable to write to @@ -37,7 +37,7 @@ affect save performance if the startup flag is used (especially on HDDs). diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index ed2ccebb2..2e14d8465 100644 +index ed2ccebb23..2e14d84657 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -29,7 +29,7 @@ public class RegionFile implements AutoCloseable { diff --git a/Spigot-Server-Patches/0377-Optimize-GameRules-to-use-LinkedHashMap.patch b/Spigot-Server-Patches/0376-Optimize-GameRules-to-use-LinkedHashMap.patch similarity index 93% rename from Spigot-Server-Patches/0377-Optimize-GameRules-to-use-LinkedHashMap.patch rename to Spigot-Server-Patches/0376-Optimize-GameRules-to-use-LinkedHashMap.patch index 0f4343e59..4a92955e9 100644 --- a/Spigot-Server-Patches/0377-Optimize-GameRules-to-use-LinkedHashMap.patch +++ b/Spigot-Server-Patches/0376-Optimize-GameRules-to-use-LinkedHashMap.patch @@ -1,4 +1,4 @@ -From e7b57e7f31ad9a9dc6d845cbd3e6ee5843b54d4a Mon Sep 17 00:00:00 2001 +From 2120bc5b2bdc7e46057acfc1bdcba1ed8a915ba9 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Thu, 4 Apr 2019 17:55:05 -0700 Subject: [PATCH] Optimize GameRules to use LinkedHashMap @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize GameRules to use LinkedHashMap Previously TreeMap was used which has poor get(K) performance. diff --git a/src/main/java/net/minecraft/server/GameRules.java b/src/main/java/net/minecraft/server/GameRules.java -index 2880de7c5..d567f35bd 100644 +index 45d5675adf..58b3d0ec93 100644 --- a/src/main/java/net/minecraft/server/GameRules.java +++ b/src/main/java/net/minecraft/server/GameRules.java @@ -21,9 +21,7 @@ import org.apache.logging.log4j.Logger; diff --git a/Spigot-Server-Patches/0378-Optimize-Captured-TileEntity-Lookup.patch b/Spigot-Server-Patches/0377-Optimize-Captured-TileEntity-Lookup.patch similarity index 85% rename from Spigot-Server-Patches/0378-Optimize-Captured-TileEntity-Lookup.patch rename to Spigot-Server-Patches/0377-Optimize-Captured-TileEntity-Lookup.patch index 38810c855..7ce52a2d4 100644 --- a/Spigot-Server-Patches/0378-Optimize-Captured-TileEntity-Lookup.patch +++ b/Spigot-Server-Patches/0377-Optimize-Captured-TileEntity-Lookup.patch @@ -1,4 +1,4 @@ -From 123f34e27d522d3b77cb0453131e63dcf70d66fc Mon Sep 17 00:00:00 2001 +From 270ebf9337fc0cf70642c4c3f9518ebf8eabc804 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 6 Apr 2019 10:16:48 -0400 Subject: [PATCH] Optimize Captured TileEntity Lookup @@ -10,10 +10,10 @@ Optimize to check if the captured list even has values in it, and also to just do a get call since the value can never be null. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 3269d095b..b1b276683 100644 +index dad0c893fd..dd2a9c6e59 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1081,12 +1081,13 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose +@@ -1082,12 +1082,13 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose return null; } else { // CraftBukkit start @@ -29,7 +29,7 @@ index 3269d095b..b1b276683 100644 + //TileEntity tileentity = null; // Paper - move up if (this.tickingTileEntities) { - tileentity = this.B(blockposition); + tileentity = this.A(blockposition); -- 2.22.0 diff --git a/Spigot-Server-Patches/0379-Add-Heightmap-API.patch b/Spigot-Server-Patches/0378-Add-Heightmap-API.patch similarity index 94% rename from Spigot-Server-Patches/0379-Add-Heightmap-API.patch rename to Spigot-Server-Patches/0378-Add-Heightmap-API.patch index af9bb11f5..74aa2bf70 100644 --- a/Spigot-Server-Patches/0379-Add-Heightmap-API.patch +++ b/Spigot-Server-Patches/0378-Add-Heightmap-API.patch @@ -1,11 +1,11 @@ -From 49781ff49b3a779f5b3ef405b90a9ded8b6f78a5 Mon Sep 17 00:00:00 2001 +From 9739535bc8f8b54bb6fafa476f00a60695ccf44e Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Tue, 1 Jan 2019 02:22:01 -0800 Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b1b276683..2eed9c2ec 100644 +index dd2a9c6e59..e3b4e30e65 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -663,8 +663,8 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -20,7 +20,7 @@ index b1b276683..2eed9c2ec 100644 if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 79aac04ff..d792f55fc 100644 +index a08366d360..d5ef409efb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -323,6 +323,29 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0380-Handle-bad-chunks-more-gracefully.patch b/Spigot-Server-Patches/0379-Handle-bad-chunks-more-gracefully.patch similarity index 96% rename from Spigot-Server-Patches/0380-Handle-bad-chunks-more-gracefully.patch rename to Spigot-Server-Patches/0379-Handle-bad-chunks-more-gracefully.patch index 33247d444..6088e8aee 100644 --- a/Spigot-Server-Patches/0380-Handle-bad-chunks-more-gracefully.patch +++ b/Spigot-Server-Patches/0379-Handle-bad-chunks-more-gracefully.patch @@ -1,4 +1,4 @@ -From 96f3acb24d5e57d46f5bfdcc49c6aeddc4b776e5 Mon Sep 17 00:00:00 2001 +From 422339fc192da2fb546a62e50776af166a0accf2 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 15 Apr 2019 02:24:52 +0100 Subject: [PATCH] Handle bad chunks more gracefully @@ -15,7 +15,7 @@ Should Mojang choose to alter this behavior in the future, this change will simply defer to whatever that new behavior is. diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index c53518a47..6f34d8aea 100644 +index c53518a477..6f34d8aea0 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -171,8 +171,21 @@ public abstract class RegionFileCache implements AutoCloseable { diff --git a/Spigot-Server-Patches/0381-Mob-Spawner-API-Enhancements.patch b/Spigot-Server-Patches/0380-Mob-Spawner-API-Enhancements.patch similarity index 97% rename from Spigot-Server-Patches/0381-Mob-Spawner-API-Enhancements.patch rename to Spigot-Server-Patches/0380-Mob-Spawner-API-Enhancements.patch index e69dff080..6582fa87c 100644 --- a/Spigot-Server-Patches/0381-Mob-Spawner-API-Enhancements.patch +++ b/Spigot-Server-Patches/0380-Mob-Spawner-API-Enhancements.patch @@ -1,11 +1,11 @@ -From 807978d725e4eee44a42be64d4cdb626d1e07fab Mon Sep 17 00:00:00 2001 +From 5c6de81d44eeefc98f4c8fab3ea3ab699366d0bf Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 19 Apr 2019 12:41:13 -0500 Subject: [PATCH] Mob Spawner API Enhancements diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 079099e30..b05f6c2f2 100644 +index 079099e308..b05f6c2f2b 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -46,6 +46,7 @@ public abstract class MobSpawnerAbstract { @@ -82,7 +82,7 @@ index 079099e30..b05f6c2f2 100644 nbttagcompound.setShort("MaxNearbyEntities", (short) this.maxNearbyEntities); nbttagcompound.setShort("RequiredPlayerRange", (short) this.requiredPlayerRange); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -index 5c4c3c70c..e78e3804b 100644 +index 5c4c3c70c7..e78e3804ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java @@ -121,4 +121,16 @@ public class CraftCreatureSpawner extends CraftBlockEntityState Date: Mon, 6 May 2019 01:29:25 -0400 Subject: [PATCH] Per-Player View Distance API placeholders @@ -7,7 +7,7 @@ I hope to look at this more in-depth soon. It appears doable. However this should not block the update. diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 8dc849ca1..bec173e41 100644 +index c2f35f89d3..c8c74f2b3e 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -570,9 +570,9 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster { @@ -23,7 +23,7 @@ index 8dc849ca1..bec173e41 100644 double deltaX = this.locX - player.locX; double deltaZ = this.locZ - player.locZ; diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index ee1b0a884..b3c7f8814 100644 +index 18151acd5d..8b3052b113 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java @@ -208,9 +208,9 @@ public class EntityWither extends EntityMonster implements IRangedEntity { @@ -39,7 +39,7 @@ index ee1b0a884..b3c7f8814 100644 double deltaX = this.locX - player.locX; double deltaZ = this.locZ - player.locZ; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9cf6330ab..c94944dfe 100644 +index 15c874fc82..5345233d59 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1983,6 +1983,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0383-Async-Chunk-placeholder.patch b/Spigot-Server-Patches/0382-Async-Chunk-placeholder.patch similarity index 96% rename from Spigot-Server-Patches/0383-Async-Chunk-placeholder.patch rename to Spigot-Server-Patches/0382-Async-Chunk-placeholder.patch index 22064cf81..260611a0c 100644 --- a/Spigot-Server-Patches/0383-Async-Chunk-placeholder.patch +++ b/Spigot-Server-Patches/0382-Async-Chunk-placeholder.patch @@ -1,4 +1,4 @@ -From 7ebb35d8c2770905da9294503d5cbdffe4306c0b Mon Sep 17 00:00:00 2001 +From 5a8f0a208f432c4c2c7b546d2d66a8e3afbf2df3 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 6 May 2019 12:29:24 -0700 Subject: [PATCH] Async Chunk placeholder @@ -6,7 +6,7 @@ Subject: [PATCH] Async Chunk placeholder Until we figure out Mojang's ticket system. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d792f55fc..b1ce7e095 100644 +index d5ef409efb..cbe9d5628e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -18,6 +18,7 @@ import java.util.Objects; diff --git a/Spigot-Server-Patches/0384-Fix-CB-call-to-changed-postToMainThread-method.patch b/Spigot-Server-Patches/0383-Fix-CB-call-to-changed-postToMainThread-method.patch similarity index 81% rename from Spigot-Server-Patches/0384-Fix-CB-call-to-changed-postToMainThread-method.patch rename to Spigot-Server-Patches/0383-Fix-CB-call-to-changed-postToMainThread-method.patch index 7a920e004..5d5b1d79f 100644 --- a/Spigot-Server-Patches/0384-Fix-CB-call-to-changed-postToMainThread-method.patch +++ b/Spigot-Server-Patches/0383-Fix-CB-call-to-changed-postToMainThread-method.patch @@ -1,14 +1,14 @@ -From 464bd0229ccd85691e8a684f19a7f0f0ca58f760 Mon Sep 17 00:00:00 2001 +From 92fc1f520adf818b763f54480751c2d48d5bed83 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 10 May 2019 18:38:19 +0100 Subject: [PATCH] Fix CB call to changed postToMainThread method diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index e4c0fa424..87639793a 100644 +index 79054b4519..8d48495eb7 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -282,7 +282,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -283,7 +283,7 @@ public class PlayerConnection implements PacketListenerPlayIn { this.networkManager.getClass(); // CraftBukkit - Don't wait diff --git a/Spigot-Server-Patches/0385-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/Spigot-Server-Patches/0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch similarity index 92% rename from Spigot-Server-Patches/0385-Fix-sounds-when-item-frames-are-modified-MC-123450.patch rename to Spigot-Server-Patches/0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch index de4dee47b..ccb65ca56 100644 --- a/Spigot-Server-Patches/0385-Fix-sounds-when-item-frames-are-modified-MC-123450.patch +++ b/Spigot-Server-Patches/0384-Fix-sounds-when-item-frames-are-modified-MC-123450.patch @@ -1,4 +1,4 @@ -From 84aca89d4956582b0bf267b2ec29f3824e01bd8f Mon Sep 17 00:00:00 2001 +From b18e14a114adf969b79ea6f4dfa23096b31ed703 Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Sat, 27 Apr 2019 20:00:43 +0100 Subject: [PATCH] Fix sounds when item frames are modified (MC-123450) @@ -6,7 +6,7 @@ Subject: [PATCH] Fix sounds when item frames are modified (MC-123450) This also fixes the adding sound playing when the item frame direction is changed. diff --git a/src/main/java/net/minecraft/server/EntityItemFrame.java b/src/main/java/net/minecraft/server/EntityItemFrame.java -index 9eaf57d2c..50ca7b9d2 100644 +index 9eaf57d2c9..50ca7b9d26 100644 --- a/src/main/java/net/minecraft/server/EntityItemFrame.java +++ b/src/main/java/net/minecraft/server/EntityItemFrame.java @@ -211,7 +211,7 @@ public class EntityItemFrame extends EntityHanging { @@ -19,7 +19,7 @@ index 9eaf57d2c..50ca7b9d2 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java -index 799036f26..9ad180d94 100644 +index 799036f268..9ad180d946 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItemFrame.java @@ -49,7 +49,7 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame { diff --git a/Spigot-Server-Patches/0386-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/Spigot-Server-Patches/0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch similarity index 91% rename from Spigot-Server-Patches/0386-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch rename to Spigot-Server-Patches/0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index 2741483d5..94a4632fc 100644 --- a/Spigot-Server-Patches/0386-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/Spigot-Server-Patches/0385-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -1,4 +1,4 @@ -From 704dc183301d41a6b35373938cc7297003ec8f9d Mon Sep 17 00:00:00 2001 +From efc61188cf97b3a6768c9fe6bc0b4b6be8e2187d Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 13 May 2019 21:10:59 -0700 Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer @@ -16,10 +16,10 @@ handling that should have been handled synchronously will be handled synchronously when the server gets shut down. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 55e8db8a0..8136a97f4 100644 +index b2a9fe30d5..8903986ede 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1943,7 +1943,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 28 Sep 2018 21:49:53 -0400 Subject: [PATCH] Fix issues with entity loss due to unloaded chunks @@ -19,10 +19,10 @@ This change ensures the chunks are always loaded when entities are added to the world, or a valid entity moves between chunks. diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f992fc34c..8d5a291d7 100644 +index 3734613efe..e37285e791 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -636,7 +636,7 @@ public class WorldServer extends World { +@@ -634,7 +634,7 @@ public class WorldServer extends World { this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY); } @@ -31,7 +31,7 @@ index f992fc34c..8d5a291d7 100644 entity.inChunk = false; } else { this.getChunkAt(i, k).a(entity); -@@ -959,7 +959,7 @@ public class WorldServer extends World { +@@ -955,7 +955,7 @@ public class WorldServer extends World { return false; } // CraftBukkit end diff --git a/Spigot-Server-Patches/0388-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0387-Duplicate-UUID-Resolve-Option.patch similarity index 95% rename from Spigot-Server-Patches/0388-Duplicate-UUID-Resolve-Option.patch rename to Spigot-Server-Patches/0387-Duplicate-UUID-Resolve-Option.patch index c0015b05d..ba6a26f23 100644 --- a/Spigot-Server-Patches/0388-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0387-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 2f7ecd9c77aa0bef58c44a13c4cf3776e47e406f Mon Sep 17 00:00:00 2001 +From 18f5b2cc1e389f463ffd46a5a08e529f7458740a Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 91c809b7c..d8bb13693 100644 +index 91c809b7ce..d8bb13693d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -444,4 +444,43 @@ public class PaperWorldConfig { @@ -81,7 +81,7 @@ index 91c809b7c..d8bb13693 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 099f0ad78..5bf781bb6 100644 +index 09e010e670..ee8f801745 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -397,6 +397,7 @@ public class Chunk implements IChunkAccess { @@ -93,7 +93,7 @@ index 099f0ad78..5bf781bb6 100644 int k = MathHelper.floor(entity.locY / 16.0D); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 04d4f358f..bece9a16b 100644 +index f87514a200..55c73ffcaa 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2728,6 +2728,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -105,7 +105,7 @@ index 04d4f358f..bece9a16b 100644 this.uniqueID = uuid; this.ap = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 6d5b34980..80458bd19 100644 +index 16acacc3ec..8470bf693d 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,6 +1,7 @@ @@ -116,9 +116,9 @@ index 6d5b34980..80458bd19 100644 import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.ComparisonChain; // Paper -@@ -19,12 +20,15 @@ import it.unimi.dsi.fastutil.objects.ObjectIterator; - import java.io.File; +@@ -22,13 +23,16 @@ import java.io.File; import java.io.IOException; + import java.io.Writer; import java.util.ArrayList; +import java.util.HashMap; // Paper import java.util.Iterator; @@ -128,11 +128,12 @@ index 6d5b34980..80458bd19 100644 import java.util.Optional; import java.util.Queue; import java.util.Set; + import java.util.concurrent.CancellationException; +import java.util.UUID; // Paper import java.util.concurrent.CompletableFuture; + import java.util.concurrent.CompletionException; import java.util.concurrent.Executor; - import java.util.concurrent.atomic.AtomicInteger; -@@ -586,12 +590,49 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -593,12 +597,49 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { for (int j = 0; j < i; ++j) { List entityslice = aentityslice[j]; // Spigot @@ -186,7 +187,7 @@ index 6d5b34980..80458bd19 100644 if (list == null) { list = Lists.newArrayList(new Entity[]{entity}); } else { -@@ -599,6 +640,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -606,6 +647,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } } } @@ -195,7 +196,7 @@ index 6d5b34980..80458bd19 100644 if (list != null) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 8d5a291d7..04cf96761 100644 +index e37285e791..cb1abd9dbd 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -207,7 +208,7 @@ index 8d5a291d7..04cf96761 100644 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Queues; -@@ -986,8 +988,23 @@ public class WorldServer extends World { +@@ -982,8 +984,23 @@ public class WorldServer extends World { if (entity1 == null) { return false; } else { @@ -233,7 +234,7 @@ index 8d5a291d7..04cf96761 100644 return true; } } -@@ -1118,7 +1135,7 @@ public class WorldServer extends World { +@@ -1114,7 +1131,7 @@ public class WorldServer extends World { } Entity old = this.entitiesByUUID.put(entity.getUniqueID(), entity); diff --git a/Spigot-Server-Patches/0389-improve-CraftWorld-isChunkLoaded.patch b/Spigot-Server-Patches/0388-improve-CraftWorld-isChunkLoaded.patch similarity index 93% rename from Spigot-Server-Patches/0389-improve-CraftWorld-isChunkLoaded.patch rename to Spigot-Server-Patches/0388-improve-CraftWorld-isChunkLoaded.patch index a1a97a9fe..b99550a0d 100644 --- a/Spigot-Server-Patches/0389-improve-CraftWorld-isChunkLoaded.patch +++ b/Spigot-Server-Patches/0388-improve-CraftWorld-isChunkLoaded.patch @@ -1,4 +1,4 @@ -From c47f58d8e307a777fa66b205fc5f4aaa3878edc0 Mon Sep 17 00:00:00 2001 +From d04d1a0616a2869cb8de91fa7f607e7c04084d16 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 21 May 2019 02:34:04 +0100 Subject: [PATCH] improve CraftWorld#isChunkLoaded @@ -9,7 +9,7 @@ waiting for the execution queue to get to our request; We can just query the chunk status and get a response now, vs having to wait diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b1ce7e095..3fc81657f 100644 +index cbe9d5628e..9857914325 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -388,14 +388,13 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0390-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch similarity index 95% rename from Spigot-Server-Patches/0390-Configurable-Keep-Spawn-Loaded-range-per-world.patch rename to Spigot-Server-Patches/0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch index c93761899..0e249f080 100644 --- a/Spigot-Server-Patches/0390-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0389-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From 29a021276a96821a7c49c95a1c48c207d8395a17 Mon Sep 17 00:00:00 2001 +From 8a9ca886ecd5f7edc233bb2587071a8806c4920e Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 13 Sep 2014 23:14:43 -0400 Subject: [PATCH] Configurable Keep Spawn Loaded range per world @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index d8bb13693..de11a91af 100644 +index d8bb13693d..de11a91af6 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -483,4 +483,10 @@ public class PaperWorldConfig { @@ -21,10 +21,10 @@ index d8bb13693..de11a91af 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8136a97f4..d6c99ce89 100644 +index 8903986ede..0ddde54c82 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -569,6 +569,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant Date: Fri, 24 May 2019 07:53:16 +0100 Subject: [PATCH] Fix some generation concurrency issues diff --git a/src/main/java/net/minecraft/server/DefinedStructureManager.java b/src/main/java/net/minecraft/server/DefinedStructureManager.java -index 6aa0ca395..ed9b5c63f 100644 +index 8ecbd945c2..fec41a142f 100644 --- a/src/main/java/net/minecraft/server/DefinedStructureManager.java +++ b/src/main/java/net/minecraft/server/DefinedStructureManager.java @@ -20,7 +20,7 @@ import org.apache.logging.log4j.Logger; @@ -18,7 +18,7 @@ index 6aa0ca395..ed9b5c63f 100644 private final MinecraftServer d; private final java.nio.file.Path e; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 2eed9c2ec..f0e8acdd1 100644 +index e3b4e30e65..10c149faec 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -101,6 +101,23 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose @@ -46,7 +46,7 @@ index 2eed9c2ec..f0e8acdd1 100644 public CraftWorld getWorld() { return this.world; diff --git a/src/main/java/net/minecraft/server/WorldGenStronghold.java b/src/main/java/net/minecraft/server/WorldGenStronghold.java -index eca27e52e..fb3463fcc 100644 +index eca27e52e9..fb3463fcce 100644 --- a/src/main/java/net/minecraft/server/WorldGenStronghold.java +++ b/src/main/java/net/minecraft/server/WorldGenStronghold.java @@ -10,10 +10,12 @@ import javax.annotation.Nullable; diff --git a/Spigot-Server-Patches/0392-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch b/Spigot-Server-Patches/0391-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch similarity index 89% rename from Spigot-Server-Patches/0392-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch rename to Spigot-Server-Patches/0391-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch index 8039c0dab..34f2815ad 100644 --- a/Spigot-Server-Patches/0392-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch +++ b/Spigot-Server-Patches/0391-MC-114618-Fix-EntityAreaEffectCloud-from-going-negat.patch @@ -1,4 +1,4 @@ -From 0db4362777bedd00a46bf8f23c2efd2e880cbb52 Mon Sep 17 00:00:00 2001 +From c91c9c3475b153e3322014ef463be6f2b9e3b062 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Mon, 27 May 2019 17:35:39 -0500 Subject: [PATCH] MC-114618 - Fix EntityAreaEffectCloud from going negative @@ -6,7 +6,7 @@ Subject: [PATCH] MC-114618 - Fix EntityAreaEffectCloud from going negative diff --git a/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java b/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java -index 70c282046..8bbbe8505 100644 +index 91b434aff6..8ebf85dc6b 100644 --- a/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java +++ b/src/main/java/net/minecraft/server/EntityAreaEffectCloud.java @@ -163,6 +163,12 @@ public class EntityAreaEffectCloud extends Entity { diff --git a/Spigot-Server-Patches/0393-ChunkMapDistance-CME.patch b/Spigot-Server-Patches/0392-ChunkMapDistance-CME.patch similarity index 59% rename from Spigot-Server-Patches/0393-ChunkMapDistance-CME.patch rename to Spigot-Server-Patches/0392-ChunkMapDistance-CME.patch index d4c53f460..9d9620e78 100644 --- a/Spigot-Server-Patches/0393-ChunkMapDistance-CME.patch +++ b/Spigot-Server-Patches/0392-ChunkMapDistance-CME.patch @@ -1,32 +1,32 @@ -From 5c4cd1ff04671b21a3b9b30091e5dcb9306decfa Mon Sep 17 00:00:00 2001 +From d91280b404da585a708ada87cd172dd832ab2364 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Wed, 29 May 2019 04:01:22 +0100 Subject: [PATCH] ChunkMapDistance CME diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index a116ee128..8572eeba1 100644 +index 101eb58ace..63a688725e 100644 --- a/src/main/java/net/minecraft/server/ChunkMapDistance.java +++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java @@ -36,7 +36,7 @@ public abstract class ChunkMapDistance { private final ChunkMapDistance.a e = new ChunkMapDistance.a(); private final ChunkMapDistance.b f = new ChunkMapDistance.b(8); private final ChunkMapDistance.c g = new ChunkMapDistance.c(33); -- private final Set h = Sets.newHashSet(); // PAIL pendingChunkUpdates -+ private final java.util.Queue h = new java.util.LinkedList<>(); // PAIL pendingChunkUpdates // Paper - use a queue - private final PlayerChunk.c i; +- private final Set pendingChunkUpdates = Sets.newHashSet(); ++ private final java.util.Queue pendingChunkUpdates = new java.util.LinkedList<>(); // PAIL pendingChunkUpdates // Paper - use a queue + private final ChunkTaskQueueSorter i; private final Mailbox> j; private final Mailbox k; -@@ -98,26 +98,12 @@ public abstract class ChunkMapDistance { +@@ -99,26 +99,12 @@ public abstract class ChunkMapDistance { ; } + // Paper start - if (!this.h.isEmpty()) { + if (!this.pendingChunkUpdates.isEmpty()) { - // CraftBukkit start - // Iterate pending chunk updates with protection against concurrent modification exceptions -- java.util.Iterator iter = this.h.iterator(); -- int expectedSize = this.h.size(); +- java.util.Iterator iter = this.pendingChunkUpdates.iterator(); +- int expectedSize = this.pendingChunkUpdates.size(); - do { - PlayerChunk playerchunk = iter.next(); - iter.remove(); @@ -35,15 +35,15 @@ index a116ee128..8572eeba1 100644 - playerchunk.a(playerchunkmap); - - // Reset iterator if set was modified using add() -- if (this.h.size() != expectedSize) { -- expectedSize = this.h.size(); -- iter = this.h.iterator(); +- if (this.pendingChunkUpdates.size() != expectedSize) { +- expectedSize = this.pendingChunkUpdates.size(); +- iter = this.pendingChunkUpdates.iterator(); - } - } while (iter.hasNext()); - // CraftBukkit end - -+ while(!this.h.isEmpty()) { -+ this.h.remove().a(playerchunkmap); ++ while(!this.pendingChunkUpdates.isEmpty()) { ++ this.pendingChunkUpdates.remove().a(playerchunkmap); + } + // Paper end return true; diff --git a/Spigot-Server-Patches/0394-Actually-Limit-Natural-Spawns-To-Limit.patch b/Spigot-Server-Patches/0393-Actually-Limit-Natural-Spawns-To-Limit.patch similarity index 64% rename from Spigot-Server-Patches/0394-Actually-Limit-Natural-Spawns-To-Limit.patch rename to Spigot-Server-Patches/0393-Actually-Limit-Natural-Spawns-To-Limit.patch index 45e3ad09f..c2a48d5c6 100644 --- a/Spigot-Server-Patches/0394-Actually-Limit-Natural-Spawns-To-Limit.patch +++ b/Spigot-Server-Patches/0393-Actually-Limit-Natural-Spawns-To-Limit.patch @@ -1,14 +1,14 @@ -From 48800619192cdbcfc363f9c1d59277c00acaf081 Mon Sep 17 00:00:00 2001 +From 88a9cc31fed9191b8092d50e8e752ba6be35b32a Mon Sep 17 00:00:00 2001 From: kickash32 Date: Sun, 2 Jun 2019 01:22:02 -0400 Subject: [PATCH] Actually-Limit-Natural-Spawns-To-Limit diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index cafa244fd..9ea7fb91f 100644 +index 4e60de0b6e..21032fa943 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -414,8 +414,12 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -459,8 +459,12 @@ public class ChunkProviderServer extends IChunkProvider { if (enumcreaturetype != EnumCreatureType.MISC && (!enumcreaturetype.c() || this.allowAnimals) && (enumcreaturetype.c() || this.allowMonsters) && (!enumcreaturetype.d() || flag2)) { int k1 = limit * l / ChunkProviderServer.b; // CraftBukkit - use per-world limits @@ -24,7 +24,7 @@ index cafa244fd..9ea7fb91f 100644 } } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 09f1b9d76..b442e09eb 100644 +index c6ea37ffbd..5e6559df0b 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -16,13 +16,20 @@ public final class SpawnerCreature { @@ -48,7 +48,7 @@ index 09f1b9d76..b442e09eb 100644 if (k >= 1) { IBlockData iblockdata = world.getTypeIfLoadedAndInBounds(blockposition1); // Paper - don't load chunks for mob spawn -@@ -85,7 +92,7 @@ public final class SpawnerCreature { +@@ -88,7 +95,7 @@ public final class SpawnerCreature { ); if (!event.callEvent()) { if (event.shouldAbortSpawn()) { @@ -57,35 +57,34 @@ index 09f1b9d76..b442e09eb 100644 } ++i2; continue; -@@ -104,7 +111,7 @@ public final class SpawnerCreature { - } catch (Exception exception) { - SpawnerCreature.LOGGER.warn("Failed to create mob", exception); - ServerInternalException.reportInternalException(exception); // Paper -- return; -+ return amountSpawned; // Paper - } - - entityinsentient.setPositionRotation((double) f, (double) k, (double) f1, world.random.nextFloat() * 360.0F, 0.0F); -@@ -114,10 +121,17 @@ public final class SpawnerCreature { - if (world.addEntity(entityinsentient, SpawnReason.NATURAL)) { - ++i; - ++i2; -+ // Paper start - stop when limit is reached -+ amountSpawned++; -+ } -+ -+ if (amountSpawned >= maxSpawns){ -+ return amountSpawned; // Paper - } -+ // Paper end - // CraftBukkit end - if (i >= entityinsentient.dD()) { +@@ -107,7 +114,7 @@ public final class SpawnerCreature { + } catch (Exception exception) { + SpawnerCreature.LOGGER.warn("Failed to create mob", exception); + ServerInternalException.reportInternalException(exception); // Paper - return; + return amountSpawned; // Paper } - if (entityinsentient.c(i2)) { -@@ -142,6 +156,7 @@ public final class SpawnerCreature { + entityinsentient.setPositionRotation((double) f, (double) k, (double) f1, world.random.nextFloat() * 360.0F, 0.0F); +@@ -117,10 +124,16 @@ public final class SpawnerCreature { + if (world.addEntity(entityinsentient, SpawnReason.NATURAL)) { + ++i; + ++i2; ++ // Paper start - stop when limit is reached ++ ++amountSpawned; ++ } ++ if (amountSpawned >= maxSpawns) { ++ return amountSpawned; + } ++ // Paper end + // CraftBukkit end + if (i >= entityinsentient.dC()) { +- return; ++ return amountSpawned; // Paper + } + + if (entityinsentient.c(i2)) { +@@ -146,6 +159,7 @@ public final class SpawnerCreature { } } diff --git a/Spigot-Server-Patches/0395-Implement-CraftBlockSoundGroup.patch b/Spigot-Server-Patches/0394-Implement-CraftBlockSoundGroup.patch similarity index 95% rename from Spigot-Server-Patches/0395-Implement-CraftBlockSoundGroup.patch rename to Spigot-Server-Patches/0394-Implement-CraftBlockSoundGroup.patch index a936377b7..f1b4f49ef 100644 --- a/Spigot-Server-Patches/0395-Implement-CraftBlockSoundGroup.patch +++ b/Spigot-Server-Patches/0394-Implement-CraftBlockSoundGroup.patch @@ -1,4 +1,4 @@ -From 8a5e1a0c5fad02c4e6e11e34315cfcccc9c9babe Mon Sep 17 00:00:00 2001 +From c7ca2c14f74f080cd47fa9831cea2e0d04f78c33 Mon Sep 17 00:00:00 2001 From: simpleauthority Date: Tue, 28 May 2019 03:48:51 -0700 Subject: [PATCH] Implement CraftBlockSoundGroup @@ -6,7 +6,7 @@ Subject: [PATCH] Implement CraftBlockSoundGroup diff --git a/src/main/java/com/destroystokyo/paper/block/CraftBlockSoundGroup.java b/src/main/java/com/destroystokyo/paper/block/CraftBlockSoundGroup.java new file mode 100644 -index 000000000..99f99330d +index 0000000000..99f99330d0 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/block/CraftBlockSoundGroup.java @@ -0,0 +1,38 @@ @@ -49,7 +49,7 @@ index 000000000..99f99330d + } +} diff --git a/src/main/java/net/minecraft/server/IBlockData.java b/src/main/java/net/minecraft/server/IBlockData.java -index d25989d51..b8efff877 100644 +index 9fd1b4915f..21f734a73c 100644 --- a/src/main/java/net/minecraft/server/IBlockData.java +++ b/src/main/java/net/minecraft/server/IBlockData.java @@ -271,6 +271,7 @@ public class IBlockData extends BlockDataAbstract implements @@ -61,7 +61,7 @@ index d25989d51..b8efff877 100644 return this.getBlock().getStepSound(this); } diff --git a/src/main/java/net/minecraft/server/SoundEffectType.java b/src/main/java/net/minecraft/server/SoundEffectType.java -index 5460d409b..ccd5b0529 100644 +index 5460d409b7..ccd5b0529a 100644 --- a/src/main/java/net/minecraft/server/SoundEffectType.java +++ b/src/main/java/net/minecraft/server/SoundEffectType.java @@ -26,10 +26,10 @@ public class SoundEffectType { @@ -96,7 +96,7 @@ index 5460d409b..ccd5b0529 100644 return this.C; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 166c918d7..5296c6d9b 100644 +index 166c918d73..5296c6d9bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java @@ -689,4 +689,11 @@ public class CraftBlock implements Block { diff --git a/Spigot-Server-Patches/0396-Chunk-debug-command.patch b/Spigot-Server-Patches/0395-Chunk-debug-command.patch similarity index 95% rename from Spigot-Server-Patches/0396-Chunk-debug-command.patch rename to Spigot-Server-Patches/0395-Chunk-debug-command.patch index 8aad7d2b1..f4b4a0898 100644 --- a/Spigot-Server-Patches/0396-Chunk-debug-command.patch +++ b/Spigot-Server-Patches/0395-Chunk-debug-command.patch @@ -1,4 +1,4 @@ -From 57b19fdcd751814e1d077ee295c73afaac3fdb90 Mon Sep 17 00:00:00 2001 +From 44adb27104789a1f6739d9c6ef7ccf378c45bc6f Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 1 Jun 2019 13:00:55 -0700 Subject: [PATCH] Chunk debug command @@ -32,7 +32,7 @@ https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528273&page=com.atlass https://bugs.mojang.com/browse/MC-141484?focusedCommentId=528577&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-528577 diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 391726d99..8db92edc3 100644 +index 391726d99c..8db92edc36 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java @@ -28,14 +28,14 @@ public class PaperCommand extends Command { @@ -185,10 +185,10 @@ index 391726d99..8db92edc3 100644 * Ported from MinecraftForge - author: LexManos - License: LGPLv2.1 */ diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 9ea7fb91f..f2fd568d6 100644 +index 21032fa943..220cd197fa 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -21,7 +21,7 @@ import org.apache.logging.log4j.Logger; +@@ -22,7 +22,7 @@ import org.apache.logging.log4j.Logger; public class ChunkProviderServer extends IChunkProvider { private static final int b = (int) Math.pow(17.0D, 2.0D); @@ -198,7 +198,7 @@ index 9ea7fb91f..f2fd568d6 100644 public final ChunkGenerator chunkGenerator; private final WorldServer world; diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java -index ec3732193..23d1935dd 100644 +index ec3732193f..23d1935dd5 100644 --- a/src/main/java/net/minecraft/server/MCUtil.java +++ b/src/main/java/net/minecraft/server/MCUtil.java @@ -4,7 +4,13 @@ import com.destroystokyo.paper.block.TargetBlockInfo; @@ -399,7 +399,7 @@ index ec3732193..23d1935dd 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index bbc55c35c..a73c59b43 100644 +index 7407c1a564..14a176d61d 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -26,7 +26,7 @@ public class PlayerChunk { @@ -412,10 +412,10 @@ index bbc55c35c..a73c59b43 100644 private int dirtyCount; private int r; diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 80458bd19..dee926212 100644 +index 8470bf693d..60bd3a63e7 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -52,7 +52,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -57,7 +57,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { public final Long2ObjectLinkedOpenHashMap updatingChunks = new Long2ObjectLinkedOpenHashMap(); public volatile Long2ObjectLinkedOpenHashMap visibleChunks; private final Long2ObjectLinkedOpenHashMap pendingUnload; @@ -424,26 +424,26 @@ index 80458bd19..dee926212 100644 public final WorldServer world; private final LightEngineThreaded lightEngine; private final IAsyncTaskHandler executor; -@@ -65,7 +65,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -70,7 +70,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private final Mailbox> mailboxWorldGen; private final Mailbox> mailboxMain; public final WorldLoadListener worldLoadListener; -- public final PlayerChunkMap.a u; // CraftBukkit - private -> public // PAIL chunkDistanceManager -+ public final PlayerChunkMap.a u; public final PlayerChunkMap.a getChunkMapDistanceManager() { return this.u; } // Paper - OBFHELPER // CraftBukkit - private -> public // PAIL chunkDistanceManager +- public final PlayerChunkMap.a chunkDistanceManager; ++ public final PlayerChunkMap.a chunkDistanceManager; public final PlayerChunkMap.a getChunkMapDistanceManager() { return this.chunkDistanceManager; } // Paper - OBFHELPER private final AtomicInteger v; private final DefinedStructureManager definedStructureManager; private final File x; diff --git a/src/main/java/net/minecraft/server/Ticket.java b/src/main/java/net/minecraft/server/Ticket.java -index 16e3114bc..efc89c537 100644 +index c23a366b2c..e53cbd418b 100644 --- a/src/main/java/net/minecraft/server/Ticket.java +++ b/src/main/java/net/minecraft/server/Ticket.java @@ -6,8 +6,8 @@ public final class Ticket implements Comparable> { private final TicketType a; private final int b; -- public final T c; // CraftBukkit - private -> public // PAIL identifier +- public final T identifier; - private final long d; -+ public final T c; public final T getObjectReason() { return this.c; } // Paper - OBFHELPER // CraftBukkit - private -> public // PAIL identifier ++ public final T identifier; public final T getObjectReason() { return this.identifier; } // Paper - OBFHELPER + private final long d; public final long getCreationTick() { return this.d; } // Paper - OBFHELPER protected Ticket(TicketType tickettype, int i, T t0, long j) { diff --git a/Spigot-Server-Patches/0397-incremental-chunk-saving.patch b/Spigot-Server-Patches/0396-incremental-chunk-saving.patch similarity index 91% rename from Spigot-Server-Patches/0397-incremental-chunk-saving.patch rename to Spigot-Server-Patches/0396-incremental-chunk-saving.patch index 06cf1213e..1a895b998 100644 --- a/Spigot-Server-Patches/0397-incremental-chunk-saving.patch +++ b/Spigot-Server-Patches/0396-incremental-chunk-saving.patch @@ -1,11 +1,11 @@ -From f8f05a94746e3c53cd0829470615d47b0e65d930 Mon Sep 17 00:00:00 2001 +From 54c14fc847a4238450ca711b98d666628126a3f9 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 9 Jun 2019 03:53:22 +0100 Subject: [PATCH] incremental chunk saving diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index de11a91af..4d3c6c6b4 100644 +index de11a91af6..4d3c6c6b47 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -489,4 +489,19 @@ public class PaperWorldConfig { @@ -29,7 +29,7 @@ index de11a91af..4d3c6c6b4 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 5bf781bb6..e2a48695d 100644 +index ee8f801745..2003522d96 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -42,7 +42,7 @@ public class Chunk implements IChunkAccess { @@ -42,10 +42,10 @@ index 5bf781bb6..e2a48695d 100644 private long t; @Nullable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d6c99ce89..2b99fdc63 100644 +index 0ddde54c82..eb1006dda7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -155,6 +155,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; @@ -53,7 +53,7 @@ index d6c99ce89..2b99fdc63 100644 public File bukkitDataPackFolder; public CommandDispatcher vanillaCommandDispatcher; private boolean forceTicks; -@@ -1075,14 +1076,28 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index dee926212..a3e989f2b 100644 +index 60bd3a63e7..0911880c9d 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -318,15 +318,32 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -325,15 +325,32 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { }); PlayerChunkMap.LOGGER.info("ThreadedAnvilChunkStorage ({}): All chunks are saved", this.x.getName()); } else { @@ -126,10 +126,10 @@ index dee926212..a3e989f2b 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 5eeec7be7..c646393eb 100644 +index 806ee8fda1..b7d536ff0e 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -756,8 +756,9 @@ public class WorldServer extends World { +@@ -754,8 +754,9 @@ public class WorldServer extends World { ChunkProviderServer chunkproviderserver = this.getChunkProvider(); if (!flag1) { @@ -140,7 +140,7 @@ index 5eeec7be7..c646393eb 100644 if (iprogressupdate != null) { iprogressupdate.a(new ChatMessage("menu.savingLevel", new Object[0])); } -@@ -766,6 +767,7 @@ public class WorldServer extends World { +@@ -764,6 +765,7 @@ public class WorldServer extends World { if (iprogressupdate != null) { iprogressupdate.c(new ChatMessage("menu.savingChunks", new Object[0])); } @@ -148,7 +148,7 @@ index 5eeec7be7..c646393eb 100644 timings.worldSaveChunks.startTiming(); // Paper chunkproviderserver.save(flag); -@@ -773,6 +775,7 @@ public class WorldServer extends World { +@@ -771,6 +773,7 @@ public class WorldServer extends World { } // Paper } @@ -156,7 +156,7 @@ index 5eeec7be7..c646393eb 100644 // CraftBukkit start - moved from MinecraftServer.saveChunks // PAIL - rename WorldServer worldserver1 = this; -@@ -782,6 +785,7 @@ public class WorldServer extends World { +@@ -780,6 +783,7 @@ public class WorldServer extends World { worlddata.c(this.server.getBossBattleCustomData().c()); worldserver1.getDataManager().saveWorldData(worlddata, this.server.getPlayerList().r()); // CraftBukkit end diff --git a/Spigot-Server-Patches/0398-Catch-exceptions-from-dispenser-entity-spawns.patch b/Spigot-Server-Patches/0397-Catch-exceptions-from-dispenser-entity-spawns.patch similarity index 92% rename from Spigot-Server-Patches/0398-Catch-exceptions-from-dispenser-entity-spawns.patch rename to Spigot-Server-Patches/0397-Catch-exceptions-from-dispenser-entity-spawns.patch index 9fa94ad04..6987d42c8 100644 --- a/Spigot-Server-Patches/0398-Catch-exceptions-from-dispenser-entity-spawns.patch +++ b/Spigot-Server-Patches/0397-Catch-exceptions-from-dispenser-entity-spawns.patch @@ -1,11 +1,11 @@ -From 8de38ed0e2f97ee19ed4a95c79c9fe3814189cd2 Mon Sep 17 00:00:00 2001 +From 4597e8c878afc739c30b9432335581ef98c1f252 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Mon, 10 Jun 2019 09:36:40 +0100 Subject: [PATCH] Catch exceptions from dispenser entity spawns diff --git a/src/main/java/net/minecraft/server/IDispenseBehavior.java b/src/main/java/net/minecraft/server/IDispenseBehavior.java -index 60442e4b8..1874b5d25 100644 +index 976c72208f..fe3d9d5fa3 100644 --- a/src/main/java/net/minecraft/server/IDispenseBehavior.java +++ b/src/main/java/net/minecraft/server/IDispenseBehavior.java @@ -163,7 +163,14 @@ public interface IDispenseBehavior { diff --git a/Spigot-Server-Patches/0399-Fix-World-isChunkGenerated-calls.patch b/Spigot-Server-Patches/0398-Fix-World-isChunkGenerated-calls.patch similarity index 97% rename from Spigot-Server-Patches/0399-Fix-World-isChunkGenerated-calls.patch rename to Spigot-Server-Patches/0398-Fix-World-isChunkGenerated-calls.patch index 456088cc7..bcfe03d27 100644 --- a/Spigot-Server-Patches/0399-Fix-World-isChunkGenerated-calls.patch +++ b/Spigot-Server-Patches/0398-Fix-World-isChunkGenerated-calls.patch @@ -1,4 +1,4 @@ -From 925d47e674b12fe7c0286a433ceea07bc35d2de7 Mon Sep 17 00:00:00 2001 +From cc7b001a6a611ee2fe3209292296c8d50dbb173c Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 15 Jun 2019 08:54:33 -0700 Subject: [PATCH] Fix World#isChunkGenerated calls @@ -8,10 +8,10 @@ This patch also adds a chunk status cache on region files (note that its only purpose is to cache the status on DISK) diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index f2fd568d6..d76860daf 100644 +index 220cd197fa..775b5f7fe3 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -27,7 +27,7 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -28,7 +28,7 @@ public class ChunkProviderServer extends IChunkProvider { private final WorldServer world; private final Thread serverThread; private final LightEngineThreaded lightEngine; @@ -20,7 +20,7 @@ index f2fd568d6..d76860daf 100644 public final PlayerChunkMap playerChunkMap; private final WorldPersistentData worldPersistentData; private long lastTickTime; -@@ -117,6 +117,36 @@ public class ChunkProviderServer extends IChunkProvider { +@@ -130,6 +130,36 @@ public class ChunkProviderServer extends IChunkProvider { return playerChunk.getFullChunk(); } @@ -58,7 +58,7 @@ index f2fd568d6..d76860daf 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index cf3396508..287f11358 100644 +index e778c2e857..73f93e4948 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -410,6 +410,17 @@ public class ChunkRegionLoader { @@ -80,7 +80,7 @@ index cf3396508..287f11358 100644 if (nbttagcompound != null) { ChunkStatus chunkstatus = ChunkStatus.a(nbttagcompound.getCompound("Level").getString("Status")); diff --git a/src/main/java/net/minecraft/server/ChunkStatus.java b/src/main/java/net/minecraft/server/ChunkStatus.java -index dd1822d6f..e324989b4 100644 +index dd1822d6ff..e324989b46 100644 --- a/src/main/java/net/minecraft/server/ChunkStatus.java +++ b/src/main/java/net/minecraft/server/ChunkStatus.java @@ -176,6 +176,7 @@ public class ChunkStatus { @@ -110,7 +110,7 @@ index dd1822d6f..e324989b4 100644 return (ChunkStatus) IRegistry.CHUNK_STATUS.get(MinecraftKey.a(s)); } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index a73c59b43..f0203d53c 100644 +index 14a176d61d..98590e233a 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -70,6 +70,19 @@ public class PlayerChunk { @@ -134,10 +134,10 @@ index a73c59b43..f0203d53c 100644 public CompletableFuture> getStatusFutureUnchecked(ChunkStatus chunkstatus) { diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index a3e989f2b..4cf58e5ea 100644 +index 0911880c9d..86fb51b90a 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -832,11 +832,56 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -878,11 +878,56 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { } @Nullable @@ -194,10 +194,10 @@ index a3e989f2b..4cf58e5ea 100644 } + // Paper end - // Spigot Start - boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair, boolean reducedRange) { + boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair) { + // Spigot start diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 2e14d8465..66c8b0307 100644 +index 2e14d84657..66c8b0307f 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -31,6 +31,30 @@ public class RegionFile implements AutoCloseable { @@ -256,7 +256,7 @@ index 2e14d8465..66c8b0307 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index 6f34d8aea..d2b328945 100644 +index 6f34d8aea0..d2b3289450 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -47,6 +47,12 @@ public abstract class RegionFileCache implements AutoCloseable { @@ -289,7 +289,7 @@ index 6f34d8aea..d2b328945 100644 printOversizedLog("ChunkTooLarge even after reduction. Trying in overzealous mode.", regionfile.file, chunkX, chunkZ); // Eek, major fail. We have retry logic, so reduce threshholds and fall back diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index bb0f75f52..f01e8a87e 100644 +index af409010ac..d06716c006 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -393,8 +393,19 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0400-Show-blockstate-location-if-we-failed-to-read-it.patch b/Spigot-Server-Patches/0399-Show-blockstate-location-if-we-failed-to-read-it.patch similarity index 93% rename from Spigot-Server-Patches/0400-Show-blockstate-location-if-we-failed-to-read-it.patch rename to Spigot-Server-Patches/0399-Show-blockstate-location-if-we-failed-to-read-it.patch index 1b5459795..753152806 100644 --- a/Spigot-Server-Patches/0400-Show-blockstate-location-if-we-failed-to-read-it.patch +++ b/Spigot-Server-Patches/0399-Show-blockstate-location-if-we-failed-to-read-it.patch @@ -1,11 +1,11 @@ -From 31c9a4172fc9e0a46765b5007ee7c8fee7b91700 Mon Sep 17 00:00:00 2001 +From ea7b4ced04c403a37b00158512027f35f0892d3f Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 15 Jun 2019 10:28:25 -0700 Subject: [PATCH] Show blockstate location if we failed to read it diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index f6401e2cd..3e22d558e 100644 +index f6401e2cde..3e22d558ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -19,6 +19,8 @@ public class CraftBlockEntityState extends CraftBlockState diff --git a/Spigot-Server-Patches/0402-Log-other-thread-in-DataPaletteBlock-lock-failure.patch b/Spigot-Server-Patches/0400-Log-other-thread-in-DataPaletteBlock-lock-failure.patch similarity index 93% rename from Spigot-Server-Patches/0402-Log-other-thread-in-DataPaletteBlock-lock-failure.patch rename to Spigot-Server-Patches/0400-Log-other-thread-in-DataPaletteBlock-lock-failure.patch index 60e4892fc..84f2d8f82 100644 --- a/Spigot-Server-Patches/0402-Log-other-thread-in-DataPaletteBlock-lock-failure.patch +++ b/Spigot-Server-Patches/0400-Log-other-thread-in-DataPaletteBlock-lock-failure.patch @@ -1,4 +1,4 @@ -From 56c01c75fb6c0bb78a860f3e3fd3a39072c72077 Mon Sep 17 00:00:00 2001 +From 77b5bfcb86df30c3e0bbcaf5dd5746eed768f9fa Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Fri, 21 Jun 2019 14:42:48 -0700 Subject: [PATCH] Log other thread in DataPaletteBlock lock failure @@ -6,7 +6,7 @@ Subject: [PATCH] Log other thread in DataPaletteBlock lock failure diff --git a/src/main/java/com/destroystokyo/paper/util/ReentrantLockWithGetOwner.java b/src/main/java/com/destroystokyo/paper/util/ReentrantLockWithGetOwner.java new file mode 100644 -index 000000000..a3b174618 +index 0000000000..a3b174618d --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/util/ReentrantLockWithGetOwner.java @@ -0,0 +1,11 @@ @@ -22,10 +22,10 @@ index 000000000..a3b174618 + } +} diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 28a6be7ab..e05b9d606 100644 +index a3bb2e8779..1e2bca1e04 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java -@@ -19,14 +19,17 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -22,14 +22,17 @@ public class DataPaletteBlock implements DataPaletteExpandable { protected DataBits a; protected DataBits getDataBits() { return this.a; } // Paper - OBFHELPER private DataPalette h; private DataPalette getDataPalette() { return this.h; } // Paper - OBFHELPER private int i; private int getBitsPerObject() { return this.i; } // Paper - OBFHELPER diff --git a/Spigot-Server-Patches/0401-Fix-MC-154214.patch b/Spigot-Server-Patches/0401-Fix-MC-154214.patch deleted file mode 100644 index 8c047ec20..000000000 --- a/Spigot-Server-Patches/0401-Fix-MC-154214.patch +++ /dev/null @@ -1,50 +0,0 @@ -From acf788a1f3141b0189dcf5ea94646ccd98173f7a Mon Sep 17 00:00:00 2001 -From: Spottedleaf -Date: Sun, 16 Jun 2019 23:30:25 -0700 -Subject: [PATCH] Fix MC-154214 - -Avoid adding player tickets when they're out of range of the closest player - -diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java -index 8572eeba1..d72eacaec 100644 ---- a/src/main/java/net/minecraft/server/ChunkMapDistance.java -+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java -@@ -359,12 +359,18 @@ public abstract class ChunkMapDistance { - } - - private void a(long i, int j, boolean flag, boolean flag1) { -+ final long chunkPosition = i; // Paper - conflict on variable change - if (flag != flag1) { - Ticket ticket = new Ticket<>(TicketType.PLAYER, ChunkMapDistance.b, new ChunkCoordIntPair(i), ChunkMapDistance.this.currentTick); - - if (flag1) { - ChunkMapDistance.this.j.a(ChunkTaskQueueSorter.a(() -> { // Craftbukkit - decompile error - ChunkMapDistance.this.m.execute(() -> { -+ // Paper start - Fix MC-154214 -+ if (!this.inRange(this.getNearestDistanceFromPlayerMap().get(chunkPosition))) { -+ return; -+ } -+ // Paper end - ChunkMapDistance.this.a(i, ticket); - ChunkMapDistance.this.l.add(i); - }); -@@ -408,6 +414,7 @@ public abstract class ChunkMapDistance { - - } - -+ private final boolean inRange(int distance) { return this.c(distance); } // Paper - OBFHELPER - private boolean c(int i) { - return i <= this.e - 2; - } -@@ -415,7 +422,7 @@ public abstract class ChunkMapDistance { - - class b extends ChunkMap { - -- protected final Long2ByteMap a = new Long2ByteOpenHashMap(); -+ protected final Long2ByteMap a = new Long2ByteOpenHashMap(); protected final Long2ByteMap getNearestDistanceFromPlayerMap() { return this.a; } // Paper - OBFHELPER - protected final int b; - - protected b(int i) { --- -2.22.0 - diff --git a/Spigot-Server-Patches/0403-Use-ChunkStatus-cache-when-saving-protochunks.patch b/Spigot-Server-Patches/0401-Use-ChunkStatus-cache-when-saving-protochunks.patch similarity index 88% rename from Spigot-Server-Patches/0403-Use-ChunkStatus-cache-when-saving-protochunks.patch rename to Spigot-Server-Patches/0401-Use-ChunkStatus-cache-when-saving-protochunks.patch index 9f2ffde9d..efc4080ea 100644 --- a/Spigot-Server-Patches/0403-Use-ChunkStatus-cache-when-saving-protochunks.patch +++ b/Spigot-Server-Patches/0401-Use-ChunkStatus-cache-when-saving-protochunks.patch @@ -1,4 +1,4 @@ -From 8a07db03b2e5b40c290abe1193fe7766ad0b8a44 Mon Sep 17 00:00:00 2001 +From e68ca32e6576c52834903e992f2598b875f4beae Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Sat, 22 Jun 2019 04:20:47 -0700 Subject: [PATCH] Use ChunkStatus cache when saving protochunks @@ -7,10 +7,10 @@ The cache should contain the chunk status when saving. If not it will load it. diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 4cf58e5ea..d68c89817 100644 +index 86fb51b90a..36ce789127 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -748,8 +748,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -755,8 +755,10 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { NBTTagCompound nbttagcompound; if (chunkstatus.getType() != ChunkStatus.Type.LEVELCHUNK) { diff --git a/Spigot-Server-Patches/0404-Anti-Xray.patch b/Spigot-Server-Patches/0402-Anti-Xray.patch similarity index 96% rename from Spigot-Server-Patches/0404-Anti-Xray.patch rename to Spigot-Server-Patches/0402-Anti-Xray.patch index 3e78319ce..cb7d5b5d2 100644 --- a/Spigot-Server-Patches/0404-Anti-Xray.patch +++ b/Spigot-Server-Patches/0402-Anti-Xray.patch @@ -1,11 +1,11 @@ -From 4832eff72f16e69dea647a4cbd70f8bca3329f1d Mon Sep 17 00:00:00 2001 +From 4512db9ba3624a674524887f0bb45e752c8548cc Mon Sep 17 00:00:00 2001 From: stonar96 Date: Mon, 20 Aug 2018 03:03:58 +0200 Subject: [PATCH] Anti-Xray diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 81987e4ad..5942c3438 100644 +index 81987e4ad9..5942c3438e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -71,8 +71,8 @@ public class PaperConfig { @@ -20,7 +20,7 @@ index 81987e4ad..5942c3438 100644 } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 4d3c6c6b4..929f5c303 100644 +index 4d3c6c6b47..929f5c3031 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -1,7 +1,11 @@ @@ -81,7 +81,7 @@ index 4d3c6c6b4..929f5c303 100644 } diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java new file mode 100644 -index 000000000..f7e376ce6 +index 0000000000..f7e376ce6a --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockController.java @@ -0,0 +1,46 @@ @@ -133,7 +133,7 @@ index 000000000..f7e376ce6 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java new file mode 100644 -index 000000000..9d8bee5ca +index 0000000000..9d8bee5cac --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java @@ -0,0 +1,777 @@ @@ -916,7 +916,7 @@ index 000000000..9d8bee5ca +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java new file mode 100644 -index 000000000..a68bace35 +index 0000000000..a68bace353 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfo.java @@ -0,0 +1,81 @@ @@ -1003,7 +1003,7 @@ index 000000000..a68bace35 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java new file mode 100644 -index 000000000..067dfb2f1 +index 0000000000..067dfb2f14 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketInfoAntiXray.java @@ -0,0 +1,31 @@ @@ -1040,7 +1040,7 @@ index 000000000..067dfb2f1 +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java new file mode 100644 -index 000000000..cc586827a +index 0000000000..cc586827aa --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsReader.java @@ -0,0 +1,56 @@ @@ -1102,7 +1102,7 @@ index 000000000..cc586827a +} diff --git a/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java new file mode 100644 -index 000000000..37093419c +index 0000000000..37093419cf --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/antixray/DataBitsWriter.java @@ -0,0 +1,84 @@ @@ -1191,7 +1191,7 @@ index 000000000..37093419c + } +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index e2a48695d..d19412f18 100644 +index 2003522d96..d604f96c16 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -315,7 +315,7 @@ public class Chunk implements IChunkAccess { @@ -1204,7 +1204,7 @@ index e2a48695d..d19412f18 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 287f11358..f88e3d957 100644 +index 73f93e4948..a028074112 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -74,7 +74,7 @@ public class ChunkRegionLoader { @@ -1226,7 +1226,7 @@ index 287f11358..f88e3d957 100644 object = protochunk; protochunk.a(abiomebase); diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index c4c181c1d..d6b327eff 100644 +index ca2bf8b770..584b3e6393 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -6,21 +6,31 @@ public class ChunkSection { @@ -1265,17 +1265,18 @@ index c4c181c1d..d6b327eff 100644 public IBlockData getType(int i, int j, int k) { diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index e05b9d606..cbc9dc902 100644 +index 1e2bca1e04..8fba1e2f3d 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java -@@ -1,5 +1,6 @@ - package net.minecraft.server; - +@@ -3,6 +3,7 @@ package net.minecraft.server; + import it.unimi.dsi.fastutil.ints.Int2IntMap; + import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; + import it.unimi.dsi.fastutil.ints.Int2IntMap.Entry; +import com.destroystokyo.paper.antixray.ChunkPacketInfo; // Paper - Anti-Xray import java.util.Arrays; import java.util.Objects; import java.util.concurrent.locks.ReentrantLock; -@@ -16,6 +17,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -19,6 +20,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { private final Function e; private final Function f; private final T g; @@ -1283,7 +1284,7 @@ index e05b9d606..cbc9dc902 100644 protected DataBits a; protected DataBits getDataBits() { return this.a; } // Paper - OBFHELPER private DataPalette h; private DataPalette getDataPalette() { return this.h; } // Paper - OBFHELPER private int i; private int getBitsPerObject() { return this.i; } // Paper - OBFHELPER -@@ -44,14 +46,50 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -47,14 +49,50 @@ public class DataPaletteBlock implements DataPaletteExpandable { } public DataPaletteBlock(DataPalette datapalette, RegistryBlockID registryblockid, Function function, Function function1, T t0) { @@ -1335,7 +1336,7 @@ index e05b9d606..cbc9dc902 100644 private static int b(int i, int j, int k) { return j << 8 | k << 4 | i; } -@@ -85,6 +123,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -88,6 +126,7 @@ public class DataPaletteBlock implements DataPaletteExpandable { int j; @@ -1343,7 +1344,7 @@ index e05b9d606..cbc9dc902 100644 for (j = 0; j < databits.b(); ++j) { T t1 = datapalette.a(databits.a(j)); -@@ -136,22 +175,39 @@ public class DataPaletteBlock implements DataPaletteExpandable { +@@ -139,22 +178,39 @@ public class DataPaletteBlock implements DataPaletteExpandable { public void writeDataPaletteBlock(PacketDataSerializer packetDataSerializer) { this.b(packetDataSerializer); } // Paper - OBFHELPER public void b(PacketDataSerializer packetdataserializer) { @@ -1386,10 +1387,19 @@ index e05b9d606..cbc9dc902 100644 if (this.h == this.b) { diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index ba23d2833..8dcaaf867 100644 +index e156804f7a..96a785af27 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java -@@ -166,8 +166,8 @@ public class NetworkManager extends SimpleChannelInboundHandler> { +@@ -42,7 +42,7 @@ public class NetworkManager extends SimpleChannelInboundHandler> { + return new DefaultEventLoopGroup(0, (new ThreadFactoryBuilder()).setNameFormat("Netty Local Client IO #%d").setDaemon(true).build()); + }); + private final EnumProtocolDirection h; +- private final Queue packetQueue = Queues.newConcurrentLinkedQueue(); ++ private final Queue packetQueue = Queues.newConcurrentLinkedQueue(); private final Queue getPacketQueue() { return this.packetQueue; } // Paper - OBFHELPER + public Channel channel; + public SocketAddress socketAddress; public void setSpoofedRemoteAddress(SocketAddress address) { this.socketAddress = address; } // Paper - OBFHELPER + // Spigot Start +@@ -164,8 +164,8 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } public void sendPacket(Packet packet, @Nullable GenericFutureListener> genericfuturelistener) { @@ -1399,8 +1409,8 @@ index ba23d2833..8dcaaf867 100644 + //this.o(); // Paper - Async-Anti-Xray - Move to if statement (this.sendPacketQueue()) this.b(packet, genericfuturelistener); } else { - this.j.writeLock().lock(); -@@ -231,23 +231,38 @@ public class NetworkManager extends SimpleChannelInboundHandler> { + this.packetQueue.add(new NetworkManager.QueuedPacket(packet, genericfuturelistener)); +@@ -223,21 +223,32 @@ public class NetworkManager extends SimpleChannelInboundHandler> { } @@ -1410,18 +1420,14 @@ index ba23d2833..8dcaaf867 100644 + private boolean sendPacketQueue() { return this.o(); } // OBFHELPER // void -> boolean + private boolean o() { // void -> boolean if (this.channel != null && this.channel.isOpen()) { -- this.j.readLock().lock(); -+ if (this.packetQueue.isEmpty()) { // return if the packet queue is empty so that the write lock by Anti-Xray doesn't affect the vanilla performance at all -+ return true; -+ } -+ -+ this.j.writeLock().lock(); // readLock -> writeLock (because of race condition between peek and poll) + Queue queue = this.packetQueue; - try { - while (!this.packetQueue.isEmpty()) { -- NetworkManager.QueuedPacket networkmanager_queuedpacket = (NetworkManager.QueuedPacket) this.packetQueue.poll(); + synchronized (this.packetQueue) { +- NetworkManager.QueuedPacket networkmanager_queuedpacket; - +- while ((networkmanager_queuedpacket = (NetworkManager.QueuedPacket) this.packetQueue.poll()) != null) { - this.b(networkmanager_queuedpacket.a, networkmanager_queuedpacket.b); ++ while (!this.packetQueue.isEmpty()) { + NetworkManager.QueuedPacket networkmanager_queuedpacket = (NetworkManager.QueuedPacket) this.getPacketQueue().peek(); // poll -> peek + + if (networkmanager_queuedpacket != null) { // Fix NPE (Spigot bug caused by handleDisconnection()) @@ -1433,11 +1439,8 @@ index ba23d2833..8dcaaf867 100644 + } + } } - } finally { -- this.j.readLock().unlock(); -+ this.j.writeLock().unlock(); // readLock -> writeLock (because of race condition between peek and poll) - } + } } + + return true; // Return true if all packets were dispatched @@ -1447,7 +1450,7 @@ index ba23d2833..8dcaaf867 100644 public void a() { this.o(); diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java -index ef71a1feb..483317608 100644 +index ef71a1feb3..483317608c 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java @@ -1,5 +1,6 @@ @@ -1540,10 +1543,10 @@ index ef71a1feb..483317608 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index f0203d53c..b455b6102 100644 +index 98590e233a..af934ef8bc 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java -@@ -154,6 +154,11 @@ public class PlayerChunk { +@@ -176,6 +176,11 @@ public class PlayerChunk { World world = chunk.getWorld(); if (this.dirtyCount == 64) { @@ -1555,7 +1558,7 @@ index f0203d53c..b455b6102 100644 this.s = -1; } -@@ -186,7 +191,7 @@ public class PlayerChunk { +@@ -208,7 +213,7 @@ public class PlayerChunk { this.a(world, blockposition); } } else if (this.dirtyCount == 64) { @@ -1565,10 +1568,10 @@ index f0203d53c..b455b6102 100644 this.a(new PacketPlayOutMultiBlockChange(this.dirtyCount, this.dirtyBlocks, chunk), false); diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index d68c89817..89b72da82 100644 +index 36ce789127..e698e1c931 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java -@@ -519,7 +519,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -526,7 +526,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { PlayerChunkMap.LOGGER.error("Couldn't load chunk {}", chunkcoordintpair, exception); } @@ -1577,7 +1580,7 @@ index d68c89817..89b72da82 100644 }, this.executor); } -@@ -1173,7 +1173,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { +@@ -1223,7 +1223,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d { private void a(EntityPlayer entityplayer, Packet[] apacket, Chunk chunk) { if (apacket[0] == null) { @@ -1587,10 +1590,10 @@ index d68c89817..89b72da82 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index 83b36b3e7..8fef6008d 100644 +index f953bd7ceb..596b87bc06 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java -@@ -207,6 +207,8 @@ public class PlayerInteractManager { +@@ -253,6 +253,8 @@ public class PlayerInteractManager { } } @@ -1598,9 +1601,9 @@ index 83b36b3e7..8fef6008d 100644 + this.world.chunkPacketBlockController.onPlayerLeftClickBlock(this, blockposition, enumdirection); // Paper - Anti-Xray } - public void a(BlockPosition blockposition) { + public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype) { diff --git a/src/main/java/net/minecraft/server/ProtoChunk.java b/src/main/java/net/minecraft/server/ProtoChunk.java -index 6bdd7dda0..7bad12eb0 100644 +index 6bdd7dda04..7bad12eb00 100644 --- a/src/main/java/net/minecraft/server/ProtoChunk.java +++ b/src/main/java/net/minecraft/server/ProtoChunk.java @@ -44,16 +44,28 @@ public class ProtoChunk implements IChunkAccess { @@ -1643,7 +1646,7 @@ index 6bdd7dda0..7bad12eb0 100644 return this.j[i]; diff --git a/src/main/java/net/minecraft/server/TicketType.java b/src/main/java/net/minecraft/server/TicketType.java -index e66af33c1..5acb0732c 100644 +index 157ca6a7e6..9c114d2d37 100644 --- a/src/main/java/net/minecraft/server/TicketType.java +++ b/src/main/java/net/minecraft/server/TicketType.java @@ -21,6 +21,7 @@ public class TicketType { @@ -1655,7 +1658,7 @@ index e66af33c1..5acb0732c 100644 public static TicketType a(String s, Comparator comparator) { return new TicketType<>(s, comparator, 0L); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f0e8acdd1..ee6474b18 100644 +index 10c149faec..ab98c7b796 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -2,6 +2,8 @@ package net.minecraft.server; @@ -1692,7 +1695,7 @@ index f0e8acdd1..ee6474b18 100644 if (iblockdata1 == null) { // CraftBukkit start - remove blockstate if failed diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -index 7772d5900..4570ed999 100644 +index 7772d59005..4570ed9991 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java @@ -21,9 +21,11 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData { diff --git a/Spigot-Server-Patches/0405-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch b/Spigot-Server-Patches/0403-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch similarity index 71% rename from Spigot-Server-Patches/0405-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch rename to Spigot-Server-Patches/0403-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch index 9bfde2ba1..96f1b530a 100644 --- a/Spigot-Server-Patches/0405-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch +++ b/Spigot-Server-Patches/0403-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch @@ -1,4 +1,4 @@ -From 59dc0ea3ce3eb0ec7abcd18d556c78f8118d5cca Mon Sep 17 00:00:00 2001 +From 75867964f818c34502a5eef6ef6d504166bc8721 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 24 Mar 2019 01:01:32 -0400 Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob @@ -17,7 +17,7 @@ This should fully solve all of the issues around it so that only natural influences natural spawns. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 929f5c303..ff520d9e8 100644 +index 929f5c3031..ff520d9e86 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -509,6 +509,16 @@ public class PaperWorldConfig { @@ -38,23 +38,23 @@ index 929f5c303..ff520d9e8 100644 public boolean asynchronous; public EngineMode engineMode; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c646393eb..959fc99bb 100644 +index b7d536ff0e..9fb5af4717 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java -@@ -867,6 +867,13 @@ public class WorldServer extends World { - EnumCreatureType enumcreaturetype = entity.getEntityType().d(); +@@ -864,6 +864,13 @@ public class WorldServer extends World { + EnumCreatureType enumcreaturetype = entity.getEntityType().e(); - if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) { -+ // Paper start - Only count natural spawns -+ if (!this.paperConfig.countAllMobsForSpawning && -+ !(entity.spawnReason == CreatureSpawnEvent.SpawnReason.NATURAL || + if (enumcreaturetype != EnumCreatureType.MISC && this.getChunkProvider().b(entity)) { ++ // Paper start - Only count natural spawns ++ if (!this.paperConfig.countAllMobsForSpawning && ++ !(entity.spawnReason == CreatureSpawnEvent.SpawnReason.NATURAL || + entity.spawnReason == CreatureSpawnEvent.SpawnReason.CHUNK_GEN)) { -+ continue; -+ } -+ // Paper end - object2intmap.mergeInt(enumcreaturetype, 1, Integer::sum); - } ++ continue; ++ } ++ // Paper end + object2intmap.mergeInt(enumcreaturetype, 1, Integer::sum); } + } -- 2.22.0 diff --git a/Spigot-Server-Patches/0406-Use-getChunkIfLoadedImmediately-in-places.patch b/Spigot-Server-Patches/0404-Use-getChunkIfLoadedImmediately-in-places.patch similarity index 95% rename from Spigot-Server-Patches/0406-Use-getChunkIfLoadedImmediately-in-places.patch rename to Spigot-Server-Patches/0404-Use-getChunkIfLoadedImmediately-in-places.patch index 197379fcf..eb4519293 100644 --- a/Spigot-Server-Patches/0406-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/Spigot-Server-Patches/0404-Use-getChunkIfLoadedImmediately-in-places.patch @@ -1,4 +1,4 @@ -From 5bbfd0385d4b4aee58fcdbe1d0c2a602f230ef35 Mon Sep 17 00:00:00 2001 +From 88cb7775e487f94a1bdda8f8722f4a0404965ca4 Mon Sep 17 00:00:00 2001 From: Spottedleaf Date: Mon, 8 Jul 2019 00:13:36 -0700 Subject: [PATCH] Use getChunkIfLoadedImmediately in places @@ -8,7 +8,7 @@ ticket level 33 (yes getChunkIfLoaded will actually perform a chunk load in that case). diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index bece9a16ba..9485bc4810 100644 +index 55c73ffcaa..e8def7f812 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -199,7 +199,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -21,10 +21,10 @@ index bece9a16ba..9485bc4810 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 87639793ae..c900e32cd4 100644 +index 8d48495eb7..9cf6cc53f4 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -980,7 +980,7 @@ public class PlayerConnection implements PacketListenerPlayIn { +@@ -981,7 +981,7 @@ public class PlayerConnection implements PacketListenerPlayIn { speed = player.abilities.walkSpeed * 10f; } // Paper start - Prevent moving into unloaded chunks @@ -34,7 +34,7 @@ index 87639793ae..c900e32cd4 100644 return; } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index ee6474b188..31cac69315 100644 +index ab98c7b796..b81b37445c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -131,7 +131,7 @@ public abstract class World implements IIBlockAccess, GeneratorAccess, AutoClose diff --git a/Spigot-Server-Patches/0144-Fix-block-break-desync.patch b/removed/1.14/0144-Fix-block-break-desync.patch similarity index 91% rename from Spigot-Server-Patches/0144-Fix-block-break-desync.patch rename to removed/1.14/0144-Fix-block-break-desync.patch index b3a736f5d..36562a4c0 100644 --- a/Spigot-Server-Patches/0144-Fix-block-break-desync.patch +++ b/removed/1.14/0144-Fix-block-break-desync.patch @@ -1,11 +1,11 @@ -From a978054018377ce66278733588ac849ca3176b24 Mon Sep 17 00:00:00 2001 +From 635cfbbdad0af0805e7eadf3de564462628d732f Mon Sep 17 00:00:00 2001 From: Michael Himing Date: Sun, 8 Jan 2017 18:50:35 +1100 Subject: [PATCH] Fix block break desync diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index fd8d30e5c..b34a0fb35 100644 +index fd8d30e5cb..b34a0fb350 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -1185,6 +1185,8 @@ public class PlayerConnection implements PacketListenerPlayIn { diff --git a/work/BuildData b/work/BuildData index d526c9af5..2dbde4c18 160000 --- a/work/BuildData +++ b/work/BuildData @@ -1 +1 @@ -Subproject commit d526c9af5ffd94a80fdb5994c05275b87ea67a53 +Subproject commit 2dbde4c18d3b3e34142da21d42cea4b1beb33d7d diff --git a/work/Bukkit b/work/Bukkit index e99c94440..f1849e8e8 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit e99c94440124f246a75f080cce7e2338d5e669db +Subproject commit f1849e8e885a2bbde1e7a51193d471789fee782a diff --git a/work/CraftBukkit b/work/CraftBukkit index eb2e65787..9c887d4d8 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit eb2e657871c7305a09060c56ceb2a93d3ee15009 +Subproject commit 9c887d4d8087513244318f2cc6993b19cc1802b7 diff --git a/work/Paperclip b/work/Paperclip index 97ec86ee3..a79cd4fb6 160000 --- a/work/Paperclip +++ b/work/Paperclip @@ -1 +1 @@ -Subproject commit 97ec86ee3e1c742929be015c2beab14bb8404d89 +Subproject commit a79cd4fb67ebe852002951ec8e60cda75b1b5be4 diff --git a/work/Spigot b/work/Spigot index 9a643a6af..9de398a17 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 9a643a6af514ba081c8b828a939bc4eb921a5089 +Subproject commit 9de398a1706f1378a3d875d12ea16a7d882a808f