From c442e96eb9471ddf90068593cbc105dc1058d490 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 8 Jun 2016 22:57:14 -0500 Subject: [PATCH] Update to Minecraft 1.10 --- Spigot-API-Patches/0001-POM-changes.patch | 8 +- .../0007-Entity-Origin-API.patch | 6 +- Spigot-Server-Patches/0001-POM-Changes.patch | 12 +- .../0002-Paper-config-files.patch | 12 +- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 8 +- Spigot-Server-Patches/0004-MC-Utils.patch | 13 +- Spigot-Server-Patches/0005-Timings-v2.patch | 118 +++++++++--------- ...6-Vanished-players-don-t-have-rights.patch | 20 +-- ...0007-Configurable-squid-spawn-ranges.patch | 14 +-- ...ctus-and-reed-natural-growth-heights.patch | 4 +- ...figurable-baby-zombie-movement-speed.patch | 12 +- ...010-Configurable-fishing-time-ranges.patch | 14 +-- .../0011-Allow-nerfed-mobs-to-jump.patch | 14 +-- ...2-Toggle-for-player-interact-limiter.patch | 10 +- .../0013-Player-Exhaustion-Multipliers.patch | 14 +-- ...-despawn-distances-for-living-entiti.patch | 8 +- ...5-Allow-for-toggling-of-spawn-chunks.patch | 6 +- ...ck-and-tnt-entities-at-the-specified.patch | 18 +-- ...le-speed-for-water-flowing-over-lava.patch | 6 +- ...ient-crashes-server-lists-and-Mojang.patch | 14 +-- .../0019-Player-affects-spawning-API.patch | 38 +++--- Spigot-Server-Patches/0020-Metrics.patch | 4 +- ...ve-invalid-mob-spawner-tile-entities.patch | 8 +- .../0022-Optimize-TileEntity-Ticking.patch | 24 ++-- ...023-Further-improve-server-tick-loop.patch | 12 +- ...024-Only-refresh-abilities-if-needed.patch | 6 +- .../0025-Add-async-chunk-load-API.patch | 6 +- .../0026-Entity-Origin-API.patch | 32 ++--- ...event-tile-entity-and-entity-crashes.patch | 16 +-- ...nfigurable-top-of-nether-void-damage.patch | 12 +- ...e-before-converting-and-renaming-pla.patch | 8 +- .../0030-Always-tick-falling-blocks.patch | 6 +- .../0031-Lighting-Queue.patch | 18 +-- .../0032-Optimize-draining.patch | 6 +- .../0033-Configurable-end-credits.patch | 12 +- ...-explosions-processing-dead-entities.patch | 6 +- .../0035-Generator-Settings.patch | 42 +++---- .../0036-Optimize-explosions.patch | 12 +- ...lowing-block-if-material-has-changed.patch | 6 +- .../0038-Fast-draining.patch | 6 +- .../0039-Configurable-lava-flow-speed.patch | 6 +- .../0040-Add-player-view-distance-API.patch | 6 +- .../0041-Disable-explosion-knockback.patch | 18 +-- .../0042-Disable-thunder.patch | 6 +- .../0043-Disable-ice-and-snow.patch | 6 +- ...4-Configurable-mob-spawner-tick-rate.patch | 6 +- ...sition-the-first-time-an-entity-is-s.patch | 53 +++----- .../0046-Add-BeaconEffectEvent.patch | 6 +- ...figurable-container-update-tick-rate.patch | 6 +- ...ome-times-creating-air-instead-of-co.patch | 6 +- .../0049-Use-UserCache-for-player-heads.patch | 4 +- .../0050-Disable-spigot-tick-limiters.patch | 10 +- ...figurable-Chunk-IO-Thread-Base-Count.patch | 4 +- ...ion-File-s-when-checking-if-chunk-ex.patch | 6 +- ...n-t-create-a-chunk-just-to-unload-it.patch | 4 +- .../0054-Add-PlayerInitialSpawnEvent.patch | 6 +- .../0055-Disable-chest-cat-detection.patch | 4 +- ...56-Ensure-commands-are-not-ran-async.patch | 10 +- ...chunks-are-slime-spawn-chunks-toggle.patch | 14 +-- ...port-to-tab-completers-vanilla-featu.patch | 10 +- .../0059-Optimize-Pathfinding.patch | 12 +- .../0060-Optimize-getBlockData.patch | 6 +- ...opper-searches-if-there-are-no-items.patch | 18 +-- .../0062-Expose-server-CommandMap.patch | 6 +- ...e-informative-in-maxHealth-exception.patch | 4 +- ...cord-chat-API-from-spigot-subclasses.patch | 8 +- .../0065-Player-Tab-List-and-Title-APIs.patch | 6 +- .../0066-Ensure-inv-drag-is-in-bounds.patch | 6 +- ...entation-of-tile-entity-removal-list.patch | 47 +++---- ...dd-configurable-portal-search-radius.patch | 6 +- .../0069-Add-velocity-warnings.patch | 8 +- ...x-inter-world-teleportation-glitches.patch | 6 +- .../0071-Add-exception-reporting-event.patch | 28 ++--- ...-don-t-need-to-when-cerealising-text.patch | 4 +- ...oreboards-for-non-players-by-default.patch | 16 +-- ...working-with-arrows-stuck-in-living-.patch | 16 +-- .../0075-Complete-resource-pack-API.patch | 32 ++--- ...Re-add-Spigot-s-hopper-check-feature.patch | 8 +- .../0077-Chunk-save-queue-improvements.patch | 18 +-- .../0078-Chunk-Save-Reattempt.patch | 8 +- ...ading-permissions.yml-before-plugins.patch | 8 +- ...llow-Reloading-of-Custom-Permissions.patch | 6 +- .../0081-Remove-Metadata-on-reload.patch | 6 +- .../0082-Undead-horse-leashing.patch | 8 +- .../0083-Fix-Furnace-cook-time-bug.patch | 8 +- ...084-Handle-Item-Meta-Inconsistencies.patch | 4 +- ...urable-Non-Player-Arrow-Despawn-Rate.patch | 16 +-- .../0086-Add-World-Util-Methods.patch | 6 +- ...87-Optimized-Light-Level-Comparisons.patch | 12 +- .../0088-Pass-world-to-Village-creation.patch | 19 +-- ...9-Custom-replacement-for-eaten-items.patch | 15 ++- .../0090-Set-health-before-death-event.patch | 4 +- ...th-absorb-values-and-repair-bad-data.patch | 14 +-- ...atch-Async-PlayerChunkMap-operations.patch | 2 +- ...ne-mode-in-whitelist-command-as-well.patch | 10 +- .../0094-Fix-SkullCache-case-bug.patch | 6 +- .../0095-Waving-banner-workaround.patch | 4 +- ...096-Use-a-Shared-Random-for-Entities.patch | 10 +- .../0097-Don-t-teleport-dead-entities.patch | 8 +- .../0098-Optimize-Chunk-Access.patch | 10 +- ...le-spawn-chances-for-skeleton-horses.patch | 4 +- ...ptimize-isValidLocation-for-inlining.patch | 14 +-- ...e-correct-item-in-arrow-pickup-event.patch | 10 +- .../0102-Fix-cooked-fish-legacy-import.patch | 4 +- ...-infinite-loop-in-BlockPosition-iter.patch | 6 +- .../0104-Access-items-by-EquipmentSlot.patch | 4 +- ...heck-async-remove-unused-vars-GH-159.patch | 6 +- ...sable-BlockPhysicsEvent-for-Redstone.patch | 6 +- ...Entity-AddTo-RemoveFrom-World-Events.patch | 10 +- ...8-Configurable-Chunk-Inhabited-Timer.patch | 6 +- .../0109-EntityPathfindEvent.patch | 24 ++-- ...w-BlockFromToEvent-from-loading-chun.patch | 8 +- .../0111-Minecart-drop-name-workaround.patch | 8 +- ...uce-IO-ops-opening-a-new-region-file.patch | 6 +- ...egionFileCache-and-make-configurable.patch | 4 +- .../0114-Add-getEntity-by-UUID-API.patch | 10 +- .../0115-Use-Optimized-Collections.patch | 8 +- ...-Do-not-load-chunks-for-light-checks.patch | 6 +- ...0117-Add-PlayerUseUnknownEntityEvent.patch | 8 +- ...dDebugInfo-not-initialized-on-client.patch | 6 +- ...-Configurable-Grass-Spread-Tick-Rate.patch | 2 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 24 ++-- ...g-BlockPlaceEvent-triggering-physics.patch | 6 +- ...am-reload-spawn-chunks-in-nether-end.patch | 14 +-- ...23-Remove-Debug-checks-from-DataBits.patch | 4 +- ...nilla-per-world-scoreboard-coloring-.patch | 8 +- ...nd-for-setting-passengers-on-players.patch | 6 +- ...te-PlayerConnection-on-teleporting-p.patch | 10 +- ...Remove-unused-World-Tile-Entity-List.patch | 16 +-- .../0128-Don-t-tick-Skulls-unused-code.patch | 8 +- ...players-not-being-kicked-on-shutdown.patch | 6 +- .../0130-Configurable-Player-Collision.patch | 8 +- ...ent-to-allow-plugins-to-handle-clien.patch | 6 +- ...-mobs-should-only-spawn-in-the-water.patch | 8 +- ...Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch | 10 +- .../0134-Configurable-RCON-IP-address.patch | 6 +- ...135-Prevent-Fire-from-loading-chunks.patch | 4 +- ...36-Implement-PlayerLocaleChangeEvent.patch | 20 +-- ...ityRegainHealthEvent-isFastRegen-API.patch | 10 +- ...-to-configure-frosted_ice-properties.patch | 2 +- ...9-Vehicle-Event-Cancellation-Changes.patch | 32 ++--- .../0140-Arrow-pickup-rule-API.patch | 4 +- ...nt-additions-and-mark-entities-remov.patch | 71 ----------- ...dispenser-dropper-furnace-placement.patch} | 6 +- ...0142-Reimplement-PlayerEditBookEvent.patch | 61 +++++++++ ...mprove-Minecraft-Hopper-Performance.patch} | 16 +-- ...0143-Reimplement-PlayerEditBookEvent.patch | 89 ------------- ...possibility-for-getServer-singleton.patch} | 8 +- ...tem-frames-performance-and-bug-fixe.patch} | 20 +-- ...API-Replenishable-Lootables-Feature.patch} | 18 +-- ...-Do-not-load-chunks-for-pathfinding.patch} | 4 +- ...> 0148-Entity-Tracking-Improvements.patch} | 12 +- ...-scoreboard-teams-to-scoreboard.dat.patch} | 6 +- ...unks-as-active-for-neighbor-updates.patch} | 10 +- ... 0151-Fix-Chunk-Unload-Queue-Issues.patch} | 8 +- ...em-property-for-disabling-watchdoge.patch} | 4 +- ...mize-EAR.patch => 0153-Optimize-EAR.patch} | 6 +- ...0154-Optimize-UserCache-Thread-Safe.patch} | 10 +- ...ntityItem-loads-before-EntityPotion.patch} | 8 +- ...locking-on-Network-Manager-creation.patch} | 6 +- ...7-Optional-old-TNT-cannon-behaviors.patch} | 40 +++--- ...-redstone-torch-rapid-clock-removal.patch} | 6 +- ...Ensure-Chunks-never-ever-load-async.patch} | 4 +- ...h => 0160-Add-server-name-parameter.patch} | 4 +- ...tityTick.startTiming-Spigot-removed.patch} | 6 +- ...n-Wither-Death-sounds-to-same-world.patch} | 12 +- ...FallingBlocks-being-stuck-on-fences.patch} | 12 +- .../0165-Fix-Potion-Equals-Bug.patch | 35 ------ scripts/importmcdev.sh | 1 - work/BuildData | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 173 files changed, 966 insertions(+), 1138 deletions(-) delete mode 100644 Spigot-Server-Patches/0141-Check-entity-count-additions-and-mark-entities-remov.patch rename Spigot-Server-Patches/{0142-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch => 0141-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch} (95%) create mode 100644 Spigot-Server-Patches/0142-Reimplement-PlayerEditBookEvent.patch rename Spigot-Server-Patches/{0144-Improve-Minecraft-Hopper-Performance.patch => 0143-Improve-Minecraft-Hopper-Performance.patch} (84%) delete mode 100644 Spigot-Server-Patches/0143-Reimplement-PlayerEditBookEvent.patch rename Spigot-Server-Patches/{0145-remove-null-possibility-for-getServer-singleton.patch => 0144-remove-null-possibility-for-getServer-singleton.patch} (90%) rename Spigot-Server-Patches/{0146-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch => 0145-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch} (94%) rename Spigot-Server-Patches/{0147-LootTable-API-Replenishable-Lootables-Feature.patch => 0146-LootTable-API-Replenishable-Lootables-Feature.patch} (98%) rename Spigot-Server-Patches/{0148-Do-not-load-chunks-for-pathfinding.patch => 0147-Do-not-load-chunks-for-pathfinding.patch} (89%) rename Spigot-Server-Patches/{0149-Entity-Tracking-Improvements.patch => 0148-Entity-Tracking-Improvements.patch} (93%) rename Spigot-Server-Patches/{0150-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch => 0149-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch} (93%) rename Spigot-Server-Patches/{0151-Do-not-mark-chunks-as-active-for-neighbor-updates.patch => 0150-Do-not-mark-chunks-as-active-for-neighbor-updates.patch} (97%) rename Spigot-Server-Patches/{0152-Fix-Chunk-Unload-Queue-Issues.patch => 0151-Fix-Chunk-Unload-Queue-Issues.patch} (94%) rename Spigot-Server-Patches/{0153-System-property-for-disabling-watchdoge.patch => 0152-System-property-for-disabling-watchdoge.patch} (91%) rename Spigot-Server-Patches/{0154-Optimize-EAR.patch => 0153-Optimize-EAR.patch} (95%) rename Spigot-Server-Patches/{0155-Optimize-UserCache-Thread-Safe.patch => 0154-Optimize-UserCache-Thread-Safe.patch} (94%) rename Spigot-Server-Patches/{0156-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch => 0155-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch} (91%) rename Spigot-Server-Patches/{0157-Avoid-blocking-on-Network-Manager-creation.patch => 0156-Avoid-blocking-on-Network-Manager-creation.patch} (95%) rename Spigot-Server-Patches/{0158-Optional-old-TNT-cannon-behaviors.patch => 0157-Optional-old-TNT-cannon-behaviors.patch} (95%) rename Spigot-Server-Patches/{0159-Faster-redstone-torch-rapid-clock-removal.patch => 0158-Faster-redstone-torch-rapid-clock-removal.patch} (93%) rename Spigot-Server-Patches/{0160-Ensure-Chunks-never-ever-load-async.patch => 0159-Ensure-Chunks-never-ever-load-async.patch} (96%) rename Spigot-Server-Patches/{0161-Add-server-name-parameter.patch => 0160-Add-server-name-parameter.patch} (93%) rename Spigot-Server-Patches/{0162-Re-add-tileEntityTick.startTiming-Spigot-removed.patch => 0161-Re-add-tileEntityTick.startTiming-Spigot-removed.patch} (82%) rename Spigot-Server-Patches/{0163-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch => 0162-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch} (90%) rename Spigot-Server-Patches/{0164-Fix-FallingBlocks-being-stuck-on-fences.patch => 0163-Fix-FallingBlocks-being-stuck-on-fences.patch} (92%) delete mode 100644 Spigot-Server-Patches/0165-Fix-Potion-Equals-Bug.patch diff --git a/Spigot-API-Patches/0001-POM-changes.patch b/Spigot-API-Patches/0001-POM-changes.patch index 5e8250343b..88e2700843 100644 --- a/Spigot-API-Patches/0001-POM-changes.patch +++ b/Spigot-API-Patches/0001-POM-changes.patch @@ -1,11 +1,11 @@ -From 40a793d76f1bb04ad6d9d6cbbadb2a04024ed1b3 Mon Sep 17 00:00:00 2001 +From f24f0b8ba5724ebdbe7d09a476607b43dd626645 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 17:16:08 -0600 Subject: [PATCH] POM changes diff --git a/pom.xml b/pom.xml -index 0ab9e14..79498ae 100644 +index 0f5b26c..ead01eb 100644 --- a/pom.xml +++ b/pom.xml @@ -4,35 +4,37 @@ @@ -24,7 +24,7 @@ index 0ab9e14..79498ae 100644 - spigot-api + com.destroystokyo.paper + paper-api - 1.9.4-R0.1-SNAPSHOT + 1.10-R0.1-SNAPSHOT jar - Spigot-API @@ -95,5 +95,5 @@ index 0ab9e14..79498ae 100644 maven-shade-plugin 2.4.1 -- -2.8.2 +2.8.3 diff --git a/Spigot-API-Patches/0007-Entity-Origin-API.patch b/Spigot-API-Patches/0007-Entity-Origin-API.patch index e32ad2db21..710c8655a3 100644 --- a/Spigot-API-Patches/0007-Entity-Origin-API.patch +++ b/Spigot-API-Patches/0007-Entity-Origin-API.patch @@ -1,14 +1,14 @@ -From e1bfb9a5ac6112089f5a13e5b8db381c4d872bcf Mon Sep 17 00:00:00 2001 +From 3ce5b4bd388da96e7866319ee200652797a3b74b Mon Sep 17 00:00:00 2001 From: Byteflux Date: Mon, 29 Feb 2016 17:50:31 -0600 Subject: [PATCH] Entity Origin API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 8837641..713add6 100644 +index aa7cc17..434334a 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -407,4 +407,15 @@ public interface Entity extends Metadatable, CommandSender { +@@ -421,4 +421,15 @@ public interface Entity extends Metadatable, CommandSender { Spigot spigot(); // Spigot End diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch index 3ed837a649..314b017179 100644 --- a/Spigot-Server-Patches/0001-POM-Changes.patch +++ b/Spigot-Server-Patches/0001-POM-Changes.patch @@ -1,11 +1,11 @@ -From 1f44ac1349b9039a365ca63f7ec578fdbc0974ea Mon Sep 17 00:00:00 2001 +From ed260d61a8f87e73dc55565aff787e53b87b3037 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 95a9224..00edfb5 100644 +index 9fa8bde..eb45129 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,12 @@ @@ -17,16 +17,16 @@ index 95a9224..00edfb5 100644 + com.destroystokyo.paper + paper jar - 1.9.4-R0.1-SNAPSHOT + 1.10-R0.1-SNAPSHOT - Spigot - http://www.spigotmc.org + Paper -+ https://github.com/PaperSpigot/Paper ++ https://github.com/PaperMC/Paper UTF-8 @@ -15,21 +15,22 @@ - 1_9_R2 + 1_10_R1 git-Bukkit- - 1.6 @@ -194,5 +194,5 @@ index 9304637..674096c 100644 if (stream != null) { -- -2.8.3.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0002-Paper-config-files.patch b/Spigot-Server-Patches/0002-Paper-config-files.patch index 20f38e1e7a..6b3dcfc047 100644 --- a/Spigot-Server-Patches/0002-Paper-config-files.patch +++ b/Spigot-Server-Patches/0002-Paper-config-files.patch @@ -1,4 +1,4 @@ -From f9f9612876507164ff9977d6ac22d948ced258c1 Mon Sep 17 00:00:00 2001 +From 673985161e2af584e3e18bbbf33829983c25f50e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:02:09 -0600 Subject: [PATCH] Paper config files @@ -253,10 +253,10 @@ index 0000000..dae60dc + } +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index c956362..6750d85 100644 +index 8f26ab4..973e2c5 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -179,6 +179,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer +@@ -181,6 +181,10 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer org.spigotmc.SpigotConfig.init((File) options.valueOf("spigot-settings")); org.spigotmc.SpigotConfig.registerCommands(); // Spigot end @@ -268,7 +268,7 @@ index c956362..6750d85 100644 DedicatedServer.LOGGER.info("Generating keypair"); this.a(MinecraftEncryption.b()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a7ab03d..4dd6777 100644 +index b5b0fd7..4abeccd 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -125,6 +125,8 @@ public abstract class World implements IBlockAccess { @@ -289,7 +289,7 @@ index a7ab03d..4dd6777 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 5994c1b..12156d4 100644 +index d1a33c9..39d60e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -693,6 +693,7 @@ public final class CraftServer implements Server { @@ -335,5 +335,5 @@ index 337aa29..979adad 100644 }; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index f016e3d8c6..f2860c8b15 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -1,4 +1,4 @@ -From 9fec88bf2a25d685dedd4338cbd7bec7df280fd7 Mon Sep 17 00:00:00 2001 +From ab811322114f49feeb05a587ce46cc6dc08a21a8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes @@ -18,7 +18,7 @@ index f02fc60..d60e755 100644 } } diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 75e98d2..36952ae 100644 +index 059c96f..ab04f9c 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java @@ -49,7 +49,7 @@ public abstract class BiomeBase { @@ -31,7 +31,7 @@ index 75e98d2..36952ae 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/CommandAbstract.java b/src/main/java/net/minecraft/server/CommandAbstract.java -index f900ff9..95a9c77 100644 +index 7876457..20572d4 100644 --- a/src/main/java/net/minecraft/server/CommandAbstract.java +++ b/src/main/java/net/minecraft/server/CommandAbstract.java @@ -212,7 +212,7 @@ public abstract class CommandAbstract implements ICommand { @@ -66,5 +66,5 @@ index f5bcbdb..3190cad 100644 for (ZipEntry clazzEntry; (clazzEntry = nmsZipStream.getNextEntry()) != null; ) { final String entryName = clazzEntry.getName(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0004-MC-Utils.patch b/Spigot-Server-Patches/0004-MC-Utils.patch index 70251e249b..d0bb3fbaec 100644 --- a/Spigot-Server-Patches/0004-MC-Utils.patch +++ b/Spigot-Server-Patches/0004-MC-Utils.patch @@ -1,9 +1,8 @@ -From 9e9204318a93e93baf42cab944f182a7d8c38d78 Mon Sep 17 00:00:00 2001 +From 7da21dbfe05ab9e7d89f7e1f9a5d1cc422205569 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:55:47 -0400 Subject: [PATCH] MC Utils -Collection of utils to help reduce NMS diff diff --git a/src/main/java/net/minecraft/server/MCUtil.java b/src/main/java/net/minecraft/server/MCUtil.java new file mode 100644 @@ -197,15 +196,15 @@ index 0000000..f059bc2 + } +} diff --git a/src/main/java/net/minecraft/server/NBTTagCompound.java b/src/main/java/net/minecraft/server/NBTTagCompound.java -index c01cecb..7fa49dd 100644 +index 154a2d5..f8a624e 100644 --- a/src/main/java/net/minecraft/server/NBTTagCompound.java +++ b/src/main/java/net/minecraft/server/NBTTagCompound.java @@ -13,7 +13,7 @@ import javax.annotation.Nullable; public class NBTTagCompound extends NBTBase { -- private Map map = Maps.newHashMap(); -+ public Map map = Maps.newHashMap(); // Paper +- private final Map map = Maps.newHashMap(); ++ public final Map map = Maps.newHashMap(); // Paper public NBTTagCompound() {} @@ -224,7 +223,7 @@ index c01cecb..7fa49dd 100644 public UUID a(String s) { return new UUID(this.getLong(s + "Most"), this.getLong(s + "Least")); diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index 256614d..e86ca6c 100644 +index 13b93a4..ffe2353 100644 --- a/src/main/java/net/minecraft/server/NBTTagList.java +++ b/src/main/java/net/minecraft/server/NBTTagList.java @@ -12,7 +12,7 @@ import org.apache.logging.log4j.Logger; @@ -237,5 +236,5 @@ index 256614d..e86ca6c 100644 public NBTTagList() {} -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0005-Timings-v2.patch b/Spigot-Server-Patches/0005-Timings-v2.patch index e9221f27b5..f0f54d75ef 100644 --- a/Spigot-Server-Patches/0005-Timings-v2.patch +++ b/Spigot-Server-Patches/0005-Timings-v2.patch @@ -1,11 +1,11 @@ -From fb2ea5754f6414174122a0d0186e402a0cbee9ca Mon Sep 17 00:00:00 2001 +From f2803e9a894738ba64197ddde9ea5fca9e539ff7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 diff --git a/pom.xml b/pom.xml -index 00edfb5..79d2171 100644 +index eb45129..34bfeb1 100644 --- a/pom.xml +++ b/pom.xml @@ -65,6 +65,12 @@ @@ -273,7 +273,7 @@ index 0468372..7739e78 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 8cee6fa..3212255 100644 +index a106e44..d17160a 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -33,6 +33,15 @@ public class Block { @@ -293,10 +293,10 @@ index 8cee6fa..3212255 100644 public static int getId(Block block) { return Block.REGISTRY.a(block); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 6750d85..70994d4 100644 +index 973e2c5..2e8deba 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java -@@ -21,7 +21,7 @@ import java.io.PrintStream; +@@ -22,7 +22,7 @@ import java.io.PrintStream; import org.apache.logging.log4j.Level; import org.bukkit.craftbukkit.LoggerOutputStream; @@ -324,7 +324,7 @@ index 6750d85..70994d4 100644 public boolean aa() { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 6ad99b0..62ada23 100644 +index 064b7a9..c0e6dc8 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -24,7 +24,8 @@ import org.bukkit.block.BlockFace; @@ -337,7 +337,7 @@ index 6ad99b0..62ada23 100644 import org.bukkit.event.entity.EntityCombustByEntityEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.vehicle.VehicleBlockCollisionEvent; -@@ -141,7 +142,7 @@ public abstract class Entity implements ICommandListener { +@@ -142,7 +143,7 @@ public abstract class Entity implements ICommandListener { public boolean valid; // CraftBukkit public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949 @@ -346,7 +346,7 @@ index 6ad99b0..62ada23 100644 // Spigot start public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; -@@ -464,7 +465,6 @@ public abstract class Entity implements ICommandListener { +@@ -466,7 +467,6 @@ public abstract class Entity implements ICommandListener { } public void move(double d0, double d1, double d2) { @@ -354,7 +354,7 @@ index 6ad99b0..62ada23 100644 if (this.noclip) { this.a(this.getBoundingBox().c(d0, d1, d2)); this.recalcPosition(); -@@ -805,7 +805,6 @@ public abstract class Entity implements ICommandListener { +@@ -804,7 +804,6 @@ public abstract class Entity implements ICommandListener { this.world.methodProfiler.b(); } @@ -363,7 +363,7 @@ index 6ad99b0..62ada23 100644 public void recalcPosition() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 5f84a70..4d7be74 100644 +index 3af0765..b5db35f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -26,7 +26,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -375,15 +375,15 @@ index 5f84a70..4d7be74 100644 public abstract class EntityLiving extends Entity { -@@ -1707,7 +1707,6 @@ public abstract class EntityLiving extends Entity { +@@ -1740,7 +1740,6 @@ public abstract class EntityLiving extends Entity { } public void m() { - SpigotTimings.timerEntityBaseTick.startTiming(); // Spigot super.m(); - this.cv(); + this.cz(); if (!this.world.isClientSide) { -@@ -1780,9 +1779,7 @@ public abstract class EntityLiving extends Entity { +@@ -1813,9 +1812,7 @@ public abstract class EntityLiving extends Entity { } } @@ -393,24 +393,24 @@ index 5f84a70..4d7be74 100644 double d0 = this.locX - this.lastX; double d1 = this.locZ - this.lastZ; float f = (float) (d0 * d0 + d1 * d1); -@@ -1851,8 +1848,6 @@ public abstract class EntityLiving extends Entity { +@@ -1884,8 +1881,6 @@ public abstract class EntityLiving extends Entity { } else { - this.bp = 0; + this.bq = 0; } - - SpigotTimings.timerEntityTickRest.stopTiming(); // Spigot } protected float h(float f, float f1) { -@@ -1917,7 +1912,6 @@ public abstract class EntityLiving extends Entity { +@@ -1950,7 +1945,6 @@ public abstract class EntityLiving extends Entity { } this.world.methodProfiler.a("ai"); - SpigotTimings.timerEntityAI.startTiming(); // Spigot - if (this.cg()) { - this.bd = false; - this.be = 0.0F; -@@ -1928,7 +1922,6 @@ public abstract class EntityLiving extends Entity { + if (this.cj()) { + this.be = false; + this.bf = 0.0F; +@@ -1961,7 +1955,6 @@ public abstract class EntityLiving extends Entity { this.doTick(); this.world.methodProfiler.b(); } @@ -418,23 +418,23 @@ index 5f84a70..4d7be74 100644 this.world.methodProfiler.b(); this.world.methodProfiler.a("jump"); -@@ -1951,14 +1944,10 @@ public abstract class EntityLiving extends Entity { - this.bf *= 0.98F; - this.bg *= 0.9F; +@@ -1984,14 +1977,10 @@ public abstract class EntityLiving extends Entity { + this.bg *= 0.98F; + this.bh *= 0.9F; this.r(); - SpigotTimings.timerEntityAIMove.startTiming(); // Spigot - this.g(this.be, this.bf); + this.g(this.bf, this.bg); - SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot this.world.methodProfiler.b(); this.world.methodProfiler.a("push"); - SpigotTimings.timerEntityAICollision.startTiming(); // Spigot - this.co(); + this.cs(); - SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot this.world.methodProfiler.b(); } diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index 68242d9..2eea1c1 100644 +index 5432e70..72cd51a 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -171,7 +171,7 @@ public class EntityTracker { @@ -465,7 +465,7 @@ index 68242d9..2eea1c1 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e17d5d3..8845ad2 100644 +index c5adcc3..6ec5eae 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -50,7 +50,7 @@ import org.apache.logging.log4j.Logger; @@ -485,8 +485,8 @@ index e17d5d3..8845ad2 100644 // CraftBukkit start if (this.server != null) { this.server.disablePlugins(); -@@ -651,7 +652,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs - protected void B() {} +@@ -658,7 +659,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs + public void B() {} protected void C() throws ExceptionWorldConflict { // CraftBukkit - added throws - SpigotTimings.serverTickTimer.startTiming(); // Spigot @@ -494,7 +494,7 @@ index e17d5d3..8845ad2 100644 long i = System.nanoTime(); ++this.ticks; -@@ -678,7 +679,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -685,7 +686,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs } if (autosavePeriod > 0 && this.ticks % autosavePeriod == 0) { // CraftBukkit @@ -503,7 +503,7 @@ index e17d5d3..8845ad2 100644 this.methodProfiler.a("save"); this.v.savePlayers(); // Spigot Start -@@ -693,7 +694,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -700,7 +701,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs // this.saveChunks(true); // Spigot End this.methodProfiler.b(); @@ -512,7 +512,7 @@ index e17d5d3..8845ad2 100644 } this.methodProfiler.a("tallying"); -@@ -710,12 +711,13 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -717,12 +718,13 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs this.methodProfiler.b(); this.methodProfiler.b(); @@ -528,7 +528,7 @@ index e17d5d3..8845ad2 100644 this.methodProfiler.a("jobs"); Queue queue = this.j; -@@ -726,26 +728,27 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -733,26 +735,27 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs SystemUtils.a(entry, MinecraftServer.LOGGER); } // Spigot end @@ -563,7 +563,7 @@ index e17d5d3..8845ad2 100644 // Send time updates to everyone, it will get the right time from the world the player is in. if (this.ticks % 20 == 0) { for (int i = 0; i < this.getPlayerList().players.size(); ++i) { -@@ -753,7 +756,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -760,7 +763,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs entityplayer.playerConnection.sendPacket(new PacketPlayOutUpdateTime(entityplayer.world.getTime(), entityplayer.getPlayerTime(), entityplayer.world.getGameRules().getBoolean("doDaylightCycle"))); // Add support for per player time } } @@ -572,7 +572,7 @@ index e17d5d3..8845ad2 100644 int i; -@@ -810,9 +813,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -817,9 +820,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs this.methodProfiler.b(); this.methodProfiler.a("tracker"); @@ -582,7 +582,7 @@ index e17d5d3..8845ad2 100644 this.methodProfiler.b(); this.methodProfiler.b(); // } // CraftBukkit -@@ -821,20 +822,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -828,20 +829,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs } this.methodProfiler.c("connection"); @@ -602,7 +602,7 @@ index e17d5d3..8845ad2 100644 - SpigotTimings.tickablesTimer.startTiming(); // Spigot + MinecraftTimings.tickablesTimer.startTiming(); // Spigot for (i = 0; i < this.o.size(); ++i) { - ((ITickable) this.o.get(i)).c(); + ((ITickable) this.o.get(i)).E_(); } - SpigotTimings.tickablesTimer.stopTiming(); // Spigot + MinecraftTimings.tickablesTimer.stopTiming(); // Spigot @@ -710,7 +710,7 @@ index b0249ff..797a84f 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 0a14dd2..7c52e15 100644 +index 19be56f..155030d 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -57,6 +57,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -721,7 +721,7 @@ index 0a14dd2..7c52e15 100644 // CraftBukkit end public class PlayerConnection implements PacketListenerPlayIn, ITickable { -@@ -1330,7 +1331,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1329,7 +1330,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { // CraftBukkit end private void handleCommand(String s) { @@ -730,7 +730,7 @@ index 0a14dd2..7c52e15 100644 // CraftBukkit start - whole method if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getName() + " issued server command: " + s); -@@ -1341,22 +1342,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1340,22 +1341,22 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { this.server.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -758,7 +758,7 @@ index 0a14dd2..7c52e15 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 0cb2e63..6d4f4e7 100644 +index 42f37df..2b82312 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -6,12 +6,13 @@ import javax.annotation.Nullable; @@ -775,10 +775,10 @@ index 0cb2e63..6d4f4e7 100644 - public CustomTimingsHandler tickTimer = org.bukkit.craftbukkit.SpigotTimings.getTileEntityTimings(this); // Spigot + public Timing tickTimer = MinecraftTimings.getTileEntityTimings(this); // Paper private static final Logger a = LogManager.getLogger(); - private static Map> f = Maps.newHashMap(); - private static Map, String> g = Maps.newHashMap(); + private static final Map> f = Maps.newHashMap(); + private static final Map, String> g = Maps.newHashMap(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 78045c5..7d1272b 100644 +index 4abeccd..2a23122 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -18,11 +18,11 @@ import com.google.common.collect.Maps; @@ -812,7 +812,7 @@ index 78045c5..7d1272b 100644 this.entityLimiter = new org.spigotmc.TickLimiter(spigotConfig.entityMaxTickTime); this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); } -@@ -1375,6 +1375,7 @@ public abstract class World implements IBlockAccess { +@@ -1379,6 +1379,7 @@ public abstract class World implements IBlockAccess { } this.methodProfiler.c("remove"); @@ -820,7 +820,7 @@ index 78045c5..7d1272b 100644 this.entityList.removeAll(this.f); int j; -@@ -1395,6 +1396,7 @@ public abstract class World implements IBlockAccess { +@@ -1399,6 +1400,7 @@ public abstract class World implements IBlockAccess { this.f.clear(); this.l(); @@ -828,7 +828,7 @@ index 78045c5..7d1272b 100644 this.methodProfiler.c("regular"); CrashReportSystemDetails crashreportsystemdetails1; -@@ -1404,6 +1406,7 @@ public abstract class World implements IBlockAccess { +@@ -1408,6 +1410,7 @@ public abstract class World implements IBlockAccess { timings.entityTick.startTiming(); // Spigot guardEntityList = true; // Spigot // CraftBukkit start - Use field for loop variable @@ -836,7 +836,7 @@ index 78045c5..7d1272b 100644 int entitiesThisCycle = 0; if (tickPosition < 0) tickPosition = 0; for (entityLimiter.initTick(); -@@ -1425,10 +1428,11 @@ public abstract class World implements IBlockAccess { +@@ -1429,10 +1432,11 @@ public abstract class World implements IBlockAccess { this.methodProfiler.a("tick"); if (!entity.dead && !(entity instanceof EntityPlayer)) { try { @@ -850,7 +850,7 @@ index 78045c5..7d1272b 100644 crashreport1 = CrashReport.a(throwable1, "Ticking entity"); crashreportsystemdetails1 = crashreport1.a("Entity being ticked"); entity.appendEntityCrashDetails(crashreportsystemdetails1); -@@ -1560,6 +1564,7 @@ public abstract class World implements IBlockAccess { +@@ -1564,6 +1568,7 @@ public abstract class World implements IBlockAccess { } timings.tileEntityPending.stopTiming(); // Spigot @@ -858,7 +858,7 @@ index 78045c5..7d1272b 100644 this.methodProfiler.b(); this.methodProfiler.b(); } -@@ -1605,7 +1610,6 @@ public abstract class World implements IBlockAccess { +@@ -1609,7 +1614,6 @@ public abstract class World implements IBlockAccess { entity.ticksLived++; entity.inactiveTick(); } else { @@ -866,15 +866,15 @@ index 78045c5..7d1272b 100644 // CraftBukkit end entity.M = entity.locX; entity.N = entity.locY; -@@ -1614,6 +1618,7 @@ public abstract class World implements IBlockAccess { +@@ -1618,6 +1622,7 @@ public abstract class World implements IBlockAccess { entity.lastPitch = entity.pitch; - if (flag && entity.aa) { + if (flag && entity.ab) { ++entity.ticksLived; + ++co.aikar.timings.TimingHistory.activatedEntityTicks; // Paper if (entity.isPassenger()) { entity.aw(); } else { -@@ -1672,8 +1677,6 @@ public abstract class World implements IBlockAccess { +@@ -1676,8 +1681,6 @@ public abstract class World implements IBlockAccess { } } } @@ -884,7 +884,7 @@ index 78045c5..7d1272b 100644 } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index f8ef497..4980c7a 100644 +index bcbb368..a691d8f 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -245,13 +245,13 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -944,7 +944,7 @@ index f8ef497..4980c7a 100644 while (iterator.hasNext()) { @@ -731,6 +735,8 @@ public class WorldServer extends World implements IAsyncTaskHandler { - if (this.areChunksLoadedBetween(nextticklistentry.a.a(-b0, -b0, -b0), nextticklistentry.a.a(b0, b0, b0))) { + if (this.areChunksLoadedBetween(nextticklistentry.a.a(0, 0, 0), nextticklistentry.a.a(0, 0, 0))) { IBlockData iblockdata = this.getType(nextticklistentry.a); + co.aikar.timings.Timing timing = iblockdata.getBlock().getTiming(); // Paper + timing.startTiming(); // Paper @@ -965,7 +965,7 @@ index f8ef497..4980c7a 100644 this.methodProfiler.b(); this.U.clear(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 12156d4..f0db144 100644 +index 39d60e4..218d5db 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1726,6 +1726,7 @@ public final class CraftServer implements Server { @@ -1181,7 +1181,7 @@ index 41d2d87..0000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 46882f1..35f6c27 100644 +index 5941fab..ce85bc2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -37,15 +37,9 @@ import org.bukkit.configuration.serialization.DelegateDeserialization; @@ -1350,7 +1350,7 @@ index e52ef47..3d90b34 100644 this.value = value; } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index a752376..8870607 100644 +index 30efc99..eb30abe 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -29,7 +29,7 @@ import net.minecraft.server.EntityWither; @@ -1398,7 +1398,7 @@ index a752376..8870607 100644 - SpigotTimings.checkIfActiveTimer.startTiming(); // Never safe to skip fireworks or entities not yet added to chunk // PAIL: inChunk - if ( !entity.aa || entity instanceof EntityFireworks ) { + if ( !entity.ab || entity instanceof EntityFireworks ) { - SpigotTimings.checkIfActiveTimer.stopTiming(); return true; } diff --git a/Spigot-Server-Patches/0006-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0006-Vanished-players-don-t-have-rights.patch index 14216ace94..d2d6055769 100644 --- a/Spigot-Server-Patches/0006-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0006-Vanished-players-don-t-have-rights.patch @@ -1,14 +1,14 @@ -From 71af32a912b140b221e5df8701fdefe297a19ceb Mon Sep 17 00:00:00 2001 +From 44e34ae1a703d858ed23c66eda926d6d3f4b31e2 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 29 Feb 2016 21:20:21 -0600 Subject: [PATCH] Vanished players don't have rights diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 7593aa2..29b6f16 100644 +index cd2f7be..91fda88 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java -@@ -185,6 +185,14 @@ public abstract class EntityArrow extends Entity implements IProjectile { +@@ -189,6 +189,14 @@ public abstract class EntityArrow extends Entity implements IProjectile { } } @@ -24,7 +24,7 @@ index 7593aa2..29b6f16 100644 this.a(movingobjectposition); } diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index c47b009..12e2303 100644 +index 5a62881..da4eaf1 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -198,6 +198,14 @@ public class EntityFishingHook extends Entity { @@ -43,10 +43,10 @@ index c47b009..12e2303 100644 org.bukkit.craftbukkit.event.CraftEventFactory.callProjectileHitEvent(this); // Craftbukkit - Call event if (movingobjectposition.entity != null) { diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index f47b148..0c36bad 100644 +index 07dc5cc..770f130 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java -@@ -158,6 +158,14 @@ public abstract class EntityProjectile extends Entity implements IProjectile { +@@ -160,6 +160,14 @@ public abstract class EntityProjectile extends Entity implements IProjectile { movingobjectposition = new MovingObjectPosition(entity); } @@ -62,7 +62,7 @@ index f47b148..0c36bad 100644 if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.a()).getBlock() == Blocks.PORTAL) { this.e(movingobjectposition.a()); diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index b9aa1fc..6dbad10 100644 +index 3b6feb7..1450483 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java @@ -23,7 +23,7 @@ public class ItemBlock extends Item { @@ -75,10 +75,10 @@ index b9aa1fc..6dbad10 100644 IBlockData iblockdata1 = this.a.getPlacedState(world, blockposition, enumdirection, f, f1, f2, i, entityhuman); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 0c3ed2d..e2a06f1 100644 +index 2a23122..f8c8e4b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1690,6 +1690,14 @@ public abstract class World implements IBlockAccess { +@@ -1694,6 +1694,14 @@ public abstract class World implements IBlockAccess { for (int i = 0; i < list.size(); ++i) { Entity entity1 = (Entity) list.get(i); @@ -94,5 +94,5 @@ index 0c3ed2d..e2a06f1 100644 return false; } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0007-Configurable-squid-spawn-ranges.patch b/Spigot-Server-Patches/0007-Configurable-squid-spawn-ranges.patch index a0a16ea29c..b3d79fbe81 100644 --- a/Spigot-Server-Patches/0007-Configurable-squid-spawn-ranges.patch +++ b/Spigot-Server-Patches/0007-Configurable-squid-spawn-ranges.patch @@ -1,4 +1,4 @@ -From 4e2dd233744cdd1ead4930a0e390656b3270c8f5 Mon Sep 17 00:00:00 2001 +From d28a7aa05ce6180aeb5248aeb987ba08a6ab42b7 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 12:45:11 -0600 Subject: [PATCH] Configurable squid spawn ranges @@ -22,19 +22,19 @@ index dae60dc..c74c8a7 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java -index c771b6b..62469f8 100644 +index c5ac670..85aebc0 100644 --- a/src/main/java/net/minecraft/server/EntitySquid.java +++ b/src/main/java/net/minecraft/server/EntitySquid.java -@@ -141,7 +141,8 @@ public class EntitySquid extends EntityWaterAnimal { +@@ -145,7 +145,8 @@ public class EntitySquid extends EntityWaterAnimal { } - public boolean cG() { -- return this.locY > 45.0D && this.locY < (double) this.world.K() && super.cG(); + public boolean cK() { +- return this.locY > 45.0D && this.locY < (double) this.world.K() && super.cK(); + // Paper - Configurable squid spawn height range -+ return this.locY > world.paperConfig.squidMinSpawnHeight && this.locY < world.paperConfig.squidMaxSpawnHeight && super.cG(); ++ return this.locY > world.paperConfig.squidMinSpawnHeight && this.locY < world.paperConfig.squidMaxSpawnHeight && super.cK(); } public void b(float f, float f1, float f2) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0008-Configurable-cactus-and-reed-natural-growth-heights.patch b/Spigot-Server-Patches/0008-Configurable-cactus-and-reed-natural-growth-heights.patch index 2569992f01..6bb1240714 100644 --- a/Spigot-Server-Patches/0008-Configurable-cactus-and-reed-natural-growth-heights.patch +++ b/Spigot-Server-Patches/0008-Configurable-cactus-and-reed-natural-growth-heights.patch @@ -1,4 +1,4 @@ -From aa74736eea28148bcbbda202c2c130aeb3636927 Mon Sep 17 00:00:00 2001 +From 4247f8b4fd518e49f1bb0e6a22a2a3c1bd4aed29 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 13:02:51 -0600 Subject: [PATCH] Configurable cactus and reed natural growth heights @@ -49,5 +49,5 @@ index 4bb63ff..2e565d3 100644 if (j >= (byte) range(3, ((100.0F / world.spigotConfig.caneModifier) * 15) + 0.5F, 15)) { // Spigot -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0009-Configurable-baby-zombie-movement-speed.patch b/Spigot-Server-Patches/0009-Configurable-baby-zombie-movement-speed.patch index a30ce9191d..d50ed873cf 100644 --- a/Spigot-Server-Patches/0009-Configurable-baby-zombie-movement-speed.patch +++ b/Spigot-Server-Patches/0009-Configurable-baby-zombie-movement-speed.patch @@ -1,4 +1,4 @@ -From 14d9f4590ae91be7b3dd0e32fcf5faab128164b1 Mon Sep 17 00:00:00 2001 +From f88c8fd4582df133bd04083eda03b8015e62db30 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,7 +20,7 @@ index 8d9c322..ae3d0e4 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 13af566..9f81142 100644 +index c2913d6..3145bdc 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -16,7 +16,7 @@ public class EntityZombie extends EntityMonster { @@ -29,9 +29,9 @@ index 13af566..9f81142 100644 private static final UUID b = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836"); - private static final AttributeModifier c = new AttributeModifier(EntityZombie.b, "Baby speed boost", 0.5D, 1); + private final AttributeModifier c = new AttributeModifier(EntityZombie.b, "Baby speed boost", world.paperConfig.babyZombieMovementSpeed, 1); // Paper - Remove static - Make baby speed configurable - private static final DataWatcherObject bw = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h); - private static final DataWatcherObject bx = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b); - private static final DataWatcherObject by = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h); + private static final DataWatcherObject bx = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h); + private static final DataWatcherObject by = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.b); + private static final DataWatcherObject bz = DataWatcher.a(EntityZombie.class, DataWatcherRegistry.h); @@ -106,9 +106,9 @@ public class EntityZombie extends EntityMonster { if (this.world != null && !this.world.isClientSide) { AttributeInstance attributeinstance = this.getAttributeInstance(GenericAttributes.MOVEMENT_SPEED); @@ -45,5 +45,5 @@ index 13af566..9f81142 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0010-Configurable-fishing-time-ranges.patch b/Spigot-Server-Patches/0010-Configurable-fishing-time-ranges.patch index 81e26fdc36..acf490f408 100644 --- a/Spigot-Server-Patches/0010-Configurable-fishing-time-ranges.patch +++ b/Spigot-Server-Patches/0010-Configurable-fishing-time-ranges.patch @@ -1,4 +1,4 @@ -From 7360bcabef9effea0d23611bde5a3ed0c3ce699b Mon Sep 17 00:00:00 2001 +From 34e9632195c39d7e3a6e49b75c945b67b5f92cae Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 13:14:11 -0600 Subject: [PATCH] Configurable fishing time ranges @@ -22,18 +22,18 @@ index ae3d0e4..9a72ef7 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index 12e2303..0e135ce 100644 +index da4eaf1..9b71cdd 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -359,7 +359,7 @@ public class EntityFishingHook extends Entity { - this.ax = MathHelper.nextInt(this.random, 20, 80); + this.aw = MathHelper.nextInt(this.random, 20, 80); } } else { -- this.aw = MathHelper.nextInt(this.random, 100, 900); -+ this.aw = MathHelper.nextInt(this.random, world.paperConfig.fishingMinTicks, world.paperConfig.fishingMaxTicks); // Paper - Configurable fishing time range - this.aw -= EnchantmentManager.g(this.owner) * 20 * 5; +- this.av = MathHelper.nextInt(this.random, 100, 900); ++ this.av = MathHelper.nextInt(this.random, world.paperConfig.fishingMinTicks, world.paperConfig.fishingMaxTicks); // Paper - Configurable fishing time range + this.av -= EnchantmentManager.g(this.owner) * 20 * 5; } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0011-Allow-nerfed-mobs-to-jump.patch b/Spigot-Server-Patches/0011-Allow-nerfed-mobs-to-jump.patch index 484ede123a..f22092ba59 100644 --- a/Spigot-Server-Patches/0011-Allow-nerfed-mobs-to-jump.patch +++ b/Spigot-Server-Patches/0011-Allow-nerfed-mobs-to-jump.patch @@ -1,4 +1,4 @@ -From 105ff62df1fc75c06aaa91e9d6c8f61527dd8566 Mon Sep 17 00:00:00 2001 +From 61f10185ed47a235d07f9c59ff107cc23818d2cc Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 13:24:16 -0600 Subject: [PATCH] Allow nerfed mobs to jump @@ -19,18 +19,18 @@ index 9a72ef7..a44bbed 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index ea77a33..ecb59e7 100644 +index d600fd7..bbf7f02 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -44,6 +44,7 @@ public abstract class EntityInsentient extends EntityLiving { - private boolean bD; + private boolean bE; private Entity leashHolder; - private NBTTagCompound bF; + private NBTTagCompound bG; + public PathfinderGoalFloat goalFloat; // Paper public EntityInsentient(World world) { super(world); -@@ -631,6 +632,12 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -654,6 +655,12 @@ public abstract class EntityInsentient extends EntityLiving { // Spigot Start if ( this.fromMobSpawner ) { @@ -44,7 +44,7 @@ index ea77a33..ecb59e7 100644 } // Spigot End diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java -index 1a20dbf..c56a0d0 100644 +index e3b4058..c16ad2c 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java @@ -6,6 +6,7 @@ public class PathfinderGoalFloat extends PathfinderGoal { @@ -56,5 +56,5 @@ index 1a20dbf..c56a0d0 100644 ((Navigation) entityinsentient.getNavigation()).c(true); } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0012-Toggle-for-player-interact-limiter.patch b/Spigot-Server-Patches/0012-Toggle-for-player-interact-limiter.patch index b0f32357dd..89df30e477 100644 --- a/Spigot-Server-Patches/0012-Toggle-for-player-interact-limiter.patch +++ b/Spigot-Server-Patches/0012-Toggle-for-player-interact-limiter.patch @@ -1,11 +1,11 @@ -From 3dd75df6f6bc3d751fd8055aa8635f2fceee2f4f Mon Sep 17 00:00:00 2001 +From 6fbbdb0f26fb7350a19ffb2d5647f5e8c7d88925 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 13:31:05 -0600 Subject: [PATCH] Toggle for player interact limiter diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 252c6c3..f9a4bf4 100644 +index 7739e78..87bae87 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -184,4 +184,12 @@ public class PaperConfig { @@ -22,10 +22,10 @@ index 252c6c3..f9a4bf4 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 7c52e15..0c2c151 100644 +index 155030d..378cc6e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -912,7 +912,8 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -911,7 +911,8 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { this.player.resetIdleTimer(); // Spigot start boolean throttled = false; @@ -36,5 +36,5 @@ index 7c52e15..0c2c151 100644 } else if ( packetplayinblockplace.timestamp - lastPlace >= 30 || lastPlace == -1 ) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0013-Player-Exhaustion-Multipliers.patch b/Spigot-Server-Patches/0013-Player-Exhaustion-Multipliers.patch index 3d18dfab42..71ebeb5ad7 100644 --- a/Spigot-Server-Patches/0013-Player-Exhaustion-Multipliers.patch +++ b/Spigot-Server-Patches/0013-Player-Exhaustion-Multipliers.patch @@ -1,4 +1,4 @@ -From c5ca014520533f97fea98525454b2ef371d0e83a Mon Sep 17 00:00:00 2001 +From e74586a69790842697352759b3546ac021c0f027 Mon Sep 17 00:00:00 2001 From: gsand Date: Tue, 1 Mar 2016 13:43:16 -0600 Subject: [PATCH] Player Exhaustion Multipliers @@ -23,10 +23,10 @@ index a44bbed..b1d712f 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index 3212255..3d6f803 100644 +index d17160a..f7cf12f 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java -@@ -450,7 +450,7 @@ public class Block { +@@ -455,7 +455,7 @@ public class Block { public void a(World world, EntityHuman entityhuman, BlockPosition blockposition, IBlockData iblockdata, @Nullable TileEntity tileentity, @Nullable ItemStack itemstack) { entityhuman.b(StatisticList.a(this)); @@ -36,10 +36,10 @@ index 3212255..3d6f803 100644 ItemStack itemstack1 = this.u(iblockdata); diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 6a8f499..3e1a84e 100644 +index ca9f0fe..cbceeca 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1455,13 +1455,13 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1464,13 +1464,13 @@ public abstract class EntityHuman extends EntityLiving { i = Math.round(MathHelper.sqrt(d0 * d0 + d1 * d1 + d2 * d2) * 100.0F); if (i > 0) { this.a(StatisticList.q, i); @@ -53,8 +53,8 @@ index 6a8f499..3e1a84e 100644 - this.applyExhaustion(0.015F * (float) i * 0.01F); + this.applyExhaustion(world.paperConfig.playerSwimmingExhaustion); // Paper - Configurable swimming exhaustion } - } else if (this.n_()) { + } else if (this.m_()) { if (d1 > 0.0D) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch b/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch index b0e44af6a4..3e74d30d81 100644 --- a/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch +++ b/Spigot-Server-Patches/0014-Add-configurable-despawn-distances-for-living-entiti.patch @@ -1,4 +1,4 @@ -From 2540f8f92c0ba3791668eaab910567ee1c0234bd Mon Sep 17 00:00:00 2001 +From f40e12f5196e4d6a1f4b5a216616133016dc780b Mon Sep 17 00:00:00 2001 From: Suddenly Date: Tue, 1 Mar 2016 13:51:54 -0600 Subject: [PATCH] Add configurable despawn distances for living entities @@ -30,10 +30,10 @@ index b1d712f..402dbe7 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index ecb59e7..ff3443a 100644 +index bbf7f02..85d4b81 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -610,13 +610,13 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -633,13 +633,13 @@ public abstract class EntityInsentient extends EntityLiving { double d2 = entityhuman.locZ - this.locZ; double d3 = d0 * d0 + d1 * d1 + d2 * d2; @@ -51,5 +51,5 @@ index ecb59e7..ff3443a 100644 } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch index 955d93aff6..9f2b4cef1d 100644 --- a/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch +++ b/Spigot-Server-Patches/0015-Allow-for-toggling-of-spawn-chunks.patch @@ -1,4 +1,4 @@ -From 45ab98c4fc1e70b8214aa368871d6621d04815c1 Mon Sep 17 00:00:00 2001 +From 87ba7a3f09983fa690278baf262b8ba6c3823e37 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 3 Mar 2016 03:53:43 -0600 Subject: [PATCH] Allow for toggling of spawn chunks @@ -20,7 +20,7 @@ index 402dbe7..78dcf26 100644 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index e2a06f1..9599849 100644 +index f8c8e4b..c110c74 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -198,6 +198,7 @@ public abstract class World implements IBlockAccess { @@ -32,5 +32,5 @@ index e2a06f1..9599849 100644 this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch index 083cba37b3..1ff27abe2e 100644 --- a/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch +++ b/Spigot-Server-Patches/0016-Drop-falling-block-and-tnt-entities-at-the-specified.patch @@ -1,4 +1,4 @@ -From 7d0cc5ff146d3fbf97eb9006f7013fca14c14eea Mon Sep 17 00:00:00 2001 +From 32ef7d31604f2cf0aee7bae369ab702f2e626441 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 14:14:15 -0600 Subject: [PATCH] Drop falling block and tnt entities at the specified height @@ -24,12 +24,12 @@ index 78dcf26..f19ae97 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 0b2c5d7..5ec5e44 100644 +index 4514401..65c1150 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java -@@ -77,6 +77,17 @@ public class EntityFallingBlock extends Entity { +@@ -80,6 +80,17 @@ public class EntityFallingBlock extends Entity { + } - this.motY -= 0.03999999910593033D; this.move(this.motX, this.motY, this.motZ); + + // Paper start - Configurable EntityFallingBlock height nerf @@ -46,12 +46,12 @@ index 0b2c5d7..5ec5e44 100644 this.motY *= 0.9800000190734863D; this.motZ *= 0.9800000190734863D; diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index 35ed2a6..564ea37 100644 +index 0ed3f89..2745c49 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -@@ -51,6 +51,13 @@ public class EntityTNTPrimed extends Entity { - this.lastZ = this.locZ; - this.motY -= 0.03999999910593033D; +@@ -54,6 +54,13 @@ public class EntityTNTPrimed extends Entity { + } + this.move(this.motX, this.motY, this.motZ); + + // Paper start - Configurable TNT entity height nerf @@ -64,5 +64,5 @@ index 35ed2a6..564ea37 100644 this.motY *= 0.9800000190734863D; this.motZ *= 0.9800000190734863D; -- -1.9.1 +2.8.3 diff --git a/Spigot-Server-Patches/0017-Configurable-speed-for-water-flowing-over-lava.patch b/Spigot-Server-Patches/0017-Configurable-speed-for-water-flowing-over-lava.patch index 943d8e222d..44cdf51ca3 100644 --- a/Spigot-Server-Patches/0017-Configurable-speed-for-water-flowing-over-lava.patch +++ b/Spigot-Server-Patches/0017-Configurable-speed-for-water-flowing-over-lava.patch @@ -1,4 +1,4 @@ -From ad6832d5982a4f8af5dfcac70d5a17c97c73a780 Mon Sep 17 00:00:00 2001 +From 95738bca3c885025041cad1726919f30b68a8055 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 14:27:13 -0600 Subject: [PATCH] Configurable speed for water flowing over lava @@ -20,7 +20,7 @@ index f19ae97..8fc2f6c 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java -index ab1efab..be8020a 100644 +index c0f4961..b00865e 100644 --- a/src/main/java/net/minecraft/server/BlockFlowing.java +++ b/src/main/java/net/minecraft/server/BlockFlowing.java @@ -35,7 +35,7 @@ public class BlockFlowing extends BlockFluids { @@ -57,5 +57,5 @@ index ab1efab..be8020a 100644 + } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index 2c0ce554e0..d5c644b16d 100644 --- a/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/Spigot-Server-Patches/0018-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -1,4 +1,4 @@ -From b8648e1d9e01eeac13172af13bf3fdce578d0463 Mon Sep 17 00:00:00 2001 +From 2e8740a172aac1f963cf64634f6af7c49a5e21bb 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 c872029..fac5f88 100644 +index a8b5079..ebbc1fc 100644 --- a/src/main/java/net/minecraft/server/EULA.java +++ b/src/main/java/net/minecraft/server/EULA.java @@ -51,7 +51,8 @@ public class EULA { @@ -17,13 +17,13 @@ index c872029..fac5f88 100644 + properties.store(fileoutputstream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula)." + + "\nand also agreeing that tacos are tasty."); // Paper - fix lag } catch (Exception exception) { - EULA.a.warn("Failed to save " + this.b, exception); + EULA.a.warn("Failed to save {}", new Object[] { this.b, exception}); } finally { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8845ad2..14389dd 100644 +index 6ec5eae..ed44a2a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1028,7 +1028,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -1035,7 +1035,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs } public String getServerModName() { @@ -33,7 +33,7 @@ index 8845ad2..14389dd 100644 public CrashReport b(CrashReport crashreport) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f0db144..abb1653 100644 +index 218d5db..d3db0a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -131,7 +131,7 @@ import net.md_5.bungee.api.chat.BaseComponent; @@ -80,5 +80,5 @@ index 94a3d42..3ed983c 100644 log.log( Level.SEVERE, "------------------------------" ); // -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0019-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0019-Player-affects-spawning-API.patch index 7a5c7be910..46e8d80ad7 100644 --- a/Spigot-Server-Patches/0019-Player-affects-spawning-API.patch +++ b/Spigot-Server-Patches/0019-Player-affects-spawning-API.patch @@ -1,11 +1,11 @@ -From ec731f31e18887483d230fc0ae9143b6e152860c Mon Sep 17 00:00:00 2001 +From b10b62e4704a0f5fc2c4500c6a7de5fcafe7b683 Mon Sep 17 00:00:00 2001 From: Jedediah Smith 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 3e1a84e..0f73fcf 100644 +index cbceeca..cddc7f4 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -1,6 +1,7 @@ @@ -16,8 +16,8 @@ index 3e1a84e..0f73fcf 100644 import com.google.common.collect.Lists; import com.mojang.authlib.GameProfile; import java.util.Arrays; -@@ -66,6 +67,19 @@ public abstract class EntityHuman extends EntityLiving { - private final ItemCooldown bV = this.l(); +@@ -65,6 +66,19 @@ public abstract class EntityHuman extends EntityLiving { + private final ItemCooldown bW = this.l(); public EntityFishingHook hookedFish; + // Paper start - affectsSpawning API @@ -37,10 +37,10 @@ index 3e1a84e..0f73fcf 100644 public boolean fauxSleeping; public String spawnWorld = ""; diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index ff3443a..da102e3 100644 +index 85d4b81..74aaba2 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -602,7 +602,7 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -625,7 +625,7 @@ public abstract class EntityInsentient extends EntityLiving { if (this.persistent) { this.ticksFarFromPlayer = 0; } else { @@ -50,20 +50,20 @@ index ff3443a..da102e3 100644 if (entityhuman != null) { double d0 = entityhuman.locX - this.locX; diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java -index b5fce84..ed8a425 100644 +index c4e5f50..d6c70c4 100644 --- a/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java -@@ -88,7 +88,7 @@ public class EntitySilverfish extends EntityMonster { +@@ -93,7 +93,7 @@ public class EntitySilverfish extends EntityMonster { - public boolean cG() { - if (super.cG()) { + public boolean cK() { + if (super.cK()) { - EntityHuman entityhuman = this.world.b(this, 5.0D); + EntityHuman entityhuman = this.world.findNearbyPlayerNotInCreativeMode(this, 5.0D, EntityHuman.affectsSpawningFilter()); // Paper - affectsSpawning filter return entityhuman == null; } else { diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 9f81142..774d773 100644 +index 3145bdc..6981185 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -197,7 +197,7 @@ public class EntityZombie extends EntityMonster { @@ -76,7 +76,7 @@ index 9f81142..774d773 100644 entityzombie.setGoalTarget(entityliving, EntityTargetEvent.TargetReason.REINFORCEMENT_TARGET, true); entityzombie.prepare(this.world.D(new BlockPosition(entityzombie)), (GroupDataEntity) null); diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index df35d71..6c3e365 100644 +index 7bae42a..f040775 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -32,7 +32,7 @@ public abstract class MobSpawnerAbstract { @@ -89,7 +89,7 @@ index df35d71..6c3e365 100644 public void c() { diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 4eedd41..852bdf8 100644 +index f8a871d..55c36fc 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -50,6 +50,8 @@ public final class SpawnerCreature { @@ -111,7 +111,7 @@ index 4eedd41..852bdf8 100644 biomebase_biomemeta = worldserver.a(enumcreaturetype, (BlockPosition) blockposition_mutableblockposition); if (biomebase_biomemeta == null) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9599849..81f4a42 100644 +index c110c74..da6b78b 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -3,6 +3,7 @@ @@ -122,7 +122,7 @@ index 9599849..81f4a42 100644 import com.google.common.collect.Lists; import java.util.ArrayList; import java.util.Calendar; -@@ -2701,16 +2702,31 @@ public abstract class World implements IBlockAccess { +@@ -2705,16 +2706,31 @@ public abstract class World implements IBlockAccess { @Nullable public EntityHuman findNearbyPlayer(Entity entity, double d0) { @@ -156,7 +156,7 @@ index 9599849..81f4a42 100644 double d4 = -1.0D; EntityHuman entityhuman = null; -@@ -2722,6 +2738,8 @@ public abstract class World implements IBlockAccess { +@@ -2726,6 +2742,8 @@ public abstract class World implements IBlockAccess { } // CraftBukkit end @@ -165,7 +165,7 @@ index 9599849..81f4a42 100644 if ((IEntitySelector.d.apply(entityhuman1) || !flag) && (IEntitySelector.e.apply(entityhuman1) || flag)) { double d5 = entityhuman1.e(d0, d1, d2); -@@ -2736,9 +2754,17 @@ public abstract class World implements IBlockAccess { +@@ -2740,9 +2758,17 @@ public abstract class World implements IBlockAccess { } public boolean isPlayerNearby(double d0, double d1, double d2, double d3) { @@ -184,7 +184,7 @@ index 9599849..81f4a42 100644 double d4 = entityhuman.e(d0, d1, d2); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 35f6c27..b7ff27c 100644 +index ce85bc2..eb6d41b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1408,6 +1408,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -205,5 +205,5 @@ index 35f6c27..b7ff27c 100644 private final Player.Spigot spigot = new Player.Spigot() { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0020-Metrics.patch b/Spigot-Server-Patches/0020-Metrics.patch index 4e6249e38d..aedb7d43d3 100644 --- a/Spigot-Server-Patches/0020-Metrics.patch +++ b/Spigot-Server-Patches/0020-Metrics.patch @@ -1,4 +1,4 @@ -From a5b335a3eccdd958fa29427010f9ef8a2e1d1639 Mon Sep 17 00:00:00 2001 +From 0a3ca307c7e50e0961b26442794c63bf7c356be6 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 14:54:32 -0600 Subject: [PATCH] Metrics @@ -18,5 +18,5 @@ index a5fd59d..680283c 100644 String pluginVersion = (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown"; String serverVersion = Bukkit.getVersion(); -- -2.7.4 +2.8.3 diff --git a/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch b/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch index 4f7a96edef..11f7ebbcb2 100644 --- a/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch +++ b/Spigot-Server-Patches/0021-Remove-invalid-mob-spawner-tile-entities.patch @@ -1,14 +1,14 @@ -From f739616fdab39b3ef5bdd9e64fdaf319f262026c Mon Sep 17 00:00:00 2001 +From d0d31b0118bde005c6a3e08555ebe0e0a4fd58cd Mon Sep 17 00:00:00 2001 From: Byteflux Date: Tue, 1 Mar 2016 15:08:03 -0600 Subject: [PATCH] Remove invalid mob spawner tile entities diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 00fb20d..5690e81 100644 +index 9343615..c051c77 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -721,6 +721,10 @@ public class Chunk { +@@ -719,6 +719,10 @@ public class Chunk { tileentity.z(); this.tileEntities.put(blockposition, tileentity); // CraftBukkit start @@ -20,5 +20,5 @@ index 00fb20d..5690e81 100644 System.out.println("Attempted to place a tile entity (" + tileentity + ") at " + tileentity.position.getX() + "," + tileentity.position.getY() + "," + tileentity.position.getZ() + " (" + org.bukkit.craftbukkit.util.CraftMagicNumbers.getMaterial(getBlockData(blockposition).getBlock()) + ") where there was no entity tile!"); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch b/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch index 754fe6e79b..ccb2751798 100644 --- a/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch +++ b/Spigot-Server-Patches/0022-Optimize-TileEntity-Ticking.patch @@ -1,11 +1,11 @@ -From dff7e0d34f098097330c9431e2fda06a6dda2b1a Mon Sep 17 00:00:00 2001 +From b2d99fa9ab15185be72c51be72eadd7f05406428 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 22:01:19 -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 0b70d16..7635df9 100644 +index 5014903..81db929 100644 --- a/src/main/java/net/minecraft/server/TileEntityChest.java +++ b/src/main/java/net/minecraft/server/TileEntityChest.java @@ -9,17 +9,17 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; @@ -33,16 +33,16 @@ index 0b70d16..7635df9 100644 private int p; private BlockChest.Type q; private String r; -@@ -237,6 +237,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II +@@ -241,6 +241,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II } - public void c() { + public void E_() { + // Paper - Disable all of this, just in case this does get ticked + /* this.m(); int i = this.position.getX(); int j = this.position.getY(); -@@ -317,7 +319,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II +@@ -321,7 +323,8 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II this.j = 0.0F; } } @@ -52,7 +52,7 @@ index 0b70d16..7635df9 100644 } public boolean c(int i, int j) { -@@ -337,6 +340,28 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II +@@ -341,6 +344,28 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added ++this.l; @@ -81,7 +81,7 @@ index 0b70d16..7635df9 100644 if (this.world == null) return; // CraftBukkit this.world.playBlockAction(this.position, this.getBlock(), 1, this.l); -@@ -360,6 +385,34 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II +@@ -364,6 +389,34 @@ public class TileEntityChest extends TileEntityLootable implements ITickable, II int oldPower = Math.max(0, Math.min(15, this.l)); // CraftBukkit - Get power before new viewer is added --this.l; if (this.world == null) return; // CraftBukkit @@ -117,7 +117,7 @@ index 0b70d16..7635df9 100644 // CraftBukkit start - Call redstone event diff --git a/src/main/java/net/minecraft/server/TileEntityEnderChest.java b/src/main/java/net/minecraft/server/TileEntityEnderChest.java -index eca71c0..73085d6 100644 +index d5f0d61..b257bc4 100644 --- a/src/main/java/net/minecraft/server/TileEntityEnderChest.java +++ b/src/main/java/net/minecraft/server/TileEntityEnderChest.java @@ -1,15 +1,17 @@ @@ -135,7 +135,7 @@ index eca71c0..73085d6 100644 public TileEntityEnderChest() {} - public void c() { + public void E_() { + // Paper start - Disable all of this, just in case this does get ticked + /* if (++this.h % 20 * 4 == 0) { @@ -162,7 +162,7 @@ index eca71c0..73085d6 100644 + double d1 = (double) this.getPosition().getX() + 0.5D; + double d0 = (double) this.getPosition().getZ() + 0.5D; + -+ this.world.a((EntityHuman) null, d1, (double) this.getPosition().getY() + 0.5D, d0, SoundEffects.aM, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); ++ this.world.a((EntityHuman) null, d1, (double) this.getPosition().getY() + 0.5D, d0, SoundEffects.aN, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); + } + // Paper end + @@ -177,7 +177,7 @@ index eca71c0..73085d6 100644 + double d0 = (double) this.getPosition().getX() + 0.5D; + double d2 = (double) this.getPosition().getZ() + 0.5D; + -+ this.world.a((EntityHuman) null, d0, (double) this.getPosition().getY() + 0.5D, d2, SoundEffects.aL, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); ++ this.world.a((EntityHuman) null, d0, (double) this.getPosition().getY() + 0.5D, d2, SoundEffects.aM, SoundCategory.BLOCKS, 0.5F, this.world.random.nextFloat() * 0.1F + 0.9F); + this.a = 0.0F; + } + // Paper end @@ -186,5 +186,5 @@ index eca71c0..73085d6 100644 } -- -2.8.2 +2.8.3 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 cf2c1905fc..fdf22f278f 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 5ba80486ec3af8f212ebcfdc8dbdb985d4f1761d Mon Sep 17 00:00:00 2001 +From 0951c28931bdeff177c9b9506f18503f647ff8ce 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,7 +12,7 @@ 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 14389dd..ebf6c48 100644 +index ed44a2a..ef0e063 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -114,17 +114,11 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs @@ -34,7 +34,7 @@ index 14389dd..ebf6c48 100644 public MinecraftServer(OptionSet options, Proxy proxy, DataConverterManager dataconvertermanager, YggdrasilAuthenticationService yggdrasilauthenticationservice, MinecraftSessionService minecraftsessionservice, GameProfileRepository gameprofilerepository, UserCache usercache) { io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable -@@ -521,12 +515,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -528,12 +522,54 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs this.isRunning = false; } @@ -94,7 +94,7 @@ index 14389dd..ebf6c48 100644 public void run() { try { -@@ -540,24 +576,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -547,24 +583,41 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs // Spigot start Arrays.fill( recentTps, 20 ); @@ -148,7 +148,7 @@ index 14389dd..ebf6c48 100644 } lastTick = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index abb1653..cae55fb 100644 +index d3db0a8..408ef34 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1723,6 +1723,17 @@ public final class CraftServer implements Server { @@ -211,5 +211,5 @@ index be2e31d..6d21c32 100644 return ( ( tps > 18.0 ) ? ChatColor.GREEN : ( tps > 16.0 ) ? ChatColor.YELLOW : ChatColor.RED ).toString() + ( ( tps > 20.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 ); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch b/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch index 08c85cb136..07f57e1e05 100644 --- a/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch +++ b/Spigot-Server-Patches/0024-Only-refresh-abilities-if-needed.patch @@ -1,11 +1,11 @@ -From f66a5ec26463b256252abb850427e24b017d10ed Mon Sep 17 00:00:00 2001 +From c6d62c52c9a7172e145447bf0854c856ca8bc01b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 23:12:03 -0600 Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b7ff27c..5515958 100644 +index eb6d41b..1fe6af5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1136,12 +1136,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -24,5 +24,5 @@ index b7ff27c..5515958 100644 @Override -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0025-Add-async-chunk-load-API.patch b/Spigot-Server-Patches/0025-Add-async-chunk-load-API.patch index b8af3a8510..0f08e0b404 100644 --- a/Spigot-Server-Patches/0025-Add-async-chunk-load-API.patch +++ b/Spigot-Server-Patches/0025-Add-async-chunk-load-API.patch @@ -1,11 +1,11 @@ -From d8934d31e50f6acafde740667621263e70e57553 Mon Sep 17 00:00:00 2001 +From dbace07a52c033002d6798acd32beea67d52d9d8 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 23:19:01 -0600 Subject: [PATCH] Add async chunk load API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index afbdb5c..898316f 100644 +index 4eacee7..4ab7efc 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -125,6 +125,26 @@ public class CraftWorld implements World { @@ -36,5 +36,5 @@ index afbdb5c..898316f 100644 return this.world.getChunkProviderServer().getChunkAt(x, z).bukkitChunk; } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0026-Entity-Origin-API.patch b/Spigot-Server-Patches/0026-Entity-Origin-API.patch index c9d533e6f6..2c6cb519e6 100644 --- a/Spigot-Server-Patches/0026-Entity-Origin-API.patch +++ b/Spigot-Server-Patches/0026-Entity-Origin-API.patch @@ -1,14 +1,14 @@ -From 5d1aa3294755247d1d1c79c44aa017396179d98f Mon Sep 17 00:00:00 2001 +From 664ef5b5c5c1750f856fb081771539e8ae8fb178 Mon Sep 17 00:00:00 2001 From: Byteflux 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 62ada23..2455b9c 100644 +index c0e6dc8..60c0db0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -143,6 +143,7 @@ public abstract class Entity implements ICommandListener { +@@ -144,6 +144,7 @@ public abstract class Entity implements ICommandListener { public org.bukkit.projectiles.ProjectileSource projectileSource; // CraftBukkit - For projectiles only public boolean forceExplosionKnockback; // CraftBukkit - SPIGOT-949 public Timing tickTimer = MinecraftTimings.getEntityTimings(this); // Paper @@ -16,7 +16,7 @@ index 62ada23..2455b9c 100644 // Spigot start public final byte activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; -@@ -1350,6 +1351,11 @@ public abstract class Entity implements ICommandListener { +@@ -1372,6 +1373,11 @@ public abstract class Entity implements ICommandListener { } } @@ -28,7 +28,7 @@ index 62ada23..2455b9c 100644 return nbttagcompound; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.a(throwable, "Saving entity NBT"); -@@ -1485,6 +1491,13 @@ public abstract class Entity implements ICommandListener { +@@ -1516,6 +1522,13 @@ public abstract class Entity implements ICommandListener { } // CraftBukkit end @@ -42,19 +42,19 @@ index 62ada23..2455b9c 100644 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.a(throwable, "Loading entity NBT"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Entity being loaded"); -@@ -1508,6 +1521,7 @@ public abstract class Entity implements ICommandListener { +@@ -1537,6 +1550,7 @@ public abstract class Entity implements ICommandListener { - public void at() {} + protected abstract void b(NBTTagCompound nbttagcompound); -+ protected NBTTagList createList(double... adouble) { return a(adouble); } // Paper // OBFHELPER ++ protected NBTTagList createList(double... adouble) { return a(adouble); } // Paper - OBFHELPER protected NBTTagList a(double... adouble) { 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 08a7969..4c14d75 100644 +index 65c1150..bab3cd6 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java -@@ -241,6 +241,14 @@ public class EntityFallingBlock extends Entity { +@@ -246,6 +246,14 @@ public class EntityFallingBlock extends Entity { this.block = Blocks.SAND.getBlockData(); } @@ -70,10 +70,10 @@ index 08a7969..4c14d75 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 564ea37..1113b1c 100644 +index 2745c49..86f3f1f 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 { +@@ -107,6 +107,14 @@ public class EntityTNTPrimed extends Entity { protected void a(NBTTagCompound nbttagcompound) { this.setFuseTicks(nbttagcompound.getShort("Fuse")); @@ -89,10 +89,10 @@ index 564ea37..1113b1c 100644 public EntityLiving getSource() { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7f239c6..5984ffb 100644 +index da6b78b..ae37a79 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -958,6 +958,12 @@ public abstract class World implements IBlockAccess { +@@ -962,6 +962,12 @@ public abstract class World implements IBlockAccess { int j = MathHelper.floor(entity.locZ / 16.0D); boolean flag = entity.attachedToPlayer; @@ -106,10 +106,10 @@ index 7f239c6..5984ffb 100644 flag = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5c7f274..c65585b 100644 +index ff7bfdc..5e81076 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -614,4 +614,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -625,4 +625,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return spigot; } // Spigot end diff --git a/Spigot-Server-Patches/0027-Prevent-tile-entity-and-entity-crashes.patch b/Spigot-Server-Patches/0027-Prevent-tile-entity-and-entity-crashes.patch index c70fdb62e0..0bb48c10cc 100644 --- a/Spigot-Server-Patches/0027-Prevent-tile-entity-and-entity-crashes.patch +++ b/Spigot-Server-Patches/0027-Prevent-tile-entity-and-entity-crashes.patch @@ -1,14 +1,14 @@ -From 05fa7c0419cdcd091313c88da05ef233093893f6 Mon Sep 17 00:00:00 2001 +From 3106f00428fd110497311c7e99e77a7eddea260a Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 1 Mar 2016 23:52:34 -0600 Subject: [PATCH] Prevent tile entity and entity crashes diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index 6d4f4e7..f59e6f8 100644 +index 2b82312..9fa93ed 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java -@@ -174,7 +174,12 @@ public abstract class TileEntity { +@@ -177,7 +177,12 @@ public abstract class TileEntity { } }); if (this.world != null) { @@ -23,10 +23,10 @@ index 6d4f4e7..f59e6f8 100644 public String a() throws Exception { int i = Block.getId(TileEntity.this.world.getType(TileEntity.this.position).getBlock()); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9bfabe0..362df8f 100644 +index ae37a79..aa2b984 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1441,10 +1441,12 @@ public abstract class World implements IBlockAccess { +@@ -1445,10 +1445,12 @@ public abstract class World implements IBlockAccess { entity.tickTimer.stopTiming(); // Paper } catch (Throwable throwable1) { entity.tickTimer.stopTiming(); @@ -43,8 +43,8 @@ index 9bfabe0..362df8f 100644 } } -@@ -1506,10 +1508,13 @@ public abstract class World implements IBlockAccess { - ((ITickable) tileentity).c(); +@@ -1510,10 +1512,13 @@ public abstract class World implements IBlockAccess { + ((ITickable) tileentity).E_(); this.methodProfiler.b(); } catch (Throwable throwable2) { - crashreport1 = CrashReport.a(throwable2, "Ticking block entity"); @@ -62,5 +62,5 @@ index 9bfabe0..362df8f 100644 // Spigot start finally { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0028-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0028-Configurable-top-of-nether-void-damage.patch index 972306e8a4..48d6887b23 100644 --- a/Spigot-Server-Patches/0028-Configurable-top-of-nether-void-damage.patch +++ b/Spigot-Server-Patches/0028-Configurable-top-of-nether-void-damage.patch @@ -1,4 +1,4 @@ -From 5897b5a231713af5b38a3da0e2eb7a400da94d6f Mon Sep 17 00:00:00 2001 +From 7f3fc798c035b20cfaca5d6cffc6575ba19764a8 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 1 Mar 2016 23:58:50 -0600 Subject: [PATCH] Configurable top of nether void damage @@ -20,10 +20,10 @@ index 8fc2f6c..d78b688 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2455b9c..751e07d 100644 +index 8f88bc8..1b58f7d 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -303,6 +303,13 @@ public abstract class Entity implements ICommandListener { +@@ -305,6 +305,13 @@ public abstract class Entity implements ICommandListener { this.U(); } @@ -36,8 +36,8 @@ index 2455b9c..751e07d 100644 + public void U() { this.world.methodProfiler.a("entityBaseTick"); - if (this.isPassenger() && this.bz().dead) { -@@ -383,7 +390,7 @@ public abstract class Entity implements ICommandListener { + if (this.isPassenger() && this.bB().dead) { +@@ -385,7 +392,7 @@ public abstract class Entity implements ICommandListener { this.fallDistance *= 0.5F; } @@ -47,5 +47,5 @@ index 2455b9c..751e07d 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0029-Check-online-mode-before-converting-and-renaming-pla.patch b/Spigot-Server-Patches/0029-Check-online-mode-before-converting-and-renaming-pla.patch index 7b053ea016..4fb568e658 100644 --- a/Spigot-Server-Patches/0029-Check-online-mode-before-converting-and-renaming-pla.patch +++ b/Spigot-Server-Patches/0029-Check-online-mode-before-converting-and-renaming-pla.patch @@ -1,15 +1,15 @@ -From becc47e96fdaf11d96e9bc96f2690f125d5a12b1 Mon Sep 17 00:00:00 2001 +From 44bda2888bfd777effdc6a9c6569801f2637263a Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 2 Mar 2016 00:03:55 -0600 Subject: [PATCH] Check online mode before converting and renaming player data diff --git a/src/main/java/net/minecraft/server/WorldNBTStorage.java b/src/main/java/net/minecraft/server/WorldNBTStorage.java -index bc6e138..1aed6fe 100644 +index 75e2338..f077398 100644 --- a/src/main/java/net/minecraft/server/WorldNBTStorage.java +++ b/src/main/java/net/minecraft/server/WorldNBTStorage.java @@ -165,7 +165,7 @@ public class WorldNBTStorage implements IDataManager, IPlayerFileData { - File file = new File(this.playerDir, entityhuman.bd() + ".dat"); + File file = new File(this.playerDir, entityhuman.bf() + ".dat"); // Spigot Start boolean usingWrongFile = false; - if ( !file.exists() ) @@ -18,5 +18,5 @@ index bc6e138..1aed6fe 100644 file = new File( this.playerDir, UUID.nameUUIDFromBytes( ( "OfflinePlayer:" + entityhuman.getName() ).getBytes( "UTF-8" ) ).toString() + ".dat"); if ( file.exists() ) -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0030-Always-tick-falling-blocks.patch b/Spigot-Server-Patches/0030-Always-tick-falling-blocks.patch index 8d652c0d10..6d91139ccd 100644 --- a/Spigot-Server-Patches/0030-Always-tick-falling-blocks.patch +++ b/Spigot-Server-Patches/0030-Always-tick-falling-blocks.patch @@ -1,11 +1,11 @@ -From 314c57cc2680355fecb09a3fe154c3aa08873dae Mon Sep 17 00:00:00 2001 +From 765f4d691c277fc18b11ad8e045bc30a691d3dc2 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 2 Mar 2016 00:32:25 -0600 Subject: [PATCH] Always tick falling blocks diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 0b057fa..f0d3a19 100644 +index eb30abe..c4ed64a 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -13,6 +13,7 @@ import net.minecraft.server.EntityCreature; @@ -25,5 +25,5 @@ index 0b057fa..f0d3a19 100644 || entity instanceof EntityFireworks ) { -- -2.8.0 +2.8.3 diff --git a/Spigot-Server-Patches/0031-Lighting-Queue.patch b/Spigot-Server-Patches/0031-Lighting-Queue.patch index 690f10e2f3..0026a56b92 100644 --- a/Spigot-Server-Patches/0031-Lighting-Queue.patch +++ b/Spigot-Server-Patches/0031-Lighting-Queue.patch @@ -1,4 +1,4 @@ -From bd8d55cdb864658c3e893c2272185b2597a2645c Mon Sep 17 00:00:00 2001 +From a9bed340a412f9d38ba5c842931de0a0f778f417 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 00:52:31 -0600 Subject: [PATCH] Lighting Queue @@ -42,7 +42,7 @@ index d78b688..158db3a 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 5690e81..d55beb9 100644 +index c051c77..770da2b 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -33,6 +33,7 @@ public class Chunk { @@ -67,7 +67,7 @@ index 5690e81..d55beb9 100644 for (int i = 0; i < 16; ++i) { for (int j = 0; j < 16; ++j) { if (this.i[i + j * 16]) { -@@ -478,7 +486,7 @@ public class Chunk { +@@ -479,7 +487,7 @@ public class Chunk { } else { if (flag) { this.initLighting(); @@ -76,7 +76,7 @@ index 5690e81..d55beb9 100644 int j1 = iblockdata.c(); int k1 = iblockdata1.c(); -@@ -493,6 +501,7 @@ public class Chunk { +@@ -494,6 +502,7 @@ public class Chunk { if (j1 != k1 && (j1 < k1 || this.getBrightness(EnumSkyBlock.SKY, blockposition) > 0 || this.getBrightness(EnumSkyBlock.BLOCK, blockposition) > 0)) { this.d(i, k); } @@ -85,7 +85,7 @@ index 5690e81..d55beb9 100644 TileEntity tileentity; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index a0b90df..01311c8 100644 +index dc6ec1e..e5ee5c6 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -281,6 +281,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -97,10 +97,10 @@ index a0b90df..01311c8 100644 // Update neighbor counts for (int x = -2; x < 3; x++) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ebf6c48..89a40a8 100644 +index ef0e063..71710b9 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -706,7 +706,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -713,7 +713,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs protected void C() throws ExceptionWorldConflict { // CraftBukkit - added throws co.aikar.timings.TimingsManager.FULL_SERVER_TICK.startTiming(); // Paper @@ -109,7 +109,7 @@ index ebf6c48..89a40a8 100644 ++this.ticks; if (this.S) { -@@ -766,6 +766,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -773,6 +773,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs this.methodProfiler.b(); org.spigotmc.WatchdogThread.tick(); // Spigot @@ -222,7 +222,7 @@ index 0000000..2350fe3 + } +} diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 8735dd4..ccef663 100644 +index aa2b984..3aea2af 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -384,7 +384,7 @@ public abstract class World implements IBlockAccess { diff --git a/Spigot-Server-Patches/0032-Optimize-draining.patch b/Spigot-Server-Patches/0032-Optimize-draining.patch index a2af13d36b..a632e350c4 100644 --- a/Spigot-Server-Patches/0032-Optimize-draining.patch +++ b/Spigot-Server-Patches/0032-Optimize-draining.patch @@ -1,11 +1,11 @@ -From fedd40dec713035b2abc4c4a7f5da4054813ff59 Mon Sep 17 00:00:00 2001 +From a403f340774e9d181e2ddd8c2d7f4f738ae0b170 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 00:55:24 -0600 Subject: [PATCH] Optimize draining diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java -index 036e861..f35f30c 100644 +index b00865e..72654df 100644 --- a/src/main/java/net/minecraft/server/BlockFlowing.java +++ b/src/main/java/net/minecraft/server/BlockFlowing.java @@ -88,7 +88,13 @@ public class BlockFlowing extends BlockFluids { @@ -24,5 +24,5 @@ index 036e861..f35f30c 100644 } } else { -- -2.8.0 +2.8.3 diff --git a/Spigot-Server-Patches/0033-Configurable-end-credits.patch b/Spigot-Server-Patches/0033-Configurable-end-credits.patch index aee775b048..f50ded6154 100644 --- a/Spigot-Server-Patches/0033-Configurable-end-credits.patch +++ b/Spigot-Server-Patches/0033-Configurable-end-credits.patch @@ -1,4 +1,4 @@ -From ab28b5b8b3375defb1293a777672f76a17d9fddb Mon Sep 17 00:00:00 2001 +From efc0f30551d46d77f1132db3ebe51095e79f64c6 Mon Sep 17 00:00:00 2001 From: DoctorDark Date: Wed, 16 Mar 2016 02:21:39 -0500 Subject: [PATCH] Configurable end credits @@ -20,10 +20,10 @@ index 158db3a..e4e5487 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index d0cd588..7ef3f62 100644 +index 37c94f8..522c7f2 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java -@@ -506,6 +506,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -511,6 +511,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { return this.world.pvpMode; } @@ -38,8 +38,8 @@ index d0cd588..7ef3f62 100644 + @Nullable public Entity c(int i) { - //this.ck = true; // CraftBukkit - Moved down and into PlayerList#changeDimension -@@ -514,7 +523,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { + // this.worldChangeInvuln = true; // CraftBukkit - Moved down and into PlayerList#changeDimension +@@ -519,7 +528,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.world.kill(this); if (!this.viewingCredits) { this.viewingCredits = true; @@ -52,5 +52,5 @@ index d0cd588..7ef3f62 100644 } else { this.b((Statistic) AchievementList.D); -- -2.8.2.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0034-Fix-lag-from-explosions-processing-dead-entities.patch b/Spigot-Server-Patches/0034-Fix-lag-from-explosions-processing-dead-entities.patch index 087e88c852..a0c1a25081 100644 --- a/Spigot-Server-Patches/0034-Fix-lag-from-explosions-processing-dead-entities.patch +++ b/Spigot-Server-Patches/0034-Fix-lag-from-explosions-processing-dead-entities.patch @@ -1,11 +1,11 @@ -From 8d02e85a56780af5db186431c81995fa4eb0fdbd Mon Sep 17 00:00:00 2001 +From 38d908fa1f68546678a01f1a50ab203cf69a1a7d Mon Sep 17 00:00:00 2001 From: Iceee Date: Wed, 2 Mar 2016 01:39:52 -0600 Subject: [PATCH] Fix lag from explosions processing dead entities diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 77ed4a7..de74fb7 100644 +index acbf7a8..f4765d3 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -103,7 +103,14 @@ public class Explosion { @@ -25,5 +25,5 @@ index 77ed4a7..de74fb7 100644 for (int l1 = 0; l1 < list.size(); ++l1) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0035-Generator-Settings.patch b/Spigot-Server-Patches/0035-Generator-Settings.patch index d0d7a54cc4..21fbd12e04 100644 --- a/Spigot-Server-Patches/0035-Generator-Settings.patch +++ b/Spigot-Server-Patches/0035-Generator-Settings.patch @@ -1,4 +1,4 @@ -From 4aa8d64815d16a16a1688273eba27172adf4fe14 Mon Sep 17 00:00:00 2001 +From 9ce6203dee54a1bdca4a16b5bf8feb683d917fce Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 02:17:54 -0600 Subject: [PATCH] Generator Settings @@ -38,7 +38,7 @@ index e4e5487..7525bcb 100644 + } } diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java -index 36952ae..6b84ece 100644 +index ab04f9c..bf4f06c 100644 --- a/src/main/java/net/minecraft/server/BiomeBase.java +++ b/src/main/java/net/minecraft/server/BiomeBase.java @@ -178,7 +178,7 @@ public abstract class BiomeBase { @@ -51,18 +51,18 @@ index 36952ae..6b84ece 100644 } else { IBlockData iblockdata2 = chunksnapshot.a(k1, l1, j1); diff --git a/src/main/java/net/minecraft/server/BiomeMesa.java b/src/main/java/net/minecraft/server/BiomeMesa.java -index 3ce22aa..336fa16 100644 +index 8bcc0f3..62abbbd 100644 --- a/src/main/java/net/minecraft/server/BiomeMesa.java +++ b/src/main/java/net/minecraft/server/BiomeMesa.java -@@ -98,7 +98,7 @@ public class BiomeMesa extends BiomeBase { - chunksnapshot.a(l, l1, k, BiomeMesa.a); +@@ -103,7 +103,7 @@ public class BiomeMesa extends BiomeBase { + chunksnapshot.a(l, i2, k, BiomeMesa.a); } -- if (l1 <= random.nextInt(5)) { -+ if (l1 <= (world.paperConfig.generateFlatBedrock ? 0 : random.nextInt(5))) { // Paper - Configurable flat bedrock - chunksnapshot.a(l, l1, k, BiomeMesa.c); - } else { - IBlockData iblockdata2 = chunksnapshot.a(l, l1, k); +- if (i2 <= random.nextInt(5)) { ++ if (i2 <= (world.paperConfig.generateFlatBedrock ? 0 : random.nextInt(5))) { // Paper - Configurable flat bedrock + chunksnapshot.a(l, i2, k, BiomeMesa.c); + } else if (l1 < 15) { + IBlockData iblockdata2 = chunksnapshot.a(l, i2, k); diff --git a/src/main/java/net/minecraft/server/ChunkProviderFlat.java b/src/main/java/net/minecraft/server/ChunkProviderFlat.java index aa35a24..ea6a00e 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderFlat.java @@ -110,7 +110,7 @@ index aa35a24..ea6a00e 100644 int k = 0; boolean flag1 = true; diff --git a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java -index 415b8d0..926f32d 100644 +index db49131..534fd9f 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderGenerate.java +++ b/src/main/java/net/minecraft/server/ChunkProviderGenerate.java @@ -158,32 +158,32 @@ public class ChunkProviderGenerate implements ChunkGenerator { @@ -153,7 +153,7 @@ index 415b8d0..926f32d 100644 this.B.a(this.n, i, j, chunksnapshot); } } -@@ -320,23 +320,23 @@ public class ChunkProviderGenerate implements ChunkGenerator { +@@ -318,23 +318,23 @@ public class ChunkProviderGenerate implements ChunkGenerator { ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j); if (this.o) { @@ -182,7 +182,7 @@ index 415b8d0..926f32d 100644 this.B.a(this.n, this.i, chunkcoordintpair); } } -@@ -361,7 +361,7 @@ public class ChunkProviderGenerate implements ChunkGenerator { +@@ -359,7 +359,7 @@ public class ChunkProviderGenerate implements ChunkGenerator { } } @@ -191,7 +191,7 @@ index 415b8d0..926f32d 100644 for (k1 = 0; k1 < this.s.t; ++k1) { l1 = this.i.nextInt(16) + 8; i2 = this.i.nextInt(256); -@@ -426,23 +426,23 @@ public class ChunkProviderGenerate implements ChunkGenerator { +@@ -424,23 +424,23 @@ public class ChunkProviderGenerate implements ChunkGenerator { public void recreateStructures(Chunk chunk, int i, int j) { if (this.o) { @@ -221,10 +221,10 @@ index 415b8d0..926f32d 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderHell.java b/src/main/java/net/minecraft/server/ChunkProviderHell.java -index d758625..1420b14 100644 +index 6e6ecd8..e95175e 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderHell.java +++ b/src/main/java/net/minecraft/server/ChunkProviderHell.java -@@ -149,7 +149,10 @@ public class ChunkProviderHell implements ChunkGenerator { +@@ -151,7 +151,10 @@ public class ChunkProviderHell implements ChunkGenerator { IBlockData iblockdata1 = ChunkProviderHell.b; for (int l1 = 127; l1 >= 0; --l1) { @@ -236,16 +236,16 @@ index d758625..1420b14 100644 IBlockData iblockdata2 = chunksnapshot.a(i1, l1, l); if (iblockdata2.getBlock() != null && iblockdata2.getMaterial() != Material.AIR) { -@@ -366,6 +369,6 @@ public class ChunkProviderHell implements ChunkGenerator { +@@ -380,6 +383,6 @@ public class ChunkProviderHell implements ChunkGenerator { } public void recreateStructures(Chunk chunk, int i, int j) { -- this.H.a(this.n, i, j, (ChunkSnapshot) null); -+ if (this.n.paperConfig.generateFortress) this.H.a(this.n, i, j, (ChunkSnapshot) null); // Paper +- this.I.a(this.n, i, j, (ChunkSnapshot) null); ++ if (this.n.paperConfig.generateFortress) this.I.a(this.n, i, j, (ChunkSnapshot) null); } } diff --git a/src/main/java/net/minecraft/server/StructureGenerator.java b/src/main/java/net/minecraft/server/StructureGenerator.java -index 4b4cf89..4b7e34c 100644 +index 8dd434c..4248a36 100644 --- a/src/main/java/net/minecraft/server/StructureGenerator.java +++ b/src/main/java/net/minecraft/server/StructureGenerator.java @@ -89,6 +89,7 @@ public abstract class StructureGenerator extends WorldGenBase { @@ -265,5 +265,5 @@ index 4b4cf89..4b7e34c 100644 Iterator iterator = this.c.values().iterator(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0036-Optimize-explosions.patch b/Spigot-Server-Patches/0036-Optimize-explosions.patch index 669d63efd4..236e55709a 100644 --- a/Spigot-Server-Patches/0036-Optimize-explosions.patch +++ b/Spigot-Server-Patches/0036-Optimize-explosions.patch @@ -1,4 +1,4 @@ -From 36914be12a1db4d0d548285b1bccf8b4563723ba Mon Sep 17 00:00:00 2001 +From fa9528ce47a36f59234986ccad38a75a92afb084 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 7525bcb..ca0ac9b 100644 + } } diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index de74fb7..8e225a5 100644 +index f4765d3..caf29c7 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -129,7 +129,7 @@ public class Explosion { @@ -124,10 +124,10 @@ index de74fb7..8e225a5 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 89a40a8..bbdb19a 100644 +index 71710b9..2fc7479 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -870,6 +870,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -877,6 +877,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs worldserver.getTracker().updatePlayers(); this.methodProfiler.b(); this.methodProfiler.b(); @@ -136,7 +136,7 @@ index 89a40a8..bbdb19a 100644 // this.i[i][this.ticks % 100] = System.nanoTime() - j; // CraftBukkit diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index dc51a79..c8c2601 100644 +index 3aea2af..f2c3409 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -16,6 +16,7 @@ import javax.annotation.Nullable; @@ -156,5 +156,5 @@ index dc51a79..c8c2601 100644 public CraftWorld getWorld() { return this.world; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0037-Stop-updating-flowing-block-if-material-has-changed.patch b/Spigot-Server-Patches/0037-Stop-updating-flowing-block-if-material-has-changed.patch index 1b8187a562..0076fe15bf 100644 --- a/Spigot-Server-Patches/0037-Stop-updating-flowing-block-if-material-has-changed.patch +++ b/Spigot-Server-Patches/0037-Stop-updating-flowing-block-if-material-has-changed.patch @@ -1,11 +1,11 @@ -From 32d5f0477fdbb9b41debf0d7267fb80f137814b1 Mon Sep 17 00:00:00 2001 +From 0334b767beb65705a85a902bb77a5da60faff822 Mon Sep 17 00:00:00 2001 From: Iceee Date: Wed, 2 Mar 2016 12:03:23 -0600 Subject: [PATCH] Stop updating flowing block if material has changed diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java -index f35f30c..1f07f82 100644 +index 72654df..def694a 100644 --- a/src/main/java/net/minecraft/server/BlockFlowing.java +++ b/src/main/java/net/minecraft/server/BlockFlowing.java @@ -101,6 +101,7 @@ public class BlockFlowing extends BlockFluids { @@ -17,5 +17,5 @@ index f35f30c..1f07f82 100644 if (this.h(world, blockposition.down(), iblockdata2)) { -- -2.8.0 +2.8.3 diff --git a/Spigot-Server-Patches/0038-Fast-draining.patch b/Spigot-Server-Patches/0038-Fast-draining.patch index ddbdbee94f..f6154e3a34 100644 --- a/Spigot-Server-Patches/0038-Fast-draining.patch +++ b/Spigot-Server-Patches/0038-Fast-draining.patch @@ -1,4 +1,4 @@ -From 30d62432d64c2e0ff69634d8708c9e28bf74e0c5 Mon Sep 17 00:00:00 2001 +From a4d358914233d0cb8f5ac40de23b832507fb39e2 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 12:20:52 -0600 Subject: [PATCH] Fast draining @@ -21,7 +21,7 @@ index ca0ac9b..f8b90e3 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java -index 9e88d2d..de10bc4 100644 +index def694a..0b5bc19 100644 --- a/src/main/java/net/minecraft/server/BlockFlowing.java +++ b/src/main/java/net/minecraft/server/BlockFlowing.java @@ -74,7 +74,7 @@ public class BlockFlowing extends BlockFluids { @@ -109,5 +109,5 @@ index 9e88d2d..de10bc4 100644 + // Paper end } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0039-Configurable-lava-flow-speed.patch b/Spigot-Server-Patches/0039-Configurable-lava-flow-speed.patch index 5c51e4ea28..4bebfda141 100644 --- a/Spigot-Server-Patches/0039-Configurable-lava-flow-speed.patch +++ b/Spigot-Server-Patches/0039-Configurable-lava-flow-speed.patch @@ -1,4 +1,4 @@ -From 4e9c8a5c496584442c77125e51fda1f54f8bfa8f Mon Sep 17 00:00:00 2001 +From b24e5f750fea9cddda7c7379f0e0d3a041c6c4d3 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 12:27:07 -0600 Subject: [PATCH] Configurable lava flow speed @@ -21,7 +21,7 @@ index f8b90e3..004d4c0 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java -index de10bc4..2eb8622 100644 +index 0b5bc19..0336b9c 100644 --- a/src/main/java/net/minecraft/server/BlockFlowing.java +++ b/src/main/java/net/minecraft/server/BlockFlowing.java @@ -280,6 +280,9 @@ public class BlockFlowing extends BlockFluids { @@ -35,5 +35,5 @@ index de10bc4..2eb8622 100644 world.getType(blockposition.north(1)).getBlock().material == Material.LAVA || world.getType(blockposition.south(1)).getBlock().material == Material.LAVA || -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0040-Add-player-view-distance-API.patch b/Spigot-Server-Patches/0040-Add-player-view-distance-API.patch index 25078d28c9..cfc96671be 100644 --- a/Spigot-Server-Patches/0040-Add-player-view-distance-API.patch +++ b/Spigot-Server-Patches/0040-Add-player-view-distance-API.patch @@ -1,11 +1,11 @@ -From 1c8fae3651381aeb25d7f4af371147a76b6da5f0 Mon Sep 17 00:00:00 2001 +From 753d11d1fab7a122c7da09d6e4242f9357fffaf1 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Wed, 2 Mar 2016 14:35:27 -0600 Subject: [PATCH] Add player view distance API diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 7ef3f62..6e19244 100644 +index 522c7f2..4950db4 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -56,6 +56,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -93,7 +93,7 @@ index 797a84f..d554d7d 100644 + // 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 5515958..9770c99 100644 +index 1fe6af5..c3ba701 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1419,6 +1419,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/Spigot-Server-Patches/0041-Disable-explosion-knockback.patch b/Spigot-Server-Patches/0041-Disable-explosion-knockback.patch index 96d5c379f8..f9aaa1a568 100644 --- a/Spigot-Server-Patches/0041-Disable-explosion-knockback.patch +++ b/Spigot-Server-Patches/0041-Disable-explosion-knockback.patch @@ -1,4 +1,4 @@ -From 83fbaeb18c12386e53df07927bc67ffcf0ed06ae Mon Sep 17 00:00:00 2001 +From aee68d2743a1f3e7e3633cd3b348282fc2c26fa3 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:48:03 -0600 Subject: [PATCH] Disable explosion knockback @@ -19,10 +19,10 @@ index 004d4c0..87979dd 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 4d7be74..7fd8585 100644 +index b5db35f..c1c6822 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -864,12 +864,14 @@ public abstract class EntityLiving extends Entity { +@@ -872,12 +872,14 @@ public abstract class EntityLiving extends Entity { } } @@ -37,17 +37,17 @@ index 4d7be74..7fd8585 100644 this.world.broadcastEntityEffect(this, (byte) 2); } -@@ -893,6 +895,8 @@ public abstract class EntityLiving extends Entity { +@@ -901,6 +903,8 @@ public abstract class EntityLiving extends Entity { } } + if (knockbackCancelled) this.world.broadcastEntityEffect(this, (byte) 2); // Paper - Disable explosion knockback + if (this.getHealth() <= 0.0F) { - SoundEffect soundeffect = this.bT(); + SoundEffect soundeffect = this.bW(); diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 8e225a5..28261c5 100644 +index caf29c7..6cdc3a3 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -145,7 +145,7 @@ public class Explosion { @@ -63,11 +63,11 @@ index 8e225a5..28261c5 100644 if (entity instanceof EntityHuman) { EntityHuman entityhuman = (EntityHuman) entity; -- if (!entityhuman.isSpectator() && (!entityhuman.l_() || !entityhuman.abilities.isFlying)) { -+ if (!entityhuman.isSpectator() && (!entityhuman.l_() && !world.paperConfig.disableExplosionKnockback|| !entityhuman.abilities.isFlying)) { // Paper - Disable explosion knockback +- if (!entityhuman.isSpectator() && (!entityhuman.z() || !entityhuman.abilities.isFlying)) { ++ if (!entityhuman.isSpectator() && (!entityhuman.z() && !world.paperConfig.disableExplosionKnockback || !entityhuman.abilities.isFlying)) { // Paper - Disable explosion knockback this.k.put(entityhuman, new Vec3D(d8 * d13, d9 * d13, d10 * d13)); } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0042-Disable-thunder.patch b/Spigot-Server-Patches/0042-Disable-thunder.patch index 9c1fae45c1..46200eed1f 100644 --- a/Spigot-Server-Patches/0042-Disable-thunder.patch +++ b/Spigot-Server-Patches/0042-Disable-thunder.patch @@ -1,4 +1,4 @@ -From 0da947e01ad657951ae7118c3873af4781376334 Mon Sep 17 00:00:00 2001 +From c711eee0e721258c1a39c806dc080353e634b425 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 14:52:43 -0600 Subject: [PATCH] Disable thunder @@ -19,7 +19,7 @@ index 87979dd..076fcbb 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 4980c7a..bef2dab 100644 +index a691d8f..651ce53 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -423,7 +423,8 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -33,5 +33,5 @@ index 4980c7a..bef2dab 100644 l = this.l >> 2; blockposition = this.a(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15))); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0043-Disable-ice-and-snow.patch b/Spigot-Server-Patches/0043-Disable-ice-and-snow.patch index 8aba099e5e..21575c0637 100644 --- a/Spigot-Server-Patches/0043-Disable-ice-and-snow.patch +++ b/Spigot-Server-Patches/0043-Disable-ice-and-snow.patch @@ -1,4 +1,4 @@ -From 1f43df2ac1437616a2e6101979fcb06f07eb2f43 Mon Sep 17 00:00:00 2001 +From 724df761f25877ebcb44e2353b1c6d6eb036522f 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,7 +19,7 @@ index 076fcbb..9018df5 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index bef2dab..c7e5226 100644 +index 651ce53..bc6ddc7 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -447,7 +447,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -32,5 +32,5 @@ index bef2dab..c7e5226 100644 l = this.l >> 2; blockposition = this.p(new BlockPosition(j + (l & 15), 0, k + (l >> 8 & 15))); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0044-Configurable-mob-spawner-tick-rate.patch b/Spigot-Server-Patches/0044-Configurable-mob-spawner-tick-rate.patch index ffa661cfc0..e40112131d 100644 --- a/Spigot-Server-Patches/0044-Configurable-mob-spawner-tick-rate.patch +++ b/Spigot-Server-Patches/0044-Configurable-mob-spawner-tick-rate.patch @@ -1,4 +1,4 @@ -From d49a422051ab99ef08a0d45cd381757e64e10982 Mon Sep 17 00:00:00 2001 +From f9f44c91550d016394da0bdaacc52398e4f35589 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 15:03:53 -0600 Subject: [PATCH] Configurable mob spawner tick rate @@ -19,7 +19,7 @@ index 9018df5..5a139e2 100644 + } } diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java -index 6c3e365..de6055a 100644 +index f040775..f17aea4 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java +++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java @@ -18,6 +18,7 @@ public abstract class MobSpawnerAbstract { @@ -64,5 +64,5 @@ index 6c3e365..de6055a 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0045-Send-absolute-position-the-first-time-an-entity-is-s.patch b/Spigot-Server-Patches/0045-Send-absolute-position-the-first-time-an-entity-is-s.patch index 4fb3a248af..2ee5670b5f 100644 --- a/Spigot-Server-Patches/0045-Send-absolute-position-the-first-time-an-entity-is-s.patch +++ b/Spigot-Server-Patches/0045-Send-absolute-position-the-first-time-an-entity-is-s.patch @@ -1,18 +1,18 @@ -From 1d7c79814eac0930e924fa43fb4f023faf315b96 Mon Sep 17 00:00:00 2001 +From 467701b9fae3fe6b53c2c3d46a4240f50ddc43ed 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 d820ba8..6c8da79 100644 +index af32116..413925e 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -41,7 +41,12 @@ public class EntityTrackerEntry { private boolean x; private boolean y; public boolean b; -- public Set trackedPlayers = Sets.newHashSet(); +- public final Set trackedPlayers = Sets.newHashSet(); + // Paper start + // Replace trackedPlayers Set with a Map. The value is true until the player receives + // their first update (which is forced to have absolute coordinates), false afterward. @@ -22,40 +22,23 @@ index d820ba8..6c8da79 100644 public EntityTrackerEntry(Entity entity, int i, int j, int k, boolean flag) { this.tracker = entity; -@@ -126,20 +131,22 @@ public class EntityTrackerEntry { - boolean flag = k1 * k1 + l1 * l1 + i2 * i2 >= 128L || this.a % 60 == 0; - boolean flag1 = Math.abs(i1 - this.yRot) >= 1 || Math.abs(j1 - this.xRot) >= 1; +@@ -142,6 +147,7 @@ public class EntityTrackerEntry { + boolean flag1 = l1 * l1 + i2 * i2 + j2 * j2 >= 128L || this.a % 60 == 0; + boolean flag2 = Math.abs(j1 - this.yRot) >= 1 || Math.abs(k1 - this.xRot) >= 1; -- // CraftBukkit start - Code moved from below -- if (flag) { -- this.xLoc = j; -- this.yLoc = k; -- this.zLoc = l; -- } + if (this.a > 0 || this.tracker instanceof EntityArrow) { // Paper - Moved up -+ // CraftBukkit start - Code moved from below -+ if (flag) { -+ this.xLoc = j; -+ this.yLoc = k; -+ this.zLoc = l; -+ } - -- if (flag1) { -+ if (flag1) { -+ this.yRot = i1; -+ this.xRot = j1; -+ } -+ // CraftBukkit end - this.yRot = i1; - this.xRot = j1; -- } + // CraftBukkit start - Code moved from below + if (flag1) { + this.xLoc = k; +@@ -155,7 +161,6 @@ public class EntityTrackerEntry { + } // CraftBukkit end -- + - if (this.a > 0 || this.tracker instanceof EntityArrow) { - if (k1 >= -32768L && k1 < 32768L && l1 >= -32768L && l1 < 32768L && i2 >= -32768L && i2 < 32768L && this.v <= 400 && !this.x && this.y == this.tracker.onGround) { - if ((!flag || !flag1) && !(this.tracker instanceof EntityArrow)) { - if (flag) { -@@ -185,7 +192,26 @@ public class EntityTrackerEntry { + if (l1 >= -32768L && l1 < 32768L && i2 >= -32768L && i2 < 32768L && j2 >= -32768L && j2 < 32768L && this.v <= 400 && !this.x && this.y == this.tracker.onGround) { + if ((!flag1 || !flag2) && !(this.tracker instanceof EntityArrow)) { + if (flag1) { +@@ -201,7 +206,26 @@ public class EntityTrackerEntry { } if (object != null) { @@ -83,7 +66,7 @@ index d820ba8..6c8da79 100644 } this.d(); -@@ -338,7 +364,7 @@ public class EntityTrackerEntry { +@@ -338,7 +362,7 @@ public class EntityTrackerEntry { entityplayer.removeQueue.remove(Integer.valueOf(this.tracker.getId())); // CraftBukkit end @@ -93,5 +76,5 @@ index d820ba8..6c8da79 100644 entityplayer.playerConnection.sendPacket(packet); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0046-Add-BeaconEffectEvent.patch b/Spigot-Server-Patches/0046-Add-BeaconEffectEvent.patch index 2e54f5d3ed..d36fae44ed 100644 --- a/Spigot-Server-Patches/0046-Add-BeaconEffectEvent.patch +++ b/Spigot-Server-Patches/0046-Add-BeaconEffectEvent.patch @@ -1,11 +1,11 @@ -From 44536adaf25c092b8223739374361ebc14b260bf Mon Sep 17 00:00:00 2001 +From ec66ca6a5947ee2ead5f18eb00767ef7f8ae0b7f 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 bb771c1..77170aa 100644 +index 660e2e5..220eb82 100644 --- a/src/main/java/net/minecraft/server/TileEntityBeacon.java +++ b/src/main/java/net/minecraft/server/TileEntityBeacon.java @@ -14,6 +14,15 @@ import org.bukkit.craftbukkit.entity.CraftHumanEntity; @@ -61,5 +61,5 @@ index bb771c1..77170aa 100644 } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0047-Configurable-container-update-tick-rate.patch b/Spigot-Server-Patches/0047-Configurable-container-update-tick-rate.patch index aa5fa768d1..7688e7f7e5 100644 --- a/Spigot-Server-Patches/0047-Configurable-container-update-tick-rate.patch +++ b/Spigot-Server-Patches/0047-Configurable-container-update-tick-rate.patch @@ -1,4 +1,4 @@ -From 4019ce9acbe746b7de1f60f5dc970a23cb17b870 Mon Sep 17 00:00:00 2001 +From c9968ad7e95cefe2bb154eec2b9695f711e8fa10 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Wed, 2 Mar 2016 23:34:44 -0600 Subject: [PATCH] Configurable container update tick rate @@ -19,7 +19,7 @@ index 5a139e2..e182e48 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 6e19244..1e33838 100644 +index 4950db4..e9baaa2 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -65,6 +65,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -45,5 +45,5 @@ index 6e19244..1e33838 100644 this.closeInventory(); this.activeContainer = this.defaultContainer; -- -2.8.2.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0048-Fix-lava-water-some-times-creating-air-instead-of-co.patch b/Spigot-Server-Patches/0048-Fix-lava-water-some-times-creating-air-instead-of-co.patch index e6d59029d2..08b0750bcc 100644 --- a/Spigot-Server-Patches/0048-Fix-lava-water-some-times-creating-air-instead-of-co.patch +++ b/Spigot-Server-Patches/0048-Fix-lava-water-some-times-creating-air-instead-of-co.patch @@ -1,11 +1,11 @@ -From d9bae1b188028fa421ed5f26e207ba39a8202049 Mon Sep 17 00:00:00 2001 +From 123e2e4ee662aefbaf32cce1397b45b43e6c9aee Mon Sep 17 00:00:00 2001 From: Iceee Date: Wed, 2 Mar 2016 23:38:52 -0600 Subject: [PATCH] Fix lava/water some times creating air instead of cobblestone diff --git a/src/main/java/net/minecraft/server/BlockFluids.java b/src/main/java/net/minecraft/server/BlockFluids.java -index a076f4d..93bfd53 100644 +index ddd5199..d7308dd 100644 --- a/src/main/java/net/minecraft/server/BlockFluids.java +++ b/src/main/java/net/minecraft/server/BlockFluids.java @@ -169,7 +169,7 @@ public abstract class BlockFluids extends Block { @@ -18,5 +18,5 @@ index a076f4d..93bfd53 100644 this.fizz(world, blockposition); return true; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0049-Use-UserCache-for-player-heads.patch b/Spigot-Server-Patches/0049-Use-UserCache-for-player-heads.patch index 33c222c764..445d3d8186 100644 --- a/Spigot-Server-Patches/0049-Use-UserCache-for-player-heads.patch +++ b/Spigot-Server-Patches/0049-Use-UserCache-for-player-heads.patch @@ -1,4 +1,4 @@ -From 12a6ea83e2f556fbff99c3704d30b3251d382824 Mon Sep 17 00:00:00 2001 +From 020ae40d595f94caf0b507f1da371109cc8a07b7 Mon Sep 17 00:00:00 2001 From: Techcable Date: Wed, 2 Mar 2016 23:42:37 -0600 Subject: [PATCH] Use UserCache for player heads @@ -32,5 +32,5 @@ index 2abca0c..7d83bbe 100644 return true; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0050-Disable-spigot-tick-limiters.patch b/Spigot-Server-Patches/0050-Disable-spigot-tick-limiters.patch index db68c93d81..8ffcf455ea 100644 --- a/Spigot-Server-Patches/0050-Disable-spigot-tick-limiters.patch +++ b/Spigot-Server-Patches/0050-Disable-spigot-tick-limiters.patch @@ -1,14 +1,14 @@ -From 58ac13abf1d84ad3e446556592682eb8f077ee4a Mon Sep 17 00:00:00 2001 +From 3cb5989f9a4ba05b40fb8382228dae8d8c4a7ffe Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 2 Mar 2016 23:45:17 -0600 Subject: [PATCH] Disable spigot tick limiters diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index c8c2601..b7f45b6 100644 +index f2c3409..0b3360c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1418,10 +1418,10 @@ public abstract class World implements IBlockAccess { +@@ -1422,10 +1422,10 @@ public abstract class World implements IBlockAccess { // CraftBukkit start - Use field for loop variable co.aikar.timings.TimingHistory.entityTicks += this.entityList.size(); // Paper int entitiesThisCycle = 0; @@ -23,7 +23,7 @@ index c8c2601..b7f45b6 100644 tickPosition = (tickPosition < entityList.size()) ? tickPosition : 0; entity = (Entity) this.entityList.get(this.tickPosition); // CraftBukkit end -@@ -1486,9 +1486,7 @@ public abstract class World implements IBlockAccess { +@@ -1490,9 +1490,7 @@ public abstract class World implements IBlockAccess { // Spigot start // Iterator iterator = this.tileEntityListTick.iterator(); int tilesThisCycle = 0; @@ -35,5 +35,5 @@ index c8c2601..b7f45b6 100644 TileEntity tileentity = (TileEntity) this.tileEntityListTick.get(tileTickPosition); // Spigot start -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0051-Configurable-Chunk-IO-Thread-Base-Count.patch b/Spigot-Server-Patches/0051-Configurable-Chunk-IO-Thread-Base-Count.patch index 7b0b0deaa8..f017a590bb 100644 --- a/Spigot-Server-Patches/0051-Configurable-Chunk-IO-Thread-Base-Count.patch +++ b/Spigot-Server-Patches/0051-Configurable-Chunk-IO-Thread-Base-Count.patch @@ -1,4 +1,4 @@ -From 551087a24681a0f47c192a5a3c40355a4efbdfa1 Mon Sep 17 00:00:00 2001 +From e423c9fa1d8a9de6de4cf6b62658cbe3e15d421f Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 2 Mar 2016 23:46:57 -0600 Subject: [PATCH] Configurable Chunk IO Thread Base Count @@ -39,5 +39,5 @@ index e4fd9bc..7b7a3d0 100644 private static final AsynchronousExecutor instance = new AsynchronousExecutor(new ChunkIOProvider(), BASE_THREADS); -- -2.8.3.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0052-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch b/Spigot-Server-Patches/0052-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch index dcb9615acb..f1859c4fe6 100644 --- a/Spigot-Server-Patches/0052-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch +++ b/Spigot-Server-Patches/0052-Don-t-create-Region-File-s-when-checking-if-chunk-ex.patch @@ -1,4 +1,4 @@ -From a6f71203988b2af1497b585b28018f1b7bbed9c1 Mon Sep 17 00:00:00 2001 +From 0d36bbd3acce3758461d6acd54014d4c68560a25 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 2 Mar 2016 23:51:51 -0600 Subject: [PATCH] Don't create Region File's when checking if chunk exists @@ -7,7 +7,7 @@ Plugins like Dynmap can end up creating tons of emtpy Region Files when using chunkExists. diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index f6e286f..da7d7fe 100644 +index 665851a..24cb51b 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -39,7 +39,10 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -49,5 +49,5 @@ index 5528019..01a08d4 100644 file1.mkdirs(); } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0053-Don-t-create-a-chunk-just-to-unload-it.patch b/Spigot-Server-Patches/0053-Don-t-create-a-chunk-just-to-unload-it.patch index 66fdf4017e..51c09a7f39 100644 --- a/Spigot-Server-Patches/0053-Don-t-create-a-chunk-just-to-unload-it.patch +++ b/Spigot-Server-Patches/0053-Don-t-create-a-chunk-just-to-unload-it.patch @@ -1,11 +1,11 @@ -From 064ef8799679a16ccfc7538d2796d374f4a1b0f4 Mon Sep 17 00:00:00 2001 +From b6e34821d3030412b88b2634b2204224b31be785 Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 2 Mar 2016 23:55:20 -0600 Subject: [PATCH] Don't create a chunk just to unload it diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 899ce8f..83b14d9 100644 +index 4ab7efc..d1385af 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -213,7 +213,13 @@ public class CraftWorld implements World { diff --git a/Spigot-Server-Patches/0054-Add-PlayerInitialSpawnEvent.patch b/Spigot-Server-Patches/0054-Add-PlayerInitialSpawnEvent.patch index 60ac18ea34..c3770ea3ba 100644 --- a/Spigot-Server-Patches/0054-Add-PlayerInitialSpawnEvent.patch +++ b/Spigot-Server-Patches/0054-Add-PlayerInitialSpawnEvent.patch @@ -1,4 +1,4 @@ -From 36b56f93ab5dc09bea513f84f44b4f3c7e5ddcd3 Mon Sep 17 00:00:00 2001 +From 6edb6b079c6896587c0286eab0dfa16b5bd24e58 Mon Sep 17 00:00:00 2001 From: Steve Anton Date: Thu, 3 Mar 2016 00:09:38 -0600 Subject: [PATCH] Add PlayerInitialSpawnEvent @@ -6,7 +6,7 @@ Subject: [PATCH] Add PlayerInitialSpawnEvent For modifying a player's initial spawn location as they join the server diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 13fa79f..a3c0b10 100644 +index f6a9384..6e51c43 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -100,6 +100,21 @@ public abstract class PlayerList { @@ -32,5 +32,5 @@ index 13fa79f..a3c0b10 100644 entityplayer.playerInteractManager.a((WorldServer) entityplayer.world); String s1 = "local"; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0055-Disable-chest-cat-detection.patch b/Spigot-Server-Patches/0055-Disable-chest-cat-detection.patch index 662f4b78d2..d948370e86 100644 --- a/Spigot-Server-Patches/0055-Disable-chest-cat-detection.patch +++ b/Spigot-Server-Patches/0055-Disable-chest-cat-detection.patch @@ -1,4 +1,4 @@ -From f68afec9bf832efe71d3eb418eb72aa13eb7a7d4 Mon Sep 17 00:00:00 2001 +From 2b55727e5ed2d11e5af28f45dc51079b50c8ebfd Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 01:13:45 -0600 Subject: [PATCH] Disable chest cat detection @@ -35,5 +35,5 @@ index 21be295..a5f2fc0 100644 EntityOcelot entityocelot; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0056-Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/0056-Ensure-commands-are-not-ran-async.patch index 9f156a15f4..c4e613903f 100644 --- a/Spigot-Server-Patches/0056-Ensure-commands-are-not-ran-async.patch +++ b/Spigot-Server-Patches/0056-Ensure-commands-are-not-ran-async.patch @@ -1,4 +1,4 @@ -From a36d163a35b3216d034a1344206872f6ab921be4 Mon Sep 17 00:00:00 2001 +From d7200d536c15065d8c3f6c6f8ff92d40afefaed4 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 0c2c151..2cde490 100644 +index 378cc6e..efca444 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1264,6 +1264,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1263,6 +1263,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } if (!async && s.startsWith("/")) { @@ -48,7 +48,7 @@ index 0c2c151..2cde490 100644 } else if (this.player.getChatFlags() == EntityHuman.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 cae55fb..2b49d69 100644 +index 408ef34..541b8d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -643,6 +643,29 @@ public final class CraftServer implements Server { @@ -82,5 +82,5 @@ index cae55fb..2b49d69 100644 return true; } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0057-All-chunks-are-slime-spawn-chunks-toggle.patch b/Spigot-Server-Patches/0057-All-chunks-are-slime-spawn-chunks-toggle.patch index af85918576..2097475d34 100644 --- a/Spigot-Server-Patches/0057-All-chunks-are-slime-spawn-chunks-toggle.patch +++ b/Spigot-Server-Patches/0057-All-chunks-are-slime-spawn-chunks-toggle.patch @@ -1,4 +1,4 @@ -From 65ac541fa8ed62de2d0829d816d0762d723e9ea7 Mon Sep 17 00:00:00 2001 +From fb635704e127900190353403ff7999c9b4dc761d Mon Sep 17 00:00:00 2001 From: vemacs Date: Thu, 3 Mar 2016 01:19:22 -0600 Subject: [PATCH] All chunks are slime spawn chunks toggle @@ -19,19 +19,19 @@ index c89ab0c..b302cb7 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index 2fae2a9..170cb8a 100644 +index 334505f..616c2e8 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java -@@ -245,7 +245,8 @@ public class EntitySlime extends EntityInsentient implements IMonster { - return super.cG(); +@@ -249,7 +249,8 @@ public class EntitySlime extends EntityInsentient implements IMonster { + return super.cK(); } - if (this.random.nextInt(10) == 0 && chunk.a(987234911L).nextInt(10) == 0 && this.locY < 40.0D) { + boolean isSlimeChunk = world.paperConfig.allChunksAreSlimeChunks || chunk.a(987234911L).nextInt(10) == 0; // Paper -+ if (this.random.nextInt(10) == 0 && isSlimeChunk && this.locY < 40.0D) { // Paper - return super.cG(); ++ if (this.random.nextInt(10) == 0 && isSlimeChunk && this.locY < 40.0D) { + return super.cK(); } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0058-Add-Location-support-to-tab-completers-vanilla-featu.patch b/Spigot-Server-Patches/0058-Add-Location-support-to-tab-completers-vanilla-featu.patch index 1d86a374a3..1e2e603c3d 100644 --- a/Spigot-Server-Patches/0058-Add-Location-support-to-tab-completers-vanilla-featu.patch +++ b/Spigot-Server-Patches/0058-Add-Location-support-to-tab-completers-vanilla-featu.patch @@ -1,4 +1,4 @@ -From 47467b9ed89eb4761a409425af0d77d513e98c60 Mon Sep 17 00:00:00 2001 +From 666b0179a43b74e82554af6d1c8643afb05a2098 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Thu, 3 Mar 2016 01:44:39 -0600 Subject: [PATCH] Add Location support to tab completers (vanilla feature @@ -20,10 +20,10 @@ index b302cb7..75e7b78 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bbdb19a..3d2e0b6 100644 +index 2fc7479..4b60fed 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1156,7 +1156,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -1163,7 +1163,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs return arraylist; } */ @@ -33,7 +33,7 @@ index bbdb19a..3d2e0b6 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2b49d69..bc48cf6 100644 +index 541b8d8..73f5ea0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -25,17 +25,11 @@ import javax.imageio.ImageIO; @@ -156,5 +156,5 @@ index 100d84a..a40218c 100644 public static CommandSender lastSender = null; // Nasty :( -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0059-Optimize-Pathfinding.patch b/Spigot-Server-Patches/0059-Optimize-Pathfinding.patch index 46921cf2c8..37a71960a0 100644 --- a/Spigot-Server-Patches/0059-Optimize-Pathfinding.patch +++ b/Spigot-Server-Patches/0059-Optimize-Pathfinding.patch @@ -1,4 +1,4 @@ -From 992e43398a309df8c25659b1d0d0881a6b327a09 Mon Sep 17 00:00:00 2001 +From 71e6327dabc023b18b83ca510513acd1a52a7c07 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:02:07 -0600 Subject: [PATCH] Optimize Pathfinding @@ -7,10 +7,10 @@ Prevents pathfinding from spamming failures for things such as arrow attacks. diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 31e574c..61c0f55 100644 +index c9cfe3f..b1a90c1 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -123,10 +123,26 @@ public abstract class NavigationAbstract { +@@ -118,10 +118,26 @@ public abstract class NavigationAbstract { } public boolean a(Entity entity, double d0) { @@ -21,7 +21,7 @@ index 31e574c..61c0f55 100644 + PathEntity pathentity = this.a(entity); -- return pathentity != null ? this.a(pathentity, d0) : false; +- return pathentity != null && this.a(pathentity, d0); + if (pathentity != null && this.a(pathentity, d0)) { + this.lastFailure = 0; + this.pathfindFailures = 0; @@ -38,7 +38,7 @@ index 31e574c..61c0f55 100644 public boolean a(@Nullable PathEntity pathentity, double d0) { if (pathentity == null) { -@@ -260,6 +276,7 @@ public abstract class NavigationAbstract { +@@ -255,6 +271,7 @@ public abstract class NavigationAbstract { } public void o() { @@ -47,5 +47,5 @@ index 31e574c..61c0f55 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0060-Optimize-getBlockData.patch b/Spigot-Server-Patches/0060-Optimize-getBlockData.patch index 2c773fdff2..092c40571e 100644 --- a/Spigot-Server-Patches/0060-Optimize-getBlockData.patch +++ b/Spigot-Server-Patches/0060-Optimize-getBlockData.patch @@ -1,4 +1,4 @@ -From 086069acbe2c36b968bd5d853426ff8d38a8cd49 Mon Sep 17 00:00:00 2001 +From c70068607b6fe555ded74276fc6331e5df296723 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize getBlockData @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize getBlockData Hot method, so reduce # of instructions for the method. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index d55beb9..3806def 100644 +index 770da2b..9b0b98b 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -395,8 +395,15 @@ public class Chunk { @@ -27,5 +27,5 @@ index d55beb9..3806def 100644 public IBlockData a(final int i, final int j, final int k) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0061-Avoid-hopper-searches-if-there-are-no-items.patch b/Spigot-Server-Patches/0061-Avoid-hopper-searches-if-there-are-no-items.patch index 6dc5d4cc47..82f0bb4b2b 100644 --- a/Spigot-Server-Patches/0061-Avoid-hopper-searches-if-there-are-no-items.patch +++ b/Spigot-Server-Patches/0061-Avoid-hopper-searches-if-there-are-no-items.patch @@ -1,4 +1,4 @@ -From 1bba159601a998917f3ebe31c6b6642951a02ef7 Mon Sep 17 00:00:00 2001 +From 3ae2bd2580b26f6349a3cd0e52b59af253169654 Mon Sep 17 00:00:00 2001 From: CullanP Date: Thu, 3 Mar 2016 02:13:38 -0600 Subject: [PATCH] Avoid hopper searches if there are no items @@ -14,7 +14,7 @@ And since minecart hoppers are used _very_ rarely near we can avoid alot of sear Combined, this adds up a lot. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 3806def..acce7cb 100644 +index 9b0b98b..51a1d85 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -47,6 +47,13 @@ public class Chunk { @@ -31,9 +31,9 @@ index 3806def..acce7cb 100644 // CraftBukkit start - Neighbor loaded cache for chunk lighting and entity ticking private int neighbors = 0x1 << 12; -@@ -625,6 +632,13 @@ public class Chunk { - entity.ac = k; - entity.ad = this.locZ; +@@ -623,6 +630,13 @@ public class Chunk { + entity.ad = k; + entity.ae = this.locZ; this.entitySlices[k].add(entity); + // Paper start - update count + if (entity instanceof EntityItem) { @@ -45,7 +45,7 @@ index 3806def..acce7cb 100644 // Spigot start - increment creature type count // Keep this synced up with World.a(Class) if (entity instanceof EntityInsentient) { -@@ -657,6 +671,13 @@ public class Chunk { +@@ -655,6 +669,13 @@ public class Chunk { } this.entitySlices[i].remove(entity); @@ -59,7 +59,7 @@ index 3806def..acce7cb 100644 // Spigot start - decrement creature type count // Keep this synced up with World.a(Class) if (entity instanceof EntityInsentient) { -@@ -848,6 +869,15 @@ public class Chunk { +@@ -845,6 +866,15 @@ public class Chunk { if (!this.entitySlices[k].isEmpty()) { Iterator iterator = this.entitySlices[k].iterator(); @@ -75,7 +75,7 @@ index 3806def..acce7cb 100644 while (iterator.hasNext()) { Entity entity1 = (Entity) iterator.next(); -@@ -880,7 +910,18 @@ public class Chunk { +@@ -881,7 +911,18 @@ public class Chunk { i = MathHelper.clamp(i, 0, this.entitySlices.length - 1); j = MathHelper.clamp(j, 0, this.entitySlices.length - 1); @@ -95,5 +95,5 @@ index 3806def..acce7cb 100644 while (iterator.hasNext()) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0062-Expose-server-CommandMap.patch b/Spigot-Server-Patches/0062-Expose-server-CommandMap.patch index 3e79ddc0d6..17232b084d 100644 --- a/Spigot-Server-Patches/0062-Expose-server-CommandMap.patch +++ b/Spigot-Server-Patches/0062-Expose-server-CommandMap.patch @@ -1,11 +1,11 @@ -From ef4ff54759bcfc8a1002c2bec92d661542798468 Mon Sep 17 00:00:00 2001 +From 682d06959c7c22c508a6959c8a158ce6a6a37a73 Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 3 Mar 2016 02:15:57 -0600 Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bc48cf6..47851c1 100644 +index 73f5ea0..07a69d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1561,6 +1561,7 @@ public final class CraftServer implements Server { @@ -17,5 +17,5 @@ index bc48cf6..47851c1 100644 return commandMap; } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0063-Be-a-bit-more-informative-in-maxHealth-exception.patch b/Spigot-Server-Patches/0063-Be-a-bit-more-informative-in-maxHealth-exception.patch index 2be6667936..959d38b855 100644 --- a/Spigot-Server-Patches/0063-Be-a-bit-more-informative-in-maxHealth-exception.patch +++ b/Spigot-Server-Patches/0063-Be-a-bit-more-informative-in-maxHealth-exception.patch @@ -1,4 +1,4 @@ -From d161119c1c5608813fb96a56afc6ab967c087faf Mon Sep 17 00:00:00 2001 +From d17d7a6e2f46be6ccca4462dae4706eeac1d9ca9 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 @@ -21,5 +21,5 @@ index e662e4a..f13ca63 100644 if (entity instanceof EntityPlayer && health == 0) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0064-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/Spigot-Server-Patches/0064-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index 402e8a74af..c6b05cf50b 100644 --- a/Spigot-Server-Patches/0064-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/Spigot-Server-Patches/0064-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -1,11 +1,11 @@ -From 4f03ec9512277188129246d8315d1cbc42f3ad9b Mon Sep 17 00:00:00 2001 +From b070b3e313e0ef0b1f22f4da2f3438123953e99e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 3 Mar 2016 02:21:58 -0600 Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 47851c1..08edd53 100644 +index 07a69d7..274b83b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1314,6 +1314,18 @@ public final class CraftServer implements Server { @@ -28,7 +28,7 @@ index 47851c1..08edd53 100644 @Deprecated public OfflinePlayer getOfflinePlayer(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9770c99..bd1b74c 100644 +index c3ba701..1281514 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -156,6 +156,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -56,5 +56,5 @@ index 9770c99..bd1b74c 100644 public String getDisplayName() { return getHandle().displayName; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0065-Player-Tab-List-and-Title-APIs.patch b/Spigot-Server-Patches/0065-Player-Tab-List-and-Title-APIs.patch index 6af9d69bf9..8aa88f00e1 100644 --- a/Spigot-Server-Patches/0065-Player-Tab-List-and-Title-APIs.patch +++ b/Spigot-Server-Patches/0065-Player-Tab-List-and-Title-APIs.patch @@ -1,4 +1,4 @@ -From 20ea4296fe6b89252bd5f5a83c4e0ef88736454e Mon Sep 17 00:00:00 2001 +From 5c439c32cad69e1b32e7244d20900e1fc695492f Mon Sep 17 00:00:00 2001 From: Techcable Date: Thu, 3 Mar 2016 02:32:10 -0600 Subject: [PATCH] Player Tab List and Title APIs @@ -78,7 +78,7 @@ index 31a2b21..8a0839c 100644 if (this.a == PacketPlayOutTitle.EnumTitleAction.TIMES) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bd1b74c..fdbad7d 100644 +index 1281514..74fdd3c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ @@ -173,5 +173,5 @@ index bd1b74c..fdbad7d 100644 @Override -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0066-Ensure-inv-drag-is-in-bounds.patch b/Spigot-Server-Patches/0066-Ensure-inv-drag-is-in-bounds.patch index 044c7a60b9..f0e4238542 100644 --- a/Spigot-Server-Patches/0066-Ensure-inv-drag-is-in-bounds.patch +++ b/Spigot-Server-Patches/0066-Ensure-inv-drag-is-in-bounds.patch @@ -1,11 +1,11 @@ -From 6d362e1d7af4414e3819f600af7dd740719561ae Mon Sep 17 00:00:00 2001 +From 6f591f5aa44578cc019bef95a7b3480f50b9ddb2 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:33:53 -0600 Subject: [PATCH] Ensure inv drag is in bounds diff --git a/src/main/java/net/minecraft/server/Container.java b/src/main/java/net/minecraft/server/Container.java -index f9ff5cc..fd226f1 100644 +index 00f035a..a1368a0 100644 --- a/src/main/java/net/minecraft/server/Container.java +++ b/src/main/java/net/minecraft/server/Container.java @@ -142,7 +142,7 @@ public abstract class Container { @@ -18,5 +18,5 @@ index f9ff5cc..fd226f1 100644 if (slot != null && a(slot, playerinventory.getCarried(), true) && slot.isAllowed(playerinventory.getCarried()) && playerinventory.getCarried().count > this.h.size() && this.b(slot)) { this.h.add(slot); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0067-Change-implementation-of-tile-entity-removal-list.patch b/Spigot-Server-Patches/0067-Change-implementation-of-tile-entity-removal-list.patch index 196d645264..1bbef16403 100644 --- a/Spigot-Server-Patches/0067-Change-implementation-of-tile-entity-removal-list.patch +++ b/Spigot-Server-Patches/0067-Change-implementation-of-tile-entity-removal-list.patch @@ -1,28 +1,30 @@ -From acf9844949fec83fbc827beef334a584b9b28f2e Mon Sep 17 00:00:00 2001 +From 5a6370e213cbfefd2d2b8f3f1d7af85b490d8c7f 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 diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 751e07d..c6fe888 100644 +index 1b58f7d..1e092b0 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -119,9 +119,9 @@ public abstract class Entity implements ICommandListener { +@@ -119,10 +119,10 @@ public abstract class Entity implements ICommandListener { private static final DataWatcherObject aB = DataWatcher.a(Entity.class, DataWatcherRegistry.h); private static final DataWatcherObject aC = DataWatcher.a(Entity.class, DataWatcherRegistry.h); - public boolean aa; -- public int ab; + private static final DataWatcherObject aD = DataWatcher.a(Entity.class, DataWatcherRegistry.h); +- public boolean ab; - public int ac; - public int ad; -+ public int ab;public int getChunkX() { return ab; } // Paper -+ public int ac;public int getChunkY() { return ac; } // Paper -+ public int ad;public int getChunkZ() { return ad; } // Paper - public boolean ah; +- public int ae; ++ public boolean ab; public boolean isAddedToChunk() { return ab; } // Paper - OBFHELPER ++ public int ac; public int getChunkX() { return ac; } // Paper - OBFHELPER ++ public int ad; public int getChunkY() { return ad; } // Paper - OBFHELPER ++ public int ae; public int getChunkZ() { return ae; } // Paper - OBFHELPER + public boolean ai; public boolean impulse; public int portalCooldown; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index b7f45b6..26352d2 100644 +index 0b3360c..47036e1 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -31,6 +31,11 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -51,23 +53,24 @@ index b7f45b6..26352d2 100644 public final List players = Lists.newArrayList(); public final List j = Lists.newArrayList(); protected final IntHashMap entitiesById = new IntHashMap(); -@@ -1390,19 +1395,20 @@ public abstract class World implements IBlockAccess { +@@ -1393,20 +1398,20 @@ public abstract class World implements IBlockAccess { + this.entityList.removeAll(this.f); int j; ++ // Paper start - Set based removal lists ++ for (Entity e : this.f) { ++ j = e.getChunkZ(); ++ int k = e.getChunkX(); - for (i = 0; i < this.f.size(); ++i) { - entity = (Entity) this.f.get(i); -- int k = entity.ab; -+ // Paper start - Set based removal lists -+ for (Entity e : this.f) { -+ j = e.getChunkX(); -+ int k = e.getChunkZ(); - -- j = entity.ad; -- if (entity.aa && this.isChunkLoaded(k, j, true)) { +- int k = entity.ac; +- +- j = entity.ae; +- if (entity.ab && this.isChunkLoaded(k, j, true)) { - this.getChunkAt(k, j).b(entity); -+ if (e.aa && this.isChunkLoaded(j, k, true)) { -+ this.getChunkAt(j, k).b(e); ++ if (e.isAddedToChunk() && this.isChunkLoaded(k, j, true)) { ++ this.getChunkAt(k, j).b(e); } } @@ -81,5 +84,5 @@ index b7f45b6..26352d2 100644 this.f.clear(); this.l(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0068-Add-configurable-portal-search-radius.patch b/Spigot-Server-Patches/0068-Add-configurable-portal-search-radius.patch index 2efff9ca83..13fb32ba7d 100644 --- a/Spigot-Server-Patches/0068-Add-configurable-portal-search-radius.patch +++ b/Spigot-Server-Patches/0068-Add-configurable-portal-search-radius.patch @@ -1,4 +1,4 @@ -From 094f39cebbabf098b5f817d0dd9434ac3af6185b Mon Sep 17 00:00:00 2001 +From b9f357936f5bbc5b4f9a6227e266a8d1f95ca45c Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:46:17 -0600 Subject: [PATCH] Add configurable portal search radius @@ -19,7 +19,7 @@ index 75e7b78..5807609 100644 + } } diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java -index 6bb68c0..b731b53 100644 +index 81d65f1..f483a3a 100644 --- a/src/main/java/net/minecraft/server/PortalTravelAgent.java +++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java @@ -12,7 +12,7 @@ import org.bukkit.util.Vector; @@ -54,5 +54,5 @@ index 1d5dce1..7ca2617 100644 private boolean canCreatePortal = true; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0069-Add-velocity-warnings.patch b/Spigot-Server-Patches/0069-Add-velocity-warnings.patch index 4b2fc46946..e4a7c14aab 100644 --- a/Spigot-Server-Patches/0069-Add-velocity-warnings.patch +++ b/Spigot-Server-Patches/0069-Add-velocity-warnings.patch @@ -1,14 +1,14 @@ -From 128717a58ad4dd6c56d60049de3c8e2c546c6e04 Mon Sep 17 00:00:00 2001 +From 786d50439034b85bf6e395da2eb896393d5c6fc3 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 02:48:12 -0600 Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a6c0b45..485e204 100644 +index 5e81076..43f2c68 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -204,6 +204,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -205,6 +205,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } public void setVelocity(Vector vel) { @@ -22,5 +22,5 @@ index a6c0b45..485e204 100644 entity.motY = vel.getY(); entity.motZ = vel.getZ(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0070-Fix-inter-world-teleportation-glitches.patch b/Spigot-Server-Patches/0070-Fix-inter-world-teleportation-glitches.patch index 5479ff2225..a37130511b 100644 --- a/Spigot-Server-Patches/0070-Fix-inter-world-teleportation-glitches.patch +++ b/Spigot-Server-Patches/0070-Fix-inter-world-teleportation-glitches.patch @@ -1,4 +1,4 @@ -From add5b3b793be2bd95e906affa8f8119ef2fdf6cd Mon Sep 17 00:00:00 2001 +From f8f6dac0d1a072992d643f62c80b4f4ae724b5a6 Mon Sep 17 00:00:00 2001 From: Sudzzy Date: Thu, 3 Mar 2016 02:50:31 -0600 Subject: [PATCH] Fix inter-world teleportation glitches @@ -25,7 +25,7 @@ index 5807609..034369a 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fdbad7d..ef6e9a6 100644 +index 74fdd3c..32d69df 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -557,7 +557,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -39,5 +39,5 @@ index fdbad7d..ef6e9a6 100644 return true; } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0071-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0071-Add-exception-reporting-event.patch index 052fb12394..726de162aa 100644 --- a/Spigot-Server-Patches/0071-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0071-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 46b6f1db57959a42d8f67fbbbb8c7e2f2a8de68f Mon Sep 17 00:00:00 2001 +From 9dbe91492774e8e2feb3995f84867d961bf2cfb1 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 @@ -50,7 +50,7 @@ index 0000000..9339718 +} \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index acce7cb..b39960a 100644 +index 51a1d85..bc6e190 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -68,7 +68,7 @@ index acce7cb..b39960a 100644 public class Chunk { -@@ -763,10 +765,15 @@ public class Chunk { +@@ -761,10 +763,15 @@ public class Chunk { this.tileEntities.remove(blockposition); // Paper end } else { @@ -89,7 +89,7 @@ index acce7cb..b39960a 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 01311c8..b268a78 100644 +index e5ee5c6..990e3f0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -11,6 +11,7 @@ import java.util.Iterator; @@ -144,7 +144,7 @@ index 01311c8..b268a78 100644 } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 0906bf7..1d0890d 100644 +index d1c83d1..e21a8c4 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -1,5 +1,6 @@ @@ -171,7 +171,7 @@ index 0906bf7..1d0890d 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PersistentCollection.java b/src/main/java/net/minecraft/server/PersistentCollection.java -index c221a22..57a892c 100644 +index 936d6c6..50056f4 100644 --- a/src/main/java/net/minecraft/server/PersistentCollection.java +++ b/src/main/java/net/minecraft/server/PersistentCollection.java @@ -1,5 +1,6 @@ @@ -198,7 +198,7 @@ index c221a22..57a892c 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index da6d694..2ca94a4 100644 +index e18e9bc..2badf24 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -244,7 +244,7 @@ index 01a08d4..5eb01c3 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 852bdf8..5fa35f3 100644 +index 55c36fc..b603b2c 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -5,6 +5,7 @@ import java.util.List; @@ -272,7 +272,7 @@ index 852bdf8..5fa35f3 100644 } diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java -index 26d7d12..fcd2ddf 100644 +index e40fd93..d1458aa 100644 --- a/src/main/java/net/minecraft/server/VillageSiege.java +++ b/src/main/java/net/minecraft/server/VillageSiege.java @@ -1,5 +1,7 @@ @@ -284,7 +284,7 @@ index 26d7d12..fcd2ddf 100644 import java.util.List; import javax.annotation.Nullable; @@ -137,6 +139,7 @@ public class VillageSiege { - entityzombie.clearVillagerType(); + entityzombie.setVillagerType(EnumZombieType.NORMAL); } catch (Exception exception) { exception.printStackTrace(); + ServerInternalException.reportInternalException(exception); // Paper @@ -292,7 +292,7 @@ index 26d7d12..fcd2ddf 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 26352d2..ccbfda0 100644 +index 47036e1..6b2875d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,7 @@ @@ -303,7 +303,7 @@ index 26352d2..ccbfda0 100644 import com.google.common.base.Function; import com.google.common.base.Objects; import com.google.common.base.Predicate; -@@ -1450,8 +1452,10 @@ public abstract class World implements IBlockAccess { +@@ -1453,8 +1455,10 @@ public abstract class World implements IBlockAccess { } catch (Throwable throwable1) { entity.tickTimer.stopTiming(); // Paper start - Prevent tile entity and entity crashes @@ -315,7 +315,7 @@ index 26352d2..ccbfda0 100644 entity.dead = true; continue; // Paper end -@@ -1515,8 +1519,10 @@ public abstract class World implements IBlockAccess { +@@ -1518,8 +1522,10 @@ public abstract class World implements IBlockAccess { this.methodProfiler.b(); } catch (Throwable throwable2) { // Paper start - Prevent tile entity and entity crashes @@ -372,5 +372,5 @@ index 2a22697..d82dddf 100644 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } -- -2.8.2.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0072-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch b/Spigot-Server-Patches/0072-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch index a39e6977fb..bbc3f74a81 100644 --- a/Spigot-Server-Patches/0072-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch +++ b/Spigot-Server-Patches/0072-Don-t-nest-if-we-don-t-need-to-when-cerealising-text.patch @@ -1,4 +1,4 @@ -From af2b7145d1158096496c253ccbfd616eb2fb9118 Mon Sep 17 00:00:00 2001 +From 14700c98dde8496b26b71b17f280e71263ab314d Mon Sep 17 00:00:00 2001 From: kashike Date: Tue, 8 Mar 2016 18:28:43 -0800 Subject: [PATCH] Don't nest if we don't need to when cerealising text @@ -26,5 +26,5 @@ index c0e1199..bc6c054 100644 packetdataserializer.a(this.a); } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0073-Disable-Scoreboards-for-non-players-by-default.patch b/Spigot-Server-Patches/0073-Disable-Scoreboards-for-non-players-by-default.patch index 4e87057d8e..b92ec0f1f8 100644 --- a/Spigot-Server-Patches/0073-Disable-Scoreboards-for-non-players-by-default.patch +++ b/Spigot-Server-Patches/0073-Disable-Scoreboards-for-non-players-by-default.patch @@ -1,4 +1,4 @@ -From 4d5552cf47f156086b9619a29197cdbb4cff6f7f Mon Sep 17 00:00:00 2001 +From 9567aaa67ebbdbfc570e398ba6d9a5ee7676bb59 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 8 Mar 2016 23:25:45 -0500 Subject: [PATCH] Disable Scoreboards for non players by default @@ -25,7 +25,7 @@ index 034369a..308dfdd 100644 + } } diff --git a/src/main/java/net/minecraft/server/CommandScoreboard.java b/src/main/java/net/minecraft/server/CommandScoreboard.java -index 989721b..6b2a1a0 100644 +index 5f579bc..8e5419d 100644 --- a/src/main/java/net/minecraft/server/CommandScoreboard.java +++ b/src/main/java/net/minecraft/server/CommandScoreboard.java @@ -491,6 +491,7 @@ public class CommandScoreboard extends CommandAbstract { @@ -33,21 +33,21 @@ index 989721b..6b2a1a0 100644 while (iterator.hasNext()) { Entity entity = (Entity) iterator.next(); + if (!entity.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(entity instanceof EntityHuman)) { continue; } // Paper - String s2 = e(minecraftserver, icommandlistener, entity.bd()); + String s2 = e(minecraftserver, icommandlistener, entity.bf()); if (scoreboard.addPlayerToTeam(s2, s)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index c6fe888..035dd20 100644 +index 2dfe212..f192fe5 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1853,6 +1853,7 @@ public abstract class Entity implements ICommandListener { +@@ -1882,6 +1882,7 @@ public abstract class Entity implements ICommandListener { @Nullable - public ScoreboardTeamBase aO() { + public ScoreboardTeamBase aQ() { + if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper - return this.world.getScoreboard().getPlayerTeam(this.bd()); + return this.world.getScoreboard().getPlayerTeam(this.bf()); } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0074-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/Spigot-Server-Patches/0074-Add-methods-for-working-with-arrows-stuck-in-living-.patch index fa2b669c46..078cac1e60 100644 --- a/Spigot-Server-Patches/0074-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/Spigot-Server-Patches/0074-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -1,24 +1,24 @@ -From e1870e7610f50cc6024f509c899d00ab7fb198d8 Mon Sep 17 00:00:00 2001 +From 092524b44ebe0d815bddc2cc3da6177e97eaa876 Mon Sep 17 00:00:00 2001 From: mrapple Date: Sun, 25 Nov 2012 13:43:39 -0600 Subject: [PATCH] Add methods for working with arrows stuck in living entities diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 7fd8585..b151c13 100644 +index c1c6822..a5d3657 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -1284,10 +1284,12 @@ public abstract class EntityLiving extends Entity { +@@ -1307,10 +1307,12 @@ public abstract class EntityLiving extends Entity { return (float) this.getAttributeInstance(GenericAttributes.maxHealth).getValue(); } -+ public final int getStuckArrows() { return this.bY(); } // Paper // OBFHELPER - public final int bY() { ++ public final int getStuckArrows() { return this.cb(); } // Paper - OBFHELPER + public final int cb() { return ((Integer) this.datawatcher.get(EntityLiving.h)).intValue(); } -+ public final void setStuckArrows(int arrows) { this.k(arrows); } // Paper - deobfuscation helper - public final void k(int i) { ++ public final void setStuckArrows(int arrows) { this.f(arrows); } // Paper - OBFHELPER + public final void f(int i) { this.datawatcher.set(EntityLiving.h, Integer.valueOf(i)); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -43,5 +43,5 @@ index f13ca63..16da1c9 100644 + // Paper end } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0075-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0075-Complete-resource-pack-API.patch index 5ecbb77a8d..51e15ce6c5 100644 --- a/Spigot-Server-Patches/0075-Complete-resource-pack-API.patch +++ b/Spigot-Server-Patches/0075-Complete-resource-pack-API.patch @@ -1,27 +1,14 @@ -From 468dbbaec486911373e779b6f9349066777ef3d7 Mon Sep 17 00:00:00 2001 +From 9b0b7c9f2eaf3432259e3124e87c3616aad9a6fb 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/PacketPlayInResourcePackStatus.java b/src/main/java/net/minecraft/server/PacketPlayInResourcePackStatus.java -index 04e52d2..2a14e1a 100644 ---- a/src/main/java/net/minecraft/server/PacketPlayInResourcePackStatus.java -+++ b/src/main/java/net/minecraft/server/PacketPlayInResourcePackStatus.java -@@ -4,7 +4,7 @@ import java.io.IOException; - - public class PacketPlayInResourcePackStatus implements Packet { - -- private String a; -+ public String a; // Paper - make public - public PacketPlayInResourcePackStatus.EnumResourcePackStatus status; - - public PacketPlayInResourcePackStatus() {} diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 2cde490..dba953f 100644 +index efca444..9e75986 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1025,7 +1025,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1024,7 +1024,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { // CraftBukkit start public void a(PacketPlayInResourcePackStatus packetplayinresourcepackstatus) { @@ -30,14 +17,14 @@ index 2cde490..dba953f 100644 + // Paper start + PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.x()); + final PlayerResourcePackStatusEvent.Status status = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()]; -+ this.getPlayer().setResourcePackStatus(status, packetplayinresourcepackstatus.a); -+ this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), status, packetplayinresourcepackstatus.a)); ++ this.getPlayer().setResourcePackStatus(status); ++ this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), status)); + // paper end } // 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 ef6e9a6..c018773 100644 +index 32d69df..4860701 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -72,6 +72,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -51,7 +38,7 @@ index ef6e9a6..c018773 100644 public CraftPlayer(CraftServer server, EntityPlayer entity) { super(server, entity); -@@ -1525,6 +1529,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1525,6 +1529,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ((WorldServer) getHandle().world).getPlayerChunkMap().updateViewDistance(getHandle(), viewDistance); } @@ -77,14 +64,13 @@ index ef6e9a6..c018773 100644 + return this.resourcePackStatus == org.bukkit.event.player.PlayerResourcePackStatusEvent.Status.SUCCESSFULLY_LOADED; + } + -+ public void setResourcePackStatus(org.bukkit.event.player.PlayerResourcePackStatusEvent.Status status, String hash) { ++ public void setResourcePackStatus(org.bukkit.event.player.PlayerResourcePackStatusEvent.Status status) { + this.resourcePackStatus = status; -+ this.resourcePackHash = hash; + } + // Spigot start private final Player.Spigot spigot = new Player.Spigot() { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0076-Re-add-Spigot-s-hopper-check-feature.patch b/Spigot-Server-Patches/0076-Re-add-Spigot-s-hopper-check-feature.patch index 0d6d49f930..e37f454b70 100644 --- a/Spigot-Server-Patches/0076-Re-add-Spigot-s-hopper-check-feature.patch +++ b/Spigot-Server-Patches/0076-Re-add-Spigot-s-hopper-check-feature.patch @@ -1,4 +1,4 @@ -From a94f9554cfbe7e4388e50aca733edd805ebcb52b Mon Sep 17 00:00:00 2001 +From 6e48e1f0bcab04adbb381b1488ef6708e5896277 Mon Sep 17 00:00:00 2001 From: Byteflux Date: Sat, 12 Mar 2016 13:37:50 -0600 Subject: [PATCH] Re-add Spigot's hopper-check feature @@ -19,10 +19,10 @@ index 308dfdd..48ea25c 100644 + } } diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index 76e2351..de458c8 100644 +index d1ce2b9..197bdfe 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java -@@ -183,6 +183,12 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi +@@ -187,6 +187,12 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi this.update(); return true; } @@ -36,5 +36,5 @@ index 76e2351..de458c8 100644 return false; } else { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0077-Chunk-save-queue-improvements.patch b/Spigot-Server-Patches/0077-Chunk-save-queue-improvements.patch index 50f056c604..fa77300acb 100644 --- a/Spigot-Server-Patches/0077-Chunk-save-queue-improvements.patch +++ b/Spigot-Server-Patches/0077-Chunk-save-queue-improvements.patch @@ -1,4 +1,4 @@ -From eb751a1284762ac0d294c8609b57edc8fbaa85e9 Mon Sep 17 00:00:00 2001 +From 8d2b17317390f32c79ff90a3aece9ec4fed83d41 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Mar 2016 18:18:37 -0600 Subject: [PATCH] Chunk save queue improvements @@ -41,7 +41,7 @@ index 9ab6445..d01bca1 100644 + } } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index da7d7fe..a5c4e95 100644 +index 24cb51b..f298692 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -12,14 +12,17 @@ import java.util.Map; @@ -57,12 +57,12 @@ index da7d7fe..a5c4e95 100644 + private ConcurrentLinkedQueue queue = new ConcurrentLinkedQueue<>(); // Paper - Chunk queue improvements + private final Object lock = new Object(); // Paper - Chunk queue improvements private static final Logger a = LogManager.getLogger(); - private Map b = new ConcurrentHashMap(); -- private Set c = Collections.newSetFromMap(new ConcurrentHashMap()); -+ //private Set c = Collections.newSetFromMap(new ConcurrentHashMap()); // Paper - Chunk queue improvements + private final Map b = new ConcurrentHashMap(); +- private final Set c = Collections.newSetFromMap(new ConcurrentHashMap()); ++ //private final Set c = Collections.newSetFromMap(new ConcurrentHashMap()); // Paper - Chunk queue improvements private final File d; private final DataConverterManager e; - private boolean f = false; + private boolean f; @@ -33,11 +36,11 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { public boolean chunkExists(World world, int i, int j) { ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(i, j); @@ -128,7 +128,7 @@ index da7d7fe..a5c4e95 100644 } return flag; -@@ -508,4 +516,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { +@@ -544,4 +552,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { return entity; } } @@ -146,7 +146,7 @@ index da7d7fe..a5c4e95 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/FileIOThread.java b/src/main/java/net/minecraft/server/FileIOThread.java -index 4733f94..113aea2 100644 +index acfdd52..fdbaf5f 100644 --- a/src/main/java/net/minecraft/server/FileIOThread.java +++ b/src/main/java/net/minecraft/server/FileIOThread.java @@ -39,11 +39,15 @@ public class FileIOThread implements Runnable { @@ -170,5 +170,5 @@ index 4733f94..113aea2 100644 if (this.b.isEmpty()) { -- -2.8.3.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0078-Chunk-Save-Reattempt.patch b/Spigot-Server-Patches/0078-Chunk-Save-Reattempt.patch index 1b22428104..373a3778b6 100644 --- a/Spigot-Server-Patches/0078-Chunk-Save-Reattempt.patch +++ b/Spigot-Server-Patches/0078-Chunk-Save-Reattempt.patch @@ -1,4 +1,4 @@ -From 0e0ec1d44114445a752f0a8fcee7a5e44fcf20d8 Mon Sep 17 00:00:00 2001 +From 76b8046fd9231671bccba11f30da3f446028dd4e Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 4 Mar 2013 23:46:10 -0500 Subject: [PATCH] Chunk Save Reattempt @@ -6,7 +6,7 @@ Subject: [PATCH] Chunk Save Reattempt We commonly have "Stream Closed" errors on chunk saving, so this code should re-try to save the chunk in the event of failure and hopefully prevent rollbacks. diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index a5c4e95..be0a565 100644 +index f298692..4f010ae 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -172,11 +172,16 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -28,7 +28,7 @@ index a5c4e95..be0a565 100644 synchronized (lock) { if (this.b.get(chunkcoordintpair) == nbttagcompound) { this.b.remove(chunkcoordintpair); } }// Paper - This will not equal if a newer version is still pending diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 2ca94a4..68dd17d 100644 +index 2badf24..6dbc80e 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -247,8 +247,7 @@ public class RegionFile { @@ -42,5 +42,5 @@ index 2ca94a4..68dd17d 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0079-Default-loading-permissions.yml-before-plugins.patch b/Spigot-Server-Patches/0079-Default-loading-permissions.yml-before-plugins.patch index bb87a3591b..fb412eb4e3 100644 --- a/Spigot-Server-Patches/0079-Default-loading-permissions.yml-before-plugins.patch +++ b/Spigot-Server-Patches/0079-Default-loading-permissions.yml-before-plugins.patch @@ -1,4 +1,4 @@ -From 6da295d495dc7a8262baaa2dfc7fe3c291b96bfe Mon Sep 17 00:00:00 2001 +From e1968270a2c8cdeddffca1a687a0adee2cdfd00c Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 13:17:38 -0400 Subject: [PATCH] Default loading permissions.yml before plugins @@ -16,7 +16,7 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe A config option has been added for those who depend on the previous behavior, but I don't expect that. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 4c28483..25eb832 100644 +index d01bca1..2e17397 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -203,4 +203,9 @@ public class PaperConfig { @@ -30,7 +30,7 @@ index 4c28483..25eb832 100644 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 08edd53..c6c6cfe 100644 +index 274b83b..012d707 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -307,6 +307,7 @@ public final class CraftServer implements Server { @@ -51,5 +51,5 @@ index 08edd53..c6c6cfe 100644 CraftDefaultPermissions.registerCorePermissions(); helpMap.initializeCommands(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0080-Allow-Reloading-of-Custom-Permissions.patch b/Spigot-Server-Patches/0080-Allow-Reloading-of-Custom-Permissions.patch index 054fdeeec5..ecacdda786 100644 --- a/Spigot-Server-Patches/0080-Allow-Reloading-of-Custom-Permissions.patch +++ b/Spigot-Server-Patches/0080-Allow-Reloading-of-Custom-Permissions.patch @@ -1,4 +1,4 @@ -From 4af257901d3e5e068cb582aa0cb016f17f118f18 Mon Sep 17 00:00:00 2001 +From 148f24b5deefd6ffc1dee0dd4091332860377f1a Mon Sep 17 00:00:00 2001 From: William Date: Fri, 18 Mar 2016 03:30:17 -0400 Subject: [PATCH] Allow Reloading of Custom Permissions @@ -6,7 +6,7 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c6c6cfe..1d304eb 100644 +index 012d707..25dd732 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1841,4 +1841,21 @@ public final class CraftServer implements Server { @@ -32,5 +32,5 @@ index c6c6cfe..1d304eb 100644 + // Paper end } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0081-Remove-Metadata-on-reload.patch b/Spigot-Server-Patches/0081-Remove-Metadata-on-reload.patch index 144ce12b80..4ebb2b9397 100644 --- a/Spigot-Server-Patches/0081-Remove-Metadata-on-reload.patch +++ b/Spigot-Server-Patches/0081-Remove-Metadata-on-reload.patch @@ -1,4 +1,4 @@ -From 9c4b544c1ba8f66e8267295fead58da7f7f684c7 Mon Sep 17 00:00:00 2001 +From a9bceb5d8baac0ffcd64b2043d5cc8362559bb43 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 13:50:14 -0400 Subject: [PATCH] Remove Metadata on reload @@ -7,7 +7,7 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1d304eb..e6cce51 100644 +index 25dd732..de45d8b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -730,6 +730,14 @@ public final class CraftServer implements Server { @@ -26,5 +26,5 @@ index 1d304eb..e6cce51 100644 commandMap.clearCommands(); resetRecipes(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0082-Undead-horse-leashing.patch b/Spigot-Server-Patches/0082-Undead-horse-leashing.patch index 4e543e91fb..cea5d9d99b 100644 --- a/Spigot-Server-Patches/0082-Undead-horse-leashing.patch +++ b/Spigot-Server-Patches/0082-Undead-horse-leashing.patch @@ -1,4 +1,4 @@ -From ffb0e934efe4e2025f43f2d1eb921462b4760838 Mon Sep 17 00:00:00 2001 +From 0e2562f117605d13549f2837949909da33c67621 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 14:19:19 -0400 Subject: [PATCH] Undead horse leashing @@ -20,10 +20,10 @@ index 48ea25c..57e1fcf 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java -index 25d788f..dfe1fa5 100644 +index ef429c1..38c4f61 100644 --- a/src/main/java/net/minecraft/server/EntityHorse.java +++ b/src/main/java/net/minecraft/server/EntityHorse.java -@@ -170,6 +170,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener, IJu +@@ -169,6 +169,7 @@ public class EntityHorse extends EntityAnimal implements IInventoryListener, IJu } public boolean a(EntityHuman entityhuman) { @@ -32,5 +32,5 @@ index 25d788f..dfe1fa5 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0083-Fix-Furnace-cook-time-bug.patch b/Spigot-Server-Patches/0083-Fix-Furnace-cook-time-bug.patch index 4b64b166e1..ea82eb124d 100644 --- a/Spigot-Server-Patches/0083-Fix-Furnace-cook-time-bug.patch +++ b/Spigot-Server-Patches/0083-Fix-Furnace-cook-time-bug.patch @@ -1,4 +1,4 @@ -From 583a58098469f47ebaedf45582208c066cb759b7 Mon Sep 17 00:00:00 2001 +From 066074bd90e51a8b89d86a9b977e71fde716545a Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 14:24:53 -0400 Subject: [PATCH] Fix Furnace cook time bug @@ -9,10 +9,10 @@ cook in the expected amount of time as the cook time was not decremented correct This patch ensures that furnaces cook to the correct wall time expectation. diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 94c69be..b908110 100644 +index fd6c246..db235c3 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java -@@ -168,7 +168,7 @@ public class TileEntityFurnace extends TileEntityContainer implements ITickable, +@@ -172,7 +172,7 @@ public class TileEntityFurnace extends TileEntityContainer implements ITickable, if (this.isBurning() && this.canBurn()) { this.cookTime += elapsedTicks; if (this.cookTime >= this.cookTimeTotal) { @@ -22,5 +22,5 @@ index 94c69be..b908110 100644 this.burn(); flag1 = true; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0084-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0084-Handle-Item-Meta-Inconsistencies.patch index a035744a46..3238916557 100644 --- a/Spigot-Server-Patches/0084-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0084-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From efe987511bfe705324b10de5ff214193c4e5a7e5 Mon Sep 17 00:00:00 2001 +From aae185d1bb080ef2b3a9dc0dbf99e4a587285c70 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -293,5 +293,5 @@ index 22cc267..94f2ba0 100644 private final Spigot spigot = new Spigot() { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0085-Configurable-Non-Player-Arrow-Despawn-Rate.patch b/Spigot-Server-Patches/0085-Configurable-Non-Player-Arrow-Despawn-Rate.patch index 6e07c7b14e..9586777b68 100644 --- a/Spigot-Server-Patches/0085-Configurable-Non-Player-Arrow-Despawn-Rate.patch +++ b/Spigot-Server-Patches/0085-Configurable-Non-Player-Arrow-Despawn-Rate.patch @@ -1,4 +1,4 @@ -From 7330300f4ce381a1f67de5cc44b9f0a6a94e67ca Mon Sep 17 00:00:00 2001 +From 15b116f7733f5dfd8625af0118f34334eaa774e6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 15:12:22 -0400 Subject: [PATCH] Configurable Non Player Arrow Despawn Rate @@ -24,18 +24,18 @@ index 57e1fcf..3f8a47b 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 29b6f16..c2ee9ce 100644 +index 91fda88..8130ca6 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java -@@ -145,7 +145,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { +@@ -149,7 +149,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { - if (block == this.av && i == this.aw) { - ++this.ax; -- if (this.ax >= world.spigotConfig.arrowDespawnRate) { // Spigot - First int after shooter -+ if (this.ax >= (fromPlayer != PickupStatus.DISALLOWED ? world.spigotConfig.arrowDespawnRate : world.paperConfig.nonPlayerArrowDespawnRate)) { // Spigot - First int after shooter // Paper + if (block == this.aw && i == this.ax) { + ++this.ay; +- if (this.ay >= world.spigotConfig.arrowDespawnRate) { // Spigot - First int after shooter ++ if (this.ay >= (fromPlayer != PickupStatus.DISALLOWED ? world.spigotConfig.arrowDespawnRate : world.paperConfig.nonPlayerArrowDespawnRate)) { // Spigot - First int after shooter // Paper this.die(); } } else { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0086-Add-World-Util-Methods.patch b/Spigot-Server-Patches/0086-Add-World-Util-Methods.patch index cf2345b17d..d6cefb2a3f 100644 --- a/Spigot-Server-Patches/0086-Add-World-Util-Methods.patch +++ b/Spigot-Server-Patches/0086-Add-World-Util-Methods.patch @@ -1,4 +1,4 @@ -From 12e2338b328449eb9044d34d5cd5f5ecf2e1f575 Mon Sep 17 00:00:00 2001 +From 08a65e6dbb21e258c26f46d19d4f02c44168d2c9 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/World.java b/src/main/java/net/minecraft/server/World.java -index e092ba5..276cdf4 100644 +index 6b2875d..db4bbd9 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -153,6 +153,12 @@ public abstract class World implements IBlockAccess { @@ -64,7 +64,7 @@ index e092ba5..276cdf4 100644 public int getLightLevel(BlockPosition blockposition) { return this.c(blockposition, true); } -@@ -745,6 +786,27 @@ public abstract class World implements IBlockAccess { +@@ -749,6 +790,27 @@ public abstract class World implements IBlockAccess { return this.worldProvider.n()[this.getLightLevel(blockposition)]; } diff --git a/Spigot-Server-Patches/0087-Optimized-Light-Level-Comparisons.patch b/Spigot-Server-Patches/0087-Optimized-Light-Level-Comparisons.patch index 2d4e93930b..884e41c65c 100644 --- a/Spigot-Server-Patches/0087-Optimized-Light-Level-Comparisons.patch +++ b/Spigot-Server-Patches/0087-Optimized-Light-Level-Comparisons.patch @@ -1,4 +1,4 @@ -From 351015662bd35f4fe257743ee2c65ebf0709b70a Mon Sep 17 00:00:00 2001 +From e2a40825c87e38de01e164e494a2103b00fde6d9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 18 Mar 2016 21:22:56 -0400 Subject: [PATCH] Optimized Light Level Comparisons @@ -65,7 +65,7 @@ index 11d9d3f..21e722d 100644 // world.setTypeUpdate(blockposition1, Blocks.GRASS.getBlockData()); org.bukkit.World bworld = world.getWorld(); diff --git a/src/main/java/net/minecraft/server/BlockSapling.java b/src/main/java/net/minecraft/server/BlockSapling.java -index 76b13a3..b7776fb 100644 +index 4118fd1..97784f1 100644 --- a/src/main/java/net/minecraft/server/BlockSapling.java +++ b/src/main/java/net/minecraft/server/BlockSapling.java @@ -34,7 +34,7 @@ public class BlockSapling extends BlockPlant implements IBlockFragilePlantElemen @@ -91,10 +91,10 @@ index d378ea4..1185100 100644 if (random.nextInt((int) ((100.0F / (this == Blocks.PUMPKIN_STEM ? world.spigotConfig.pumpkinModifier : world.spigotConfig.melonModifier)) * (25.0F / f)) + 1) == 0) { // Spigot diff --git a/src/main/java/net/minecraft/server/EntityMonster.java b/src/main/java/net/minecraft/server/EntityMonster.java -index 2b79c28..ec00edf 100644 +index 1aef91a..733fec7 100644 --- a/src/main/java/net/minecraft/server/EntityMonster.java +++ b/src/main/java/net/minecraft/server/EntityMonster.java -@@ -118,17 +118,17 @@ public abstract class EntityMonster extends EntityCreature implements IMonster { +@@ -122,17 +122,17 @@ public abstract class EntityMonster extends EntityCreature implements IMonster { if (this.world.b(EnumSkyBlock.SKY, blockposition) > this.random.nextInt(32)) { return false; } else { @@ -118,7 +118,7 @@ index 2b79c28..ec00edf 100644 } diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 774d773..0aeda93 100644 +index 6981185..798b9c5 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -195,7 +195,7 @@ public class EntityZombie extends EntityMonster { @@ -131,5 +131,5 @@ index 774d773..0aeda93 100644 if (!this.world.isPlayerNearby((double) i1, (double) j1, (double) k1, 7.0D, EntityHuman.affectsSpawningFilter()) && this.world.a(entityzombie.getBoundingBox(), (Entity) entityzombie) && this.world.getCubes(entityzombie, entityzombie.getBoundingBox()).isEmpty() && !this.world.containsLiquid(entityzombie.getBoundingBox())) { // Paper - affectsSpawning filter this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0088-Pass-world-to-Village-creation.patch b/Spigot-Server-Patches/0088-Pass-world-to-Village-creation.patch index 6b23bec08b..af0c0ee9fc 100644 --- a/Spigot-Server-Patches/0088-Pass-world-to-Village-creation.patch +++ b/Spigot-Server-Patches/0088-Pass-world-to-Village-creation.patch @@ -1,4 +1,4 @@ -From 4d271a1256717859ffd1692a3bbc5481644b0f8e Mon Sep 17 00:00:00 2001 +From dbc19e6395eaca56b7421a2f137e52b988b4b83f Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 19 Mar 2016 15:16:54 -0400 Subject: [PATCH] Pass world to Village creation @@ -6,7 +6,7 @@ Subject: [PATCH] Pass world to Village creation fixes NPE bug #95 diff --git a/src/main/java/net/minecraft/server/PersistentVillage.java b/src/main/java/net/minecraft/server/PersistentVillage.java -index a285639..22ee682 100644 +index 75dc674..2a9444e 100644 --- a/src/main/java/net/minecraft/server/PersistentVillage.java +++ b/src/main/java/net/minecraft/server/PersistentVillage.java @@ -236,7 +236,7 @@ public class PersistentVillage extends PersistentBase { @@ -19,11 +19,11 @@ index a285639..22ee682 100644 village.a(nbttagcompound1); this.villages.add(village); diff --git a/src/main/java/net/minecraft/server/Village.java b/src/main/java/net/minecraft/server/Village.java -index e674cf9..2624abf 100644 +index 1fa7cb2..fc3a6ab 100644 --- a/src/main/java/net/minecraft/server/Village.java +++ b/src/main/java/net/minecraft/server/Village.java @@ -22,7 +22,7 @@ public class Village { - private List k; + private final List k; private int l; - public Village() { @@ -31,15 +31,6 @@ index e674cf9..2624abf 100644 this.c = BlockPosition.ZERO; this.d = BlockPosition.ZERO; this.j = new TreeMap(); -@@ -391,7 +391,7 @@ public class Village { - NBTTagCompound nbttagcompound2 = nbttaglist1.get(j); - - if (nbttagcompound2.hasKey("UUID")) { -- UserCache usercache = this.a.getMinecraftServer().getUserCache(); -+ UserCache usercache = MinecraftServer.getServer().getUserCache(); // Paper - Bandaid for world being null - GameProfile gameprofile = usercache.a(UUID.fromString(nbttagcompound2.getString("UUID"))); - - if (gameprofile != null) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0089-Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/0089-Custom-replacement-for-eaten-items.patch index 41ecdf7000..6fed7cd042 100644 --- a/Spigot-Server-Patches/0089-Custom-replacement-for-eaten-items.patch +++ b/Spigot-Server-Patches/0089-Custom-replacement-for-eaten-items.patch @@ -1,15 +1,15 @@ -From 7ec96efff6416cfbc3799decabe316e6594ceaec Mon Sep 17 00:00:00 2001 +From e197b180f6bdc9f5a0bf812e77f73d3abda9aff9 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 b151c13..d11e01b 100644 +index a5d3657..eec5dd5 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2232,12 +2232,25 @@ public abstract class EntityLiving extends Entity { - ItemStack itemstack = (craftItem.equals(event.getItem())) ? this.bn.a(this.world, this) : CraftItemStack.asNMSCopy(event.getItem()).a(world, this); +@@ -2265,12 +2265,24 @@ public abstract class EntityLiving extends Entity { + ItemStack itemstack = (craftItem.equals(event.getItem())) ? this.bo.a(this.world, this) : CraftItemStack.asNMSCopy(event.getItem()).a(world, this); // CraftBukkit end + // Paper start - save the default replacement item and change it if necessary @@ -23,17 +23,16 @@ index b151c13..d11e01b 100644 itemstack = null; } - this.a(this.cu(), itemstack); - this.cA(); + this.a(this.cy(), itemstack); + this.cE(); + + // 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(); + } -+ // Paper end } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0090-Set-health-before-death-event.patch b/Spigot-Server-Patches/0090-Set-health-before-death-event.patch index f773b046a6..b7d8725c87 100644 --- a/Spigot-Server-Patches/0090-Set-health-before-death-event.patch +++ b/Spigot-Server-Patches/0090-Set-health-before-death-event.patch @@ -1,4 +1,4 @@ -From b5f5309151ea82ece4f4131a649364e0b1cab626 Mon Sep 17 00:00:00 2001 +From 9292e503b51f518fc19a70f6be9763fc86381d58 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 19 Jul 2015 16:51:38 -0400 Subject: [PATCH] Set health before death event @@ -46,5 +46,5 @@ index 16da1c9..b1e63f0 100644 public double getMaxHealth() { -- -2.8.3.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0091-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/0091-handle-NaN-health-absorb-values-and-repair-bad-data.patch index b5489ba6d6..6b0760d7cb 100644 --- a/Spigot-Server-Patches/0091-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/Spigot-Server-Patches/0091-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -1,14 +1,14 @@ -From 80095f37e49793ab660d09206d3bf6155a6115c5 Mon Sep 17 00:00:00 2001 +From 2708cdeef5f8caa3e8619dcb1abd5cd2cac89675 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 27 Sep 2015 01:18:02 -0400 Subject: [PATCH] handle NaN health/absorb values and repair bad data diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d11e01b..df4d8d8 100644 +index eec5dd5..01f779c 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -465,7 +465,13 @@ public abstract class EntityLiving extends Entity { +@@ -468,7 +468,13 @@ public abstract class EntityLiving extends Entity { } public void a(NBTTagCompound nbttagcompound) { @@ -23,7 +23,7 @@ index d11e01b..df4d8d8 100644 if (nbttagcompound.hasKeyOfType("Attributes", 9) && this.world != null && !this.world.isClientSide) { GenericAttributes.a(this.getAttributeMap(), nbttagcompound.getList("Attributes", 10)); } -@@ -752,6 +758,10 @@ public abstract class EntityLiving extends Entity { +@@ -759,6 +765,10 @@ public abstract class EntityLiving extends Entity { } public void setHealth(float f) { @@ -34,7 +34,7 @@ index d11e01b..df4d8d8 100644 // CraftBukkit start - Handle scaled health if (this instanceof EntityPlayer) { org.bukkit.craftbukkit.entity.CraftPlayer player = ((EntityPlayer) this).getBukkitEntity(); -@@ -2102,7 +2112,7 @@ public abstract class EntityLiving extends Entity { +@@ -2135,7 +2145,7 @@ public abstract class EntityLiving extends Entity { } public void setAbsorptionHearts(float f) { @@ -44,7 +44,7 @@ index d11e01b..df4d8d8 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c018773..2b555c9 100644 +index 7edc2e2..087d788 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1375,6 +1375,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -56,5 +56,5 @@ index c018773..2b555c9 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0092-Catch-Async-PlayerChunkMap-operations.patch b/Spigot-Server-Patches/0092-Catch-Async-PlayerChunkMap-operations.patch index a983b72c46..1bf1550e90 100644 --- a/Spigot-Server-Patches/0092-Catch-Async-PlayerChunkMap-operations.patch +++ b/Spigot-Server-Patches/0092-Catch-Async-PlayerChunkMap-operations.patch @@ -1,4 +1,4 @@ -From e81998f1d7e8b746800b99873ded73f31db9f51c Mon Sep 17 00:00:00 2001 +From c8b7428f7fa5295dc445811bc21c9a24c7422330 Mon Sep 17 00:00:00 2001 From: Daniel Ennis Date: Sun, 20 Mar 2016 15:22:42 -0400 Subject: [PATCH] Catch Async PlayerChunkMap operations diff --git a/Spigot-Server-Patches/0093-Support-offline-mode-in-whitelist-command-as-well.patch b/Spigot-Server-Patches/0093-Support-offline-mode-in-whitelist-command-as-well.patch index dc4183db79..d3fca884bc 100644 --- a/Spigot-Server-Patches/0093-Support-offline-mode-in-whitelist-command-as-well.patch +++ b/Spigot-Server-Patches/0093-Support-offline-mode-in-whitelist-command-as-well.patch @@ -1,11 +1,11 @@ -From 99d32a59893bfefda1c1463698b99ad4cf0f9b76 Mon Sep 17 00:00:00 2001 +From 348049fa62d381ff2473f83152e3b7f933046499 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Mon, 21 Mar 2016 00:19:18 -0500 Subject: [PATCH] Support offline mode in whitelist command as well diff --git a/src/main/java/net/minecraft/server/CommandWhitelist.java b/src/main/java/net/minecraft/server/CommandWhitelist.java -index 95ba9c3..ba1cc1b 100644 +index c74d1d2..0f4237d 100644 --- a/src/main/java/net/minecraft/server/CommandWhitelist.java +++ b/src/main/java/net/minecraft/server/CommandWhitelist.java @@ -44,24 +44,35 @@ public class CommandWhitelist extends CommandAbstract { @@ -24,7 +24,7 @@ index 95ba9c3..ba1cc1b 100644 + this.whitelist(minecraftserver, astring[1], true); + // Paper end a(icommandlistener, (ICommand) this, "commands.whitelist.add.success", new Object[] { astring[1]}); - } else if (astring[0].equals("remove")) { + } else if ("remove".equals(astring[0])) { if (astring.length < 2) { throw new ExceptionUsage("commands.whitelist.remove.usage", new Object[0]); } @@ -42,7 +42,7 @@ index 95ba9c3..ba1cc1b 100644 + this.whitelist(minecraftserver, astring[1], false); + // Paper end a(icommandlistener, (ICommand) this, "commands.whitelist.remove.success", new Object[] { astring[1]}); - } else if (astring[0].equals("reload")) { + } else if ("reload".equals(astring[0])) { minecraftserver.getPlayerList().reloadWhitelist(); @@ -89,4 +100,43 @@ public class CommandWhitelist extends CommandAbstract { return Collections.emptyList(); @@ -89,5 +89,5 @@ index 95ba9c3..ba1cc1b 100644 + // Paper end } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0094-Fix-SkullCache-case-bug.patch b/Spigot-Server-Patches/0094-Fix-SkullCache-case-bug.patch index 6e31dba965..3c2f49f053 100644 --- a/Spigot-Server-Patches/0094-Fix-SkullCache-case-bug.patch +++ b/Spigot-Server-Patches/0094-Fix-SkullCache-case-bug.patch @@ -1,11 +1,11 @@ -From 4ab03fbd5648e5d5d8ffd5711a88ed34e80d3ad6 Mon Sep 17 00:00:00 2001 +From 6cd4c784f7c1c06fbea56d9e56989a8286a7d228 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Jan 2016 21:48:24 -0500 Subject: [PATCH] Fix SkullCache case bug diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java -index 8aafd36..49ab25b 100644 +index 654b51d..a8adbcb 100644 --- a/src/main/java/net/minecraft/server/TileEntitySkull.java +++ b/src/main/java/net/minecraft/server/TileEntitySkull.java @@ -191,7 +191,7 @@ public class TileEntitySkull extends TileEntity implements ITickable { @@ -18,5 +18,5 @@ index 8aafd36..49ab25b 100644 callback.apply(profile); } else { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0095-Waving-banner-workaround.patch b/Spigot-Server-Patches/0095-Waving-banner-workaround.patch index cff7e11f46..6402ca54a5 100644 --- a/Spigot-Server-Patches/0095-Waving-banner-workaround.patch +++ b/Spigot-Server-Patches/0095-Waving-banner-workaround.patch @@ -1,4 +1,4 @@ -From 3bc455877e340f5305c1ef2a7280a3066f07a09f Mon Sep 17 00:00:00 2001 +From a0b9b1b558de13bfb4cc19a431a8d2dd64fc5697 Mon Sep 17 00:00:00 2001 From: Gabscap Date: Sat, 19 Mar 2016 22:25:11 +0100 Subject: [PATCH] Waving banner workaround @@ -33,5 +33,5 @@ index c5c3f40..3ed2356 100644 public void a(PacketDataSerializer packetdataserializer) throws IOException { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0096-Use-a-Shared-Random-for-Entities.patch b/Spigot-Server-Patches/0096-Use-a-Shared-Random-for-Entities.patch index 8bdd34f2de..106d815117 100644 --- a/Spigot-Server-Patches/0096-Use-a-Shared-Random-for-Entities.patch +++ b/Spigot-Server-Patches/0096-Use-a-Shared-Random-for-Entities.patch @@ -1,4 +1,4 @@ -From b9b51e7c1c6d31352a01ba0444623f88cc404f31 Mon Sep 17 00:00:00 2001 +From 804d1bd1396b4f8a6c264b7e20bd2ab0e7aadedb Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:33:47 -0400 Subject: [PATCH] Use a Shared Random for Entities @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 035dd20..06840ec 100644 +index fb2bbda..3db24dd 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -44,6 +44,7 @@ public abstract class Entity implements ICommandListener { @@ -17,15 +17,15 @@ index 035dd20..06840ec 100644 static boolean isLevelAtLeast(NBTTagCompound tag, int level) { return tag.hasKey("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -160,7 +161,7 @@ public abstract class Entity implements ICommandListener { +@@ -161,7 +162,7 @@ public abstract class Entity implements ICommandListener { this.width = 0.6F; this.length = 1.8F; - this.aw = 1; + this.ax = 1; - this.random = new Random(); + this.random = SHARED_RANDOM; // Paper this.maxFireTicks = 1; this.justCreated = true; this.uniqueID = MathHelper.a(this.random); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0097-Don-t-teleport-dead-entities.patch b/Spigot-Server-Patches/0097-Don-t-teleport-dead-entities.patch index 16c0974e08..f012e8e77d 100644 --- a/Spigot-Server-Patches/0097-Don-t-teleport-dead-entities.patch +++ b/Spigot-Server-Patches/0097-Don-t-teleport-dead-entities.patch @@ -1,4 +1,4 @@ -From 64f7efffc2eef965370eb5fdcc15a00fb0847fed Mon Sep 17 00:00:00 2001 +From b378c82821f7f7a5fee66bd12b7b861c8cd8378f Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 00:55:23 -0400 Subject: [PATCH] Don't teleport dead entities @@ -7,10 +7,10 @@ Had some issue with this in past, and this is the vanilla logic. Potentially an old CB change that's no longer needed. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 06840ec..b03e9ee 100644 +index 6a1bc3a..306e9cd 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -2103,7 +2103,7 @@ public abstract class Entity implements ICommandListener { +@@ -2132,7 +2132,7 @@ public abstract class Entity implements ICommandListener { } public Entity teleportTo(Location exit, boolean portal) { @@ -20,5 +20,5 @@ index 06840ec..b03e9ee 100644 WorldServer worldserver1 = ((CraftWorld) exit.getWorld()).getHandle(); int i = worldserver1.dimension; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0098-Optimize-Chunk-Access.patch b/Spigot-Server-Patches/0098-Optimize-Chunk-Access.patch index b20454ce21..7c7c850bac 100644 --- a/Spigot-Server-Patches/0098-Optimize-Chunk-Access.patch +++ b/Spigot-Server-Patches/0098-Optimize-Chunk-Access.patch @@ -1,4 +1,4 @@ -From 1917871be3d7d048b496022ef54eaf230ff2a900 Mon Sep 17 00:00:00 2001 +From 3ca522e3f2ce88a0be43c1d933a921e310346642 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 27 Aug 2015 01:15:02 -0400 Subject: [PATCH] Optimize Chunk Access @@ -9,7 +9,7 @@ getChunkAt is called for the same chunk multiple times in a row, often from getT Optimize this look up by using a Last Access cache. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index eb60455..22e4728 100644 +index bc6e190..770d7ed 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -30,6 +30,7 @@ public class Chunk { @@ -29,11 +29,11 @@ index eb60455..22e4728 100644 for (int k = 0; k < this.entitySlices.length; ++k) { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 32b71c6..3d36d7a 100644 +index 990e3f0..1fd844b 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -27,7 +27,27 @@ public class ChunkProviderServer implements IChunkProvider { - public final Set unloadQueue = Sets.newHashSet(); // PAIL: private -> public + public final Set unloadQueue = Sets.newHashSet(); public final ChunkGenerator chunkGenerator; private final IChunkLoader chunkLoader; - public final Long2ObjectMap chunks = new Long2ObjectOpenHashMap(8192); @@ -62,5 +62,5 @@ index 32b71c6..3d36d7a 100644 public ChunkProviderServer(WorldServer worldserver, IChunkLoader ichunkloader, ChunkGenerator chunkgenerator) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0099-Configurable-spawn-chances-for-skeleton-horses.patch b/Spigot-Server-Patches/0099-Configurable-spawn-chances-for-skeleton-horses.patch index 2cca7b4528..970fa535ef 100644 --- a/Spigot-Server-Patches/0099-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/Spigot-Server-Patches/0099-Configurable-spawn-chances-for-skeleton-horses.patch @@ -1,4 +1,4 @@ -From a207b58ec71b1d845b1ee03aaa70387d4752259a Mon Sep 17 00:00:00 2001 +From c80a2361d5023ed598f22f1f77977c0851dfd32c 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,7 +22,7 @@ index 3f8a47b..5652108 100644 + } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index c7e5226..0217d42 100644 +index bc6ddc7..9eec243 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -431,7 +431,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { diff --git a/Spigot-Server-Patches/0100-Optimize-isValidLocation-for-inlining.patch b/Spigot-Server-Patches/0100-Optimize-isValidLocation-for-inlining.patch index 6624392650..5e0e334df3 100644 --- a/Spigot-Server-Patches/0100-Optimize-isValidLocation-for-inlining.patch +++ b/Spigot-Server-Patches/0100-Optimize-isValidLocation-for-inlining.patch @@ -1,4 +1,4 @@ -From 00e5dc742dc2b80b9d43600cbe44b087c648c3d8 Mon Sep 17 00:00:00 2001 +From 6d92841b8e9c02666f048cac7e7ba88ab5f4a44f Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 22 Mar 2016 23:41:34 -0400 Subject: [PATCH] Optimize isValidLocation for inlining @@ -24,7 +24,7 @@ index d60e755..9114388 100644 public BaseBlockPosition(int i, int j, int k) { this.a = i; diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 99fcf4c..be34dcd 100644 +index 8603d83..9ba987a 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -326,6 +326,12 @@ public class BlockPosition extends BaseBlockPosition { @@ -41,7 +41,7 @@ index 99fcf4c..be34dcd 100644 public MutableBlockPosition() { this(0, 0, 0); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 133d4e2..718215c 100644 +index db4bbd9..0e59c34 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -274,8 +274,8 @@ public abstract class World implements IBlockAccess { @@ -64,7 +64,7 @@ index 133d4e2..718215c 100644 if (this.getType(blockposition).f()) { if (this.c(blockposition.up(), false) >= level) { return true; -@@ -753,7 +753,7 @@ public abstract class World implements IBlockAccess { +@@ -757,7 +757,7 @@ public abstract class World implements IBlockAccess { blockposition = new BlockPosition(blockposition.getX(), 0, blockposition.getZ()); } @@ -73,7 +73,7 @@ index 133d4e2..718215c 100644 return enumskyblock.c; } else if (!this.isLoaded(blockposition)) { return enumskyblock.c; -@@ -765,7 +765,7 @@ public abstract class World implements IBlockAccess { +@@ -769,7 +769,7 @@ public abstract class World implements IBlockAccess { } public void a(EnumSkyBlock enumskyblock, BlockPosition blockposition, int i) { @@ -82,7 +82,7 @@ index 133d4e2..718215c 100644 if (this.isLoaded(blockposition)) { Chunk chunk = this.getChunkAtWorldCoords(blockposition); -@@ -801,7 +801,7 @@ public abstract class World implements IBlockAccess { +@@ -805,7 +805,7 @@ public abstract class World implements IBlockAccess { // CraftBukkit end Chunk chunk = this.getChunkIfLoaded(blockposition); if (chunk != null) { @@ -92,5 +92,5 @@ index 133d4e2..718215c 100644 return null; } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0101-Use-correct-item-in-arrow-pickup-event.patch b/Spigot-Server-Patches/0101-Use-correct-item-in-arrow-pickup-event.patch index fa7c41f9ec..d295129a21 100644 --- a/Spigot-Server-Patches/0101-Use-correct-item-in-arrow-pickup-event.patch +++ b/Spigot-Server-Patches/0101-Use-correct-item-in-arrow-pickup-event.patch @@ -1,14 +1,14 @@ -From eb217058835488239a3de68d40ea778ac2244d3b Mon Sep 17 00:00:00 2001 +From 4b6ad9057b1330b5277fee463fbed00aae8cb727 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Tue, 22 Mar 2016 16:00:16 -0400 Subject: [PATCH] Use correct item in arrow pickup event diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 0cfca26..069a1b7 100644 +index 8130ca6..7ad21ca 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java -@@ -431,7 +431,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { +@@ -444,7 +444,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { public void d(EntityHuman entityhuman) { if (!this.world.isClientSide && this.inGround && this.shake <= 0) { // CraftBukkit start @@ -17,7 +17,7 @@ index 0cfca26..069a1b7 100644 if (this.fromPlayer == PickupStatus.ALLOWED && entityhuman.inventory.canHold(itemstack) > 0) { EntityItem item = new EntityItem(this.world, this.locX, this.locY, this.locZ, itemstack); -@@ -446,7 +446,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { +@@ -459,7 +459,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { // CraftBukkit end boolean flag = this.fromPlayer == EntityArrow.PickupStatus.ALLOWED || this.fromPlayer == EntityArrow.PickupStatus.CREATIVE_ONLY && entityhuman.abilities.canInstantlyBuild; @@ -27,5 +27,5 @@ index 0cfca26..069a1b7 100644 } -- -2.8.3.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0102-Fix-cooked-fish-legacy-import.patch b/Spigot-Server-Patches/0102-Fix-cooked-fish-legacy-import.patch index 907bf7a85c..c05a6c804a 100644 --- a/Spigot-Server-Patches/0102-Fix-cooked-fish-legacy-import.patch +++ b/Spigot-Server-Patches/0102-Fix-cooked-fish-legacy-import.patch @@ -1,4 +1,4 @@ -From fe1a030a5b040dc3d90799ec669e6866d208aa0b Mon Sep 17 00:00:00 2001 +From 2c83c777d84efcf62d38e71808a30a43f47813d3 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Tue, 1 Mar 2016 04:32:08 -0500 Subject: [PATCH] Fix cooked fish legacy import @@ -18,5 +18,5 @@ index 87b82eb..a7c71f4 100644 DataConverterMaterialId.a[352] = "minecraft:bone"; DataConverterMaterialId.a[353] = "minecraft:sugar"; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0103-Prevent-possible-infinite-loop-in-BlockPosition-iter.patch b/Spigot-Server-Patches/0103-Prevent-possible-infinite-loop-in-BlockPosition-iter.patch index 6a3e07718a..ee553b2742 100644 --- a/Spigot-Server-Patches/0103-Prevent-possible-infinite-loop-in-BlockPosition-iter.patch +++ b/Spigot-Server-Patches/0103-Prevent-possible-infinite-loop-in-BlockPosition-iter.patch @@ -1,11 +1,11 @@ -From f40df4f64f1c67b058526cc1796015acb2652e69 Mon Sep 17 00:00:00 2001 +From 8c0b4790a0453aa99d73133c0f39288f44adbee2 Mon Sep 17 00:00:00 2001 From: DemonWav Date: Sat, 26 Mar 2016 21:36:05 -0500 Subject: [PATCH] Prevent possible infinite loop in BlockPosition iterator diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 99fcf4c..06ff6a0 100644 +index 9ba987a..557fa3a 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -141,15 +141,17 @@ public class BlockPosition extends BaseBlockPosition { @@ -87,5 +87,5 @@ index 99fcf4c..06ff6a0 100644 this.b.b = i; this.b.c = j; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0104-Access-items-by-EquipmentSlot.patch b/Spigot-Server-Patches/0104-Access-items-by-EquipmentSlot.patch index 2ca8dd8e44..4e7c768879 100644 --- a/Spigot-Server-Patches/0104-Access-items-by-EquipmentSlot.patch +++ b/Spigot-Server-Patches/0104-Access-items-by-EquipmentSlot.patch @@ -1,4 +1,4 @@ -From 16f19123d1cff3764b01b71e9ede360aa7316c67 Mon Sep 17 00:00:00 2001 +From 09e000dce3d01d1062934b75f9ed734f1230bd46 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sun, 20 Mar 2016 06:45:01 -0400 Subject: [PATCH] Access items by EquipmentSlot @@ -64,5 +64,5 @@ index 51a8b4e..47654a0 100644 + // Paper end } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0105-Check-async-remove-unused-vars-GH-159.patch b/Spigot-Server-Patches/0105-Check-async-remove-unused-vars-GH-159.patch index c0e5a133c7..49c8ce7269 100644 --- a/Spigot-Server-Patches/0105-Check-async-remove-unused-vars-GH-159.patch +++ b/Spigot-Server-Patches/0105-Check-async-remove-unused-vars-GH-159.patch @@ -1,11 +1,11 @@ -From 1248a843370e8c97712acb40fb710db0dd512459 Mon Sep 17 00:00:00 2001 +From dd8acf573e8248ba6ba33d7190fa312862d5a06b Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 27 Mar 2016 20:24:05 -0500 Subject: [PATCH] Check async, remove unused vars, GH-159 diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 5fa35f3..9fd0473 100644 +index b603b2c..14f1833 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -38,6 +38,7 @@ public final class SpawnerCreature { @@ -28,5 +28,5 @@ index 5fa35f3..9fd0473 100644 if ((mobcnt = getEntityCount(worldserver, enumcreaturetype.a())) <= limit * i / 256) { BlockPosition.MutableBlockPosition blockposition_mutableblockposition = new BlockPosition.MutableBlockPosition(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0106-Option-to-disable-BlockPhysicsEvent-for-Redstone.patch b/Spigot-Server-Patches/0106-Option-to-disable-BlockPhysicsEvent-for-Redstone.patch index 8936f2a87e..b41d8b6fbd 100644 --- a/Spigot-Server-Patches/0106-Option-to-disable-BlockPhysicsEvent-for-Redstone.patch +++ b/Spigot-Server-Patches/0106-Option-to-disable-BlockPhysicsEvent-for-Redstone.patch @@ -1,4 +1,4 @@ -From 3ba81525447b0cb9be91c504697480d6df2203e4 Mon Sep 17 00:00:00 2001 +From fdb38bc86b7a41719e36e64124550f1e1abdfbce Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 19:55:45 -0400 Subject: [PATCH] Option to disable BlockPhysicsEvent for Redstone @@ -25,7 +25,7 @@ index 5652108..a97eee7 100644 + } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7e06010..05f9b34 100644 +index 0e59c34..c6ba578 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -558,7 +558,7 @@ public abstract class World implements IBlockAccess { @@ -38,7 +38,7 @@ index 7e06010..05f9b34 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 0217d42..d074705 100644 +index 9eec243..3377f97 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -33,6 +33,7 @@ import org.bukkit.event.weather.LightningStrikeEvent; diff --git a/Spigot-Server-Patches/0107-Entity-AddTo-RemoveFrom-World-Events.patch b/Spigot-Server-Patches/0107-Entity-AddTo-RemoveFrom-World-Events.patch index 5c16b2c52c..698e1e240f 100644 --- a/Spigot-Server-Patches/0107-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/Spigot-Server-Patches/0107-Entity-AddTo-RemoveFrom-World-Events.patch @@ -1,14 +1,14 @@ -From 6a7f3beb5deb1e84b02189832d3db4bc8fbc2161 Mon Sep 17 00:00:00 2001 +From 6aa898b84e61cb78b8e8f364dbab1ba03728da00 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/World.java b/src/main/java/net/minecraft/server/World.java -index 757ed3e..095d4b2 100644 +index c6ba578..9a71c35 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1107,6 +1107,7 @@ public abstract class World implements IBlockAccess { +@@ -1111,6 +1111,7 @@ public abstract class World implements IBlockAccess { } entity.valid = true; // CraftBukkit @@ -16,7 +16,7 @@ index 757ed3e..095d4b2 100644 } protected void c(Entity entity) { -@@ -1114,6 +1115,7 @@ public abstract class World implements IBlockAccess { +@@ -1118,6 +1119,7 @@ public abstract class World implements IBlockAccess { ((IWorldAccess) this.u.get(i)).b(entity); } @@ -25,5 +25,5 @@ index 757ed3e..095d4b2 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0108-Configurable-Chunk-Inhabited-Timer.patch b/Spigot-Server-Patches/0108-Configurable-Chunk-Inhabited-Timer.patch index 5cbf972ae5..767fbeefd8 100644 --- a/Spigot-Server-Patches/0108-Configurable-Chunk-Inhabited-Timer.patch +++ b/Spigot-Server-Patches/0108-Configurable-Chunk-Inhabited-Timer.patch @@ -1,4 +1,4 @@ -From 072fc0b7c6a6bc4d38bbd078405d29255b5f4a9a Mon Sep 17 00:00:00 2001 +From 0eec3c902eea1be2619aa7da710f94fc49f898d7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 20:46:14 -0400 Subject: [PATCH] Configurable Chunk Inhabited Timer @@ -23,10 +23,10 @@ index a97eee7..8966b4a 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 98d9e99..7144227 100644 +index 770d7ed..c994dc0 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1371,7 +1371,7 @@ public class Chunk { +@@ -1366,7 +1366,7 @@ public class Chunk { } public long x() { diff --git a/Spigot-Server-Patches/0109-EntityPathfindEvent.patch b/Spigot-Server-Patches/0109-EntityPathfindEvent.patch index 0e5c1cb43a..6c9cb258b6 100644 --- a/Spigot-Server-Patches/0109-EntityPathfindEvent.patch +++ b/Spigot-Server-Patches/0109-EntityPathfindEvent.patch @@ -1,4 +1,4 @@ -From e372ab08e338bcd4b27cb23fc386fc9cda543788 Mon Sep 17 00:00:00 2001 +From c33f8209c86a33a54107645dbda7217d9fc6e0a9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 21:22:26 -0400 Subject: [PATCH] EntityPathfindEvent @@ -6,34 +6,34 @@ Subject: [PATCH] EntityPathfindEvent Fires when an Entity decides to start moving to a location. diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java -index 61c0f55..ea3cd66 100644 +index b1a90c1..5d0b5a4 100644 --- a/src/main/java/net/minecraft/server/NavigationAbstract.java +++ b/src/main/java/net/minecraft/server/NavigationAbstract.java -@@ -5,7 +5,7 @@ import javax.annotation.Nullable; +@@ -4,7 +4,7 @@ import javax.annotation.Nullable; + public abstract class NavigationAbstract { - private static int f = 20; - protected EntityInsentient a; -+ protected EntityInsentient a;public Entity getEntity() { return a; } // Paper ++ protected EntityInsentient a; public Entity getEntity() { return a; } // Paper - OBFHELPER protected World b; @Nullable protected PathEntity c; -@@ -77,6 +77,7 @@ public abstract class NavigationAbstract { - } else if (this.c != null && !this.c.b() && blockposition.equals(this.r)) { +@@ -74,6 +74,7 @@ public abstract class NavigationAbstract { + } else if (this.c != null && !this.c.b() && blockposition.equals(this.q)) { return this.c; } else { + if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(getEntity().world, blockposition), null).callEvent()) { return null; } // Paper - this.r = blockposition; + this.q = blockposition; float f = this.h(); -@@ -101,6 +102,7 @@ public abstract class NavigationAbstract { - if (this.c != null && !this.c.b() && blockposition.equals(this.r)) { +@@ -98,6 +99,7 @@ public abstract class NavigationAbstract { + if (this.c != null && !this.c.b() && blockposition.equals(this.q)) { return this.c; } else { + if (!new com.destroystokyo.paper.event.entity.EntityPathfindEvent(getEntity().getBukkitEntity(), MCUtil.toLocation(entity.world, blockposition), entity.getBukkitEntity()).callEvent()) { return null; } // Paper - this.r = blockposition; + this.q = blockposition; float f = this.h(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0110-Prevent-Waterflow-BlockFromToEvent-from-loading-chun.patch b/Spigot-Server-Patches/0110-Prevent-Waterflow-BlockFromToEvent-from-loading-chun.patch index 36da20d181..1d03ac2e08 100644 --- a/Spigot-Server-Patches/0110-Prevent-Waterflow-BlockFromToEvent-from-loading-chun.patch +++ b/Spigot-Server-Patches/0110-Prevent-Waterflow-BlockFromToEvent-from-loading-chun.patch @@ -1,4 +1,4 @@ -From 17e02093634440f31ef3ddc7ee91b3b3a5b21dea Mon Sep 17 00:00:00 2001 +From e5d1b4b9d4a30a3d79feb370f3dd3d2e43689f65 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 28 Mar 2016 22:03:09 -0400 Subject: [PATCH] Prevent Waterflow BlockFromToEvent from loading chunks @@ -12,7 +12,7 @@ of unloaded chunks anyways. This keeps behavior consistent, vs inconsistent flowing based on plugin triggered loads. diff --git a/src/main/java/net/minecraft/server/BlockFlowing.java b/src/main/java/net/minecraft/server/BlockFlowing.java -index 2eb8622..4ff7635 100644 +index 0336b9c..044ad71 100644 --- a/src/main/java/net/minecraft/server/BlockFlowing.java +++ b/src/main/java/net/minecraft/server/BlockFlowing.java @@ -105,6 +105,7 @@ public class BlockFlowing extends BlockFluids { @@ -44,9 +44,9 @@ index 2eb8622..4ff7635 100644 private void flow(World world, BlockPosition blockposition, IBlockData iblockdata, int i) { - if (world.isLoaded(blockposition) && this.h(world, blockposition, iblockdata)) { // CraftBukkit - add isLoaded check + if (/*world.isLoaded(blockposition) &&*/ this.h(world, blockposition, iblockdata)) { // CraftBukkit - add isLoaded check // Paper - Already checked before we get here for isLoaded - if (iblockdata.getBlock() != Blocks.AIR) { + if (iblockdata.getMaterial() != Material.AIR) { if (this.material == Material.LAVA) { this.fizz(world, blockposition); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0111-Minecart-drop-name-workaround.patch b/Spigot-Server-Patches/0111-Minecart-drop-name-workaround.patch index e63374ac3a..c4df1988be 100644 --- a/Spigot-Server-Patches/0111-Minecart-drop-name-workaround.patch +++ b/Spigot-Server-Patches/0111-Minecart-drop-name-workaround.patch @@ -1,4 +1,4 @@ -From 59d6261a2210aea1db81292deb11eed7f419d379 Mon Sep 17 00:00:00 2001 +From 8e05edadfaf5acfea99f4e546f094c7cefd9a718 Mon Sep 17 00:00:00 2001 From: Fabse Date: Mon, 28 Mar 2016 00:46:46 +0200 Subject: [PATCH] Minecart drop name workaround @@ -7,10 +7,10 @@ This is a workaround for MC-68446 (or similar). In Survival Minecraft this bug only shows in minecart drops, so this is the only thing fixed here. diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index ae8bfb8..dc6eba5 100644 +index 0dfba1e..3b977a4 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -@@ -171,7 +171,7 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT +@@ -172,7 +172,7 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT if (this.world.getGameRules().getBoolean("doEntityDrops")) { ItemStack itemstack = new ItemStack(Items.MINECART, 1); @@ -20,5 +20,5 @@ index ae8bfb8..dc6eba5 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0112-Reduce-IO-ops-opening-a-new-region-file.patch b/Spigot-Server-Patches/0112-Reduce-IO-ops-opening-a-new-region-file.patch index 4effcdbad6..b8d331c426 100644 --- a/Spigot-Server-Patches/0112-Reduce-IO-ops-opening-a-new-region-file.patch +++ b/Spigot-Server-Patches/0112-Reduce-IO-ops-opening-a-new-region-file.patch @@ -1,11 +1,11 @@ -From bef837e90b22fe322e78b2d3713951f39d3da178 Mon Sep 17 00:00:00 2001 +From 326596068a37cd1f26e139efd932c2cdb30622dc Mon Sep 17 00:00:00 2001 From: Antony Riley Date: Tue, 29 Mar 2016 06:56:23 +0300 Subject: [PATCH] Reduce IO ops opening a new region file. diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index 68dd17d..d82f4a1 100644 +index 6dbc80e..81bcd84 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -8,9 +8,12 @@ import java.io.ByteArrayInputStream; @@ -49,5 +49,5 @@ index 68dd17d..d82f4a1 100644 } } catch (IOException ioexception) { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0113-Sanitise-RegionFileCache-and-make-configurable.patch b/Spigot-Server-Patches/0113-Sanitise-RegionFileCache-and-make-configurable.patch index cbd94f271a..c41493bfaa 100644 --- a/Spigot-Server-Patches/0113-Sanitise-RegionFileCache-and-make-configurable.patch +++ b/Spigot-Server-Patches/0113-Sanitise-RegionFileCache-and-make-configurable.patch @@ -1,4 +1,4 @@ -From aa85d772459274d8867fd6caa47149e63ff3725b Mon Sep 17 00:00:00 2001 +From f6311cdf32d0f56f99ed505b8bc756c2944bae62 Mon Sep 17 00:00:00 2001 From: Antony Riley Date: Tue, 29 Mar 2016 08:22:55 +0300 Subject: [PATCH] Sanitise RegionFileCache and make configurable. @@ -77,5 +77,5 @@ index 5eb01c3..9744e72 100644 Iterator iterator = RegionFileCache.a.values().iterator(); -- -2.8.3.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0114-Add-getEntity-by-UUID-API.patch b/Spigot-Server-Patches/0114-Add-getEntity-by-UUID-API.patch index 2867e29f1c..d1fd0917c6 100644 --- a/Spigot-Server-Patches/0114-Add-getEntity-by-UUID-API.patch +++ b/Spigot-Server-Patches/0114-Add-getEntity-by-UUID-API.patch @@ -1,14 +1,14 @@ -From 85092d7597bb75335744094cdc93a0fd367e4a4c Mon Sep 17 00:00:00 2001 +From b6df18b98a522758e9c4e2633e66c6c19f9261ba Mon Sep 17 00:00:00 2001 From: DemonWav Date: Wed, 30 Mar 2016 01:20:11 -0500 Subject: [PATCH] Add getEntity by UUID API diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3d2e0b6..842e364 100644 +index 4b60fed..5aaec82 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1593,4 +1593,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -1603,4 +1603,20 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs return (Bukkit.getServer() instanceof CraftServer) ? ((CraftServer) Bukkit.getServer()).getServer() : null; } // CraftBukkit end @@ -30,7 +30,7 @@ index 3d2e0b6..842e364 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e6cce51..a0478f2 100644 +index de45d8b..5cb0eba 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -46,6 +46,7 @@ import org.bukkit.configuration.serialization.ConfigurationSerialization; @@ -57,5 +57,5 @@ index e6cce51..a0478f2 100644 // Paper end } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0115-Use-Optimized-Collections.patch b/Spigot-Server-Patches/0115-Use-Optimized-Collections.patch index 3d05e6bb5c..37be1c86d5 100644 --- a/Spigot-Server-Patches/0115-Use-Optimized-Collections.patch +++ b/Spigot-Server-Patches/0115-Use-Optimized-Collections.patch @@ -1,4 +1,4 @@ -From ca605f00544babfb805f1f59e6b12f388bf26f99 Mon Sep 17 00:00:00 2001 +From fcbbb13b4fb8142f1d320bc5ddf3533a6afd134e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 02:13:24 -0400 Subject: [PATCH] Use Optimized Collections @@ -13,14 +13,14 @@ These collections are super fast as seen http://java-performance.info/hashmap-overview-jdk-fastutil-goldman-sachs-hppc-koloboke-trove-january-2015/ diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 3d36d7a..8ee8e80 100644 +index 1fd844b..f8905b4 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -24,7 +24,7 @@ import org.bukkit.event.world.ChunkUnloadEvent; public class ChunkProviderServer implements IChunkProvider { private static final Logger a = LogManager.getLogger(); -- public final Set unloadQueue = Sets.newHashSet(); // PAIL: private -> public +- public final Set unloadQueue = Sets.newHashSet(); + public final it.unimi.dsi.fastutil.longs.LongSet unloadQueue = new it.unimi.dsi.fastutil.longs.LongArraySet(); // PAIL: private -> public // Paper public final ChunkGenerator chunkGenerator; private final IChunkLoader chunkLoader; @@ -46,5 +46,5 @@ index ec77a5c..86ad41d 100644 private boolean e = true; private boolean f; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0116-Do-not-load-chunks-for-light-checks.patch b/Spigot-Server-Patches/0116-Do-not-load-chunks-for-light-checks.patch index 8677a2c059..b8c9ccec4f 100644 --- a/Spigot-Server-Patches/0116-Do-not-load-chunks-for-light-checks.patch +++ b/Spigot-Server-Patches/0116-Do-not-load-chunks-for-light-checks.patch @@ -1,4 +1,4 @@ -From c0da998748217fabcbbea1ae21ca614b18409710 Mon Sep 17 00:00:00 2001 +From 141f4cad8cc1716a1cecd20f8f11aecf00c41be5 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 light checks @@ -7,7 +7,7 @@ Should only happen for blocks on the edge that uses neighbors light level (certain blocks). In that case, there will be 3-4 other neighbors to get a light level from. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 095d4b2..5223785 100644 +index 9a71c35..7e6b3e6 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -707,6 +707,7 @@ public abstract class World implements IBlockAccess { @@ -19,5 +19,5 @@ index 095d4b2..5223785 100644 Chunk chunk = this.getChunkAtWorldCoords(blockposition); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0117-Add-PlayerUseUnknownEntityEvent.patch b/Spigot-Server-Patches/0117-Add-PlayerUseUnknownEntityEvent.patch index 052d2711d0..56c1a1df12 100644 --- a/Spigot-Server-Patches/0117-Add-PlayerUseUnknownEntityEvent.patch +++ b/Spigot-Server-Patches/0117-Add-PlayerUseUnknownEntityEvent.patch @@ -1,4 +1,4 @@ -From c3d5db04e8eea534de5bf3aa9b8762c04a8b8ee8 Mon Sep 17 00:00:00 2001 +From ec3e0c6cdfe781da6c20398e962127cb84bf89b4 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 2 Apr 2016 05:09:16 -0400 Subject: [PATCH] Add PlayerUseUnknownEntityEvent @@ -18,10 +18,10 @@ index 2b23a5d..6464a84 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 dba953f..3d9a677 100644 +index 9e75986..8c6233d 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1614,6 +1614,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1613,6 +1613,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } } } @@ -39,5 +39,5 @@ index dba953f..3d9a677 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0118-Fix-reducedDebugInfo-not-initialized-on-client.patch b/Spigot-Server-Patches/0118-Fix-reducedDebugInfo-not-initialized-on-client.patch index 4e4bb0e316..93878f7647 100644 --- a/Spigot-Server-Patches/0118-Fix-reducedDebugInfo-not-initialized-on-client.patch +++ b/Spigot-Server-Patches/0118-Fix-reducedDebugInfo-not-initialized-on-client.patch @@ -1,11 +1,11 @@ -From 2408145c007633598b4303db0bf3611df047c0b0 Mon Sep 17 00:00:00 2001 +From 78788df9460d44cd8f60b40e80560e86dddf1c8f Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 2 Apr 2016 20:37:03 -0400 Subject: [PATCH] Fix reducedDebugInfo not initialized on client diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index a3c0b10..ac3bdd1 100644 +index 6e51c43..540e178 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -152,6 +152,7 @@ public abstract class PlayerList { @@ -17,5 +17,5 @@ index a3c0b10..ac3bdd1 100644 entityplayer.getStatisticManager().d(); entityplayer.getStatisticManager().updateStatistics(entityplayer); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0119-Configurable-Grass-Spread-Tick-Rate.patch b/Spigot-Server-Patches/0119-Configurable-Grass-Spread-Tick-Rate.patch index 89cc9d38dd..65c79cae23 100644 --- a/Spigot-Server-Patches/0119-Configurable-Grass-Spread-Tick-Rate.patch +++ b/Spigot-Server-Patches/0119-Configurable-Grass-Spread-Tick-Rate.patch @@ -1,4 +1,4 @@ -From 066c29f5b6339e018b0fcc9e86752a463e5c82ab Mon Sep 17 00:00:00 2001 +From 26d634ee4072c8d6346220f82d06e78e615c294b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 3 Apr 2016 16:28:17 -0400 Subject: [PATCH] Configurable Grass Spread Tick Rate diff --git a/Spigot-Server-Patches/0120-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/Spigot-Server-Patches/0120-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 37b4c2d7f5..03140c6261 100644 --- a/Spigot-Server-Patches/0120-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/Spigot-Server-Patches/0120-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -1,4 +1,4 @@ -From aa2f2c18d1a4ed846559046dc228aee45dbd3ee1 Mon Sep 17 00:00:00 2001 +From ecb2e5c1740f7325d86987a01a452fb9b49c5f77 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 @@ -21,7 +21,7 @@ index 2374419..d6fef83 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 842e364..e1c0c0b 100644 +index 5aaec82..1347ce2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -353,8 +353,9 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs @@ -37,20 +37,22 @@ index 842e364..e1c0c0b 100644 if (i1 - j > 1000L) { diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 21fa43f..f160813 100644 +index 7e6b3e6..bf1ac49 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -3228,7 +3228,7 @@ public abstract class World implements IBlockAccess { - BlockPosition blockposition = this.getSpawn(); +@@ -3232,8 +3232,9 @@ public abstract class World implements IBlockAccess { int k = i * 16 + 8 - blockposition.getX(); int l = j * 16 + 8 - blockposition.getZ(); -- short short0 = 128; -+ short short0 = paperConfig.keepLoadedRange; // Paper + boolean flag = true; ++ short keepLoadedRange = paperConfig.keepLoadedRange; // Paper - return k >= -short0 && k <= short0 && l >= -short0 && l <= short0 && this.keepSpawnInMemory; // CraftBukkit - Added 'this.keepSpawnInMemory' +- return k >= -128 && k <= 128 && l >= -128 && l <= 128 && this.keepSpawnInMemory; // CraftBukkit - Added 'this.keepSpawnInMemory' ++ return k >= -keepLoadedRange && k <= keepLoadedRange && l >= -keepLoadedRange && l <= keepLoadedRange && this.keepSpawnInMemory; // CraftBukkit - Added 'this.keepSpawnInMemory' // Paper - Re-add range var } + + public void a(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a0478f2..975a036 100644 +index 5cb0eba..8202800 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -946,7 +946,7 @@ public final class CraftServer implements Server { @@ -63,10 +65,10 @@ index a0478f2..975a036 100644 for (int j = -short1; j <= short1; j += 16) { for (int k = -short1; k <= short1; k += 16) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 18b7da6..6a3e939 100644 +index d1385af..d822cb1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1259,8 +1259,9 @@ public class CraftWorld implements World { +@@ -1261,8 +1261,9 @@ public class CraftWorld implements World { int chunkCoordX = chunkcoordinates.getX() >> 4; int chunkCoordZ = chunkcoordinates.getZ() >> 4; // Cycle through the 25x25 Chunks around it to load/unload the chunks. diff --git a/Spigot-Server-Patches/0121-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/Spigot-Server-Patches/0121-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch index 7c61bcdb41..e79f7aa2de 100644 --- a/Spigot-Server-Patches/0121-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch +++ b/Spigot-Server-Patches/0121-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch @@ -1,11 +1,11 @@ -From 0ca2c45f3293c21521e8ff3a5048cca7b53edf58 Mon Sep 17 00:00:00 2001 +From a6ce609b39169e191e73fd1a6756cadefe7c98fa 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 7bfb735..75b95b4 100644 +index bf1ac49..4cba507 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -516,6 +516,7 @@ public abstract class World implements IBlockAccess { @@ -17,5 +17,5 @@ index 7bfb735..75b95b4 100644 this.e(blockposition.east(), block); this.e(blockposition.down(), block); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0122-Don-t-spam-reload-spawn-chunks-in-nether-end.patch b/Spigot-Server-Patches/0122-Don-t-spam-reload-spawn-chunks-in-nether-end.patch index eb50fe88af..66bbeb99b6 100644 --- a/Spigot-Server-Patches/0122-Don-t-spam-reload-spawn-chunks-in-nether-end.patch +++ b/Spigot-Server-Patches/0122-Don-t-spam-reload-spawn-chunks-in-nether-end.patch @@ -1,23 +1,23 @@ -From ec07f804a484921eea0a5440f15c2ebe95ff7469 Mon Sep 17 00:00:00 2001 +From d22c6a2dd2c465ba21c98275618ff17fc428a581 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 5 Apr 2016 19:42:22 -0400 Subject: [PATCH] Don't spam reload spawn chunks in nether/end diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 75b95b4..91bbc75 100644 +index 4cba507..8cfefeb 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -3225,6 +3225,7 @@ public abstract class World implements IBlockAccess { +@@ -3228,6 +3228,7 @@ public abstract class World implements IBlockAccess { return this.N; } -+ public boolean shouldStayLoaded(int i, int j) { return c(i, j); } // Paper - OBFHELPER - public boolean c(int i, int j) { ++ public boolean shouldStayLoaded(int i, int j) { return d(i, j); } // Paper - OBFHELPER + public boolean d(int i, int j) { BlockPosition blockposition = this.getSpawn(); int k = i * 16 + 8 - blockposition.getX(); diff --git a/src/main/java/net/minecraft/server/WorldProvider.java b/src/main/java/net/minecraft/server/WorldProvider.java -index 2d761d4..bc1eaf5 100644 +index e30d346..d1b2d15 100644 --- a/src/main/java/net/minecraft/server/WorldProvider.java +++ b/src/main/java/net/minecraft/server/WorldProvider.java @@ -127,7 +127,7 @@ public abstract class WorldProvider { @@ -31,5 +31,5 @@ index 2d761d4..bc1eaf5 100644 } } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0123-Remove-Debug-checks-from-DataBits.patch b/Spigot-Server-Patches/0123-Remove-Debug-checks-from-DataBits.patch index 0c3a12fc8a..355040c2a8 100644 --- a/Spigot-Server-Patches/0123-Remove-Debug-checks-from-DataBits.patch +++ b/Spigot-Server-Patches/0123-Remove-Debug-checks-from-DataBits.patch @@ -1,4 +1,4 @@ -From 2ce292f821ae6d943941e23c1d3d7fda8f905c55 Mon Sep 17 00:00:00 2001 +From 67ffacacb4a1cc339cf5d36608fa014fedadc11c 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 @@ -42,5 +42,5 @@ index f3a6799..fa0fd8a 100644 int k = j / 64; int l = ((i + 1) * this.b - 1) / 64; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0124-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0124-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index ffe7fd711a..b86f5a2f5e 100644 --- a/Spigot-Server-Patches/0124-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0124-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,4 +1,4 @@ -From 7d734bafb7c0fa8ce854de202a8f95f96ef8e40a Mon Sep 17 00:00:00 2001 +From b9d946883334d9b53970db4afd8f087b3aa44fac 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 @@ -19,10 +19,10 @@ index d6fef83..35364c7 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3d9a677..724569e 100644 +index 8c6233d..9d595dc 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1344,7 +1344,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1343,7 +1343,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { return; } @@ -30,7 +30,7 @@ index 3d9a677..724569e 100644 + // Paper Start - (Meh) Support for vanilla world scoreboard name coloring + String displayName = event.getPlayer().getDisplayName(); + if (this.player.getWorld().paperConfig.useVanillaScoreboardColoring) { -+ displayName = ScoreboardTeam.getPlayerDisplayName(this.player.aO(), player.getDisplayName()); ++ displayName = ScoreboardTeam.getPlayerDisplayName(this.player.aQ(), player.getDisplayName()); + } + + s = String.format(event.getFormat(), displayName, event.getMessage()); diff --git a/Spigot-Server-Patches/0125-Workaround-for-setting-passengers-on-players.patch b/Spigot-Server-Patches/0125-Workaround-for-setting-passengers-on-players.patch index fd9f709b55..68c27b3a8e 100644 --- a/Spigot-Server-Patches/0125-Workaround-for-setting-passengers-on-players.patch +++ b/Spigot-Server-Patches/0125-Workaround-for-setting-passengers-on-players.patch @@ -1,4 +1,4 @@ -From aea778d5f60988e3b8ef469e26e49f4c96f82dde Mon Sep 17 00:00:00 2001 +From 536459472445711d5073a0ffc33e077c9ef3fbf8 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 10 Apr 2016 03:23:32 -0500 Subject: [PATCH] Workaround for setting passengers on players @@ -6,7 +6,7 @@ Subject: [PATCH] Workaround for setting passengers on players SPIGOT-1915 & GH-114 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2b555c9..7568fc8 100644 +index 087d788..36bebb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -567,6 +567,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -28,5 +28,5 @@ index 2b555c9..7568fc8 100644 public void setSneaking(boolean sneak) { getHandle().setSneaking(sneak); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0126-SPIGOT-1903-Update-PlayerConnection-on-teleporting-p.patch b/Spigot-Server-Patches/0126-SPIGOT-1903-Update-PlayerConnection-on-teleporting-p.patch index d7d0721028..f5de2fefa8 100644 --- a/Spigot-Server-Patches/0126-SPIGOT-1903-Update-PlayerConnection-on-teleporting-p.patch +++ b/Spigot-Server-Patches/0126-SPIGOT-1903-Update-PlayerConnection-on-teleporting-p.patch @@ -1,4 +1,4 @@ -From 97fb0cde3f2129a6111194d08bf4682b6b4fe754 Mon Sep 17 00:00:00 2001 +From d111aad2241cf5bb659fde0f464392e3845c445b Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 10 Apr 2016 22:36:10 -0400 Subject: [PATCH] SPIGOT-1903: Update PlayerConnection on teleporting players @@ -7,10 +7,10 @@ Otherwise the player will trigger a "moved too quickly" next movement packet and rubber band. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b03e9ee..b2dc764 100644 +index 61d7605..a3b8cfb 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -290,6 +290,7 @@ public abstract class Entity implements ICommandListener { +@@ -292,6 +292,7 @@ public abstract class Entity implements ICommandListener { this.locX = d0; this.locY = d1; this.locZ = d2; @@ -19,7 +19,7 @@ index b03e9ee..b2dc764 100644 float f1 = this.length; diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 724569e..4d471ec 100644 +index 9d595dc..f517c6a 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -204,7 +204,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -32,5 +32,5 @@ index 724569e..4d471ec 100644 this.m = this.player.locY; this.n = this.player.locZ; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0127-Remove-unused-World-Tile-Entity-List.patch b/Spigot-Server-Patches/0127-Remove-unused-World-Tile-Entity-List.patch index f868c25f42..8eb6b3c0fe 100644 --- a/Spigot-Server-Patches/0127-Remove-unused-World-Tile-Entity-List.patch +++ b/Spigot-Server-Patches/0127-Remove-unused-World-Tile-Entity-List.patch @@ -1,4 +1,4 @@ -From 1afe6ec3716226403ae8fd91217c07d9c1342999 Mon Sep 17 00:00:00 2001 +From 118f813c12dae34d97203e879c08726020c61739 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 91bbc75..b3dd456 100644 +index 8cfefeb..f15178a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -69,7 +69,7 @@ public abstract class World implements IBlockAccess { @@ -18,7 +18,7 @@ index 91bbc75..b3dd456 100644 public final List tileEntityListTick = Lists.newArrayList(); private final List b = Lists.newArrayList(); private final Set tileEntityListUnload = Sets.newHashSet(); // Paper -@@ -1554,7 +1554,7 @@ public abstract class World implements IBlockAccess { +@@ -1557,7 +1557,7 @@ public abstract class World implements IBlockAccess { // CraftBukkit start - From below, clean up tile entities before ticking them if (!this.tileEntityListUnload.isEmpty()) { this.tileEntityListTick.removeAll(this.tileEntityListUnload); @@ -27,7 +27,7 @@ index 91bbc75..b3dd456 100644 this.tileEntityListUnload.clear(); } // CraftBukkit end -@@ -1605,7 +1605,7 @@ public abstract class World implements IBlockAccess { +@@ -1608,7 +1608,7 @@ public abstract class World implements IBlockAccess { if (tileentity.x()) { tilesThisCycle--; this.tileEntityListTick.remove(tileTickPosition--); @@ -36,7 +36,7 @@ index 91bbc75..b3dd456 100644 if (this.isLoaded(tileentity.getPosition())) { this.getChunkAtWorldCoords(tileentity.getPosition()).d(tileentity.getPosition()); } -@@ -1643,7 +1643,7 @@ public abstract class World implements IBlockAccess { +@@ -1646,7 +1646,7 @@ public abstract class World implements IBlockAccess { this.notify(tileentity1.getPosition(), iblockdata, iblockdata, 3); // CraftBukkit start // From above, don't screw this up - SPIGOT-1746 @@ -45,7 +45,7 @@ index 91bbc75..b3dd456 100644 this.a(tileentity1); } // CraftBukkit end -@@ -1663,9 +1663,9 @@ public abstract class World implements IBlockAccess { +@@ -1666,9 +1666,9 @@ public abstract class World implements IBlockAccess { protected void l() {} public boolean a(TileEntity tileentity) { @@ -57,7 +57,7 @@ index 91bbc75..b3dd456 100644 this.tileEntityListTick.add(tileentity); } -@@ -2135,7 +2135,7 @@ public abstract class World implements IBlockAccess { +@@ -2138,7 +2138,7 @@ public abstract class World implements IBlockAccess { } else { if (tileentity != null) { this.b.remove(tileentity); @@ -67,5 +67,5 @@ index 91bbc75..b3dd456 100644 } -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0128-Don-t-tick-Skulls-unused-code.patch b/Spigot-Server-Patches/0128-Don-t-tick-Skulls-unused-code.patch index 9e77eb6ecc..cdfa703db2 100644 --- a/Spigot-Server-Patches/0128-Don-t-tick-Skulls-unused-code.patch +++ b/Spigot-Server-Patches/0128-Don-t-tick-Skulls-unused-code.patch @@ -1,11 +1,11 @@ -From 9f2a7aa475bb9f7e7ab33c838e6b71e29fd04616 Mon Sep 17 00:00:00 2001 +From 5f6c0a8618bca442f74cf1b98863fb3aefede23d Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 00:30:10 -0400 Subject: [PATCH] Don't tick Skulls - unused code diff --git a/src/main/java/net/minecraft/server/TileEntitySkull.java b/src/main/java/net/minecraft/server/TileEntitySkull.java -index 49ab25b..cf0de2b 100644 +index a8adbcb..ff5929f 100644 --- a/src/main/java/net/minecraft/server/TileEntitySkull.java +++ b/src/main/java/net/minecraft/server/TileEntitySkull.java @@ -21,7 +21,7 @@ import com.mojang.authlib.Agent; @@ -16,7 +16,7 @@ index 49ab25b..cf0de2b 100644 +public class TileEntitySkull extends TileEntity /*implements ITickable*/ { // Paper - remove tickable private int a; - private int rotation; + public int rotation; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0129-Fix-some-players-not-being-kicked-on-shutdown.patch b/Spigot-Server-Patches/0129-Fix-some-players-not-being-kicked-on-shutdown.patch index 33faf95864..b654cb6da6 100644 --- a/Spigot-Server-Patches/0129-Fix-some-players-not-being-kicked-on-shutdown.patch +++ b/Spigot-Server-Patches/0129-Fix-some-players-not-being-kicked-on-shutdown.patch @@ -1,14 +1,14 @@ -From b1d4330c0fd8473081cae9431e874043ff3433f8 Mon Sep 17 00:00:00 2001 +From e07828e9702b2bfad344d2037d4f84ea274ccf1d Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Tue, 29 Mar 2016 20:19:20 -0400 Subject: [PATCH] Fix some players not being kicked on shutdown diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 8075417..987e393 100644 +index 540e178..5ff5017 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java -@@ -1295,9 +1295,11 @@ public abstract class PlayerList { +@@ -1296,9 +1296,11 @@ public abstract class PlayerList { } public void u() { diff --git a/Spigot-Server-Patches/0130-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0130-Configurable-Player-Collision.patch index 4908e7728f..5232747e5f 100644 --- a/Spigot-Server-Patches/0130-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0130-Configurable-Player-Collision.patch @@ -1,11 +1,11 @@ -From ddb5bbdf878a0a86918a586be6c6f3ee9d3adc55 Mon Sep 17 00:00:00 2001 +From 6751f7be364373bd4c4fae7d3ace435176daa2fa 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 3c52736..1199fa2 100644 +index 22c7dea..24fb01c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -218,4 +218,9 @@ public class PaperConfig { @@ -19,7 +19,7 @@ index 3c52736..1199fa2 100644 + } } diff --git a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java -index dbdb87f..ef39400 100644 +index d8ec504..eb45d3c 100644 --- a/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java +++ b/src/main/java/net/minecraft/server/PacketPlayOutScoreboardTeam.java @@ -96,7 +96,7 @@ public class PacketPlayOutScoreboardTeam implements Packet Date: Wed, 13 Apr 2016 20:21:38 -0700 Subject: [PATCH] Add handshake event to allow plugins to handle client @@ -6,7 +6,7 @@ Subject: [PATCH] Add handshake event to allow plugins to handle client diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index 08199c6..0641d06 100644 +index 37c5fe5..acfcb80 100644 --- a/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java @@ -72,8 +72,33 @@ public class HandshakeListener implements PacketHandshakingInListener { @@ -45,5 +45,5 @@ index 08199c6..0641d06 100644 if ( split.length == 3 || split.length == 4 ) { packethandshakinginsetprotocol.hostname = split[0]; -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0132-Water-mobs-should-only-spawn-in-the-water.patch b/Spigot-Server-Patches/0132-Water-mobs-should-only-spawn-in-the-water.patch index fc25d77a70..de47985e53 100644 --- a/Spigot-Server-Patches/0132-Water-mobs-should-only-spawn-in-the-water.patch +++ b/Spigot-Server-Patches/0132-Water-mobs-should-only-spawn-in-the-water.patch @@ -1,17 +1,17 @@ -From be54bf686dd2fbe6528d08306687f099f400e9e1 Mon Sep 17 00:00:00 2001 +From e66832ff3e208f99dc45cfe5134ce5e13b37407e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 14 Apr 2016 17:48:56 -0500 Subject: [PATCH] Water mobs should only spawn in the water diff --git a/src/main/java/net/minecraft/server/EntityWaterAnimal.java b/src/main/java/net/minecraft/server/EntityWaterAnimal.java -index b439a2b..c3b86bb5 100644 +index 76394a3..e61f9a2 100644 --- a/src/main/java/net/minecraft/server/EntityWaterAnimal.java +++ b/src/main/java/net/minecraft/server/EntityWaterAnimal.java @@ -11,7 +11,15 @@ public abstract class EntityWaterAnimal extends EntityInsentient implements IAni } - public boolean cG() { + public boolean cK() { - return true; + // Paper start - Don't let water mobs spawn in non-water blocks + // Based around EntityAnimal's implementation @@ -26,5 +26,5 @@ index b439a2b..c3b86bb5 100644 public boolean canSpawn() { -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0133-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch b/Spigot-Server-Patches/0133-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch index d3a51ac542..486916d121 100644 --- a/Spigot-Server-Patches/0133-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch +++ b/Spigot-Server-Patches/0133-Fix-Bugs-with-Spigot-Mob-Spawn-Logic.patch @@ -1,4 +1,4 @@ -From 426c5a1d94eef4816e659f6384148abc4e849b26 Mon Sep 17 00:00:00 2001 +From f7e14ffde3b8e7f63085730e140df5df945d91cc Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 14 Apr 2016 21:01:39 -0400 Subject: [PATCH] Fix Bugs with Spigot Mob Spawn Logic @@ -14,10 +14,10 @@ Specially with servers using smaller mob spawn ranges than view distance, as wel This patch returns mob counting to use all loaded chunks, and 17x17 division. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7144227..b94cdad 100644 +index c994dc0..ffd2a26 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -674,7 +674,7 @@ public class Chunk { +@@ -672,7 +672,7 @@ public class Chunk { i = this.entitySlices.length - 1; } @@ -27,7 +27,7 @@ index 7144227..b94cdad 100644 if (entity instanceof EntityItem) { itemCounts[i]--; diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 9fd0473..a034db2 100644 +index 14f1833..4f392fb 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -21,6 +21,15 @@ public final class SpawnerCreature { @@ -56,5 +56,5 @@ index 9fd0473..a034db2 100644 Iterator iterator1 = this.b.iterator(); -- -2.8.2 +2.8.3 diff --git a/Spigot-Server-Patches/0134-Configurable-RCON-IP-address.patch b/Spigot-Server-Patches/0134-Configurable-RCON-IP-address.patch index cb1969572f..a9ab697c8f 100644 --- a/Spigot-Server-Patches/0134-Configurable-RCON-IP-address.patch +++ b/Spigot-Server-Patches/0134-Configurable-RCON-IP-address.patch @@ -1,4 +1,4 @@ -From b068d063f98eb23fa58eda1e26f9874ba159a304 Mon Sep 17 00:00:00 2001 +From 2a2561251c2175f504897dcc0a4f46c667b730c8 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 16 Apr 2016 00:39:33 -0400 Subject: [PATCH] Configurable RCON IP address @@ -6,7 +6,7 @@ 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/RemoteControlListener.java b/src/main/java/net/minecraft/server/RemoteControlListener.java -index 8309a99..3a6561a 100644 +index a6a0d5a..efcafe7 100644 --- a/src/main/java/net/minecraft/server/RemoteControlListener.java +++ b/src/main/java/net/minecraft/server/RemoteControlListener.java @@ -24,7 +24,7 @@ public class RemoteControlListener extends RemoteConnectionThread { @@ -19,5 +19,5 @@ index 8309a99..3a6561a 100644 if (0 == this.h) { this.h = this.i + 10; -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0135-Prevent-Fire-from-loading-chunks.patch b/Spigot-Server-Patches/0135-Prevent-Fire-from-loading-chunks.patch index 8f742e47a7..af62819866 100644 --- a/Spigot-Server-Patches/0135-Prevent-Fire-from-loading-chunks.patch +++ b/Spigot-Server-Patches/0135-Prevent-Fire-from-loading-chunks.patch @@ -1,4 +1,4 @@ -From 6869070acce7a2ed7a821bb157c34db70de22c6c Mon Sep 17 00:00:00 2001 +From ad7b8a12f0b5035455c18c0a644640cd27c8c9c9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 17 Apr 2016 17:27:09 -0400 Subject: [PATCH] Prevent Fire from loading chunks @@ -45,5 +45,5 @@ index cb11099..951f0cf 100644 return i; -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0136-Implement-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0136-Implement-PlayerLocaleChangeEvent.patch index 7540bd974d..d027280715 100644 --- a/Spigot-Server-Patches/0136-Implement-PlayerLocaleChangeEvent.patch +++ b/Spigot-Server-Patches/0136-Implement-PlayerLocaleChangeEvent.patch @@ -1,23 +1,23 @@ -From 52c5da4d03245903fa490ffa651949b9500f3bf1 Mon Sep 17 00:00:00 2001 +From 14c640771aee1360601efd5bfa9c92e3c634a903 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 1e33838..8810016 100644 +index e9baaa2..d084fc2 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -28,7 +28,7 @@ import org.bukkit.inventory.MainHand; public class EntityPlayer extends EntityHuman implements ICrafting { - private static final Logger bR = LogManager.getLogger(); + private static final Logger bS = LogManager.getLogger(); - public String locale = "en_US"; // Spigot private -> public + public String locale = null; // Spigot private -> public // Paper - default to null public PlayerConnection playerConnection; public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; -@@ -1081,7 +1081,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { +@@ -1083,7 +1083,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting { this.server.server.getPluginManager().callEvent(event); } // CraftBukkit end @@ -30,14 +30,14 @@ index 1e33838..8810016 100644 + new com.destroystokyo.paper.event.player.PlayerLocaleChangeEvent(this.getBukkitEntity(), oldLocale, this.locale).callEvent(); + } + // Paper end - this.cg = packetplayinsettings.c(); - this.ch = packetplayinsettings.d(); - this.getDataWatcher().set(EntityPlayer.bq, Byte.valueOf((byte) packetplayinsettings.e())); + this.ch = packetplayinsettings.c(); + this.ci = packetplayinsettings.d(); + this.getDataWatcher().set(EntityPlayer.br, Byte.valueOf((byte) packetplayinsettings.e())); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7568fc8..d23cade 100644 +index f50216f..783dfbd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1657,7 +1657,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1656,7 +1656,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { @@ -50,5 +50,5 @@ index 7568fc8..d23cade 100644 @Override -- -2.8.2.windows.1 +2.8.3 diff --git a/Spigot-Server-Patches/0137-EntityRegainHealthEvent-isFastRegen-API.patch b/Spigot-Server-Patches/0137-EntityRegainHealthEvent-isFastRegen-API.patch index db672afcbb..91bf87f5e7 100644 --- a/Spigot-Server-Patches/0137-EntityRegainHealthEvent-isFastRegen-API.patch +++ b/Spigot-Server-Patches/0137-EntityRegainHealthEvent-isFastRegen-API.patch @@ -1,4 +1,4 @@ -From 34d571332952449b1187a9afe61f565ac0575944 Mon Sep 17 00:00:00 2001 +From c9bc52c9b190af4b7ae33ba62addfd65af1bdd88 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 01:43:11 -0500 Subject: [PATCH] EntityRegainHealthEvent isFastRegen API @@ -6,10 +6,10 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API Don't even get me started diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index df4d8d8..129bca8 100644 +index 01f779c..d0bce92 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -734,10 +734,16 @@ public abstract class EntityLiving extends Entity { +@@ -741,10 +741,16 @@ public abstract class EntityLiving extends Entity { } public void heal(float f, EntityRegainHealthEvent.RegainReason regainReason) { @@ -28,7 +28,7 @@ index df4d8d8..129bca8 100644 if (!event.isCancelled()) { diff --git a/src/main/java/net/minecraft/server/FoodMetaData.java b/src/main/java/net/minecraft/server/FoodMetaData.java -index df5fbeb..ebadb37 100644 +index af4f97e..df31391 100644 --- a/src/main/java/net/minecraft/server/FoodMetaData.java +++ b/src/main/java/net/minecraft/server/FoodMetaData.java @@ -65,7 +65,7 @@ public class FoodMetaData { @@ -41,5 +41,5 @@ index df5fbeb..ebadb37 100644 this.foodTickTimer = 0; } -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0138-Add-ability-to-configure-frosted_ice-properties.patch b/Spigot-Server-Patches/0138-Add-ability-to-configure-frosted_ice-properties.patch index c47d69fd61..0900582c50 100644 --- a/Spigot-Server-Patches/0138-Add-ability-to-configure-frosted_ice-properties.patch +++ b/Spigot-Server-Patches/0138-Add-ability-to-configure-frosted_ice-properties.patch @@ -1,4 +1,4 @@ -From ea3fcae6fda6a45a6146035d0723ec71aaf51188 Mon Sep 17 00:00:00 2001 +From fb91fc815d1bee7353d6e10fbcbd1c48f9105f23 Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 21 Apr 2016 23:51:55 -0700 Subject: [PATCH] Add ability to configure frosted_ice properties diff --git a/Spigot-Server-Patches/0139-Vehicle-Event-Cancellation-Changes.patch b/Spigot-Server-Patches/0139-Vehicle-Event-Cancellation-Changes.patch index a73b6c1723..7516c58de7 100644 --- a/Spigot-Server-Patches/0139-Vehicle-Event-Cancellation-Changes.patch +++ b/Spigot-Server-Patches/0139-Vehicle-Event-Cancellation-Changes.patch @@ -1,44 +1,44 @@ -From 7c0576f1a381b34355c782f0cb34303143d7ca98 Mon Sep 17 00:00:00 2001 +From ba1a119f2fdbbc0b152da75993ce0f02ce6ba469 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Fri, 22 Apr 2016 18:20:05 -0500 Subject: [PATCH] Vehicle Event Cancellation Changes diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index b2dc764..2374a35 100644 +index f4a804b..b9d9fb9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -1658,6 +1658,10 @@ public abstract class Entity implements ICommandListener { +@@ -1687,6 +1687,10 @@ public abstract class Entity implements ICommandListener { } public boolean a(Entity entity, boolean flag) { -+ return this.mountEntity(entity, flag, false); // Paper - forward ++ return this.mountEntity(entity, flag, false); // Paper - OBFHELPER + } + + public boolean mountEntity(Entity entity, boolean flag, boolean suppressEvents) { // Paper if (!flag && (!this.n(entity) || !entity.q(this))) { return false; } else { -@@ -1666,7 +1670,7 @@ public abstract class Entity implements ICommandListener { +@@ -1695,7 +1699,7 @@ public abstract class Entity implements ICommandListener { } - this.at = entity; -- this.at.o(this); -+ this.at.addRider(this, suppressEvents); // Paper + this.au = entity; +- this.au.o(this); ++ this.au.addRider(this, suppressEvents); // Paper return true; } } -@@ -1693,12 +1697,20 @@ public abstract class Entity implements ICommandListener { +@@ -1722,12 +1726,20 @@ public abstract class Entity implements ICommandListener { } protected void o(Entity entity) { -+ // Paper start - Forward ++ // Paper start - OBFHELPER + this.addRider(entity, false); + } + + private void addRider(Entity entity, boolean suppressEvents) { + // Paper end - if (entity.bz() != this) { + if (entity.bB() != this) { throw new IllegalStateException("Use x.startRiding(y), not y.addPassenger(x)"); } else { // CraftBukkit start @@ -49,16 +49,16 @@ index b2dc764..2374a35 100644 CraftEntity craft = (CraftEntity) entity.getBukkitEntity().getVehicle(); Entity orig = craft == null ? null : craft.getHandle(); if (getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity && entity.world.isChunkLoaded((int) entity.locX >> 4, (int) entity.locZ >> 4, false)) { // Boolean not used -@@ -1721,6 +1733,8 @@ public abstract class Entity implements ICommandListener { +@@ -1750,6 +1762,8 @@ public abstract class Entity implements ICommandListener { return; } // Spigot end + // ============================================================= + } // Paper - end suppressible block - if (!this.world.isClientSide && entity instanceof EntityHuman && !(this.bu() instanceof EntityHuman)) { + if (!this.world.isClientSide && entity instanceof EntityHuman && !(this.bw() instanceof EntityHuman)) { this.passengers.add(0, entity); } else { -@@ -1746,16 +1760,29 @@ public abstract class Entity implements ICommandListener { +@@ -1775,16 +1789,29 @@ public abstract class Entity implements ICommandListener { CraftEntity craftn = (CraftEntity) entity.getBukkitEntity().getVehicle(); Entity n = craftn == null ? null : craftn.getHandle(); if (event.isCancelled() || n != orig) { @@ -87,8 +87,8 @@ index b2dc764..2374a35 100644 + // Paper end + protected boolean q(Entity entity) { - return this.bv().size() < 1; + return this.bx().size() < 1; } -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0140-Arrow-pickup-rule-API.patch b/Spigot-Server-Patches/0140-Arrow-pickup-rule-API.patch index 7ffd355f9a..69898f2463 100644 --- a/Spigot-Server-Patches/0140-Arrow-pickup-rule-API.patch +++ b/Spigot-Server-Patches/0140-Arrow-pickup-rule-API.patch @@ -1,4 +1,4 @@ -From 7fa53b55160cf63907e2ff84cf3ed9e1783882af Mon Sep 17 00:00:00 2001 +From 5e6f62e26308239337b2a112df5fe8247e4eb9c0 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Fri, 4 Mar 2016 03:16:11 -0500 Subject: [PATCH] Arrow pickup rule API @@ -54,5 +54,5 @@ index 2a3482c..fbf289f 100644 private final Arrow.Spigot spigot = new Arrow.Spigot() { -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0141-Check-entity-count-additions-and-mark-entities-remov.patch b/Spigot-Server-Patches/0141-Check-entity-count-additions-and-mark-entities-remov.patch deleted file mode 100644 index 170531fa0a..0000000000 --- a/Spigot-Server-Patches/0141-Check-entity-count-additions-and-mark-entities-remov.patch +++ /dev/null @@ -1,71 +0,0 @@ -From a02b0089dead6bcbc2103c847cc067855b6aef72 Mon Sep 17 00:00:00 2001 -From: Zach Brown -Date: Fri, 22 Apr 2016 20:34:21 -0500 -Subject: [PATCH] Check entity count additions and mark entities removed - - -diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index b94cdad..904141a 100644 ---- a/src/main/java/net/minecraft/server/Chunk.java -+++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -631,12 +631,36 @@ public class Chunk { - k = this.entitySlices.length - 1; - } - -+ // Paper start - Try to catch plugins doing indecent things -+ boolean ignoreAdd = false; -+ if (entity.aa && entity.getChunkX() == this.locX && entity.getChunkY() == k && entity.getChunkZ() == this.locZ) { -+ String chunkName = entity.getWorld().getWorld().getName() + ":" + entity.getChunkX() + "," + entity.getChunkY() + "," + entity.getChunkZ(); -+ if (this.entitySlices[k].contains(entity)) { -+ new Throwable("Double Chunk Add to: " + chunkName).printStackTrace(); -+ ignoreAdd = true; -+ } else { -+ boolean found = false; -+ for (int i1 = 0; i1 < this.entitySlices.length; i1++) { -+ if (this.entitySlices[i1].contains(entity)) { -+ new Throwable("Entity was found in another slice of this chunk, tried: " + k + ", was in: " + chunkName).printStackTrace(); -+ found = true; -+ ignoreAdd = true; -+ } -+ } -+ if (!found) { -+ new Throwable("Improperly detected double chunk add. Was not actually in this chunk.").printStackTrace(); -+ } -+ } -+ } -+ // Paper end -+ - entity.aa = true; - entity.ab = this.locX; - entity.ac = k; - entity.ad = this.locZ; - this.entitySlices[k].add(entity); - // Paper start - update count -+ if (ignoreAdd) return; - if (entity instanceof EntityItem) { - itemCounts[k]++; - } else if (entity instanceof IInventory) { -@@ -681,6 +705,7 @@ public class Chunk { - } else if (entity instanceof IInventory) { - inventoryEntityCounts[i]--; - } -+ entity.aa = false; // You aren't added to chunk anymore - // Paper end - // Spigot start - decrement creature type count - // Keep this synced up with World.a(Class) -diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6e7e9af..23b342b 100644 ---- a/src/main/java/net/minecraft/server/World.java -+++ b/src/main/java/net/minecraft/server/World.java -@@ -1739,7 +1739,7 @@ public abstract class World implements IBlockAccess { - } - - int k = MathHelper.floor(entity.locX / 16.0D); -- int l = MathHelper.floor(entity.locY / 16.0D); -+ int l = Math.min(15, Math.max(0, MathHelper.floor(entity.locY / 16.0D))); // Paper - stay consistent with chunk add/remove behavior - int i1 = MathHelper.floor(entity.locZ / 16.0D); - - if (!entity.aa || entity.ab != k || entity.ac != l || entity.ad != i1) { --- -2.7.4 (Apple Git-66) - diff --git a/Spigot-Server-Patches/0142-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch b/Spigot-Server-Patches/0141-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch similarity index 95% rename from Spigot-Server-Patches/0142-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch rename to Spigot-Server-Patches/0141-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch index 00c0c19eb1..97a501ff9f 100644 --- a/Spigot-Server-Patches/0142-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch +++ b/Spigot-Server-Patches/0141-SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch @@ -1,11 +1,11 @@ -From 7c4048c52e4c36d4646335713eb75e1f2ca4effc Mon Sep 17 00:00:00 2001 +From 5a07728558b0e44a48bc8c0409fcfbe755cf1950 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 24 Apr 2016 19:49:33 -0500 Subject: [PATCH] SPIGOT-1401: Fix dispenser, dropper, furnace placement diff --git a/src/main/java/net/minecraft/server/BlockDispenser.java b/src/main/java/net/minecraft/server/BlockDispenser.java -index 9e80efe..337a1cb 100644 +index a1f198b..024ce36 100644 --- a/src/main/java/net/minecraft/server/BlockDispenser.java +++ b/src/main/java/net/minecraft/server/BlockDispenser.java @@ -21,6 +21,9 @@ public class BlockDispenser extends BlockTileEntity { @@ -51,5 +51,5 @@ index 61a6b8a..25f7b4b 100644 public boolean interact(World world, BlockPosition blockposition, IBlockData iblockdata, EntityHuman entityhuman, EnumHand enumhand, @Nullable ItemStack itemstack, EnumDirection enumdirection, float f, float f1, float f2) { if (world.isClientSide) { -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0142-Reimplement-PlayerEditBookEvent.patch b/Spigot-Server-Patches/0142-Reimplement-PlayerEditBookEvent.patch new file mode 100644 index 0000000000..210b3507a9 --- /dev/null +++ b/Spigot-Server-Patches/0142-Reimplement-PlayerEditBookEvent.patch @@ -0,0 +1,61 @@ +From ee9f584a42f7ea0a771c35d252472f2fe8d66250 Mon Sep 17 00:00:00 2001 +From: willies952002 +Date: Sat, 23 Apr 2016 19:51:19 -0400 +Subject: [PATCH] Reimplement PlayerEditBookEvent + + +diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java +index 58b8468..2ce8aa9 100644 +--- a/src/main/java/net/minecraft/server/PlayerConnection.java ++++ b/src/main/java/net/minecraft/server/PlayerConnection.java +@@ -2226,9 +2226,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { + + if (itemstack.getItem() == Items.WRITABLE_BOOK && itemstack.getItem() == itemstack1.getItem()) { + itemstack1.a("pages", (NBTBase) itemstack.getTag().getList("pages", 8)); ++ CraftEventFactory.handleEditBookEvent(player, itemstack1); // Paper + } + } catch (Exception exception) { + PlayerConnection.LOGGER.error("Couldn\'t handle book info", exception); ++ this.disconnect("Invalid Book Data!"); // Paper + } + } else { + String s1; +@@ -2266,9 +2268,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { + + itemstack1.a("pages", (NBTBase) nbttaglist); + itemstack1.setItem(Items.WRITTEN_BOOK); ++ CraftEventFactory.handleEditBookEvent(player, itemstack1); // Paper + } + } catch (Exception exception1) { + PlayerConnection.LOGGER.error("Couldn\'t sign book", exception1); ++ this.disconnect("Invalid Book Data!"); // Paper + } + } else if ("MC|TrSel".equals(s)) { + try { +@@ -2329,6 +2333,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { + } + } catch (Exception exception3) { + PlayerConnection.LOGGER.error("Couldn\'t set command block", exception3); ++ this.disconnect("Invalid Command Block Data!"); // Paper + } + } else if ("MC|AutoCmd".equals(s)) { + if (!this.minecraftServer.getEnableCommandBlock()) { +@@ -2396,6 +2401,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { + } + } catch (Exception exception4) { + PlayerConnection.LOGGER.error("Couldn\'t set command block", exception4); ++ this.disconnect("Invalid Command Block Data!"); // Paper + } + } else { + int k; +@@ -2419,6 +2425,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { + } + } catch (Exception exception5) { + PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5); ++ this.disconnect("Invalid Beacon Data!"); // Paper + } + } + } else if ("MC|ItemName".equals(s)) { +-- +2.8.3 + diff --git a/Spigot-Server-Patches/0144-Improve-Minecraft-Hopper-Performance.patch b/Spigot-Server-Patches/0143-Improve-Minecraft-Hopper-Performance.patch similarity index 84% rename from Spigot-Server-Patches/0144-Improve-Minecraft-Hopper-Performance.patch rename to Spigot-Server-Patches/0143-Improve-Minecraft-Hopper-Performance.patch index a2cb60b7ad..1df84ae5b4 100644 --- a/Spigot-Server-Patches/0144-Improve-Minecraft-Hopper-Performance.patch +++ b/Spigot-Server-Patches/0143-Improve-Minecraft-Hopper-Performance.patch @@ -1,4 +1,4 @@ -From 25164352de96cb913f1bdf3f97257621ac6c70c3 Mon Sep 17 00:00:00 2001 +From 10404e39ecb0b6f8c7218d9fd77f2a961bf0b29e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 27 Apr 2016 22:09:52 -0400 Subject: [PATCH] Improve Minecraft Hopper Performance @@ -7,7 +7,7 @@ Removes unnecessary extra calls to .update() that are very expensive Also reset cooldown each hopper tick that a hopper is full. diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index f59e6f8..85f97cc 100644 +index 9fa93ed..cd39fe5 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -36,6 +36,7 @@ public abstract class TileEntity { @@ -18,7 +18,7 @@ index f59e6f8..85f97cc 100644 public World getWorld() { return this.world; } -@@ -110,6 +111,7 @@ public abstract class TileEntity { +@@ -113,6 +114,7 @@ public abstract class TileEntity { public void update() { if (this.world != null) { @@ -27,10 +27,10 @@ index f59e6f8..85f97cc 100644 this.h = iblockdata.getBlock().toLegacyData(iblockdata); diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index de458c8..a695207 100644 +index 197bdfe..8717ae1 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java -@@ -190,6 +190,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi +@@ -194,6 +194,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi } // Paper end } @@ -38,7 +38,7 @@ index de458c8..a695207 100644 return false; } else { return false; -@@ -490,7 +491,9 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi +@@ -505,7 +506,9 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi boolean flag = false; if (itemstack1 == null) { @@ -48,7 +48,7 @@ index de458c8..a695207 100644 itemstack = null; flag = true; } else if (a(itemstack1, itemstack)) { -@@ -510,7 +513,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi +@@ -525,7 +528,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi tileentityhopper.setCooldown(tileentityhopper.world.spigotConfig.hopperTransfer); // Spigot } @@ -57,7 +57,7 @@ index de458c8..a695207 100644 } iinventory.update(); -@@ -585,6 +588,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi +@@ -600,6 +603,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi this.g = i; } diff --git a/Spigot-Server-Patches/0143-Reimplement-PlayerEditBookEvent.patch b/Spigot-Server-Patches/0143-Reimplement-PlayerEditBookEvent.patch deleted file mode 100644 index 564b00b75b..0000000000 --- a/Spigot-Server-Patches/0143-Reimplement-PlayerEditBookEvent.patch +++ /dev/null @@ -1,89 +0,0 @@ -From df91c49a8a8472b88e89ad0634954ee2b495b793 Mon Sep 17 00:00:00 2001 -From: willies952002 -Date: Sat, 23 Apr 2016 19:51:19 -0400 -Subject: [PATCH] Reimplement PlayerEditBookEvent - - -diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 4d471ec..cf27086 100644 ---- a/src/main/java/net/minecraft/server/PlayerConnection.java -+++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2207,6 +2207,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { - ItemStack itemstack; - ItemStack itemstack1; - -+ try { // Paper - Reimplement BookEditEvent - if ("MC|BEdit".equals(s)) { - packetdataserializer = new PacketDataSerializer(Unpooled.wrappedBuffer(packetplayincustompayload.b())); - -@@ -2224,12 +2225,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { - if (itemstack1 != null) { - if (itemstack.getItem() == Items.WRITABLE_BOOK && itemstack.getItem() == itemstack1.getItem()) { - itemstack1.a("pages", (NBTBase) itemstack.getTag().getList("pages", 8)); -+ CraftEventFactory.handleEditBookEvent(player, itemstack1); // Paper - } - - return; - } - } catch (Exception exception) { - PlayerConnection.LOGGER.error("Couldn\'t handle book info", exception); -+ this.disconnect("Invalid Book Data!"); // Paper - return; - } finally { - packetdataserializer.release(); -@@ -2269,12 +2272,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { - - itemstack1.a("pages", (NBTBase) nbttaglist); - itemstack1.setItem(Items.WRITTEN_BOOK); -+ CraftEventFactory.handleEditBookEvent(player, itemstack1); // Paper - } - - return; - } - } catch (Exception exception1) { - PlayerConnection.LOGGER.error("Couldn\'t sign book", exception1); -+ this.disconnect("Invalid Book Data!"); // Paper - return; - } finally { - packetdataserializer.release(); -@@ -2340,6 +2345,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { - } - } catch (Exception exception3) { - PlayerConnection.LOGGER.error("Couldn\'t set command block", exception3); -+ this.disconnect("Invalid Command Block Data!"); // Paper - } finally { - packetdataserializer.release(); - } -@@ -2409,6 +2415,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { - } - } catch (Exception exception4) { - PlayerConnection.LOGGER.error("Couldn\'t set command block", exception4); -+ this.disconnect("Invalid Command Block Data!"); // Paper - } finally { - packetdataserializer.release(); - } -@@ -2434,6 +2441,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { - } - } catch (Exception exception5) { - PlayerConnection.LOGGER.error("Couldn\'t set beacon", exception5); -+ this.disconnect("Invalid Beacon Data!"); // Paper - } - } - } else if ("MC|ItemName".equals(s)) { -@@ -2536,6 +2544,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { - } - } - } -+ // Paper start -+ } finally { -+ if (packetplayincustompayload.b().refCnt() > 0) { -+ packetplayincustompayload.b().release(); -+ } -+ } -+ // Paper end - - } - --- -2.7.4 (Apple Git-66) - diff --git a/Spigot-Server-Patches/0145-remove-null-possibility-for-getServer-singleton.patch b/Spigot-Server-Patches/0144-remove-null-possibility-for-getServer-singleton.patch similarity index 90% rename from Spigot-Server-Patches/0145-remove-null-possibility-for-getServer-singleton.patch rename to Spigot-Server-Patches/0144-remove-null-possibility-for-getServer-singleton.patch index 92d2b01369..a829f55f37 100644 --- a/Spigot-Server-Patches/0145-remove-null-possibility-for-getServer-singleton.patch +++ b/Spigot-Server-Patches/0144-remove-null-possibility-for-getServer-singleton.patch @@ -1,4 +1,4 @@ -From 059294d9f3416fec8a01bd061149ba6409d3bb66 Mon Sep 17 00:00:00 2001 +From 1a88acf422cd4489b93e32ed7c0d00c8b28c2588 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,7 +6,7 @@ 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 e1c0c0b..ec9f037 100644 +index 1347ce2..6cc02d5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -54,6 +54,7 @@ import co.aikar.timings.MinecraftTimings; // Paper @@ -25,7 +25,7 @@ index e1c0c0b..ec9f037 100644 io.netty.util.ResourceLeakDetector.setEnabled( false ); // Spigot - disable this.e = proxy; this.U = yggdrasilauthenticationservice; -@@ -1591,7 +1593,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -1601,7 +1603,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs // CraftBukkit start @Deprecated public static MinecraftServer getServer() { @@ -35,5 +35,5 @@ index e1c0c0b..ec9f037 100644 // CraftBukkit end -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0146-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/Spigot-Server-Patches/0145-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 94% rename from Spigot-Server-Patches/0146-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to Spigot-Server-Patches/0145-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index 96ec3d56b7..18d91bc94f 100644 --- a/Spigot-Server-Patches/0146-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/Spigot-Server-Patches/0145-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -1,4 +1,4 @@ -From 6c301c0cf944d0d47e82f3b9a8b8eaf78e62dcd4 Mon Sep 17 00:00:00 2001 +From 7968a15fb8ee01b65f1781e8683c7931308e3050 Mon Sep 17 00:00:00 2001 From: Aikar 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 0f73fcf..696f21f 100644 +index cddc7f4..6b0af31 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -589,6 +589,12 @@ public abstract class EntityHuman extends EntityLiving { +@@ -594,6 +594,12 @@ public abstract class EntityHuman extends EntityLiving { return null; } // CraftBukkit end @@ -30,7 +30,7 @@ index 0f73fcf..696f21f 100644 ItemStack itemstack1 = this.a(entityitem); diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 6c8da79..38e88d8 100644 +index 413925e..f505e3c 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -90,11 +90,11 @@ public class EntityTrackerEntry { @@ -48,10 +48,10 @@ index 6c8da79..38e88d8 100644 Iterator iterator = this.trackedPlayers.iterator(); // CraftBukkit diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 23b342b..6c67062 100644 +index f15178a..8d99b83 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1144,6 +1144,7 @@ public abstract class World implements IBlockAccess { +@@ -1148,6 +1148,7 @@ public abstract class World implements IBlockAccess { { if ( iter.next().trackee == entity ) { @@ -60,12 +60,12 @@ index 23b342b..6c67062 100644 } } diff --git a/src/main/java/net/minecraft/server/WorldMap.java b/src/main/java/net/minecraft/server/WorldMap.java -index 7f604ca..e3e56f3 100644 +index 79a4927..d5707bf 100644 --- a/src/main/java/net/minecraft/server/WorldMap.java +++ b/src/main/java/net/minecraft/server/WorldMap.java @@ -27,6 +27,7 @@ public class WorldMap extends PersistentBase { public List h = Lists.newArrayList(); - public Map j = Maps.newHashMap(); // Spigot + public final Map j = Maps.newHashMap(); // Spigot public Map decorations = Maps.newLinkedHashMap(); // Spigot + private org.bukkit.craftbukkit.map.RenderData vanillaRender = new org.bukkit.craftbukkit.map.RenderData(); // Paper @@ -116,7 +116,7 @@ index 7f604ca..e3e56f3 100644 + // Paper stop public final EntityHuman trackee; private boolean d = true; - private int e = 0; + private int e; @@ -288,9 +307,12 @@ public class WorldMap extends PersistentBase { public Packet a(ItemStack itemstack) { @@ -145,5 +145,5 @@ index 256a131..5768cd5 100644 public RenderData() { -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0147-LootTable-API-Replenishable-Lootables-Feature.patch b/Spigot-Server-Patches/0146-LootTable-API-Replenishable-Lootables-Feature.patch similarity index 98% rename from Spigot-Server-Patches/0147-LootTable-API-Replenishable-Lootables-Feature.patch rename to Spigot-Server-Patches/0146-LootTable-API-Replenishable-Lootables-Feature.patch index d78773e421..3e7c243b18 100644 --- a/Spigot-Server-Patches/0147-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/Spigot-Server-Patches/0146-LootTable-API-Replenishable-Lootables-Feature.patch @@ -1,4 +1,4 @@ -From 3201435271bb84379a61d81f65733d829bff08da Mon Sep 17 00:00:00 2001 +From 744f82fb919157bf90a78cf709d2e8323562f2d1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 1 May 2016 21:19:14 -0400 Subject: [PATCH] LootTable API & Replenishable Lootables Feature @@ -418,7 +418,7 @@ index 0000000..01c2713 + } +} diff --git a/src/main/java/net/minecraft/server/EntityMinecartContainer.java b/src/main/java/net/minecraft/server/EntityMinecartContainer.java -index 19f9eb6..9162348 100644 +index d0c577d..b808716 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartContainer.java +++ b/src/main/java/net/minecraft/server/EntityMinecartContainer.java @@ -5,17 +5,21 @@ import javax.annotation.Nullable; @@ -445,7 +445,7 @@ index 19f9eb6..9162348 100644 // CraftBukkit start public List transaction = new java.util.ArrayList(); -@@ -141,12 +145,13 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -146,12 +150,13 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp protected void b(NBTTagCompound nbttagcompound) { super.b(nbttagcompound); @@ -460,7 +460,7 @@ index 19f9eb6..9162348 100644 NBTTagList nbttaglist = new NBTTagList(); for (int i = 0; i < this.items.length; ++i) { -@@ -167,10 +172,11 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -172,10 +177,11 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp protected void a(NBTTagCompound nbttagcompound) { super.a(nbttagcompound); this.items = new ItemStack[this.getSize()]; @@ -473,7 +473,7 @@ index 19f9eb6..9162348 100644 NBTTagList nbttaglist = nbttagcompound.getList("Items", 10); for (int i = 0; i < nbttaglist.size(); ++i) { -@@ -228,10 +234,10 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -233,10 +239,10 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp } public void f(@Nullable EntityHuman entityhuman) { @@ -486,7 +486,7 @@ index 19f9eb6..9162348 100644 Random random; if (this.d == 0L) { -@@ -260,12 +266,52 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp +@@ -265,12 +271,52 @@ public abstract class EntityMinecartContainer extends EntityMinecartAbstract imp } @@ -540,7 +540,7 @@ index 19f9eb6..9162348 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/TileEntityLootable.java b/src/main/java/net/minecraft/server/TileEntityLootable.java -index 3dc58bf..d36aed4 100644 +index ef81867..3b42152 100644 --- a/src/main/java/net/minecraft/server/TileEntityLootable.java +++ b/src/main/java/net/minecraft/server/TileEntityLootable.java @@ -1,43 +1,49 @@ @@ -562,7 +562,7 @@ index 3dc58bf..d36aed4 100644 public TileEntityLootable() {} - protected boolean d(NBTTagCompound nbttagcompound) { + protected boolean c(NBTTagCompound nbttagcompound) { + lootableData.loadNbt(nbttagcompound); // Paper if (nbttagcompound.hasKeyOfType("LootTable", 8)) { this.m = new MinecraftKey(nbttagcompound.getString("LootTable")); @@ -574,7 +574,7 @@ index 3dc58bf..d36aed4 100644 } } - protected boolean e(NBTTagCompound nbttagcompound) { + protected boolean d(NBTTagCompound nbttagcompound) { + lootableData.saveNbt(nbttagcompound); // Paper if (this.m != null) { nbttagcompound.setString("LootTable", this.m.toString()); diff --git a/Spigot-Server-Patches/0148-Do-not-load-chunks-for-pathfinding.patch b/Spigot-Server-Patches/0147-Do-not-load-chunks-for-pathfinding.patch similarity index 89% rename from Spigot-Server-Patches/0148-Do-not-load-chunks-for-pathfinding.patch rename to Spigot-Server-Patches/0147-Do-not-load-chunks-for-pathfinding.patch index 33434d06c3..3f50aba78f 100644 --- a/Spigot-Server-Patches/0148-Do-not-load-chunks-for-pathfinding.patch +++ b/Spigot-Server-Patches/0147-Do-not-load-chunks-for-pathfinding.patch @@ -1,4 +1,4 @@ -From c410b547a8bf8a5fcb80ce9e2717d8219d1edc3d Mon Sep 17 00:00:00 2001 +From 968f37aa591a3ac4374f281aa5ecda4ca6d93f6f Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Jan 2016 00:13:19 -0500 Subject: [PATCH] Do not load chunks for pathfinding @@ -18,5 +18,5 @@ index a8fd64c..11c11cf 100644 } -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0149-Entity-Tracking-Improvements.patch b/Spigot-Server-Patches/0148-Entity-Tracking-Improvements.patch similarity index 93% rename from Spigot-Server-Patches/0149-Entity-Tracking-Improvements.patch rename to Spigot-Server-Patches/0148-Entity-Tracking-Improvements.patch index ecab32f5cd..53278a150e 100644 --- a/Spigot-Server-Patches/0149-Entity-Tracking-Improvements.patch +++ b/Spigot-Server-Patches/0148-Entity-Tracking-Improvements.patch @@ -1,4 +1,4 @@ -From 918008d4358443f08f3da80724ad524c25c1f4eb Mon Sep 17 00:00:00 2001 +From 4d16dd81b9eaf63162d0a661336c4e5afbab6655 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 17 Jun 2013 01:24:00 -0400 Subject: [PATCH] Entity Tracking Improvements @@ -7,7 +7,7 @@ If any part of a Vehicle/Passenger relationship is visible to a player, send all passenger/vehicles to the player in the chain. diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 2374a35..02a1c25 100644 +index 0dc482f..e4a8271 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -51,6 +51,7 @@ public abstract class Entity implements ICommandListener { @@ -19,7 +19,7 @@ index 2374a35..02a1c25 100644 if (bukkitEntity == null) { bukkitEntity = CraftEntity.getEntity(world.getServer(), this); diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java -index 38e88d8..a783ecb 100644 +index f505e3c..b97769f 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -49,6 +49,7 @@ public class EntityTrackerEntry { @@ -30,7 +30,7 @@ index 38e88d8..a783ecb 100644 this.tracker = entity; this.e = i; this.f = j; -@@ -440,17 +441,59 @@ public class EntityTrackerEntry { +@@ -438,17 +439,59 @@ public class EntityTrackerEntry { this.tracker.b(entityplayer); entityplayer.d(this.tracker); @@ -90,7 +90,7 @@ index 38e88d8..a783ecb 100644 double d0 = entityplayer.locX - (double) this.xLoc / 4096.0D; double d1 = entityplayer.locZ - (double) this.zLoc / 4096.0D; int i = Math.min(this.e, this.f); -@@ -583,6 +626,7 @@ public class EntityTrackerEntry { +@@ -581,6 +624,7 @@ public class EntityTrackerEntry { this.trackedPlayers.remove(entityplayer); this.tracker.c(entityplayer); entityplayer.c(this.tracker); @@ -99,5 +99,5 @@ index 38e88d8..a783ecb 100644 } -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0150-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/Spigot-Server-Patches/0149-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch similarity index 93% rename from Spigot-Server-Patches/0150-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch rename to Spigot-Server-Patches/0149-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch index 93c5366975..fa5138bada 100644 --- a/Spigot-Server-Patches/0150-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch +++ b/Spigot-Server-Patches/0149-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch @@ -1,11 +1,11 @@ -From 96b982b083de4b5304dcc0defbce9d2d5a32d69e Mon Sep 17 00:00:00 2001 +From 6cb0cf10c7d0ac3ff18fe0801358a1d02b1cb2f9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 7 May 2016 23:33:08 -0400 Subject: [PATCH] Don't save empty scoreboard teams to scoreboard.dat diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index e234c41..c0b6bf1 100644 +index 24fb01c..058720f 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 { @@ -31,5 +31,5 @@ index 230004b..62752f8 100644 nbttagcompound.setString("Name", scoreboardteam.getName()); -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0151-Do-not-mark-chunks-as-active-for-neighbor-updates.patch b/Spigot-Server-Patches/0150-Do-not-mark-chunks-as-active-for-neighbor-updates.patch similarity index 97% rename from Spigot-Server-Patches/0151-Do-not-mark-chunks-as-active-for-neighbor-updates.patch rename to Spigot-Server-Patches/0150-Do-not-mark-chunks-as-active-for-neighbor-updates.patch index c4ddd70085..e6c8e9a22a 100644 --- a/Spigot-Server-Patches/0151-Do-not-mark-chunks-as-active-for-neighbor-updates.patch +++ b/Spigot-Server-Patches/0150-Do-not-mark-chunks-as-active-for-neighbor-updates.patch @@ -1,4 +1,4 @@ -From a7138126f853f5b09a48a0e348dbaf7dd93c39a8 Mon Sep 17 00:00:00 2001 +From 40c1a13e6e107f3e86878c30efc65f75fd71c8a4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 12 May 2016 01:55:17 -0400 Subject: [PATCH] Do not mark chunks as active for neighbor updates @@ -6,10 +6,10 @@ Subject: [PATCH] Do not mark chunks as active for neighbor updates Fixes chunk unload issues diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 904141a..d7b9581 100644 +index ffd2a26..bb8fe9c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -991,25 +991,25 @@ public class Chunk { +@@ -967,25 +967,25 @@ public class Chunk { public void loadNearby(IChunkProvider ichunkprovider, ChunkGenerator chunkgenerator) { world.timings.syncChunkLoadPostTimer.startTiming(); // Spigot @@ -66,7 +66,7 @@ index f8905b4..6d1b98b 100644 neighbor.setNeighborUnloaded(-x, -z); chunk.setNeighborUnloaded(x, z); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6a3e939..b1a7435 100644 +index d822cb1..9335cef 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -241,7 +241,7 @@ public class CraftWorld implements World { @@ -109,5 +109,5 @@ index 7b61b14..7752b50 100644 neighbor.setNeighborLoaded(-x, -z); chunk.setNeighborLoaded(x, z); -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0152-Fix-Chunk-Unload-Queue-Issues.patch b/Spigot-Server-Patches/0151-Fix-Chunk-Unload-Queue-Issues.patch similarity index 94% rename from Spigot-Server-Patches/0152-Fix-Chunk-Unload-Queue-Issues.patch rename to Spigot-Server-Patches/0151-Fix-Chunk-Unload-Queue-Issues.patch index b5d2fc282c..083ef4716d 100644 --- a/Spigot-Server-Patches/0152-Fix-Chunk-Unload-Queue-Issues.patch +++ b/Spigot-Server-Patches/0151-Fix-Chunk-Unload-Queue-Issues.patch @@ -1,4 +1,4 @@ -From 11580ee1b1f7b4c824750e7bc35e86acb15e21f5 Mon Sep 17 00:00:00 2001 +From 25ce57966db2f0d986068b1a966c4d804de9dfaf Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 12 May 2016 02:03:56 -0400 Subject: [PATCH] Fix Chunk Unload Queue Issues @@ -9,7 +9,7 @@ has not resolved all the bugs with the changes. This patch fixes known issues and really should be applied by Spigot team. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index d7b9581..e3cc816 100644 +index bb8fe9c..774077e 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -47,7 +47,7 @@ public class Chunk { @@ -34,7 +34,7 @@ index 6d1b98b..4a2cad6 100644 ChunkUnloadEvent event = new ChunkUnloadEvent(chunk.bukkitChunk); this.world.getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 03dae89..58f5141 100644 +index 9335cef..6517e5a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -303,6 +303,9 @@ public class CraftWorld implements World { @@ -56,7 +56,7 @@ index 03dae89..58f5141 100644 } private void chunkLoadPostProcess(net.minecraft.server.Chunk chunk, int cx, int cz) { -@@ -1548,7 +1551,7 @@ public class CraftWorld implements World { +@@ -1550,7 +1553,7 @@ public class CraftWorld implements World { } // Already unloading? diff --git a/Spigot-Server-Patches/0153-System-property-for-disabling-watchdoge.patch b/Spigot-Server-Patches/0152-System-property-for-disabling-watchdoge.patch similarity index 91% rename from Spigot-Server-Patches/0153-System-property-for-disabling-watchdoge.patch rename to Spigot-Server-Patches/0152-System-property-for-disabling-watchdoge.patch index f9c11dca56..6ba4d5cb50 100644 --- a/Spigot-Server-Patches/0153-System-property-for-disabling-watchdoge.patch +++ b/Spigot-Server-Patches/0152-System-property-for-disabling-watchdoge.patch @@ -1,4 +1,4 @@ -From 6d579c739f7aa7810454f8abf134194f1cc30baf Mon Sep 17 00:00:00 2001 +From 0d3bf0df3f420a3ff39755db792a998c5dc4450e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 12 May 2016 23:02:58 -0500 Subject: [PATCH] System property for disabling watchdoge @@ -18,5 +18,5 @@ index 3ed983c..fb57e0d 100644 Logger log = Bukkit.getServer().getLogger(); log.log( Level.SEVERE, "The server has stopped responding!" ); -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0154-Optimize-EAR.patch b/Spigot-Server-Patches/0153-Optimize-EAR.patch similarity index 95% rename from Spigot-Server-Patches/0154-Optimize-EAR.patch rename to Spigot-Server-Patches/0153-Optimize-EAR.patch index 050f106f0c..0a244c62f4 100644 --- a/Spigot-Server-Patches/0154-Optimize-EAR.patch +++ b/Spigot-Server-Patches/0153-Optimize-EAR.patch @@ -1,11 +1,11 @@ -From bd4875040e0063bc788a902ae367ab7bfaed9aec Mon Sep 17 00:00:00 2001 +From 91c9a0d66c1c833712818903da7ca39103a315b1 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 13 May 2016 01:38:06 -0400 Subject: [PATCH] Optimize EAR diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index ce421eb..a7c4437 100644 +index c4ed64a..4a4d64e 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -2,6 +2,8 @@ package org.spigotmc; @@ -65,5 +65,5 @@ index ce421eb..a7c4437 100644 } } -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0155-Optimize-UserCache-Thread-Safe.patch b/Spigot-Server-Patches/0154-Optimize-UserCache-Thread-Safe.patch similarity index 94% rename from Spigot-Server-Patches/0155-Optimize-UserCache-Thread-Safe.patch rename to Spigot-Server-Patches/0154-Optimize-UserCache-Thread-Safe.patch index e49988631b..7c3c76479b 100644 --- a/Spigot-Server-Patches/0155-Optimize-UserCache-Thread-Safe.patch +++ b/Spigot-Server-Patches/0154-Optimize-UserCache-Thread-Safe.patch @@ -1,4 +1,4 @@ -From 09a58e2b714a1361da3ed4ac26506e12abc56af9 Mon Sep 17 00:00:00 2001 +From 4f45714f089f8ea9d03d37857b56eca95eb3a5be 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 ec9f037..7e7ec23 100644 +index 6cc02d5..ebc4116 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -497,7 +497,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs +@@ -504,7 +504,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs // Spigot start if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { LOGGER.info("Saving usercache.json"); @@ -23,7 +23,7 @@ index ec9f037..7e7ec23 100644 // Spigot end } diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java -index 5cc2731..2420112 100644 +index ccfc755..989758c 100644 --- a/src/main/java/net/minecraft/server/UserCache.java +++ b/src/main/java/net/minecraft/server/UserCache.java @@ -108,7 +108,7 @@ public class UserCache { @@ -96,5 +96,5 @@ index 5cc2731..2420112 100644 } -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0156-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch b/Spigot-Server-Patches/0155-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch similarity index 91% rename from Spigot-Server-Patches/0156-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch rename to Spigot-Server-Patches/0155-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch index fcd519ea67..2fe563a556 100644 --- a/Spigot-Server-Patches/0156-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch +++ b/Spigot-Server-Patches/0155-MC-99914-ensure-EntityItem-loads-before-EntityPotion.patch @@ -1,11 +1,11 @@ -From 6b7b2b272be834ecd1ddb2fd5ae25331c995a240 Mon Sep 17 00:00:00 2001 +From d9f34cd060344c711f49ab18aa2ceb2595ac1aa2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 22:54:36 -0400 Subject: [PATCH] MC-99914 - ensure EntityItem loads before EntityPotion diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java -index 9618eaf..0b11fd7 100644 +index 234c547..691a78b 100644 --- a/src/main/java/net/minecraft/server/EntityItem.java +++ b/src/main/java/net/minecraft/server/EntityItem.java @@ -41,6 +41,7 @@ public class EntityItem extends Entity { @@ -17,7 +17,7 @@ index 9618eaf..0b11fd7 100644 return false; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7e7ec23..8df9f38 100644 +index ebc4116..38865e5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -136,6 +136,7 @@ public abstract class MinecraftServer implements Runnable, ICommandListener, IAs @@ -29,5 +29,5 @@ index 7e7ec23..8df9f38 100644 if (System.console() == null && System.getProperty("jline.terminal") == null) { System.setProperty("jline.terminal", "jline.UnsupportedTerminal"); -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0157-Avoid-blocking-on-Network-Manager-creation.patch b/Spigot-Server-Patches/0156-Avoid-blocking-on-Network-Manager-creation.patch similarity index 95% rename from Spigot-Server-Patches/0157-Avoid-blocking-on-Network-Manager-creation.patch rename to Spigot-Server-Patches/0156-Avoid-blocking-on-Network-Manager-creation.patch index b37a9f285f..b52a58325e 100644 --- a/Spigot-Server-Patches/0157-Avoid-blocking-on-Network-Manager-creation.patch +++ b/Spigot-Server-Patches/0156-Avoid-blocking-on-Network-Manager-creation.patch @@ -1,4 +1,4 @@ -From 3e7863928d22425c7f33221ee729bebf39f50731 Mon Sep 17 00:00:00 2001 +From 157a90c294c10d13c2d7f42696ea4b051ba7aed7 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 16 May 2016 23:19:16 -0400 Subject: [PATCH] Avoid blocking on Network Manager creation @@ -6,7 +6,7 @@ Subject: [PATCH] Avoid blocking on Network Manager creation Per Paper issue 294 diff --git a/src/main/java/net/minecraft/server/ServerConnection.java b/src/main/java/net/minecraft/server/ServerConnection.java -index 4ab28e6..08634c3 100644 +index 5b0488a..25867be 100644 --- a/src/main/java/net/minecraft/server/ServerConnection.java +++ b/src/main/java/net/minecraft/server/ServerConnection.java @@ -60,6 +60,17 @@ public class ServerConnection { @@ -45,5 +45,5 @@ index 4ab28e6..08634c3 100644 if ( org.spigotmc.SpigotConfig.playerShuffle > 0 && MinecraftServer.currentTick % org.spigotmc.SpigotConfig.playerShuffle == 0 ) { -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0158-Optional-old-TNT-cannon-behaviors.patch b/Spigot-Server-Patches/0157-Optional-old-TNT-cannon-behaviors.patch similarity index 95% rename from Spigot-Server-Patches/0158-Optional-old-TNT-cannon-behaviors.patch rename to Spigot-Server-Patches/0157-Optional-old-TNT-cannon-behaviors.patch index e0a910bfbc..fa71ce0077 100644 --- a/Spigot-Server-Patches/0158-Optional-old-TNT-cannon-behaviors.patch +++ b/Spigot-Server-Patches/0157-Optional-old-TNT-cannon-behaviors.patch @@ -1,4 +1,4 @@ -From 2c11f846cd0e886c17f545a6f3f6b589bf7cb3d7 Mon Sep 17 00:00:00 2001 +From 00bc53747f941816d2efa36de8e48ebeff52d4b0 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 22 May 2016 20:20:55 -0500 Subject: [PATCH] Optional old TNT cannon behaviors @@ -62,7 +62,7 @@ index f422843..8abe359 100644 int i = aenumdirection.length; diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java -index 712b0c0..e2f4f44 100644 +index 7aa5986..7866bd9 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java @@ -53,6 +53,12 @@ public class BlockRedstoneTorch extends BlockTorch { @@ -161,7 +161,7 @@ index 93671ed..661c4f9 100644 int i = aenumdirection.length; diff --git a/src/main/java/net/minecraft/server/BlockTNT.java b/src/main/java/net/minecraft/server/BlockTNT.java -index c5022e2..805766d 100644 +index 4e5b437..084d4ca 100644 --- a/src/main/java/net/minecraft/server/BlockTNT.java +++ b/src/main/java/net/minecraft/server/BlockTNT.java @@ -31,7 +31,11 @@ public class BlockTNT extends Block { @@ -189,9 +189,9 @@ index c5022e2..805766d 100644 + // Paper end world.addEntity(entitytntprimed); - world.a((EntityHuman) null, entitytntprimed.locX, entitytntprimed.locY, entitytntprimed.locZ, SoundEffects.gk, SoundCategory.BLOCKS, 1.0F, 1.0F); + world.a((EntityHuman) null, entitytntprimed.locX, entitytntprimed.locY, entitytntprimed.locZ, SoundEffects.gz, SoundCategory.BLOCKS, 1.0F, 1.0F); diff --git a/src/main/java/net/minecraft/server/DispenserRegistry.java b/src/main/java/net/minecraft/server/DispenserRegistry.java -index 4e31ab1..bb58134 100644 +index 8530952..b50e3d6 100644 --- a/src/main/java/net/minecraft/server/DispenserRegistry.java +++ b/src/main/java/net/minecraft/server/DispenserRegistry.java @@ -497,7 +497,11 @@ public class DispenserRegistry { @@ -208,23 +208,23 @@ index 4e31ab1..bb58134 100644 world.getServer().getPluginManager().callEvent(event); } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 02a1c25..d54a30b 100644 +index ef97ad1..9a08388 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java -@@ -960,6 +960,12 @@ public abstract class Entity implements ICommandListener { +@@ -967,6 +967,12 @@ public abstract class Entity implements ICommandListener { } - public boolean aj() { + public boolean ak() { + // Paper start - OBFHELPER + return this.doWaterMovement(); + } + + public boolean doWaterMovement() { + // Paper end - if (this.bz() instanceof EntityBoat) { + if (this.bB() instanceof EntityBoat) { this.inWater = false; } else if (this.world.a(this.getBoundingBox().grow(0.0D, -0.4000000059604645D, 0.0D).shrink(0.001D), Material.WATER, this)) { -@@ -1150,6 +1156,12 @@ public abstract class Entity implements ICommandListener { +@@ -1168,6 +1174,12 @@ public abstract class Entity implements ICommandListener { } public double f(double d0, double d1, double d2) { @@ -237,7 +237,7 @@ index 02a1c25..d54a30b 100644 double d3 = this.locX - d0; double d4 = this.locY - d1; double d5 = this.locZ - d2; -@@ -1204,6 +1216,12 @@ public abstract class Entity implements ICommandListener { +@@ -1222,6 +1234,12 @@ public abstract class Entity implements ICommandListener { } public void g(double d0, double d1, double d2) { @@ -250,10 +250,10 @@ index 02a1c25..d54a30b 100644 this.motX += d0; this.motY += d1; this.motZ += d2; -@@ -2311,6 +2329,12 @@ public abstract class Entity implements ICommandListener { +@@ -2340,6 +2358,12 @@ public abstract class Entity implements ICommandListener { } - public boolean be() { + public boolean bg() { + // Paper start - OBFHELPER + return this.pushedByWater(); + } @@ -264,11 +264,11 @@ index 02a1c25..d54a30b 100644 } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index 4c14d75..a5d8f02 100644 +index bab3cd6..491bb11 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java -@@ -274,4 +274,19 @@ public class EntityFallingBlock extends Entity { - public boolean bs() { +@@ -279,4 +279,19 @@ public class EntityFallingBlock extends Entity { + public boolean bu() { return true; } + @@ -288,7 +288,7 @@ index 4c14d75..a5d8f02 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java -index 1113b1c..436bbb8 100644 +index 86f3f1f..3f4e21d 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -30,6 +30,7 @@ public class EntityTNTPrimed extends Entity { @@ -299,7 +299,7 @@ index 1113b1c..436bbb8 100644 } protected void i() { -@@ -119,7 +120,7 @@ public class EntityTNTPrimed extends Entity { +@@ -122,7 +123,7 @@ public class EntityTNTPrimed extends Entity { } public float getHeadHeight() { @@ -308,7 +308,7 @@ index 1113b1c..436bbb8 100644 } public void setFuseTicks(int i) { -@@ -141,4 +142,58 @@ public class EntityTNTPrimed extends Entity { +@@ -144,4 +145,58 @@ public class EntityTNTPrimed extends Entity { public int getFuseTicks() { return this.c; } @@ -368,7 +368,7 @@ index 1113b1c..436bbb8 100644 + // Paper end } diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index 28261c5..275e044 100644 +index 6cdc3a3..0b9bc91 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -148,9 +148,15 @@ public class Explosion { diff --git a/Spigot-Server-Patches/0159-Faster-redstone-torch-rapid-clock-removal.patch b/Spigot-Server-Patches/0158-Faster-redstone-torch-rapid-clock-removal.patch similarity index 93% rename from Spigot-Server-Patches/0159-Faster-redstone-torch-rapid-clock-removal.patch rename to Spigot-Server-Patches/0158-Faster-redstone-torch-rapid-clock-removal.patch index bea4b7e1be..79af7715d7 100644 --- a/Spigot-Server-Patches/0159-Faster-redstone-torch-rapid-clock-removal.patch +++ b/Spigot-Server-Patches/0158-Faster-redstone-torch-rapid-clock-removal.patch @@ -1,4 +1,4 @@ -From 335b62827ed9942cf0a7482071634360bb5c4fa1 Mon Sep 17 00:00:00 2001 +From 2ce7ab8e6ae1908987a71ac6afe4d35b1c75e356 Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Mon, 23 May 2016 12:12:37 +0200 Subject: [PATCH] Faster redstone torch rapid clock removal @@ -6,7 +6,7 @@ Subject: [PATCH] Faster redstone torch rapid clock removal Only resize the the redstone torch list once, since resizing arrays / lists is costly diff --git a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java -index e2f4f44..cf24c45 100644 +index 7866bd9..606f982 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneTorch.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneTorch.java @@ -118,9 +118,17 @@ public class BlockRedstoneTorch extends BlockTorch { @@ -39,5 +39,5 @@ index e2f4f44..cf24c45 100644 public RedstoneUpdateInfo(BlockPosition blockposition, long i) { this.a = blockposition; -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0160-Ensure-Chunks-never-ever-load-async.patch b/Spigot-Server-Patches/0159-Ensure-Chunks-never-ever-load-async.patch similarity index 96% rename from Spigot-Server-Patches/0160-Ensure-Chunks-never-ever-load-async.patch rename to Spigot-Server-Patches/0159-Ensure-Chunks-never-ever-load-async.patch index 21e287ce21..ca948487b0 100644 --- a/Spigot-Server-Patches/0160-Ensure-Chunks-never-ever-load-async.patch +++ b/Spigot-Server-Patches/0159-Ensure-Chunks-never-ever-load-async.patch @@ -1,4 +1,4 @@ -From fe9ff05b1c9d84e8894f5034991ebdb21d35e783 Mon Sep 17 00:00:00 2001 +From e048fd363663d1dc5720b0e4ba51524483d2ef34 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 27 May 2016 21:41:26 -0400 Subject: [PATCH] Ensure Chunks never ever load async @@ -42,5 +42,5 @@ index 7752b50..4d2b371 100644 return; } -- -2.7.4 (Apple Git-66) +2.8.3 diff --git a/Spigot-Server-Patches/0161-Add-server-name-parameter.patch b/Spigot-Server-Patches/0160-Add-server-name-parameter.patch similarity index 93% rename from Spigot-Server-Patches/0161-Add-server-name-parameter.patch rename to Spigot-Server-Patches/0160-Add-server-name-parameter.patch index b54a526c03..608449d889 100644 --- a/Spigot-Server-Patches/0161-Add-server-name-parameter.patch +++ b/Spigot-Server-Patches/0160-Add-server-name-parameter.patch @@ -1,4 +1,4 @@ -From 2f122ad5d0c01346958f8df83947936b53b75236 Mon Sep 17 00:00:00 2001 +From 2cb0af5560d8daa6198867a6129a7777d60baffa Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Sat, 28 May 2016 16:54:03 +0200 Subject: [PATCH] Add server-name parameter @@ -24,5 +24,5 @@ index 979adad..2aad1e8 100644 }; -- -1.9.1 +2.8.3 diff --git a/Spigot-Server-Patches/0162-Re-add-tileEntityTick.startTiming-Spigot-removed.patch b/Spigot-Server-Patches/0161-Re-add-tileEntityTick.startTiming-Spigot-removed.patch similarity index 82% rename from Spigot-Server-Patches/0162-Re-add-tileEntityTick.startTiming-Spigot-removed.patch rename to Spigot-Server-Patches/0161-Re-add-tileEntityTick.startTiming-Spigot-removed.patch index f8c3eb51a7..d4c7dc85cf 100644 --- a/Spigot-Server-Patches/0162-Re-add-tileEntityTick.startTiming-Spigot-removed.patch +++ b/Spigot-Server-Patches/0161-Re-add-tileEntityTick.startTiming-Spigot-removed.patch @@ -1,14 +1,14 @@ -From 98f29043703188f8036aede45f8ee14e3324e93d Mon Sep 17 00:00:00 2001 +From d30566fe997995453f1c440dce49b2320444ebe9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 27 May 2016 22:06:35 -0400 Subject: [PATCH] Re-add tileEntityTick.startTiming Spigot removed diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 6c67062..e70aa8e 100644 +index 8d99b83..9f4b823 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1551,6 +1551,7 @@ public abstract class World implements IBlockAccess { +@@ -1554,6 +1554,7 @@ public abstract class World implements IBlockAccess { timings.entityTick.stopTiming(); // Spigot this.methodProfiler.c("blockEntities"); diff --git a/Spigot-Server-Patches/0163-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch b/Spigot-Server-Patches/0162-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch similarity index 90% rename from Spigot-Server-Patches/0163-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch rename to Spigot-Server-Patches/0162-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch index c8450a2258..254f125a3e 100644 --- a/Spigot-Server-Patches/0163-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch +++ b/Spigot-Server-Patches/0162-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch @@ -1,4 +1,4 @@ -From dfa68f3709355d61d9a72b148bbe0e3cd545e1e0 Mon Sep 17 00:00:00 2001 +From 2c8633e5149ccc9a84ef9df29eb625f29c4bd4bf Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 31 May 2016 22:53:50 -0400 Subject: [PATCH] Only send Dragon/Wither Death sounds to same world @@ -6,11 +6,11 @@ Subject: [PATCH] Only send Dragon/Wither Death sounds to same world Also fix view distance lookup diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index be898c2..86eddc8 100644 +index 5c5452d..166d893 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java -@@ -555,8 +555,12 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo - if (this.bG == 1) { +@@ -560,8 +560,12 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo + if (this.bH == 1) { // CraftBukkit start - Use relative location for far away sounds // this.world.a(1028, new BlockPosition(this), 0); - int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16; @@ -25,10 +25,10 @@ index be898c2..86eddc8 100644 double deltaZ = this.locZ - player.locZ; double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java -index d8c366b..af86437 100644 +index c7031fc..1556a24 100644 --- a/src/main/java/net/minecraft/server/EntityWither.java +++ b/src/main/java/net/minecraft/server/EntityWither.java -@@ -198,8 +198,12 @@ public class EntityWither extends EntityMonster implements IRangedEntity { +@@ -202,8 +202,12 @@ public class EntityWither extends EntityMonster implements IRangedEntity { // CraftBukkit start - Use relative location for far away sounds // this.world.a(1023, new BlockPosition(this), 0); diff --git a/Spigot-Server-Patches/0164-Fix-FallingBlocks-being-stuck-on-fences.patch b/Spigot-Server-Patches/0163-Fix-FallingBlocks-being-stuck-on-fences.patch similarity index 92% rename from Spigot-Server-Patches/0164-Fix-FallingBlocks-being-stuck-on-fences.patch rename to Spigot-Server-Patches/0163-Fix-FallingBlocks-being-stuck-on-fences.patch index 8402132df1..467df0fd1c 100644 --- a/Spigot-Server-Patches/0164-Fix-FallingBlocks-being-stuck-on-fences.patch +++ b/Spigot-Server-Patches/0163-Fix-FallingBlocks-being-stuck-on-fences.patch @@ -1,4 +1,4 @@ -From a96203f8a887b86b0717f8c24bbb4d5ee3821c21 Mon Sep 17 00:00:00 2001 +From b1b3aa6f0d4cd08b022930a60c4607dfd6da1185 Mon Sep 17 00:00:00 2001 From: Martin Panzer Date: Fri, 3 Jun 2016 23:13:39 +0200 Subject: [PATCH] Fix FallingBlocks being stuck on fences @@ -11,7 +11,7 @@ We now first check, if if we are already on the ground. if not, we check if the falling block is inside of the hitbox of the block at y - 1. diff --git a/src/main/java/net/minecraft/server/BlockFalling.java b/src/main/java/net/minecraft/server/BlockFalling.java -index e770063..1824587 100644 +index 8f22dab..d3a0d70 100644 --- a/src/main/java/net/minecraft/server/BlockFalling.java +++ b/src/main/java/net/minecraft/server/BlockFalling.java @@ -71,5 +71,11 @@ public class BlockFalling extends Block { @@ -27,7 +27,7 @@ index e770063..1824587 100644 public void a_(World world, BlockPosition blockposition) {} } diff --git a/src/main/java/net/minecraft/server/EntityFallingBlock.java b/src/main/java/net/minecraft/server/EntityFallingBlock.java -index a5d8f02..c0f0b07 100644 +index 491bb11..0d8c438 100644 --- a/src/main/java/net/minecraft/server/EntityFallingBlock.java +++ b/src/main/java/net/minecraft/server/EntityFallingBlock.java @@ -2,7 +2,9 @@ package net.minecraft.server; @@ -40,7 +40,7 @@ index a5d8f02..c0f0b07 100644 import javax.annotation.Nullable; import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit -@@ -95,10 +97,9 @@ public class EntityFallingBlock extends Entity { +@@ -98,10 +100,9 @@ public class EntityFallingBlock extends Entity { blockposition = new BlockPosition(this); if (this.onGround) { IBlockData iblockdata = this.world.getType(blockposition); @@ -53,7 +53,7 @@ index a5d8f02..c0f0b07 100644 } this.motX *= 0.699999988079071D; -@@ -155,6 +156,30 @@ public class EntityFallingBlock extends Entity { +@@ -158,6 +159,30 @@ public class EntityFallingBlock extends Entity { } } @@ -85,5 +85,5 @@ index a5d8f02..c0f0b07 100644 Block block = this.block.getBlock(); -- -1.9.1 +2.8.3 diff --git a/Spigot-Server-Patches/0165-Fix-Potion-Equals-Bug.patch b/Spigot-Server-Patches/0165-Fix-Potion-Equals-Bug.patch deleted file mode 100644 index 280099d38d..0000000000 --- a/Spigot-Server-Patches/0165-Fix-Potion-Equals-Bug.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8804e12da0dc696a8280f2116118f8bbb233374a Mon Sep 17 00:00:00 2001 -From: chickeneer -Date: Wed, 8 Jun 2016 20:39:19 -0400 -Subject: [PATCH] Fix Potion Equals Bug - -Will be in Spigot 1.10, but getting it in for 1.9 users - -diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java -index 5a8b77a..d7d3d92 100644 ---- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java -+++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionUtil.java -@@ -58,13 +58,15 @@ public class CraftPotionUtil { - .build(); - - public static String fromBukkit(PotionData data) { -+ String type; - if (data.isUpgraded()) { -- return upgradeable.get(data.getType()); -+ type = upgradeable.get(data.getType()); -+ } else if (data.isExtended()) { -+ type = extendable.get(data.getType()); -+ } else { -+ type = regular.get(data.getType()); - } -- if (data.isExtended()) { -- return extendable.get(data.getType()); -- } -- return regular.get(data.getType()); -+ return "minecraft:" + type; - } - - public static PotionData toBukkit(String type) { --- -2.8.4 - diff --git a/scripts/importmcdev.sh b/scripts/importmcdev.sh index 1223cf4c77..ffac3728b3 100755 --- a/scripts/importmcdev.sh +++ b/scripts/importmcdev.sh @@ -62,7 +62,6 @@ import NavigationAbstract import NBTTagCompound import NBTTagList import PersistentScoreboard -import PacketPlayInResourcePackStatus import PacketPlayInUseEntity import PacketPlayOutPlayerListHeaderFooter import PacketPlayOutScoreboardTeam diff --git a/work/BuildData b/work/BuildData index 9b100f8a6f..cede5450c9 160000 --- a/work/BuildData +++ b/work/BuildData @@ -1 +1 @@ -Subproject commit 9b100f8a6f0d86b5fd5f22f65dd6dd9eba6547d3 +Subproject commit cede5450c952c76341e047b8d04f9894f16e596d diff --git a/work/Bukkit b/work/Bukkit index c5bf6bc614..a4fe2264e6 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit c5bf6bc614bfd1e119e7fc067ff30cd8e8221cb2 +Subproject commit a4fe2264e678cdc646098df61398ea8a10b0731a diff --git a/work/CraftBukkit b/work/CraftBukkit index 0cd0397a82..885f4dce9e 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 0cd0397a8295992112ad3bf0d37795a04d22503e +Subproject commit 885f4dce9e238040777536ff34b5b7cee76d6d80 diff --git a/work/Spigot b/work/Spigot index 798f32dcaa..da278d16b4 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit 798f32dcaacf2cb2af0d4e17ff0d221dafe141ab +Subproject commit da278d16b469b98f961d0e8fbffe81f274a930db