From a2ad49b22fed8c6e3fb078de52a404460b7ea776 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 8 Dec 2018 05:09:55 -0500 Subject: [PATCH] Update upstream BD/B/CB/S Note to other developers: This commit may require you to wipe your workspace as a result of the changes to BD. --- work/BuildData Submodule work/BuildData f527a8ff..d56672db: > Mappings Update --- work/Bukkit Submodule work/Bukkit 0c1d258bb..db06c80d7: > Add list of entities to EntityTransformEvent > SPIGOT-4347: Add API to allow storing arbitrary values on ItemStacks ---work/CraftBukkit Submodule work/CraftBukkit 6a398ac44..068dab5be: > Enable optional source JAR shading via profile shadeSourcesJar > Use ImmutableList rather than AbstractList for CraftMetaBook > Fix setRecipes(List) not setting Knowledge Book recipes. > Mappings Update > Add list of entities to EntityTransformEvent & move die calls > SPIGOT-4347: Add API to allow storing arbitrary values on ItemStacks > Add Vanilla help to default permissions --- work/Spigot Submodule work/Spigot a1f2566f6..e769fe4d9: > Mappings Update > Rebuild patches --- .../0036-Add-EntityZapEvent.patch | 26 +++--- ...CanPlaceOn-and-CanDestroy-NBT-values.patch | 12 +-- Spigot-Server-Patches/0001-POM-Changes.patch | 13 +-- Spigot-Server-Patches/0003-MC-Dev-fixes.patch | 50 +++++------ Spigot-Server-Patches/0009-Timings-v2.patch | 90 +++++++++---------- ...ctus-and-reed-natural-growth-heights.patch | 14 +-- .../0013-Allow-nerfed-mobs-to-jump.patch | 14 +-- ...-despawn-distances-for-living-entiti.patch | 10 +-- .../0018-Player-affects-spawning-API.patch | 18 ++-- ...nfigurable-top-of-nether-void-damage.patch | 12 +-- ...44-Ensure-commands-are-not-ran-async.patch | 10 +-- ...chunks-are-slime-spawn-chunks-toggle.patch | 10 +-- .../0056-Add-exception-reporting-event.patch | 37 ++++---- .../0060-Complete-resource-pack-API.patch | 10 +-- ...067-Handle-Item-Meta-Inconsistencies.patch | 32 +++---- ...2-Custom-replacement-for-eaten-items.patch | 10 +-- ...th-absorb-values-and-repair-bad-data.patch | 10 +-- .../0078-Optimize-Chunk-Access.patch | 14 +-- ...Location-getType-and-getBlockData-fo.patch | 16 ++-- ...0091-Add-PlayerUseUnknownEntityEvent.patch | 10 +-- ...nilla-per-world-scoreboard-coloring-.patch | 12 +-- .../0102-Configurable-Player-Collision.patch | 10 +-- ...06-Implement-PlayerLocaleChangeEvent.patch | 12 +-- ...unk-Unloads-based-on-Player-Movement.patch | 24 ++--- ...132-Fix-AIOOBE-in-inventory-handling.patch | 8 +- ...onfigurable-packet-in-spam-threshold.patch | 8 +- .../0135-Auto-Save-Improvements.patch | 22 ++--- .../0141-Add-EntityZapEvent.patch | 20 ++--- ...vent-Auto-Save-if-Save-Queue-is-full.patch | 10 +-- .../0144-Chunk-Save-Stats-Debug-Option.patch | 10 +-- .../0147-Optimise-removeQueue.patch | 8 +- ...9-Add-source-to-PlayerExpChangeEvent.patch | 12 +-- .../0152-Add-ProjectileCollideEvent.patch | 20 ++--- ...figurable-Cartographer-Treasure-Maps.patch | 10 +-- ...to-control-if-armour-stands-can-move.patch | 10 +-- ...-option-to-remove-invalid-statistics.patch | 10 +-- ...59-Properly-fix-item-duplication-bug.patch | 10 +-- .../0168-Fix-block-break-desync.patch | 8 +- ...PI-for-Reason-Source-Triggering-play.patch | 30 +++---- .../0170-Cap-Entity-Collisions.patch | 12 +-- ...more-aggressive-in-the-chunk-unload-.patch | 8 +- .../0174-Do-not-let-armorstands-drown.patch | 10 +-- ...ke-parrots-stay-on-shoulders-despite.patch | 12 +-- ...oleAppender-for-console-improvements.patch | 18 ++-- .../0186-Shoulder-Entities-Release-API.patch | 10 +-- .../0190-Fix-Anvil-Level-sync-to-client.patch | 10 +-- ...-a-custom-authentication-servers-dow.patch | 8 +- .../0207-Add-PlayerJumpEvent.patch | 12 +-- ...8-handle-PacketPlayInKeepAlive-async.patch | 8 +- ...nt-protocol-version-and-virtual-host.patch | 16 ++-- ...dEffects-only-to-players-who-can-see.patch | 18 ++-- .../0214-Add-PlayerArmorChangeEvent.patch | 10 +-- .../0231-Add-ArmorStand-Item-Meta.patch | 10 +-- ...r-crits-helps-mitigate-hacked-client.patch | 10 +-- ...l-PortalCreateEvent-for-exit-portals.patch | 26 +++--- ...urable-sprint-interruption-on-attack.patch | 10 +-- ...-allowed-colored-signs-to-be-created.patch | 8 +- ...e-shield-blocking-delay-configurable.patch | 10 +-- ...ent-consumeArrow-and-getArrowItem-AP.patch | 14 +-- ...ivingEntity-Hand-Raised-Item-Use-API.patch | 8 +- ...leHitEvent-to-include-the-BlockFace-.patch | 8 +- ...to-disable-ender-dragon-legacy-check.patch | 29 +++--- .../0282-InventoryCloseEvent-Reason-API.patch | 20 ++--- ...nventory-when-cancelling-PlayerInter.patch | 8 +- ...spawn-if-entity-is-in-a-chunk-schedu.patch | 8 +- ...-more-information-to-Entity.toString.patch | 8 +- .../0297-Duplicate-UUID-Resolve-Option.patch | 16 ++-- ...2-Vanished-players-don-t-have-rights.patch | 16 ++-- .../0306-EntityTransformedEvent.patch | 32 +++---- ...14-Implement-Expanded-ArmorStand-API.patch | 10 +-- .../0317-Add-TNTPrimeEvent.patch | 12 +-- .../0320-Add-hand-to-bucket-events.patch | 18 ++-- ...Allow-disabling-armour-stand-ticking.patch | 34 ++++--- .../0338-Slime-Pathfinder-Events.patch | 28 +++--- .../0344-Add-More-Creeper-API.patch | 10 +-- ...Optimize-getChunkIfLoaded-type-calls.patch | 12 +-- ...-ray-tracing-methods-to-LivingEntity.patch | 20 +---- ...e-attack-cooldown-methods-for-Player.patch | 10 +-- .../0354-Improve-death-events.patch | 24 ++--- ...ent-chunk-loading-from-Fluid-Flowing.patch | 8 +- ...-for-CanPlaceOn-and-CanDestroy-NBT-v.patch | 50 +++++------ ...ent-Mob-AI-Rules-from-Loading-Chunks.patch | 37 +++----- ...-Optimize-and-Fix-ExpiringMap-Issues.patch | 13 ++- ...arseException-in-Entity-and-TE-names.patch | 16 ++-- ...0-Async-Chunk-Loading-and-Generation.patch | 58 ++++++------ .../0372-Optimize-Light-Recalculations.patch | 12 +-- ...h-entity-loss-due-to-unloaded-chunks.patch | 10 +-- ...t-recheck-type-after-setting-a-block.patch | 8 +- .../0375-Fix-Sending-Chunks-to-Client.patch | 12 +-- .../0379-Hook-into-CB-plugin-rewrites.patch | 8 +- ...381-Add-LivingEntity-getTargetEntity.patch | 10 +-- .../0382-Add-sun-related-API.patch | 12 +-- Spigot-Server-Patches/0385-Turtle-API.patch | 29 +++--- .../0392-Add-more-Witch-API.patch | 10 +-- ...event-players-from-moving-into-unloa.patch | 12 +-- ...-Use-EntityTypes-for-living-entities.patch | 84 ++++++++--------- ...t-allow-digging-into-unloaded-chunks.patch | 8 +- .../0407-Optimize-redstone-algorithm.patch | 10 +-- ...entity-dismount-during-teleportation.patch | 18 ++-- .../0409-Book-Size-Limits.patch | 8 +- .../0411-Add-more-Zombie-API.patch | 24 ++--- ...at-which-we-ll-consider-an-attackabl.patch | 8 +- ...Prevent-rayTrace-from-loading-chunks.patch | 14 +-- work/BuildData | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 107 files changed, 852 insertions(+), 878 deletions(-) diff --git a/Spigot-API-Patches/0036-Add-EntityZapEvent.patch b/Spigot-API-Patches/0036-Add-EntityZapEvent.patch index ac371357b1..06b340d8dc 100644 --- a/Spigot-API-Patches/0036-Add-EntityZapEvent.patch +++ b/Spigot-API-Patches/0036-Add-EntityZapEvent.patch @@ -1,4 +1,4 @@ -From d10ee21db91d466d499e140a462b37f04f22c787 Mon Sep 17 00:00:00 2001 +From 2527eb4a36c059f3c42f5fc5dbac73c6021c6d10 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Sun, 16 Oct 2016 23:19:34 -0700 Subject: [PATCH] Add EntityZapEvent @@ -6,10 +6,10 @@ Subject: [PATCH] Add EntityZapEvent diff --git a/src/main/java/com/destroystokyo/paper/event/entity/EntityZapEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/EntityZapEvent.java new file mode 100644 -index 00000000..3547d063 +index 00000000..c8f0bb05 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/entity/EntityZapEvent.java -@@ -0,0 +1,62 @@ +@@ -0,0 +1,63 @@ +package com.destroystokyo.paper.event.entity; + +import org.apache.commons.lang.Validate; @@ -21,6 +21,7 @@ index 00000000..3547d063 +import org.bukkit.event.entity.EntityTransformEvent; + +import javax.annotation.Nonnull; ++import java.util.Collections; + +/** + * Fired when lightning strikes an entity @@ -31,7 +32,7 @@ index 00000000..3547d063 + private final LightningStrike bolt; + + public EntityZapEvent(final Entity entity, @Nonnull final LightningStrike bolt, @Nonnull final Entity replacementEntity) { -+ super(entity, replacementEntity, TransformReason.LIGHTNING); ++ super(entity, Collections.singletonList(replacementEntity), TransformReason.LIGHTNING); + Validate.notNull(bolt); + Validate.notNull(replacementEntity); + this.bolt = bolt; @@ -73,17 +74,18 @@ index 00000000..3547d063 + } +} diff --git a/src/main/java/org/bukkit/event/entity/PigZapEvent.java b/src/main/java/org/bukkit/event/entity/PigZapEvent.java -index 86983676..8dd1e3ce 100644 +index c1d4b30a..de8cad81 100644 --- a/src/main/java/org/bukkit/event/entity/PigZapEvent.java +++ b/src/main/java/org/bukkit/event/entity/PigZapEvent.java -@@ -1,5 +1,6 @@ - package org.bukkit.event.entity; +@@ -2,6 +2,7 @@ package org.bukkit.event.entity; + import java.util.Collections; + import org.bukkit.entity.Entity; +import com.destroystokyo.paper.event.entity.EntityZapEvent; import org.bukkit.entity.LightningStrike; import org.bukkit.entity.Pig; import org.bukkit.entity.PigZombie; -@@ -9,14 +10,14 @@ import org.bukkit.event.HandlerList; +@@ -11,14 +12,14 @@ import org.bukkit.event.HandlerList; /** * Stores data for pigs being zapped */ @@ -96,12 +98,12 @@ index 86983676..8dd1e3ce 100644 private final LightningStrike bolt; public PigZapEvent(final Pig pig, final LightningStrike bolt, final PigZombie pigzombie) { -- super(pig, pigzombie, TransformReason.LIGHTNING); +- super(pig, Collections.singletonList((Entity) pigzombie), TransformReason.LIGHTNING); + super(pig, bolt, pigzombie); this.bolt = bolt; this.pigzombie = pigzombie; } -@@ -55,6 +56,8 @@ public class PigZapEvent extends EntityTransformEvent implements Cancellable { +@@ -57,6 +58,8 @@ public class PigZapEvent extends EntityTransformEvent implements Cancellable { return pigzombie; } @@ -110,7 +112,7 @@ index 86983676..8dd1e3ce 100644 @Override public HandlerList getHandlers() { return handlers; -@@ -63,4 +66,6 @@ public class PigZapEvent extends EntityTransformEvent implements Cancellable { +@@ -65,4 +68,6 @@ public class PigZapEvent extends EntityTransformEvent implements Cancellable { public static HandlerList getHandlerList() { return handlers; } @@ -118,5 +120,5 @@ index 86983676..8dd1e3ce 100644 + // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-API-Patches/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/Spigot-API-Patches/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch index ab7ad3b124..95baa7bc08 100644 --- a/Spigot-API-Patches/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch +++ b/Spigot-API-Patches/0151-Add-an-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch @@ -1,4 +1,4 @@ -From 790d964de5cce64ce961552f37ee17e35bf1477d Mon Sep 17 00:00:00 2001 +From ceef7057702a9be623ecad7664d826ab2516bd0e Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Wed, 12 Sep 2018 18:53:35 +0300 Subject: [PATCH] Add an API for CanPlaceOn and CanDestroy NBT values @@ -217,10 +217,10 @@ index fe8d3468..074769c1 100644 return key; } diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java -index 2278d470..60ed443a 100644 +index df51f3ca..e9f640fb 100644 --- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java -@@ -81,13 +81,13 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable { +@@ -82,13 +82,13 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable { *

* Plugins should check if hasLore() returns true before * calling this method. @@ -236,7 +236,7 @@ index 2278d470..60ed443a 100644 * Removes lore when given null. * * @param lore the lore that will be set -@@ -118,7 +118,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable { +@@ -119,7 +119,7 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable { int getEnchantLevel(Enchantment ench); /** @@ -245,7 +245,7 @@ index 2278d470..60ed443a 100644 * Returns an empty map if none. * * @return An immutable copy of the enchantments -@@ -348,4 +348,83 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable { +@@ -365,4 +365,83 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable { Spigot spigot(); // Spigot end @@ -330,5 +330,5 @@ index 2278d470..60ed443a 100644 + // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0001-POM-Changes.patch b/Spigot-Server-Patches/0001-POM-Changes.patch index 9b7e48520f..7fb81f8601 100644 --- a/Spigot-Server-Patches/0001-POM-Changes.patch +++ b/Spigot-Server-Patches/0001-POM-Changes.patch @@ -1,11 +1,11 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From 4319757a25f8a0f330e9925ab19944eb2d4c337c 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 7ac07ac07ac0..7ac07ac07ac0 100644 +index ccf92b011..f0fc37abf 100644 --- a/pom.xml +++ b/pom.xml @@ -1,12 +1,11 @@ @@ -106,11 +106,12 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 ${maven.build.timestamp} Bukkit ${api.version} -@@ -182,19 +171,22 @@ +@@ -182,20 +171,23 @@ shade + ${project.build.directory}/dependency-reduced-pom.xml + ${shadeSourcesJar} - - joptsimple @@ -137,7 +138,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 org.bukkit.craftbukkit org.bukkit.craftbukkit.v${minecraft_version} -@@ -220,18 +212,6 @@ +@@ -221,18 +213,6 @@ org.apache.maven.plugins maven-compiler-plugin 3.7.0 @@ -157,7 +158,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 org.apache.maven.plugins diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 93046379d..674096cab 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -11,7 +11,7 @@ public final class Versioning { @@ -170,5 +171,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 if (stream != null) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch index 4ab37eeb24..38ca4c1a5e 100644 --- a/Spigot-Server-Patches/0003-MC-Dev-fixes.patch +++ b/Spigot-Server-Patches/0003-MC-Dev-fixes.patch @@ -1,11 +1,11 @@ -From e3c47b51dc2c5d2390319fbec0fcc01dbbfe138d Mon Sep 17 00:00:00 2001 +From 1ccbf8a244b37fa3cf0bd7e3843496891d891d3e Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 30 Mar 2016 19:36:20 -0400 Subject: [PATCH] MC Dev fixes diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index a553fb7476..4048937c63 100644 +index a553fb747..4048937c6 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -99,7 +99,7 @@ public class BaseBlockPosition implements Comparable { @@ -18,7 +18,7 @@ index a553fb7476..4048937c63 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java -index 7f8802b2ef..6ffc535146 100644 +index 7f8802b2e..6ffc53514 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -179,7 +179,7 @@ public class BlockPosition extends BaseBlockPosition { @@ -52,7 +52,7 @@ index 7f8802b2ef..6ffc535146 100644 } }; diff --git a/src/main/java/net/minecraft/server/DataPaletteBlock.java b/src/main/java/net/minecraft/server/DataPaletteBlock.java -index 3bd0c56d46..304e47bf20 100644 +index 3bd0c56d4..304e47bf2 100644 --- a/src/main/java/net/minecraft/server/DataPaletteBlock.java +++ b/src/main/java/net/minecraft/server/DataPaletteBlock.java @@ -72,11 +72,11 @@ public class DataPaletteBlock implements DataPaletteExpandable { @@ -88,7 +88,7 @@ index 3bd0c56d46..304e47bf20 100644 DataBits databits = new DataBits(ix, 4096, along); diff --git a/src/main/java/net/minecraft/server/DedicatedPlayerList.java b/src/main/java/net/minecraft/server/DedicatedPlayerList.java -index 5eded6dc20..11f9642e6e 100644 +index 5eded6dc2..11f9642e6 100644 --- a/src/main/java/net/minecraft/server/DedicatedPlayerList.java +++ b/src/main/java/net/minecraft/server/DedicatedPlayerList.java @@ -136,7 +136,7 @@ public class DedicatedPlayerList extends PlayerList { @@ -101,7 +101,7 @@ index 5eded6dc20..11f9642e6e 100644 } } diff --git a/src/main/java/net/minecraft/server/DefinedStructure.java b/src/main/java/net/minecraft/server/DefinedStructure.java -index 4dd4b01c82..987d944dbd 100644 +index 8bfa218a6..e2e60d3ed 100644 --- a/src/main/java/net/minecraft/server/DefinedStructure.java +++ b/src/main/java/net/minecraft/server/DefinedStructure.java @@ -77,7 +77,7 @@ public class DefinedStructure { @@ -139,7 +139,7 @@ index 4dd4b01c82..987d944dbd 100644 arraylist.add(definedstructure$a); diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java -index 5c2d50f974..fd6df39f17 100644 +index 5c2d50f97..fd6df39f1 100644 --- a/src/main/java/net/minecraft/server/EnchantmentManager.java +++ b/src/main/java/net/minecraft/server/EnchantmentManager.java @@ -51,7 +51,7 @@ public class EnchantmentManager { @@ -188,7 +188,7 @@ index 5c2d50f974..fd6df39f17 100644 boolean flag1 = itemstack.getItem() == Items.BOOK; diff --git a/src/main/java/net/minecraft/server/EntityDragonFireball.java b/src/main/java/net/minecraft/server/EntityDragonFireball.java -index 04cff50cb7..e746a6a0da 100644 +index 04cff50cb..e746a6a0d 100644 --- a/src/main/java/net/minecraft/server/EntityDragonFireball.java +++ b/src/main/java/net/minecraft/server/EntityDragonFireball.java @@ -14,7 +14,7 @@ public class EntityDragonFireball extends EntityFireball { @@ -201,7 +201,7 @@ index 04cff50cb7..e746a6a0da 100644 entityareaeffectcloud.setSource(this.shooter); entityareaeffectcloud.setParticle(Particles.j); diff --git a/src/main/java/net/minecraft/server/EnumDirection.java b/src/main/java/net/minecraft/server/EnumDirection.java -index 38c85f4ab7..c0853f0fcd 100644 +index 38c85f4ab..c0853f0fc 100644 --- a/src/main/java/net/minecraft/server/EnumDirection.java +++ b/src/main/java/net/minecraft/server/EnumDirection.java @@ -233,7 +233,7 @@ public enum EnumDirection implements INamable { @@ -250,7 +250,7 @@ index 38c85f4ab7..c0853f0fcd 100644 } } diff --git a/src/main/java/net/minecraft/server/IChatBaseComponent.java b/src/main/java/net/minecraft/server/IChatBaseComponent.java -index 3f5d6c3239..286c1b14f6 100644 +index 3f5d6c323..286c1b14f 100644 --- a/src/main/java/net/minecraft/server/IChatBaseComponent.java +++ b/src/main/java/net/minecraft/server/IChatBaseComponent.java @@ -390,12 +390,12 @@ public interface IChatBaseComponent extends Message, Iterable extends AbstractList impleme @@ -337,7 +337,7 @@ index 456b5f4925..54f2935c08 100644 + // Paper end- Decompile fix } diff --git a/src/main/java/net/minecraft/server/NBTTagByteArray.java b/src/main/java/net/minecraft/server/NBTTagByteArray.java -index 11ffa6c342..5d61cf70bc 100644 +index 86881a22d..81ff1fd69 100644 --- a/src/main/java/net/minecraft/server/NBTTagByteArray.java +++ b/src/main/java/net/minecraft/server/NBTTagByteArray.java @@ -66,7 +66,8 @@ public class NBTTagByteArray extends NBTList { @@ -351,7 +351,7 @@ index 11ffa6c342..5d61cf70bc 100644 System.arraycopy(this.data, 0, abyte, 0, this.data.length); diff --git a/src/main/java/net/minecraft/server/NBTTagIntArray.java b/src/main/java/net/minecraft/server/NBTTagIntArray.java -index f5c9b97d5c..d121ad4f7a 100644 +index 40f6179cd..ebc44ec9e 100644 --- a/src/main/java/net/minecraft/server/NBTTagIntArray.java +++ b/src/main/java/net/minecraft/server/NBTTagIntArray.java @@ -132,7 +132,7 @@ public class NBTTagIntArray extends NBTList { @@ -364,7 +364,7 @@ index f5c9b97d5c..d121ad4f7a 100644 } } diff --git a/src/main/java/net/minecraft/server/NBTTagList.java b/src/main/java/net/minecraft/server/NBTTagList.java -index 5b54cbde18..769d599c59 100644 +index 24a66f95a..2e7c96056 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; @@ -391,7 +391,7 @@ index 5b54cbde18..769d599c59 100644 + */ // Paper end - Decompile fix } diff --git a/src/main/java/net/minecraft/server/PacketEncoder.java b/src/main/java/net/minecraft/server/PacketEncoder.java -index 113e8780a8..8e312c7617 100644 +index 113e8780a..8e312c761 100644 --- a/src/main/java/net/minecraft/server/PacketEncoder.java +++ b/src/main/java/net/minecraft/server/PacketEncoder.java @@ -49,7 +49,7 @@ public class PacketEncoder extends MessageToByteEncoder> { @@ -404,7 +404,7 @@ index 113e8780a8..8e312c7617 100644 } } diff --git a/src/main/java/net/minecraft/server/Registry.java b/src/main/java/net/minecraft/server/Registry.java -index 5be9f0ff2f..9efec49d66 100644 +index 5be9f0ff2..9efec49d6 100644 --- a/src/main/java/net/minecraft/server/Registry.java +++ b/src/main/java/net/minecraft/server/Registry.java @@ -1,4 +1,8 @@ @@ -418,7 +418,7 @@ index 5be9f0ff2f..9efec49d66 100644 + Iterator iterator(); // Paper - decompile fix } diff --git a/src/main/java/net/minecraft/server/RegistryBlockID.java b/src/main/java/net/minecraft/server/RegistryBlockID.java -index 8d1f9237aa..a21006290c 100644 +index 8d1f9237a..a21006290 100644 --- a/src/main/java/net/minecraft/server/RegistryBlockID.java +++ b/src/main/java/net/minecraft/server/RegistryBlockID.java @@ -26,7 +26,7 @@ public class RegistryBlockID implements Registry { @@ -431,7 +431,7 @@ index 8d1f9237aa..a21006290c 100644 this.c.set(i, object); diff --git a/src/main/java/net/minecraft/server/RegistryID.java b/src/main/java/net/minecraft/server/RegistryID.java -index 03c6033622..d03ac0e70c 100644 +index 03c603362..d03ac0e70 100644 --- a/src/main/java/net/minecraft/server/RegistryID.java +++ b/src/main/java/net/minecraft/server/RegistryID.java @@ -49,7 +49,7 @@ public class RegistryID implements Registry { @@ -444,7 +444,7 @@ index 03c6033622..d03ac0e70c 100644 this.b = (K[])(new Object[i]); this.c = new int[i]; diff --git a/src/main/java/net/minecraft/server/ServerPing.java b/src/main/java/net/minecraft/server/ServerPing.java -index 7b8a8064b8..615aa2cd04 100644 +index 7b8a8064b..615aa2cd0 100644 --- a/src/main/java/net/minecraft/server/ServerPing.java +++ b/src/main/java/net/minecraft/server/ServerPing.java @@ -101,12 +101,12 @@ public class ServerPing { @@ -493,7 +493,7 @@ index 7b8a8064b8..615aa2cd04 100644 } } diff --git a/src/main/java/net/minecraft/server/ShapeDetector.java b/src/main/java/net/minecraft/server/ShapeDetector.java -index ef9d8e06fe..0c9910d9a5 100644 +index ef9d8e06f..0c9910d9a 100644 --- a/src/main/java/net/minecraft/server/ShapeDetector.java +++ b/src/main/java/net/minecraft/server/ShapeDetector.java @@ -107,7 +107,7 @@ public class ShapeDetector { @@ -506,5 +506,5 @@ index ef9d8e06fe..0c9910d9a5 100644 } } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0009-Timings-v2.patch b/Spigot-Server-Patches/0009-Timings-v2.patch index 09a7ee3a49..360cc4967c 100644 --- a/Spigot-Server-Patches/0009-Timings-v2.patch +++ b/Spigot-Server-Patches/0009-Timings-v2.patch @@ -1,4 +1,4 @@ -From defa2a27d1a177cc507dfc570d2f1959e952aeb0 Mon Sep 17 00:00:00 2001 +From 2589f04f992b46251d9c0317f588987a451be50a Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 04:00:11 -0600 Subject: [PATCH] Timings v2 @@ -6,7 +6,7 @@ Subject: [PATCH] Timings v2 diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java new file mode 100644 -index 0000000000..66d02e048b +index 000000000..66d02e048 --- /dev/null +++ b/src/main/java/co/aikar/timings/MinecraftTimings.java @@ -0,0 +1,132 @@ @@ -144,7 +144,7 @@ index 0000000000..66d02e048b +} diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java new file mode 100644 -index 0000000000..145cb274b0 +index 000000000..145cb274b --- /dev/null +++ b/src/main/java/co/aikar/timings/WorldTimingsHandler.java @@ -0,0 +1,104 @@ @@ -253,7 +253,7 @@ index 0000000000..145cb274b0 + } +} diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 87a7b69800..2f17e5219c 100644 +index 87a7b6980..2f17e5219 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -14,11 +14,14 @@ import java.util.concurrent.TimeUnit; @@ -297,7 +297,7 @@ index 87a7b69800..2f17e5219c 100644 + } } diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index dfcb285df5..bb8b450ac4 100644 +index b9645c669..fb7688e9e 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java @@ -23,6 +23,15 @@ public class Block implements IMaterial { @@ -317,7 +317,7 @@ index dfcb285df5..bb8b450ac4 100644 private final float frictionFactor; protected final BlockStateList blockStateList; diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index e634325ba8..68ba638c6b 100644 +index 6675bc5cc..f929ce02e 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -842,6 +842,7 @@ public class Chunk implements IChunkAccess { @@ -337,7 +337,7 @@ index e634325ba8..68ba638c6b 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 85a065f039..4b8b77710b 100644 +index f0d926256..ca18901df 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,6 +14,7 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -357,7 +357,7 @@ index 85a065f039..4b8b77710b 100644 return chunk1; diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 5819e86f32..7239f54377 100644 +index b859a5b9e..60abc5f28 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -90,7 +90,7 @@ public class ChunkProviderServer implements IChunkProvider { @@ -398,7 +398,7 @@ index 5819e86f32..7239f54377 100644 this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 71c0e069a6..e53e40e439 100644 +index 3bf55a054..179769323 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -1,5 +1,6 @@ @@ -445,7 +445,7 @@ index 71c0e069a6..e53e40e439 100644 } diff --git a/src/main/java/net/minecraft/server/CustomFunction.java b/src/main/java/net/minecraft/server/CustomFunction.java -index b7cdc495a3..8b9b076ded 100644 +index cc9e8465c..1bd3a0f77 100644 --- a/src/main/java/net/minecraft/server/CustomFunction.java +++ b/src/main/java/net/minecraft/server/CustomFunction.java @@ -13,12 +13,22 @@ public class CustomFunction { @@ -472,7 +472,7 @@ index b7cdc495a3..8b9b076ded 100644 return this.b; } diff --git a/src/main/java/net/minecraft/server/CustomFunctionData.java b/src/main/java/net/minecraft/server/CustomFunctionData.java -index 4d7e151793..40ff72f725 100644 +index 15ab4f0e4..1004e084c 100644 --- a/src/main/java/net/minecraft/server/CustomFunctionData.java +++ b/src/main/java/net/minecraft/server/CustomFunctionData.java @@ -109,7 +109,7 @@ public class CustomFunctionData implements ITickable, IResourcePackListener { @@ -485,7 +485,7 @@ index 4d7e151793..40ff72f725 100644 int j = 0; CustomFunction.c[] acustomfunction_c = customfunction.b(); diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index 7f56df0b66..b488178d5b 100644 +index 73a326684..a575ff529 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -29,7 +29,7 @@ import org.apache.logging.log4j.Level; @@ -538,7 +538,7 @@ index 7f56df0b66..b488178d5b 100644 return waitable.get(); } catch (java.util.concurrent.ExecutionException e) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index fde9d4d517..c765b5cf32 100644 +index f05a9ebab..8b1e0448b 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -29,7 +29,8 @@ import org.bukkit.command.CommandSender; @@ -577,7 +577,7 @@ index fde9d4d517..c765b5cf32 100644 protected float ab() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 03cd1db365..dec9d2d08c 100644 +index 2a1e3c801..7f95652bd 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -32,7 +32,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -597,7 +597,7 @@ index 03cd1db365..dec9d2d08c 100644 super.tick(); this.cV(); this.o(); -@@ -2097,9 +2096,7 @@ public abstract class EntityLiving extends Entity { +@@ -2094,9 +2093,7 @@ public abstract class EntityLiving extends Entity { } } @@ -607,7 +607,7 @@ index 03cd1db365..dec9d2d08c 100644 double d0 = this.locX - this.lastX; double d1 = this.locZ - this.lastZ; float f = (float) (d0 * d0 + d1 * d1); -@@ -2175,8 +2172,6 @@ public abstract class EntityLiving extends Entity { +@@ -2172,8 +2169,6 @@ public abstract class EntityLiving extends Entity { } else { this.bv = 0; } @@ -616,7 +616,7 @@ index 03cd1db365..dec9d2d08c 100644 } protected float e(float f, float f1) { -@@ -2246,7 +2241,6 @@ public abstract class EntityLiving extends Entity { +@@ -2243,7 +2238,6 @@ public abstract class EntityLiving extends Entity { } this.world.methodProfiler.a("ai"); @@ -624,7 +624,7 @@ index 03cd1db365..dec9d2d08c 100644 if (this.isFrozen()) { this.bg = false; this.bh = 0.0F; -@@ -2257,7 +2251,6 @@ public abstract class EntityLiving extends Entity { +@@ -2254,7 +2248,6 @@ public abstract class EntityLiving extends Entity { this.doTick(); this.world.methodProfiler.e(); } @@ -632,7 +632,7 @@ index 03cd1db365..dec9d2d08c 100644 this.world.methodProfiler.e(); this.world.methodProfiler.a("jump"); -@@ -2282,9 +2275,7 @@ public abstract class EntityLiving extends Entity { +@@ -2279,9 +2272,7 @@ public abstract class EntityLiving extends Entity { this.n(); AxisAlignedBB axisalignedbb = this.getBoundingBox(); @@ -642,7 +642,7 @@ index 03cd1db365..dec9d2d08c 100644 this.world.methodProfiler.e(); this.world.methodProfiler.a("push"); if (this.bw > 0) { -@@ -2292,9 +2283,7 @@ public abstract class EntityLiving extends Entity { +@@ -2289,9 +2280,7 @@ public abstract class EntityLiving extends Entity { this.a(axisalignedbb, this.getBoundingBox()); } @@ -653,7 +653,7 @@ index 03cd1db365..dec9d2d08c 100644 } diff --git a/src/main/java/net/minecraft/server/EntityTracker.java b/src/main/java/net/minecraft/server/EntityTracker.java -index ae31935c48..70c9b1f50c 100644 +index ae31935c4..70c9b1f50 100644 --- a/src/main/java/net/minecraft/server/EntityTracker.java +++ b/src/main/java/net/minecraft/server/EntityTracker.java @@ -168,7 +168,7 @@ public class EntityTracker { @@ -684,7 +684,7 @@ index ae31935c48..70c9b1f50c 100644 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bdbd24b6b5..2d812b0242 100644 +index 04c5c1796..b99ed185f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1,5 +1,6 @@ @@ -837,7 +837,7 @@ index bdbd24b6b5..2d812b0242 100644 this.methodProfiler.e(); } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 15194bd635..12a8fec29a 100644 +index 384f4f45b..1dfdc5d70 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -1,5 +1,6 @@ @@ -848,7 +848,7 @@ index 15194bd635..12a8fec29a 100644 import com.google.common.collect.ComparisonChain; import com.google.common.collect.Lists; @@ -90,6 +91,7 @@ public class PlayerChunkMap { - PlayerChunk playerchunk; + int j; if (i - this.k > 8000L) { + try (Timing ignored = world.timings.doChunkMapUpdate.startTiming()) { // Paper @@ -931,7 +931,7 @@ index 15194bd635..12a8fec29a 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 358e7429b3..784b62c7c8 100644 +index 539e6d3c9..67c993795 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -59,6 +59,7 @@ import org.bukkit.inventory.CraftingInventory; @@ -958,7 +958,7 @@ index 358e7429b3..784b62c7c8 100644 } -@@ -1629,7 +1628,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1622,7 +1621,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { // CraftBukkit end private void handleCommand(String s) { @@ -967,7 +967,7 @@ index 358e7429b3..784b62c7c8 100644 // CraftBukkit start - whole method if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getName() + " issued server command: " + s); -@@ -1640,7 +1639,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1633,7 +1632,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { this.server.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -976,7 +976,7 @@ index 358e7429b3..784b62c7c8 100644 return; } -@@ -1653,7 +1652,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1646,7 +1645,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { java.util.logging.Logger.getLogger(PlayerConnection.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -986,7 +986,7 @@ index 358e7429b3..784b62c7c8 100644 // this.minecraftServer.getCommandDispatcher().a(this.player.getCommandListener(), s); // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java -index 616797dc6e..3a5daf6705 100644 +index 616797dc6..3a5daf670 100644 --- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java +++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java @@ -1,10 +1,16 @@ @@ -1007,7 +1007,7 @@ index 616797dc6e..3a5daf6705 100644 throw CancelledPacketHandleException.INSTANCE; } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 17b4245417..85947fb678 100644 +index 39f149a81..597ad7d40 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -1,5 +1,6 @@ @@ -1031,7 +1031,7 @@ index 17b4245417..85947fb678 100644 public WhiteList getWhitelist() { diff --git a/src/main/java/net/minecraft/server/TickListServer.java b/src/main/java/net/minecraft/server/TickListServer.java -index a07895935e..ee5c2421bb 100644 +index a07895935..ee5c2421b 100644 --- a/src/main/java/net/minecraft/server/TickListServer.java +++ b/src/main/java/net/minecraft/server/TickListServer.java @@ -24,13 +24,19 @@ public class TickListServer implements TickList { @@ -1085,7 +1085,7 @@ index a07895935e..ee5c2421bb 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntity.java b/src/main/java/net/minecraft/server/TileEntity.java -index c69209497b..68ac014aab 100644 +index c69209497..68ac014aa 100644 --- a/src/main/java/net/minecraft/server/TileEntity.java +++ b/src/main/java/net/minecraft/server/TileEntity.java @@ -4,12 +4,13 @@ import javax.annotation.Nullable; @@ -1105,7 +1105,7 @@ index c69209497b..68ac014aab 100644 private final TileEntityTypes e; public TileEntityTypes getTileEntityType() { return e; } // Paper - OBFHELPER protected World world; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 433d0ad96a..759fa98c45 100644 +index 44b381120..119e1facc 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,5 +1,6 @@ @@ -1163,7 +1163,7 @@ index 433d0ad96a..759fa98c45 100644 + timings.entityRemoval.stopTiming(); // Paper this.methodProfiler.c("regular"); - CrashReportSystemDetails crashreportsystemdetails1; + CrashReport crashreport1; @@ -1159,6 +1162,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc timings.entityTick.startTiming(); // Spigot guardEntityList = true; // Spigot @@ -1220,7 +1220,7 @@ index 433d0ad96a..759fa98c45 100644 public boolean a(@Nullable Entity entity, VoxelShape voxelshape) { diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 74a61f300c..d10fb980dd 100644 +index ee68983f6..435c54da1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -1,5 +1,6 @@ @@ -1319,7 +1319,7 @@ index 74a61f300c..d10fb980dd 100644 Iterator iterator = this.server.getWorlds().iterator(); @@ -932,6 +938,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { - this.worldData.c(this.server.aP().c()); + this.worldData.c(this.server.getBossBattleCustomData().c()); this.dataManager.saveWorldData(this.worldData, this.server.getPlayerList().t()); this.h().a(); + timings.worldSaveLevel.stopTiming(); // Paper @@ -1327,7 +1327,7 @@ index 74a61f300c..d10fb980dd 100644 // CraftBukkit start diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f1813f3d5a..174605b6e1 100644 +index b524adc7d..9efd620f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1946,12 +1946,31 @@ public final class CraftServer implements Server { @@ -1364,7 +1364,7 @@ index f1813f3d5a..174605b6e1 100644 org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java b/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java deleted file mode 100644 -index 2ab4b11a8d..0000000000 +index 2ab4b11a8..000000000 --- a/src/main/java/org/bukkit/craftbukkit/SpigotTimings.java +++ /dev/null @@ -1,173 +0,0 @@ @@ -1542,7 +1542,7 @@ index 2ab4b11a8d..0000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java -index 413dd35f06..52a8c48fa4 100644 +index 413dd35f0..52a8c48fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java +++ b/src/main/java/org/bukkit/craftbukkit/chunkio/ChunkIOProvider.java @@ -1,6 +1,8 @@ @@ -1578,7 +1578,7 @@ index 413dd35f06..52a8c48fa4 100644 public void callStage3(QueuedChunk queuedChunk, Chunk chunk, Runnable runnable) throws RuntimeException { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b1a5937b1e..b5afd5d1c7 100644 +index b1a5937b1..b5afd5d1c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1720,6 +1720,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1597,7 +1597,7 @@ index b1a5937b1e..b5afd5d1c7 100644 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index b0f1f83728..9dec941fb7 100644 +index 2f5d7a2a6..311c4f5ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -15,6 +15,7 @@ import java.util.concurrent.atomic.AtomicReference; @@ -1664,7 +1664,7 @@ index b0f1f83728..9dec941fb7 100644 private boolean isReady(final int currentTick) { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java -index 3ec0f393ed..7490a187ec 100644 +index 3f55381c1..f32e66010 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftTask.java @@ -2,8 +2,8 @@ package org.bukkit.craftbukkit.scheduler; @@ -1746,7 +1746,7 @@ index 3ec0f393ed..7490a187ec 100644 - // Spigot end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java -index e52ef47b78..3d90b34268 100644 +index e52ef47b7..3d90b3426 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftIconCache.java @@ -5,6 +5,7 @@ import org.bukkit.util.CachedServerIcon; @@ -1758,7 +1758,7 @@ index e52ef47b78..3d90b34268 100644 this.value = value; } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index c1071c92ee..a99c0cea0f 100644 +index c1071c92e..a99c0cea0 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -30,7 +30,7 @@ import net.minecraft.server.EntityWither; @@ -1819,5 +1819,5 @@ index c1071c92ee..a99c0cea0f 100644 } } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0010-Configurable-cactus-and-reed-natural-growth-heights.patch b/Spigot-Server-Patches/0010-Configurable-cactus-and-reed-natural-growth-heights.patch index 92fbea46d4..27fbb8ca54 100644 --- a/Spigot-Server-Patches/0010-Configurable-cactus-and-reed-natural-growth-heights.patch +++ b/Spigot-Server-Patches/0010-Configurable-cactus-and-reed-natural-growth-heights.patch @@ -1,11 +1,11 @@ -From 17b75b1da091d4982e72e3604c4b0380515d34d1 Mon Sep 17 00:00:00 2001 +From a33afed850b70f0bb7a2da14d0ea528dad769f8a 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 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b8a6161d8..32d00e274 100644 +index a73865739..098bd3fba 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -64,4 +64,13 @@ public class PaperWorldConfig { @@ -23,7 +23,7 @@ index b8a6161d8..32d00e274 100644 + } } diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java -index 54685157f..83fb53643 100644 +index 27758bd01..918db3626 100644 --- a/src/main/java/net/minecraft/server/BlockCactus.java +++ b/src/main/java/net/minecraft/server/BlockCactus.java @@ -29,7 +29,7 @@ public class BlockCactus extends Block { @@ -32,11 +32,11 @@ index 54685157f..83fb53643 100644 - if (i < 3) { + if (i < world.paperConfig.cactusMaxHeight) { // Paper - Configurable growth height - int j = ((Integer) iblockdata.get(BlockCactus.AGE)).intValue(); + int j = (Integer) iblockdata.get(BlockCactus.AGE); if (j >= (byte) range(3, ((100.0F / world.spigotConfig.cactusModifier) * 15) + 0.5F, 15)) { // Spigot diff --git a/src/main/java/net/minecraft/server/BlockReed.java b/src/main/java/net/minecraft/server/BlockReed.java -index 313821d52..c4e7f318d 100644 +index fad1a0a83..c7017c58e 100644 --- a/src/main/java/net/minecraft/server/BlockReed.java +++ b/src/main/java/net/minecraft/server/BlockReed.java @@ -25,7 +25,7 @@ public class BlockReed extends Block { @@ -45,9 +45,9 @@ index 313821d52..c4e7f318d 100644 - if (i < 3) { + if (i < world.paperConfig.reedMaxHeight) { // Paper - Configurable growth height - int j = ((Integer) iblockdata.get(BlockReed.AGE)).intValue(); + int j = (Integer) iblockdata.get(BlockReed.AGE); if (j >= (byte) range(3, ((100.0F / world.spigotConfig.caneModifier) * 15) + 0.5F, 15)) { // Spigot -- -2.18.0 +2.19.2 diff --git a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch index a00c602aac..69bb34768c 100644 --- a/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch +++ b/Spigot-Server-Patches/0013-Allow-nerfed-mobs-to-jump.patch @@ -1,11 +1,11 @@ -From f7425160315958110c7f90c5248e4b681133ef3f Mon Sep 17 00:00:00 2001 +From 0b7b250edea62c25ecaa5abf3a83298d4365d9ef 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 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index a55163a458..341038fc4d 100644 +index a55163a45..341038fc4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -87,4 +87,9 @@ public class PaperWorldConfig { @@ -19,7 +19,7 @@ index a55163a458..341038fc4d 100644 + } } diff --git a/src/main/java/net/minecraft/server/ControllerJump.java b/src/main/java/net/minecraft/server/ControllerJump.java -index 74a40671e9..5d6260ded1 100644 +index 74a40671e..5d6260ded 100644 --- a/src/main/java/net/minecraft/server/ControllerJump.java +++ b/src/main/java/net/minecraft/server/ControllerJump.java @@ -12,6 +12,7 @@ public class ControllerJump { @@ -31,7 +31,7 @@ index 74a40671e9..5d6260ded1 100644 this.b.o(this.a); this.a = false; diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 60b1dcd8ea..cc74150dae 100644 +index 7cf459d26..9d4d8c697 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java @@ -32,6 +32,7 @@ public abstract class EntityInsentient extends EntityLiving { @@ -42,7 +42,7 @@ index 60b1dcd8ea..cc74150dae 100644 public PathfinderGoalSelector targetSelector; private EntityLiving goalTarget; private final EntitySenses bC; -@@ -647,6 +648,12 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -646,6 +647,12 @@ public abstract class EntityInsentient extends EntityLiving { // Spigot Start if ( this.fromMobSpawner ) { @@ -56,7 +56,7 @@ index 60b1dcd8ea..cc74150dae 100644 } // Spigot End diff --git a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java -index 15c04f890d..7db180fa90 100644 +index 15c04f890..7db180fa9 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalFloat.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalFloat.java @@ -5,14 +5,17 @@ public class PathfinderGoalFloat extends PathfinderGoal { @@ -78,5 +78,5 @@ index 15c04f890d..7db180fa90 100644 if (this.a.getRandom().nextFloat() < 0.8F) { this.a.getControllerJump().a(); -- -2.18.0 +2.19.2 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 14844e3aa5..e21e9c6a8d 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,11 +1,11 @@ -From 96a39a206b1aa7c7e2352d77ddde5cac303fc270 Mon Sep 17 00:00:00 2001 +From 1b2fe04861331c81c67b51e17ae2596e8a03473a 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 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 341038fc4d..3e1f4be10f 100644 +index 341038fc4..3e1f4be10 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -92,4 +92,20 @@ public class PaperWorldConfig { @@ -30,10 +30,10 @@ index 341038fc4d..3e1f4be10f 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index cc74150dae..9e95ede7fe 100644 +index 9d4d8c697..8f4319c80 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -626,13 +626,13 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -625,13 +625,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 cc74150dae..9e95ede7fe 100644 } } -- -2.18.0 +2.19.2 diff --git a/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch b/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch index a5f12dbfa0..c5707ac858 100644 --- a/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch +++ b/Spigot-Server-Patches/0018-Player-affects-spawning-API.patch @@ -1,11 +1,11 @@ -From 6c2b13c9d3cc34962b70aba9cf1beebfe17105e2 Mon Sep 17 00:00:00 2001 +From 7d4ea3d0550820a18c9c4795eca59b6ee33a8997 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 5c1f7d72a5..6b58f632bd 100644 +index 7e151439c..0aae80a7f 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -71,6 +71,9 @@ public abstract class EntityHuman extends EntityLiving { @@ -19,10 +19,10 @@ index 5c1f7d72a5..6b58f632bd 100644 // CraftBukkit start public boolean fauxSleeping; diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 3a57315da9..c87304d477 100644 +index 8f4319c80..cf73a6d1f 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -620,7 +620,7 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -619,7 +619,7 @@ public abstract class EntityInsentient extends EntityLiving { } else { EntityHuman entityhuman = this.world.findNearbyPlayer(this, -1.0D); @@ -32,7 +32,7 @@ index 3a57315da9..c87304d477 100644 double d1 = entityhuman.locY - this.locY; double d2 = entityhuman.locZ - this.locZ; diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java -index 850569f6b7..f958bd5bac 100644 +index 850569f6b..f958bd5ba 100644 --- a/src/main/java/net/minecraft/server/EntitySilverfish.java +++ b/src/main/java/net/minecraft/server/EntitySilverfish.java @@ -96,7 +96,7 @@ public class EntitySilverfish extends EntityMonster { @@ -45,7 +45,7 @@ index 850569f6b7..f958bd5bac 100644 return false; } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index 8b87146885..601d4c62d4 100644 +index afe039905..ff564508f 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -37,7 +37,7 @@ public final class SpawnerCreature { @@ -58,7 +58,7 @@ index 8b87146885..601d4c62d4 100644 j = MathHelper.floor(entityhuman.locZ / 16.0D); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 9251e0c83c..739e19bb14 100644 +index e1e931406..c378df796 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -34,6 +34,7 @@ import org.bukkit.craftbukkit.block.data.CraftBlockData; @@ -79,7 +79,7 @@ index 9251e0c83c..739e19bb14 100644 if (d3 < 0.0D || d4 < d3 * d3) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b5afd5d1c7..47da00948b 100644 +index b5afd5d1c..47da00948 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1633,7 +1633,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -103,5 +103,5 @@ index b5afd5d1c7..47da00948b 100644 @Override public void updateCommands() { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch index e4353312af..fee0181cbc 100644 --- a/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch +++ b/Spigot-Server-Patches/0025-Configurable-top-of-nether-void-damage.patch @@ -1,11 +1,11 @@ -From 06b4daeb281d364d517f651e8d65f04bfd2485a8 Mon Sep 17 00:00:00 2001 +From 1967a1ab38d312568ab657d7099d270cab87cb9f 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 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 1ed58f4bba..39d565db1f 100644 +index 1ed58f4bb..39d565db1 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -124,4 +124,10 @@ public class PaperWorldConfig { @@ -20,7 +20,7 @@ index 1ed58f4bba..39d565db1f 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 45ea6b138e..6b413833da 100644 +index c7db9db95..12fe12e04 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -463,9 +463,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -63,10 +63,10 @@ index 45ea6b138e..6b413833da 100644 this.die(); } diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -index 025158675f..932fbff7c7 100644 +index 5bee194fa..b52bc659e 100644 --- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java +++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java -@@ -201,9 +201,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT +@@ -195,9 +195,15 @@ public abstract class EntityMinecartAbstract extends Entity implements INamableT this.setDamage(this.getDamage() - 1.0F); } @@ -83,5 +83,5 @@ index 025158675f..932fbff7c7 100644 int i; -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch index ca2b87530f..34d8a48893 100644 --- a/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch +++ b/Spigot-Server-Patches/0044-Ensure-commands-are-not-ran-async.patch @@ -1,4 +1,4 @@ -From 8d97100ff3fa6a4c00743891420db9c79ac3b37b Mon Sep 17 00:00:00 2001 +From ab619f67d419bb011f610c5097fc77c654032378 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 784b62c7c..c63055cec 100644 +index 67c993795..a5bd908fd 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1560,6 +1560,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1553,6 +1553,29 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } if (!async && s.startsWith("/")) { @@ -48,7 +48,7 @@ index 784b62c7c..c63055cec 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 cf1db412e..2bc16fb1a 100644 +index 4858265a8..4c177a674 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -699,6 +699,29 @@ public final class CraftServer implements Server { @@ -118,5 +118,5 @@ index 49768734d..947c43a5d 100644 { if ( script.isFile() ) -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch b/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch index 32c06388f5..8ba0448298 100644 --- a/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch +++ b/Spigot-Server-Patches/0045-All-chunks-are-slime-spawn-chunks-toggle.patch @@ -1,11 +1,11 @@ -From 44d13e9cc8d7e214cd1d6f469624be152fdcf3bc Mon Sep 17 00:00:00 2001 +From 0736eba49760e3435f6dd1b7c0add91d5324a0e6 Mon Sep 17 00:00:00 2001 From: vemacs Date: Thu, 3 Mar 2016 01:19:22 -0600 Subject: [PATCH] All chunks are slime spawn chunks toggle diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index e28d5b19..3528b674 100644 +index e28d5b19a..3528b674f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -180,4 +180,9 @@ public class PaperWorldConfig { @@ -19,10 +19,10 @@ index e28d5b19..3528b674 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index 2a602c64..e913accd 100644 +index aa23cdff1..f92bf02b8 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java -@@ -260,7 +260,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -267,7 +267,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { } ChunkCoordIntPair chunkcoordintpair = new ChunkCoordIntPair(blockposition); @@ -32,5 +32,5 @@ index 2a602c64..e913accd 100644 if (this.random.nextInt(10) == 0 && flag1 && this.locY < 40.0D) { return super.a(generatoraccess, flag); -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch b/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch index c8acafcb39..e9e32a7dcb 100644 --- a/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch +++ b/Spigot-Server-Patches/0056-Add-exception-reporting-event.patch @@ -1,4 +1,4 @@ -From 825c761eae146d5af538b56bc5b6c81ee911e698 Mon Sep 17 00:00:00 2001 +From 36694c1b91770ae842431bb2a55017f2e932a4b1 Mon Sep 17 00:00:00 2001 From: Joseph Hirschfeld Date: Thu, 3 Mar 2016 03:15:41 -0600 Subject: [PATCH] Add exception reporting event @@ -6,7 +6,7 @@ Subject: [PATCH] Add exception reporting event diff --git a/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java new file mode 100644 -index 0000000000..93397188b7 +index 000000000..f699ce18c --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ServerSchedulerReportingWrapper.java @@ -0,0 +1,38 @@ @@ -48,9 +48,8 @@ index 0000000000..93397188b7 + return internalTask; + } +} -\ 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 d8ea5c1b5d..11fd68f597 100644 +index bc7ffbf8a..64342f54c 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,6 @@ @@ -89,7 +88,7 @@ index d8ea5c1b5d..11fd68f597 100644 } } diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 709d384e95..a03748f738 100644 +index 6a9b9fa2a..557aa5180 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -15,6 +15,7 @@ import java.util.function.BooleanSupplier; @@ -100,25 +99,27 @@ index 709d384e95..a03748f738 100644 import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -@@ -209,9 +210,14 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -209,9 +210,16 @@ public class ChunkProviderServer implements IChunkProvider { ichunkaccess.setLastSaved(this.world.getTime()); this.chunkLoader.saveChunk(this.world, ichunkaccess, unloaded); // Spigot } catch (IOException ioexception) { -- ChunkProviderServer.a.error("Couldn\'t save chunk", ioexception); +- ChunkProviderServer.a.error("Couldn't save chunk", ioexception); + // Paper start + String msg = "Couldn\'t save chunk"; + ChunkProviderServer.a.error(msg, ioexception); + ServerInternalException.reportInternalException(ioexception); } catch (ExceptionWorldConflict exceptionworldconflict) { -- ChunkProviderServer.a.error("Couldn\'t save chunk; already in use by another instance of Minecraft?", exceptionworldconflict); +- ChunkProviderServer.a.error("Couldn't save chunk; already in use by another instance of Minecraft?", exceptionworldconflict); ++ ChunkProviderServer.a.error("Couldn\'t save chunk; already in use by another instance of Minecraft?", exceptionworldconflict); + String msg = "Couldn\'t save chunk; already in use by another instance of Minecraft?"; + ChunkProviderServer.a.error(msg, exceptionworldconflict); + ServerInternalException.reportInternalException(exceptionworldconflict); ++ // Paper end } } diff --git a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java -index 1d830dff64..58d971cf20 100644 +index 399eb231d..6a59e798d 100644 --- a/src/main/java/net/minecraft/server/NameReferencingFileConverter.java +++ b/src/main/java/net/minecraft/server/NameReferencingFileConverter.java @@ -1,5 +1,6 @@ @@ -145,7 +146,7 @@ index 1d830dff64..58d971cf20 100644 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java -index f991fddf7d..e888c9bdba 100644 +index f991fddf7..e888c9bdb 100644 --- a/src/main/java/net/minecraft/server/RegionFile.java +++ b/src/main/java/net/minecraft/server/RegionFile.java @@ -1,5 +1,6 @@ @@ -172,7 +173,7 @@ index f991fddf7d..e888c9bdba 100644 } diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java -index d18921271f..e5115863ec 100644 +index d18921271..e5115863e 100644 --- a/src/main/java/net/minecraft/server/RegionFileCache.java +++ b/src/main/java/net/minecraft/server/RegionFileCache.java @@ -1,5 +1,6 @@ @@ -191,7 +192,7 @@ index d18921271f..e5115863ec 100644 } diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java -index b919226bbf..ec43086ad1 100644 +index 4233b94a1..1ff5dcd85 100644 --- a/src/main/java/net/minecraft/server/SpawnerCreature.java +++ b/src/main/java/net/minecraft/server/SpawnerCreature.java @@ -10,6 +10,7 @@ import org.apache.logging.log4j.LogManager; @@ -210,7 +211,7 @@ index b919226bbf..ec43086ad1 100644 return j1; } -@@ -292,6 +294,7 @@ public final class SpawnerCreature { +@@ -291,6 +293,7 @@ public final class SpawnerCreature { entityinsentient = (EntityInsentient) biomebase_biomemeta.b.a(generatoraccess.getMinecraftWorld()); } catch (Exception exception) { SpawnerCreature.a.warn("Failed to create mob", exception); @@ -219,7 +220,7 @@ index b919226bbf..ec43086ad1 100644 } diff --git a/src/main/java/net/minecraft/server/VillageSiege.java b/src/main/java/net/minecraft/server/VillageSiege.java -index e649d662ae..560edb523f 100644 +index e649d662a..560edb523 100644 --- a/src/main/java/net/minecraft/server/VillageSiege.java +++ b/src/main/java/net/minecraft/server/VillageSiege.java @@ -1,5 +1,7 @@ @@ -239,7 +240,7 @@ index e649d662ae..560edb523f 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 051259cf80..a25c90518f 100644 +index 3ecddf0fd..20ab0d420 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1,6 +1,8 @@ @@ -276,7 +277,7 @@ index 051259cf80..a25c90518f 100644 this.tileEntityListTick.remove(tileTickPosition--); continue; diff --git a/src/main/java/net/minecraft/server/WorldPersistentData.java b/src/main/java/net/minecraft/server/WorldPersistentData.java -index b21f7073f1..882b8fe4f1 100644 +index b21f7073f..882b8fe4f 100644 --- a/src/main/java/net/minecraft/server/WorldPersistentData.java +++ b/src/main/java/net/minecraft/server/WorldPersistentData.java @@ -138,6 +138,7 @@ public class WorldPersistentData { @@ -288,7 +289,7 @@ index b21f7073f1..882b8fe4f1 100644 throw throwable1; } finally { diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 9dec941fb7..3f43d9eeab 100644 +index 311c4f5ca..e76882b8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -16,6 +16,9 @@ import java.util.function.Consumer; @@ -334,5 +335,5 @@ index 9dec941fb7..3f43d9eeab 100644 // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0060-Complete-resource-pack-API.patch b/Spigot-Server-Patches/0060-Complete-resource-pack-API.patch index 95b3d59a1a..4dc478521f 100644 --- a/Spigot-Server-Patches/0060-Complete-resource-pack-API.patch +++ b/Spigot-Server-Patches/0060-Complete-resource-pack-API.patch @@ -1,14 +1,14 @@ -From 69af610fd6461aa22cadd707614ac16141df6712 Mon Sep 17 00:00:00 2001 +From 1f3a75ff9db681c7721175a51d7268682f5954fd Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 4 Apr 2015 23:17:52 -0400 Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f2e7762d30..e79ab51d29 100644 +index a5bd908fd..b67861519 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1324,7 +1324,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1317,7 +1317,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { // CraftBukkit start public void a(PacketPlayInResourcePackStatus packetplayinresourcepackstatus) { PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer()); @@ -22,7 +22,7 @@ index f2e7762d30..e79ab51d29 100644 // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0c35c94b33..73abc95e41 100644 +index 0c35c94b3..73abc95e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -128,6 +128,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -70,5 +70,5 @@ index 0c35c94b33..73abc95e41 100644 private final Player.Spigot spigot = new Player.Spigot() { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0067-Handle-Item-Meta-Inconsistencies.patch b/Spigot-Server-Patches/0067-Handle-Item-Meta-Inconsistencies.patch index 6f7884cc16..48d5b10dbb 100644 --- a/Spigot-Server-Patches/0067-Handle-Item-Meta-Inconsistencies.patch +++ b/Spigot-Server-Patches/0067-Handle-Item-Meta-Inconsistencies.patch @@ -1,4 +1,4 @@ -From 9abc8366e45aaefa1b77f49d19c02cd94c6accc6 Mon Sep 17 00:00:00 2001 +From 32403a0b0b344aebcf623bca04f71d807e26e06c Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 28 May 2015 23:00:19 -0400 Subject: [PATCH] Handle Item Meta Inconsistencies @@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the ItemMeta API equivalents, and should deprecate the old API's. diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java -index 318c4204df..56787ed25c 100644 +index b9fa5ccc7..50812b70f 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -7,6 +7,8 @@ import com.mojang.brigadier.StringReader; @@ -78,7 +78,7 @@ index 318c4204df..56787ed25c 100644 public boolean hasEnchantments() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 1d0580ff7f..2733cda407 100644 +index 2ef4ac64b..d1a546c8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -4,6 +4,7 @@ import static org.bukkit.craftbukkit.inventory.CraftMetaItem.ENCHANTMENTS; @@ -201,7 +201,7 @@ index 1d0580ff7f..2733cda407 100644 static Map getEnchantments(net.minecraft.server.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 99276f1165..6528668816 100644 +index dfc5bb4fd..c00ced8e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -8,6 +8,7 @@ import java.lang.reflect.Constructor; @@ -220,7 +220,7 @@ index 99276f1165..6528668816 100644 import net.minecraft.server.NBTBase; import net.minecraft.server.NBTTagCompound; import net.minecraft.server.NBTTagList; -@@ -62,6 +64,7 @@ import java.io.IOException; +@@ -65,6 +67,7 @@ import java.io.IOException; import java.util.Arrays; import java.util.EnumSet; import java.util.Set; @@ -228,7 +228,7 @@ index 99276f1165..6528668816 100644 import java.util.logging.Level; import java.util.logging.Logger; import net.minecraft.server.EnumChatFormat; -@@ -252,7 +255,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -256,7 +259,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private IChatBaseComponent displayName; private IChatBaseComponent locName; private List lore; @@ -237,16 +237,16 @@ index 99276f1165..6528668816 100644 private Multimap attributeModifiers; private int repairCost; private int hideFlag; -@@ -262,7 +265,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { - private static final Set HANDLED_TAGS = Sets.newHashSet(); +@@ -267,7 +270,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { + private static final CraftCustomTagTypeRegistry TAG_TYPE_REGISTRY = new CraftCustomTagTypeRegistry(); private NBTTagCompound internalTag; - private final Map unhandledTags = new HashMap(); + private final Map unhandledTags = new TreeMap<>(); // Paper + private final CraftCustomItemTagContainer publicItemTagContainer = new CraftCustomItemTagContainer(TAG_TYPE_REGISTRY); CraftMetaItem(CraftMetaItem meta) { - if (meta == null) { -@@ -277,7 +280,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -283,7 +286,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } if (meta.enchantments != null) { // Spigot @@ -255,7 +255,7 @@ index 99276f1165..6528668816 100644 } if (meta.hasAttributeModifiers()) { -@@ -352,13 +355,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -366,13 +369,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } @@ -271,7 +271,7 @@ index 99276f1165..6528668816 100644 for (int i = 0; i < ench.size(); i++) { String id = ((NBTTagCompound) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -485,13 +488,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -504,13 +507,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { void deserializeInternal(NBTTagCompound tag, Object context) { } @@ -287,7 +287,7 @@ index 99276f1165..6528668816 100644 for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -716,13 +719,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -745,13 +748,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } public Map getEnchants() { @@ -303,7 +303,7 @@ index 99276f1165..6528668816 100644 } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1042,7 +1045,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1078,7 +1081,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { clone.lore = new ArrayList(this.lore); } if (this.enchantments != null) { @@ -312,7 +312,7 @@ index 99276f1165..6528668816 100644 } if (this.hasAttributeModifiers()) { clone.attributeModifiers = HashMultimap.create(this.attributeModifiers); -@@ -1243,6 +1246,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1284,6 +1287,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { } } @@ -337,5 +337,5 @@ index 99276f1165..6528668816 100644 private final Spigot spigot = new Spigot() { -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0072-Custom-replacement-for-eaten-items.patch b/Spigot-Server-Patches/0072-Custom-replacement-for-eaten-items.patch index 7940995246..6c1b35fbc6 100644 --- a/Spigot-Server-Patches/0072-Custom-replacement-for-eaten-items.patch +++ b/Spigot-Server-Patches/0072-Custom-replacement-for-eaten-items.patch @@ -1,14 +1,14 @@ -From 8fb138862913c22188505f59838c6b2724b7d361 Mon Sep 17 00:00:00 2001 +From 10577886e694d4d691bcbaa626e0cac3dbeababa 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 91baaa5062..c3936c4e36 100644 +index 00b16251f..6d05cc244 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2602,12 +2602,13 @@ public abstract class EntityLiving extends Entity { +@@ -2599,12 +2599,13 @@ public abstract class EntityLiving extends Entity { protected void q() { if (!this.activeItem.isEmpty() && this.isHandRaised()) { @@ -23,7 +23,7 @@ index 91baaa5062..c3936c4e36 100644 world.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -2622,9 +2623,20 @@ public abstract class EntityLiving extends Entity { +@@ -2619,9 +2620,20 @@ public abstract class EntityLiving extends Entity { itemstack = this.activeItem.a(this.world, this); } @@ -45,5 +45,5 @@ index 91baaa5062..c3936c4e36 100644 } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/Spigot-Server-Patches/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch index ba86d9e946..0c2bc42c14 100644 --- a/Spigot-Server-Patches/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/Spigot-Server-Patches/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -1,11 +1,11 @@ -From 0e5ec8f1cd5d4e55e15adbbea9140341efdb7e6f Mon Sep 17 00:00:00 2001 +From 862126880b6fd21227532d383e8e741b7b6aa39e 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 c3936c4e36..d41a7fb087 100644 +index 6d05cc244..55e88a23f 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -499,7 +499,13 @@ public abstract class EntityLiving extends Entity { @@ -34,7 +34,7 @@ index c3936c4e36..d41a7fb087 100644 // CraftBukkit start - Handle scaled health if (this instanceof EntityPlayer) { org.bukkit.craftbukkit.entity.CraftPlayer player = ((EntityPlayer) this).getBukkitEntity(); -@@ -2467,7 +2477,7 @@ public abstract class EntityLiving extends Entity { +@@ -2464,7 +2474,7 @@ public abstract class EntityLiving extends Entity { } public void setAbsorptionHearts(float f) { @@ -44,7 +44,7 @@ index c3936c4e36..d41a7fb087 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 33bbda62f2..c575fb933c 100644 +index 73abc95e4..4e93e1b6c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1563,6 +1563,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -56,5 +56,5 @@ index 33bbda62f2..c575fb933c 100644 } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0078-Optimize-Chunk-Access.patch b/Spigot-Server-Patches/0078-Optimize-Chunk-Access.patch index 42f40e6c31..9784cbfff2 100644 --- a/Spigot-Server-Patches/0078-Optimize-Chunk-Access.patch +++ b/Spigot-Server-Patches/0078-Optimize-Chunk-Access.patch @@ -1,4 +1,4 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From 9d894a3b3e3aee3b5cdd072ead5de268498b1191 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/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index ca18901df..2ebb2d834 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -15,6 +15,7 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -69,9 +69,9 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 + // Paper end public Chunk a(Object object) { - return this.a(((Long) object).longValue()); + return this.a((Long) object); diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 557aa5180..1d08ec37f 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -78,15 +78,16 @@ public class ChunkProviderServer implements IChunkProvider { @@ -103,7 +103,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 } this.asyncTaskHandler.postToMainThread(chunk::addEntities); -@@ -343,7 +344,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -345,7 +346,7 @@ public class ChunkProviderServer implements IChunkProvider { this.saveChunk(chunk, true); // Spigot } this.chunks.remove(chunk.chunkKey); @@ -112,7 +112,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 } return true; } -@@ -379,6 +380,6 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -381,6 +382,6 @@ public class ChunkProviderServer implements IChunkProvider { } public boolean isLoaded(int i, int j) { @@ -121,5 +121,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 } } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch b/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch index 8a44b98822..6d4ebb68de 100644 --- a/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch +++ b/Spigot-Server-Patches/0080-Optimize-isValidLocation-getType-and-getBlockData-fo.patch @@ -1,4 +1,4 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From 04b7649ebd2cec65cac90240083f2bd66eaba5ef Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Mar 2016 02:07:55 -0600 Subject: [PATCH] Optimize isValidLocation, getType and getBlockData for inling @@ -12,7 +12,7 @@ Replace all calls to the new place to the unnecessary forward. Optimize getType and getBlockData to manually inline and optimize the calls diff --git a/src/main/java/net/minecraft/server/BaseBlockPosition.java b/src/main/java/net/minecraft/server/BaseBlockPosition.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 4048937c6..680764b34 100644 --- a/src/main/java/net/minecraft/server/BaseBlockPosition.java +++ b/src/main/java/net/minecraft/server/BaseBlockPosition.java @@ -9,6 +9,14 @@ public class BaseBlockPosition implements Comparable { @@ -31,7 +31,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 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 7ac07ac07ac0..7ac07ac07ac0 100644 +index 5c5f19b4b..d81e2dc1c 100644 --- a/src/main/java/net/minecraft/server/BlockPosition.java +++ b/src/main/java/net/minecraft/server/BlockPosition.java @@ -240,6 +240,16 @@ public class BlockPosition extends BaseBlockPosition { @@ -52,7 +52,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 public MutableBlockPosition() { this(0, 0, 0); diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 101d5bb01..6a23b1ec2 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -421,12 +421,24 @@ public class Chunk implements IChunkAccess { @@ -84,7 +84,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 IBlockData iblockdata = null; diff --git a/src/main/java/net/minecraft/server/ChunkSection.java b/src/main/java/net/minecraft/server/ChunkSection.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 274c44948..7e4c79a1c 100644 --- a/src/main/java/net/minecraft/server/ChunkSection.java +++ b/src/main/java/net/minecraft/server/ChunkSection.java @@ -6,7 +6,7 @@ public class ChunkSection { @@ -97,7 +97,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 private NibbleArray skyLight; diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index befb3e23f..3bfb9397d 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -263,11 +263,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -167,7 +167,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 @@ -748,7 +748,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc } - public Fluid b(BlockPosition blockposition) { + public Fluid getFluid(BlockPosition blockposition) { - if (k(blockposition)) { + if (blockposition.isInvalidYLocation()) { // Paper return FluidTypes.a.i(); @@ -201,5 +201,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 } else { Chunk chunk = this.chunkProvider.getChunkAt(blockposition.getX() >> 4, blockposition.getZ() >> 4, false, false); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0091-Add-PlayerUseUnknownEntityEvent.patch b/Spigot-Server-Patches/0091-Add-PlayerUseUnknownEntityEvent.patch index c13a637bbf..550bd7539c 100644 --- a/Spigot-Server-Patches/0091-Add-PlayerUseUnknownEntityEvent.patch +++ b/Spigot-Server-Patches/0091-Add-PlayerUseUnknownEntityEvent.patch @@ -1,11 +1,11 @@ -From 7726e17d4e02cf33ce44a92a905cc2c7c433efc1 Mon Sep 17 00:00:00 2001 +From 5a9c89981490e9246a982dd7a217a2c88229a018 Mon Sep 17 00:00:00 2001 From: Jedediah Smith Date: Sat, 2 Apr 2016 05:09:16 -0400 Subject: [PATCH] Add PlayerUseUnknownEntityEvent diff --git a/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java b/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java -index a4b98c81f5..53d38ea40f 100644 +index a4b98c81f..53d38ea40 100644 --- a/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java +++ b/src/main/java/net/minecraft/server/PacketPlayInUseEntity.java @@ -4,7 +4,7 @@ import java.io.IOException; @@ -18,10 +18,10 @@ index a4b98c81f5..53d38ea40f 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 e79ab51d29..085fa8cd49 100644 +index b67861519..dc2c143c8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1909,6 +1909,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1893,6 +1893,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } } } @@ -39,5 +39,5 @@ index e79ab51d29..085fa8cd49 100644 } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0098-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/Spigot-Server-Patches/0098-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch index 9b120af7c4..a211508d74 100644 --- a/Spigot-Server-Patches/0098-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch +++ b/Spigot-Server-Patches/0098-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch @@ -1,4 +1,4 @@ -From a986d2e4dd309345b2371b063c7c8261521d0731 Mon Sep 17 00:00:00 2001 +From 0638f275a02576830d8a2695c00877970a18b3f4 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 @@ -26,7 +26,7 @@ index 6fe3c0ea8..cf523a3e4 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e44d8372d..4c5dc39e3 100644 +index 734ee9d8e..e60e8e8fe 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2259,6 +2259,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -38,10 +38,10 @@ index e44d8372d..4c5dc39e3 100644 public ScoreboardTeamBase be() { if (!this.world.paperConfig.nonPlayerEntitiesOnScoreboards && !(this instanceof EntityHuman)) { return null; } // Paper diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3768c4779..07b5636f0 100644 +index dc2c143c8..5c7a88ec8 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1638,7 +1638,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1631,7 +1631,16 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { return; } @@ -60,7 +60,7 @@ index 3768c4779..07b5636f0 100644 if (((LazyPlayerSet) event.getRecipients()).isLazy()) { for (Object recipient : minecraftServer.getPlayerList().players) { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index a294b4780..0d9ac8778 100644 +index 8c10a0da1..2cb5869ae 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -177,7 +177,7 @@ public abstract class PlayerList { @@ -73,5 +73,5 @@ index a294b4780..0d9ac8778 100644 worldserver = server.getWorldServer(entityplayer.dimension); // CraftBukkit - Update in case join event changed it playerconnection.a(entityplayer.locX, entityplayer.locY, entityplayer.locZ, entityplayer.yaw, entityplayer.pitch); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0102-Configurable-Player-Collision.patch b/Spigot-Server-Patches/0102-Configurable-Player-Collision.patch index 9aa5c78ec6..b28b253bbe 100644 --- a/Spigot-Server-Patches/0102-Configurable-Player-Collision.patch +++ b/Spigot-Server-Patches/0102-Configurable-Player-Collision.patch @@ -1,4 +1,4 @@ -From 8a81ace7be6620adc628d1a87c46a27e47cf0e21 Mon Sep 17 00:00:00 2001 +From deefbc94ab507f4a70b73a4006ece70e4e9c657f Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 13 Apr 2016 02:10:49 -0400 Subject: [PATCH] Configurable Player Collision @@ -19,7 +19,7 @@ index b4dba7247..1d32b93c8 100644 + } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8056dc40d..74c84dda6 100644 +index 7793626b5..bdd2c4b85 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -425,6 +425,19 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -56,7 +56,7 @@ index f7a9b9d88..7befd80cf 100644 packetdataserializer.a(this.c); packetdataserializer.a(this.d); diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 2154c0516..baf870ac2 100644 +index 2cb5869ae..143c7c1be 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -74,6 +74,7 @@ public abstract class PlayerList { @@ -79,7 +79,7 @@ index 2154c0516..baf870ac2 100644 + } + // Paper end // CraftBukkit - Moved from above, added world - PlayerList.f.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", entityplayer.getDisplayName().getString(), s1, Integer.valueOf(entityplayer.getId()), entityplayer.world.worldData.getName(), Double.valueOf(entityplayer.locX), Double.valueOf(entityplayer.locY), Double.valueOf(entityplayer.locZ)); + PlayerList.f.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", entityplayer.getDisplayName().getString(), s1, entityplayer.getId(), entityplayer.world.worldData.getName(), entityplayer.locX, entityplayer.locY, entityplayer.locZ); } @@ -424,6 +432,16 @@ public abstract class PlayerList { entityplayer.playerTick();// SPIGOT-924 @@ -114,5 +114,5 @@ index 2154c0516..baf870ac2 100644 // CraftBukkit start -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0106-Implement-PlayerLocaleChangeEvent.patch b/Spigot-Server-Patches/0106-Implement-PlayerLocaleChangeEvent.patch index 9d73e9e2da..640707e7d8 100644 --- a/Spigot-Server-Patches/0106-Implement-PlayerLocaleChangeEvent.patch +++ b/Spigot-Server-Patches/0106-Implement-PlayerLocaleChangeEvent.patch @@ -1,11 +1,11 @@ -From 6a11b70d209501a07255f7ea6dccc1d2d1960bd6 Mon Sep 17 00:00:00 2001 +From 00c27cd397ae5eda3d387c87fb4ec208ab4cde79 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 1f98be261a..1cafad6bb6 100644 +index aacf411dc..623e7ec5f 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -36,7 +36,7 @@ import org.bukkit.inventory.MainHand; @@ -26,7 +26,7 @@ index 1f98be261a..1cafad6bb6 100644 PlayerLocaleChangeEvent event = new PlayerLocaleChangeEvent(getBukkitEntity(), packetplayinsettings.b()); this.server.server.getPluginManager().callEvent(event); } - this.clientViewDistance = packetplayinsettings.b; + this.clientViewDistance = packetplayinsettings.viewDistance; // CraftBukkit end + // Paper start - add PlayerLocaleChangeEvent + // Since the field is initialized to null, this event should always fire the first time the packet is received @@ -38,9 +38,9 @@ index 1f98be261a..1cafad6bb6 100644 + // Paper end this.cs = packetplayinsettings.d(); this.ct = packetplayinsettings.e(); - this.getDataWatcher().set(EntityPlayer.bx, Byte.valueOf((byte) packetplayinsettings.f())); + this.getDataWatcher().set(EntityPlayer.bx, (byte) packetplayinsettings.f()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1b2e7ed72b..1f21e54ab4 100644 +index 1b2e7ed72..1f21e54ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1741,8 +1741,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -66,5 +66,5 @@ index 1b2e7ed72b..1f21e54ab4 100644 @Override -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch index 96f81535a8..fe0a2ec1cd 100644 --- a/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch +++ b/Spigot-Server-Patches/0123-Delay-Chunk-Unloads-based-on-Player-Movement.patch @@ -1,4 +1,4 @@ -From ed99479d1b81272b059aa5e8b102a4dae3a0ebb4 Mon Sep 17 00:00:00 2001 +From 675812f4004abac1cb4ee36a8564d3c268195253 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 18 Jun 2016 23:22:12 -0400 Subject: [PATCH] Delay Chunk Unloads based on Player Movement @@ -20,7 +20,7 @@ This also makes the Chunk GC System useless, by auto scheduling unload as soon a a spare chunk is added to the server thats outside of view distance. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ff1a2046f6..0cd15c17e8 100644 +index ff1a2046f..0cd15c17e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -296,4 +296,18 @@ public class PaperWorldConfig { @@ -43,7 +43,7 @@ index ff1a2046f6..0cd15c17e8 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 28ec8628dc..234c9eb1c3 100644 +index 757105c6f..9328c21cd 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -36,6 +36,7 @@ public class Chunk implements IChunkAccess { @@ -55,7 +55,7 @@ index 28ec8628dc..234c9eb1c3 100644 public final int locZ; private boolean l; diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 71ddaf591e..39ac032b0b 100644 +index 2ebb2d834..e14ae2b42 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -48,6 +48,15 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -75,10 +75,10 @@ index 71ddaf591e..39ac032b0b 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 42d0731f0a..e32c9f9a62 100644 +index 1d08ec37f..516a583a8 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -306,6 +306,19 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -308,6 +308,19 @@ public class ChunkProviderServer implements IChunkProvider { } activityAccountant.endActivity(); // Spigot } @@ -99,7 +99,7 @@ index 42d0731f0a..e32c9f9a62 100644 this.chunkScheduler.a(booleansupplier); } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index ac0e90eeca..2fd8fa30ee 100644 +index c7ea17e25..7cb1327a8 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -33,8 +33,22 @@ public class PlayerChunk { @@ -160,7 +160,7 @@ index ac0e90eeca..2fd8fa30ee 100644 } } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 1318ddd997..bc67565bf0 100644 +index b8d8fc779..e5605c309 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -460,7 +460,13 @@ public class PlayerChunkMap { @@ -179,7 +179,7 @@ index 1318ddd997..bc67565bf0 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 8aa4138a2e..225f7574d2 100644 +index 49432f2eb..288152775 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1342,7 +1342,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -198,7 +198,7 @@ index 8aa4138a2e..225f7574d2 100644 this.methodProfiler.a(() -> { return String.valueOf(TileEntityTypes.a(tileentity.C())); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 24e504c279..f0e974dffc 100644 +index 24e504c27..f0e974dff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1757,7 +1757,7 @@ public class CraftWorld implements World { @@ -211,7 +211,7 @@ index 24e504c279..f0e974dffc 100644 } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index d08ef3fe10..081789a8fe 100644 +index d08ef3fe1..081789a8f 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -323,6 +323,11 @@ public class ActivationRange @@ -227,5 +227,5 @@ index d08ef3fe10..081789a8fe 100644 } } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0132-Fix-AIOOBE-in-inventory-handling.patch b/Spigot-Server-Patches/0132-Fix-AIOOBE-in-inventory-handling.patch index ab7a81823c..6e4a5a54f9 100644 --- a/Spigot-Server-Patches/0132-Fix-AIOOBE-in-inventory-handling.patch +++ b/Spigot-Server-Patches/0132-Fix-AIOOBE-in-inventory-handling.patch @@ -1,14 +1,14 @@ -From 07b7ccbc265b9c664e454768b74a0529fc552cc7 Mon Sep 17 00:00:00 2001 +From 909622fd5e599b84e0e83d593097fd87d1b2f223 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sun, 4 Sep 2016 16:35:43 -0500 Subject: [PATCH] Fix AIOOBE in inventory handling diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index b1e5ee47e..4af93ccf5 100644 +index 3ff82f71b..1c881e7a7 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2103,7 +2103,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2086,7 +2086,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { case CLONE: if (packetplayinwindowclick.d() == 2) { click = ClickType.MIDDLE; @@ -18,5 +18,5 @@ index b1e5ee47e..4af93ccf5 100644 } else { Slot slot = this.player.activeContainer.getSlot(packetplayinwindowclick.c()); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0133-Configurable-packet-in-spam-threshold.patch b/Spigot-Server-Patches/0133-Configurable-packet-in-spam-threshold.patch index 3bf78ab4b9..ba16eee6b7 100644 --- a/Spigot-Server-Patches/0133-Configurable-packet-in-spam-threshold.patch +++ b/Spigot-Server-Patches/0133-Configurable-packet-in-spam-threshold.patch @@ -1,4 +1,4 @@ -From d84e0a561e044f2e4ad8586dca7ee49908015c80 Mon Sep 17 00:00:00 2001 +From df1e8d3730c982c657f99cc6abb69a48c2f0c77e Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sun, 11 Sep 2016 14:30:57 -0500 Subject: [PATCH] Configurable packet in spam threshold @@ -23,10 +23,10 @@ index 1c1ef2dc2..4c0a9f18c 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index aad33272f..598b747ec 100644 +index 1c881e7a7..a1a6703f6 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1201,13 +1201,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1194,13 +1194,14 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; @@ -44,5 +44,5 @@ index aad33272f..598b747ec 100644 limitedPackets = 0; return true; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch b/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch index 36ab8898aa..9406208af3 100644 --- a/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch +++ b/Spigot-Server-Patches/0135-Auto-Save-Improvements.patch @@ -1,4 +1,4 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From f3f73f4392a3801bfe4b3de63f2611b5336e4a4b Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 19 Sep 2016 23:16:39 -0400 Subject: [PATCH] Auto Save Improvements @@ -12,7 +12,7 @@ Re-introduce a cap per tick for auto save (Spigot disabled the vanilla cap) and Adds incremental player auto saving too diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index c278ac98d..ae3d0f8f7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -269,4 +269,15 @@ public class PaperConfig { @@ -32,7 +32,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 + } } diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 0cd15c17e..c43152f45 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -2,6 +2,7 @@ package com.destroystokyo.paper; @@ -64,7 +64,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 9328c21cd..aa2ea7838 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -49,9 +49,9 @@ public class Chunk implements IChunkAccess { @@ -96,10 +96,10 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 public boolean isEmpty() { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 516a583a8..27bed54d2 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -241,7 +241,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -243,7 +243,7 @@ public class ChunkProviderServer implements IChunkProvider { this.saveChunk(chunk, false); // Spigot chunk.a(false); ++i; @@ -109,7 +109,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 3e4c80e0f..8506fad6f 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -37,6 +37,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -121,7 +121,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 public final MinecraftServer server; public final PlayerInteractManager playerInteractManager; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index bdf4aed1a..acdfb0e1e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -148,6 +148,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -168,7 +168,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 this.methodProfiler.a("snooper"); if (getSnooperEnabled() && !this.i.d() && this.ticks > 100) { // Spigot diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 143c7c1be..1259ec9d6 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -342,6 +342,7 @@ public abstract class PlayerList { @@ -207,7 +207,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 public WhiteList getWhitelist() { return this.whitelist; diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index b37b284a5..6a5a7d1e0 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -872,8 +872,9 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -230,5 +230,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 timings.worldSaveChunks.startTiming(); // Paper chunkproviderserver.a(flag); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch b/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch index c61882ac6a..cd3a4909f6 100644 --- a/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch +++ b/Spigot-Server-Patches/0141-Add-EntityZapEvent.patch @@ -1,16 +1,16 @@ -From f9dfbe2ee581c4cb0e2ced04369baef917ab4d20 Mon Sep 17 00:00:00 2001 +From 14abdd7d5d7c4103a998ea90262f60619d9704b6 Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Sun, 16 Oct 2016 23:19:30 -0700 Subject: [PATCH] Add EntityZapEvent diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index 6bf914c9..23668ada 100644 +index d299e1efb..30306256a 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java -@@ -155,6 +155,12 @@ public class EntityPig extends EntityAnimal { - if (!this.world.isClientSide && !this.dead) { - EntityPigZombie entitypigzombie = new EntityPigZombie(this.world); +@@ -163,6 +163,12 @@ public class EntityPig extends EntityAnimal { + entitypigzombie.setCustomNameVisible(this.getCustomNameVisible()); + } + // Paper start + if (CraftEventFactory.callEntityZapEvent(this, entitylightning, entitypigzombie).isCancelled()) { @@ -22,10 +22,10 @@ index 6bf914c9..23668ada 100644 if (CraftEventFactory.callPigZapEvent(this, entitylightning, entitypigzombie).isCancelled()) { return; diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index ab77d07b..7debc4d2 100644 +index 36ca76bc8..928c5eb41 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -612,6 +612,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { +@@ -607,6 +607,12 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { if (!this.world.isClientSide && !this.dead) { EntityWitch entitywitch = new EntityWitch(this.world); @@ -39,10 +39,10 @@ index ab77d07b..7debc4d2 100644 entitywitch.prepare(this.world.getDamageScaler(new BlockPosition(entitywitch)), (GroupDataEntity) null, (NBTTagCompound) null); entitywitch.setNoAI(this.isNoAI()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 75bdad81..2132b09c 100644 +index c2b24f99f..1b82f22f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -780,6 +780,14 @@ public class CraftEventFactory { +@@ -793,6 +793,14 @@ public class CraftEventFactory { return event; } @@ -58,5 +58,5 @@ index 75bdad81..2132b09c 100644 HorseJumpEvent event = new HorseJumpEvent((AbstractHorse) horse.getBukkitEntity(), power); horse.getBukkitEntity().getServer().getPluginManager().callEvent(event); -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0143-Prevent-Auto-Save-if-Save-Queue-is-full.patch b/Spigot-Server-Patches/0143-Prevent-Auto-Save-if-Save-Queue-is-full.patch index bc562c6c32..5fd552a94c 100644 --- a/Spigot-Server-Patches/0143-Prevent-Auto-Save-if-Save-Queue-is-full.patch +++ b/Spigot-Server-Patches/0143-Prevent-Auto-Save-if-Save-Queue-is-full.patch @@ -1,4 +1,4 @@ -From be8e64ee4c08fbd849697a69c8d40d3773bdec21 Mon Sep 17 00:00:00 2001 +From 3608095e0066db795059bef9ed824a16c7dd68f0 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 3 Nov 2016 21:52:22 -0400 Subject: [PATCH] Prevent Auto Save if Save Queue is full @@ -23,10 +23,10 @@ index 0d456bcba..40746c13e 100644 private void removeCorruptTEs() { removeCorruptTEs = getBoolean("remove-corrupt-tile-entities", false); diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 69219b13a..09c81e9ab 100644 +index 27bed54d2..917f57ced 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -234,6 +234,13 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -236,6 +236,13 @@ public class ChunkProviderServer implements IChunkProvider { synchronized (this.chunkLoader) { ObjectIterator objectiterator = this.chunks.values().iterator(); @@ -41,7 +41,7 @@ index 69219b13a..09c81e9ab 100644 Chunk chunk = (Chunk) objectiterator.next(); diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 695044b1b..e86d47a05 100644 +index 8fe4c6fec..a2c3c066b 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -152,6 +152,8 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -54,5 +54,5 @@ index 695044b1b..e86d47a05 100644 @Nullable public Chunk a(GeneratorAccess generatoraccess, int i, int j, Consumer consumer) throws IOException { -- -2.16.1.windows.1 +2.19.2 diff --git a/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch b/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch index 6a9ed63f9f..672824cc51 100644 --- a/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch +++ b/Spigot-Server-Patches/0144-Chunk-Save-Stats-Debug-Option.patch @@ -1,4 +1,4 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From bc5c56a6e6768f7b9d7f179a61db83e6d8fe92e9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 4 Nov 2016 02:12:10 -0400 Subject: [PATCH] Chunk Save Stats Debug Option @@ -8,7 +8,7 @@ Adds a command line flag to enable stats on how chunk saves are processing. Stats on current queue, how many was processed and how many were queued. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 917f57ced..570ddc1a8 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -30,6 +30,11 @@ public class ChunkProviderServer implements IChunkProvider { @@ -23,7 +23,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 public final Long2ObjectMap chunks = Long2ObjectMaps.synchronize(new ChunkMap(8192)); private Chunk lastChunk; private final ChunkTaskScheduler chunkScheduler; -@@ -237,6 +242,29 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -239,6 +244,29 @@ public class ChunkProviderServer implements IChunkProvider { // Paper start final ChunkRegionLoader chunkLoader = (ChunkRegionLoader) world.getChunkProviderServer().chunkLoader; final int queueSize = chunkLoader.getQueueSize(); @@ -54,7 +54,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 return false; } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index a2c3c066b..34ddf655e 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -152,7 +152,13 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -89,5 +89,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 if (nbttagcompound == null) { return true; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0147-Optimise-removeQueue.patch b/Spigot-Server-Patches/0147-Optimise-removeQueue.patch index 42c1026f8a..6d2998375f 100644 --- a/Spigot-Server-Patches/0147-Optimise-removeQueue.patch +++ b/Spigot-Server-Patches/0147-Optimise-removeQueue.patch @@ -1,11 +1,11 @@ -From 223a15ae2ff86485b0fbe27045dce04f08176b14 Mon Sep 17 00:00:00 2001 +From 803f81d368bb8d45ff60a0aa77348076e2689c96 Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Fri, 25 Nov 2016 13:22:40 +0000 Subject: [PATCH] Optimise removeQueue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index c33c6f480c..891b804a6e 100644 +index 9929e2a73..c2957ad2e 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -5,8 +5,10 @@ import com.mojang.authlib.GameProfile; @@ -39,7 +39,7 @@ index c33c6f480c..891b804a6e 100644 - while (iterator.hasNext() && j < i) { + // Paper start + /* while (iterator.hasNext() && j < i) { - aint[j++] = ((Integer) iterator.next()).intValue(); + aint[j++] = (Integer) iterator.next(); iterator.remove(); + } */ + @@ -68,5 +68,5 @@ index c33c6f480c..891b804a6e 100644 this.cC = entityplayer.cC; this.setShoulderEntityLeft(entityplayer.getShoulderEntityLeft()); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch index 0694a79b55..f63814012a 100644 --- a/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch +++ b/Spigot-Server-Patches/0149-Add-source-to-PlayerExpChangeEvent.patch @@ -1,11 +1,11 @@ -From d53c165894e3dd093c4faa9079bb810ba30828ba Mon Sep 17 00:00:00 2001 +From 5199cfb3cc6ae5904332802d378e78a5232d55bc Mon Sep 17 00:00:00 2001 From: AlphaBlend Date: Thu, 8 Sep 2016 08:48:33 -0700 Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 3155ed94..1e25ade7 100644 +index e0a38b32a..2f6fd88ca 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -185,7 +185,7 @@ public class EntityExperienceOrb extends Entity { @@ -18,10 +18,10 @@ index 3155ed94..1e25ade7 100644 this.die(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 2132b09c..45cba844 100644 +index 1b82f22f8..af61d99bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -50,6 +50,7 @@ import org.bukkit.entity.Player; +@@ -51,6 +51,7 @@ import org.bukkit.entity.Player; import org.bukkit.entity.Projectile; import org.bukkit.entity.ThrownExpBottle; import org.bukkit.entity.ThrownPotion; @@ -29,7 +29,7 @@ index 2132b09c..45cba844 100644 import org.bukkit.event.Cancellable; import org.bukkit.event.Event; import org.bukkit.event.Event.Result; -@@ -749,6 +750,17 @@ public class CraftEventFactory { +@@ -762,6 +763,17 @@ public class CraftEventFactory { return event; } @@ -48,5 +48,5 @@ index 2132b09c..45cba844 100644 return handleBlockGrowEvent(world, pos, block, 3); } -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch index 5761a282e2..4c4bab6432 100644 --- a/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch +++ b/Spigot-Server-Patches/0152-Add-ProjectileCollideEvent.patch @@ -1,11 +1,11 @@ -From 06a84941ec9371f358d482d79aa3b42ff924e3d0 Mon Sep 17 00:00:00 2001 +From 4118aa7da5c0587b51d452f6207adf199501380a Mon Sep 17 00:00:00 2001 From: Techcable Date: Fri, 16 Dec 2016 21:25:39 -0600 Subject: [PATCH] Add ProjectileCollideEvent diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java -index 230a23d9..66e574bd 100644 +index cc38cfb04..46606ed5c 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -195,6 +195,16 @@ public abstract class EntityArrow extends Entity implements IProjectile { @@ -26,7 +26,7 @@ index 230a23d9..66e574bd 100644 this.a(movingobjectposition); this.impulse = true; diff --git a/src/main/java/net/minecraft/server/EntityFireball.java b/src/main/java/net/minecraft/server/EntityFireball.java -index 3e3619d7..58cc4824 100644 +index 3e3619d79..58cc4824c 100644 --- a/src/main/java/net/minecraft/server/EntityFireball.java +++ b/src/main/java/net/minecraft/server/EntityFireball.java @@ -68,6 +68,15 @@ public abstract class EntityFireball extends Entity { @@ -46,7 +46,7 @@ index 3e3619d7..58cc4824 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 ad42f8ea..e33ecfcd 100644 +index ddd77583c..84a9375db 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -245,6 +245,16 @@ public class EntityFishingHook extends Entity { @@ -67,7 +67,7 @@ index ad42f8ea..e33ecfcd 100644 vec3d1 = new Vec3D(movingobjectposition.pos.x, movingobjectposition.pos.y, movingobjectposition.pos.z); } diff --git a/src/main/java/net/minecraft/server/EntityProjectile.java b/src/main/java/net/minecraft/server/EntityProjectile.java -index ee402d41..fc8c0cab 100644 +index 11638221b..431afaf2f 100644 --- a/src/main/java/net/minecraft/server/EntityProjectile.java +++ b/src/main/java/net/minecraft/server/EntityProjectile.java @@ -144,6 +144,15 @@ public abstract class EntityProjectile extends Entity implements IProjectile { @@ -84,13 +84,13 @@ index ee402d41..fc8c0cab 100644 + // Paper end + if (movingobjectposition != null) { - if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.a()).getBlock() == Blocks.NETHER_PORTAL) { - this.e(movingobjectposition.a()); + if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.getBlockPosition()).getBlock() == Blocks.NETHER_PORTAL) { + this.e(movingobjectposition.getBlockPosition()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 45cba844..36cad95a 100644 +index af61d99bc..8d12155c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -884,6 +884,16 @@ public class CraftEventFactory { +@@ -897,6 +897,16 @@ public class CraftEventFactory { return CraftItemStack.asNMSCopy(bitem); } @@ -108,5 +108,5 @@ index 45cba844..36cad95a 100644 Projectile bukkitEntity = (Projectile) entity.getBukkitEntity(); ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity); -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch b/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch index bd1d787023..d9648c7af1 100644 --- a/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch +++ b/Spigot-Server-Patches/0155-Configurable-Cartographer-Treasure-Maps.patch @@ -1,4 +1,4 @@ -From 2c22266aa38f8acbc5c924eb3bc3a861acf4988d Mon Sep 17 00:00:00 2001 +From 454289781f34d6ec68c18191be94b94f8d9e9659 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 20 Dec 2016 15:26:27 -0500 Subject: [PATCH] Configurable Cartographer Treasure Maps @@ -9,7 +9,7 @@ Also allow turning off treasure maps all together as they can eat up Map ID's which are limited in quantity. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5e51aef8..5d152af1 100644 +index 5e51aef84..5d152af15 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -345,4 +345,14 @@ public class PaperWorldConfig { @@ -28,10 +28,10 @@ index 5e51aef8..5d152af1 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 7debc4d2..229eda02 100644 +index 928c5eb41..ac81a8d76 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -762,6 +762,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { +@@ -757,6 +757,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { public void a(IMerchant imerchant, MerchantRecipeList merchantrecipelist, Random random) { int i = this.a.a(random); World world = imerchant.getWorld(); @@ -40,5 +40,5 @@ index 7debc4d2..229eda02 100644 if (blockposition != null) { -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0157-Add-API-methods-to-control-if-armour-stands-can-move.patch b/Spigot-Server-Patches/0157-Add-API-methods-to-control-if-armour-stands-can-move.patch index 6c94968b25..6679bbf15b 100644 --- a/Spigot-Server-Patches/0157-Add-API-methods-to-control-if-armour-stands-can-move.patch +++ b/Spigot-Server-Patches/0157-Add-API-methods-to-control-if-armour-stands-can-move.patch @@ -1,11 +1,11 @@ -From d041c357b3b534885061522f9ee31e5637d718dc Mon Sep 17 00:00:00 2001 +From ebeb314b54e8b23b554ebfa4befb22e8191e0a88 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 21 Dec 2016 11:47:25 -0600 Subject: [PATCH] Add API methods to control if armour stands can move diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 5485c4bff3..00a46129b8 100644 +index d19d24683..5945e37a5 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -44,6 +44,7 @@ public class EntityArmorStand extends EntityLiving { @@ -16,7 +16,7 @@ index 5485c4bff3..00a46129b8 100644 public EntityArmorStand(World world) { super(EntityTypes.ARMOR_STAND, world); -@@ -757,4 +758,13 @@ public class EntityArmorStand extends EntityLiving { +@@ -754,4 +755,13 @@ public class EntityArmorStand extends EntityLiving { public boolean df() { return false; } @@ -31,7 +31,7 @@ index 5485c4bff3..00a46129b8 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 2b66a08ade..124c3185bc 100644 +index 2b66a08ad..124c3185b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -211,4 +211,16 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { @@ -52,5 +52,5 @@ index 2b66a08ade..124c3185bc 100644 + // Paper end } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0158-Add-option-to-remove-invalid-statistics.patch b/Spigot-Server-Patches/0158-Add-option-to-remove-invalid-statistics.patch index 88f52ea985..c1b8c8764d 100644 --- a/Spigot-Server-Patches/0158-Add-option-to-remove-invalid-statistics.patch +++ b/Spigot-Server-Patches/0158-Add-option-to-remove-invalid-statistics.patch @@ -1,4 +1,4 @@ -From 6a8062188a480ab5bc541016f54b972193b12045 Mon Sep 17 00:00:00 2001 +From 1f59c8b7e5a197c0e92316d0d94a9abccea522bf Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 20 Dec 2016 23:09:21 -0600 Subject: [PATCH] Add option to remove invalid statistics @@ -23,7 +23,7 @@ index ae3d0f8f7..6b92ea437 100644 + } } diff --git a/src/main/java/net/minecraft/server/ServerStatisticManager.java b/src/main/java/net/minecraft/server/ServerStatisticManager.java -index 6405f98e0..42e2f3d22 100644 +index 4ddc33ca5..3ecd69786 100644 --- a/src/main/java/net/minecraft/server/ServerStatisticManager.java +++ b/src/main/java/net/minecraft/server/ServerStatisticManager.java @@ -83,6 +83,7 @@ public class ServerStatisticManager extends StatisticManager { @@ -37,11 +37,11 @@ index 6405f98e0..42e2f3d22 100644 @@ -120,6 +121,7 @@ public class ServerStatisticManager extends StatisticManager { if (statistic == null) { - ServerStatisticManager.b.warn("Invalid statistic in {}: Don\'t know what {} is", this.d, s2); -+ if (com.destroystokyo.paper.PaperConfig.removeInvalidStatistics) invalidStats.add(s2); // Paper + ServerStatisticManager.b.warn("Invalid statistic in {}: Don't know what {} is", this.d, s2); ++ if (com.destroystokyo.paper.PaperConfig.removeInvalidStatistics) invalidStats.add(s2); // Paper } else { this.a.put(statistic, nbttagcompound2.getInt(s2)); } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0159-Properly-fix-item-duplication-bug.patch b/Spigot-Server-Patches/0159-Properly-fix-item-duplication-bug.patch index 18184cdd0c..470b2ea172 100644 --- a/Spigot-Server-Patches/0159-Properly-fix-item-duplication-bug.patch +++ b/Spigot-Server-Patches/0159-Properly-fix-item-duplication-bug.patch @@ -1,4 +1,4 @@ -From 522f121e122e46df441274d297e314c7efdf70b9 Mon Sep 17 00:00:00 2001 +From 2e2a5e39152f5951b37a6e851906618b81937a2d Mon Sep 17 00:00:00 2001 From: Alfie Cleveland Date: Tue, 27 Dec 2016 01:57:57 +0000 Subject: [PATCH] Properly fix item duplication bug @@ -6,7 +6,7 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 891b804a6..edef46ac3 100644 +index c2957ad2e..a615d7867 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -1552,7 +1552,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -19,10 +19,10 @@ index 891b804a6..edef46ac3 100644 @Override diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index cd8c36471..5584ef71f 100644 +index 6530b6be8..553f76b81 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2521,7 +2521,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2504,7 +2504,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } public final boolean isDisconnected() { @@ -32,5 +32,5 @@ index cd8c36471..5584ef71f 100644 // CraftBukkit end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0168-Fix-block-break-desync.patch b/Spigot-Server-Patches/0168-Fix-block-break-desync.patch index f8287e1564..84fafe7b5c 100644 --- a/Spigot-Server-Patches/0168-Fix-block-break-desync.patch +++ b/Spigot-Server-Patches/0168-Fix-block-break-desync.patch @@ -1,14 +1,14 @@ -From 4cb8376b3a308bd9466db6835ab58acd7326453f Mon Sep 17 00:00:00 2001 +From 1a44a092ae83a6bd26aa99853dc7e7076329992d Mon Sep 17 00:00:00 2001 From: Michael Himing Date: Sun, 8 Jan 2017 18:50:35 +1100 Subject: [PATCH] Fix block break desync diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index dc1f4f4e11..5f1d9cd40e 100644 +index 553f76b81..03b986bfa 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1159,6 +1159,8 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1153,6 +1153,8 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { double d3 = d0 * d0 + d1 * d1 + d2 * d2; if (d3 > 36.0D) { @@ -18,5 +18,5 @@ index dc1f4f4e11..5f1d9cd40e 100644 } else if (blockposition.getY() >= this.minecraftServer.getMaxBuildHeight()) { return; -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 221e818f50..9dd6b9f323 100644 --- a/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/Spigot-Server-Patches/0169-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -1,4 +1,4 @@ -From cc1e9d639dc2301f5e003d1fa64dbe53aa842a19 Mon Sep 17 00:00:00 2001 +From 0bd7c165024bdd1dca19cb06ee1d731bedcd34c2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 19 Dec 2017 16:31:46 -0500 Subject: [PATCH] ExperienceOrbs API for Reason/Source/Triggering player @@ -8,10 +8,10 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java -index bb8b450a..163ce42c 100644 +index fb7688e9e..1bf01000e 100644 --- a/src/main/java/net/minecraft/server/Block.java +++ b/src/main/java/net/minecraft/server/Block.java -@@ -454,13 +454,13 @@ public class Block implements IMaterial { +@@ -451,13 +451,13 @@ public class Block implements IMaterial { } } @@ -28,7 +28,7 @@ index bb8b450a..163ce42c 100644 } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 69c8e245..8993fe1a 100644 +index 3ec3053c7..473773724 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -618,7 +618,7 @@ public class EntityEnderDragon extends EntityInsentient implements IComplex, IMo @@ -41,7 +41,7 @@ index 69c8e245..8993fe1a 100644 } diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 1e25ade7..3e2312b8 100644 +index 2f6fd88ca..dfd6230b2 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -15,9 +15,59 @@ public class EntityExperienceOrb extends Entity { @@ -120,7 +120,7 @@ index 1e25ade7..3e2312b8 100644 public void d(EntityHuman entityhuman) { diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java -index e33ecfcd..b164aff9 100644 +index 84a9375db..e494552f6 100644 --- a/src/main/java/net/minecraft/server/EntityFishingHook.java +++ b/src/main/java/net/minecraft/server/EntityFishingHook.java @@ -467,7 +467,7 @@ public class EntityFishingHook extends Entity { @@ -133,7 +133,7 @@ index e33ecfcd..b164aff9 100644 // CraftBukkit end if (itemstack1.getItem().a(TagsItem.FISHES)) { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b2b575d0..48bb1480 100644 +index 3c6d02e27..83605e7c7 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -354,7 +354,8 @@ public abstract class EntityLiving extends Entity { @@ -147,7 +147,7 @@ index b2b575d0..48bb1480 100644 this.expToDrop = 0; // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java -index a5e1939e..e73dba09 100644 +index a5e1939e0..e73dba09a 100644 --- a/src/main/java/net/minecraft/server/EntityThrownExpBottle.java +++ b/src/main/java/net/minecraft/server/EntityThrownExpBottle.java @@ -36,7 +36,7 @@ public class EntityThrownExpBottle extends EntityProjectile { @@ -160,7 +160,7 @@ index a5e1939e..e73dba09 100644 this.die(); diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 229eda02..78a549b0 100644 +index ac81a8d76..a11e66262 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -413,7 +413,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { @@ -173,7 +173,7 @@ index 229eda02..78a549b0 100644 if (this.tradingPlayer instanceof EntityPlayer) { diff --git a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java -index 4a128f70..b8709646 100644 +index 4a128f707..b87096467 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalBreed.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalBreed.java @@ -122,7 +122,7 @@ public class PathfinderGoalBreed extends PathfinderGoal { @@ -186,7 +186,7 @@ index 4a128f70..b8709646 100644 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java -index c8cfa3ab..aa7780ef 100644 +index c8cfa3abe..aa7780eff 100644 --- a/src/main/java/net/minecraft/server/PlayerInteractManager.java +++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java @@ -390,7 +390,7 @@ public class PlayerInteractManager { @@ -199,7 +199,7 @@ index c8cfa3ab..aa7780ef 100644 // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/SlotFurnaceResult.java b/src/main/java/net/minecraft/server/SlotFurnaceResult.java -index 22c47c63..52e296d4 100644 +index a6999f868..4ab6747d4 100644 --- a/src/main/java/net/minecraft/server/SlotFurnaceResult.java +++ b/src/main/java/net/minecraft/server/SlotFurnaceResult.java @@ -9,7 +9,7 @@ import org.bukkit.event.inventory.FurnaceExtractEvent; @@ -221,7 +221,7 @@ index 22c47c63..52e296d4 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3a30349f..e1c09452 100644 +index 3a30349f4..e1c09452b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1339,7 +1339,7 @@ public class CraftWorld implements World { @@ -234,7 +234,7 @@ index 3a30349f..e1c09452 100644 // not sure what this can do if (LightningStrike.class.isAssignableFrom(clazz)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java -index 3a09cab3..3302af0e 100644 +index 3a09cab3d..3302af0e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftExperienceOrb.java @@ -18,6 +18,18 @@ public class CraftExperienceOrb extends CraftEntity implements ExperienceOrb { @@ -257,5 +257,5 @@ index 3a09cab3..3302af0e 100644 public EntityExperienceOrb getHandle() { return (EntityExperienceOrb) entity; -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0170-Cap-Entity-Collisions.patch b/Spigot-Server-Patches/0170-Cap-Entity-Collisions.patch index 0e185511a9..895fdfdb3c 100644 --- a/Spigot-Server-Patches/0170-Cap-Entity-Collisions.patch +++ b/Spigot-Server-Patches/0170-Cap-Entity-Collisions.patch @@ -1,4 +1,4 @@ -From 0a23e674c29fc0ad5edf834507ae3d01d26f0a5c Mon Sep 17 00:00:00 2001 +From 1a40170ab4790152fb4a3230349ee47ed673bfaf Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 22 Jan 2017 18:07:56 -0500 Subject: [PATCH] Cap Entity Collisions @@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped. You can set this to 0 to disable collisions. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5d152af154..02d99aec43 100644 +index 5d152af15..02d99aec4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -355,4 +355,10 @@ public class PaperWorldConfig { @@ -27,7 +27,7 @@ index 5d152af154..02d99aec43 100644 + } } diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 45cd8dca16..c39e789529 100644 +index 04cd6350c..e26c9ee28 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -184,6 +184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -39,10 +39,10 @@ index 45cd8dca16..c39e789529 100644 // Spigot end diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 398ad151a0..d926cbb247 100644 +index 83605e7c7..be0a3f38e 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2357,8 +2357,11 @@ public abstract class EntityLiving extends Entity { +@@ -2354,8 +2354,11 @@ public abstract class EntityLiving extends Entity { } } @@ -56,5 +56,5 @@ index 398ad151a0..d926cbb247 100644 this.C(entity); } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0173-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/Spigot-Server-Patches/0173-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index e2b392019a..27bae689fd 100644 --- a/Spigot-Server-Patches/0173-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/Spigot-Server-Patches/0173-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -1,14 +1,14 @@ -From 567b6385af03c95fe786cbd295f1f90437d6c902 Mon Sep 17 00:00:00 2001 +From 63b46cf991a70de400e6f4f162c9f7860200973a Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Tue, 7 Feb 2017 16:55:35 -0600 Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index e4d2a3a0b5..c0d48c33fc 100644 +index 570ddc1a8..3854464e8 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -311,7 +311,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -313,7 +313,7 @@ public class ChunkProviderServer implements IChunkProvider { // Spigot start org.spigotmc.SlackActivityAccountant activityAccountant = this.world.getMinecraftServer().slackActivityAccountant; activityAccountant.startActivity(0.5); @@ -18,5 +18,5 @@ index e4d2a3a0b5..c0d48c33fc 100644 LongIterator longiterator = this.unloadQueue.iterator(); -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0174-Do-not-let-armorstands-drown.patch b/Spigot-Server-Patches/0174-Do-not-let-armorstands-drown.patch index 44e05dbfc2..2345ee0777 100644 --- a/Spigot-Server-Patches/0174-Do-not-let-armorstands-drown.patch +++ b/Spigot-Server-Patches/0174-Do-not-let-armorstands-drown.patch @@ -1,14 +1,14 @@ -From d3dc554ffad4b9665f26bc93ad2b45efa06bba9a Mon Sep 17 00:00:00 2001 +From df943e565391509876e8ad06bbe47a9b0a2560f7 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 18 Feb 2017 19:29:58 -0600 Subject: [PATCH] Do not let armorstands drown diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 00a46129b8..6628af7778 100644 +index 5945e37a5..4ecf34a40 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java -@@ -766,5 +766,10 @@ public class EntityArmorStand extends EntityLiving { +@@ -763,5 +763,10 @@ public class EntityArmorStand extends EntityLiving { super.move(moveType, x, y, z); } } @@ -20,7 +20,7 @@ index 00a46129b8..6628af7778 100644 // Paper end } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index d926cbb247..b9227f7a7f 100644 +index be0a3f38e..a6457e870 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -202,6 +202,7 @@ public abstract class EntityLiving extends Entity { @@ -41,5 +41,5 @@ index d926cbb247..b9227f7a7f 100644 if (this.getAirTicks() == -20) { this.setAirTicks(0); -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0177-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/Spigot-Server-Patches/0177-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index 183e1f0513..f5c02e1bde 100644 --- a/Spigot-Server-Patches/0177-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/Spigot-Server-Patches/0177-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -1,4 +1,4 @@ -From 0de8dab089092d058fca863b590c4a7e03e3f738 Mon Sep 17 00:00:00 2001 +From f95fa75db1294d4a7ecd88f573dac82badd6741d Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Tue, 16 May 2017 21:29:08 -0500 Subject: [PATCH] Add option to make parrots stay on shoulders despite movement @@ -26,7 +26,7 @@ index 02d99aec4..3507997fc 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 816854dc2..64a8c6308 100644 +index 16a8cee3e..86c6beefe 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -468,7 +468,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -39,10 +39,10 @@ index 816854dc2..64a8c6308 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index ec58d8764..2146ef742 100644 +index 03b986bfa..c8b251e69 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1763,6 +1763,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1756,6 +1756,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { switch (packetplayinentityaction.c()) { case START_SNEAKING: this.player.setSneaking(true); @@ -54,8 +54,8 @@ index ec58d8764..2146ef742 100644 + // Paper end + break; - case STOP_SNEAKING: + this.player.setSneaking(false); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch b/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch index 7fb36004da..34002e1d6b 100644 --- a/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/Spigot-Server-Patches/0179-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -1,4 +1,4 @@ -From 4ac0a2fcd23603d0ba2d7853dcda8cbee91f813a Mon Sep 17 00:00:00 2001 +From fc463a63b1182b9104003f32905dd6b61f567a45 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 9 Jun 2017 19:03:43 +0200 Subject: [PATCH] Use TerminalConsoleAppender for console improvements @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/pom.xml b/pom.xml -index bb80459af..6127bdcad 100644 +index f0fc37abf..ea08d7d98 100644 --- a/pom.xml +++ b/pom.xml @@ -40,10 +40,27 @@ @@ -54,7 +54,7 @@ index bb80459af..6127bdcad 100644 org.ow2.asm -@@ -203,10 +220,18 @@ +@@ -204,10 +221,18 @@ META-INF/services/java.sql.Driver @@ -143,7 +143,7 @@ index 000000000..685deaa0e + +} diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java -index b488178d5..ae77164a3 100644 +index a575ff529..908127630 100644 --- a/src/main/java/net/minecraft/server/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/DedicatedServer.java @@ -79,6 +79,9 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer @@ -185,7 +185,7 @@ index b488178d5..ae77164a3 100644 System.setOut(new PrintStream(new LoggerOutputStream(logger, Level.INFO), true)); System.setErr(new PrintStream(new LoggerOutputStream(logger, Level.WARN), true)); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 21d9218c5..64a3dafe6 100644 +index a1a574023..ce1805062 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -61,7 +61,6 @@ import org.apache.commons.lang3.Validate; @@ -243,7 +243,7 @@ index 21d9218c5..64a3dafe6 100644 public KeyPair E() { diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 057feebd1..3dcceb2fe 100644 +index 3f96443eb..fb9b0835b 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -78,8 +78,7 @@ public abstract class PlayerList { @@ -257,7 +257,7 @@ index 057feebd1..3dcceb2fe 100644 this.k = new GameProfileBanList(PlayerList.a); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b671e17c8..7d7f7aa6f 100644 +index ba702591a..97fa98d2c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -144,8 +144,8 @@ import java.nio.ByteBuffer; @@ -285,7 +285,7 @@ index b671e17c8..7d7f7aa6f 100644 @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index bc7bcaada..db725a0bc 100644 +index 5c62e990a..b174a4efa 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -14,7 +14,7 @@ import java.util.logging.Logger; @@ -588,5 +588,5 @@ index 5cee8f00e..08b6bb7f9 100644 -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0186-Shoulder-Entities-Release-API.patch b/Spigot-Server-Patches/0186-Shoulder-Entities-Release-API.patch index af5dba0960..d837915717 100644 --- a/Spigot-Server-Patches/0186-Shoulder-Entities-Release-API.patch +++ b/Spigot-Server-Patches/0186-Shoulder-Entities-Release-API.patch @@ -1,14 +1,14 @@ -From 6f67577f6bcf7a345ffc759efdef3b02b66639de Mon Sep 17 00:00:00 2001 +From ff3ab20478e71d9a45131040a17d5d0ee10edad4 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 17 Jun 2017 15:18:30 -0400 Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 64a8c6308c..9614348157 100644 +index 86c6beefe..d6333d9bb 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1829,21 +1829,48 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1826,21 +1826,48 @@ public abstract class EntityHuman extends EntityLiving { } // CraftBukkit end } @@ -62,7 +62,7 @@ index 64a8c6308c..9614348157 100644 public abstract boolean isSpectator(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index be00d79e85..755d288ed5 100644 +index be00d79e8..755d288ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -460,6 +460,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -99,5 +99,5 @@ index be00d79e85..755d288ed5 100644 public boolean discoverRecipe(NamespacedKey recipe) { return discoverRecipes(Arrays.asList(recipe)) != 0; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0190-Fix-Anvil-Level-sync-to-client.patch b/Spigot-Server-Patches/0190-Fix-Anvil-Level-sync-to-client.patch index 17a7c2557e..7cbc50511c 100644 --- a/Spigot-Server-Patches/0190-Fix-Anvil-Level-sync-to-client.patch +++ b/Spigot-Server-Patches/0190-Fix-Anvil-Level-sync-to-client.patch @@ -1,4 +1,4 @@ -From 88c0400ef837ed8809fd5ddf71e58994bdb0a5c0 Mon Sep 17 00:00:00 2001 +From 185c3ae637464f75ca6bfae9daacbe24f5b5093f Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 11 Jul 2017 23:17:57 -0400 Subject: [PATCH] Fix Anvil Level sync to client @@ -10,10 +10,10 @@ Was done incorrectly and is now causing level desyncs to client. Always send current level to the client, and instead make setWindowProperty set the level. diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java -index 8731d857b..4b6424911 100644 +index a5ac893c4..a7b04a967 100644 --- a/src/main/java/net/minecraft/server/ContainerAnvil.java +++ b/src/main/java/net/minecraft/server/ContainerAnvil.java -@@ -378,9 +378,9 @@ public class ContainerAnvil extends Container { +@@ -375,9 +375,9 @@ public class ContainerAnvil extends Container { for (int i = 0; i < this.listeners.size(); ++i) { ICrafting icrafting = (ICrafting) this.listeners.get(i); @@ -26,7 +26,7 @@ index 8731d857b..4b6424911 100644 this.lastLevelCost = this.levelCost; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1ddbb4329..a045ec3b2 100644 +index 05070285b..0df834fc1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1431,6 +1431,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -42,5 +42,5 @@ index 1ddbb4329..a045ec3b2 100644 return true; } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0201-Allow-specifying-a-custom-authentication-servers-dow.patch b/Spigot-Server-Patches/0201-Allow-specifying-a-custom-authentication-servers-dow.patch index b652b213c0..486be9bceb 100644 --- a/Spigot-Server-Patches/0201-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/Spigot-Server-Patches/0201-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -1,4 +1,4 @@ -From 5adcf0eb891dd0cb7fd3980b018f32a89f05f63b Mon Sep 17 00:00:00 2001 +From ed7f8a0d3ff1263fbea81d77508bfe18f275606b Mon Sep 17 00:00:00 2001 From: kashike Date: Thu, 17 Aug 2017 16:08:20 -0700 Subject: [PATCH] Allow specifying a custom "authentication servers down" kick @@ -27,7 +27,7 @@ index 963096fb3..a499578db 100644 + } } diff --git a/src/main/java/net/minecraft/server/LoginListener.java b/src/main/java/net/minecraft/server/LoginListener.java -index 8bbea9624..10c82107d 100644 +index 90d1096e5..b682b3a43 100644 --- a/src/main/java/net/minecraft/server/LoginListener.java +++ b/src/main/java/net/minecraft/server/LoginListener.java @@ -240,6 +240,10 @@ public class LoginListener implements PacketLoginInListener, ITickable { @@ -39,8 +39,8 @@ index 8bbea9624..10c82107d 100644 + LoginListener.this.disconnect(new ChatComponentText(com.destroystokyo.paper.PaperConfig.authenticationServersDownKickMessage)); + } else // Paper end LoginListener.this.disconnect(new ChatMessage("multiplayer.disconnect.authservers_down", new Object[0])); - LoginListener.c.error("Couldn\'t verify username because servers are unavailable"); + LoginListener.c.error("Couldn't verify username because servers are unavailable"); } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0207-Add-PlayerJumpEvent.patch b/Spigot-Server-Patches/0207-Add-PlayerJumpEvent.patch index adf7f5b79d..da33476e69 100644 --- a/Spigot-Server-Patches/0207-Add-PlayerJumpEvent.patch +++ b/Spigot-Server-Patches/0207-Add-PlayerJumpEvent.patch @@ -1,14 +1,14 @@ -From 292b6bb1583fa684c7438958fcc58b3aa0f95117 Mon Sep 17 00:00:00 2001 +From 17efa308f6cc4e7956119385e5668d65c1de9269 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Thu, 28 Sep 2017 17:21:44 -0400 Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 9614348157..b357cb2077 100644 +index d6333d9bb..96e3d20e3 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1481,6 +1481,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1478,6 +1478,7 @@ public abstract class EntityHuman extends EntityLiving { return 0; } @@ -17,7 +17,7 @@ index 9614348157..b357cb2077 100644 super.cH(); this.a(StatisticList.JUMP); diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 3289ba3ffd..b54da4eb79 100644 +index c8b251e69..00751a9d9 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -59,6 +59,8 @@ import org.bukkit.inventory.CraftingInventory; @@ -29,7 +29,7 @@ index 3289ba3ffd..b54da4eb79 100644 import co.aikar.timings.MinecraftTimings; // Paper // CraftBukkit end -@@ -875,7 +877,34 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -873,7 +875,34 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { d8 = d5 - this.p; d9 = d6 - this.q; if (this.player.onGround && !packetplayinflying.b() && d8 > 0.0D) { @@ -66,5 +66,5 @@ index 3289ba3ffd..b54da4eb79 100644 this.player.move(EnumMoveType.PLAYER, d7, d8, d9); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0208-handle-PacketPlayInKeepAlive-async.patch b/Spigot-Server-Patches/0208-handle-PacketPlayInKeepAlive-async.patch index cc5a5f8504..c0849f7883 100644 --- a/Spigot-Server-Patches/0208-handle-PacketPlayInKeepAlive-async.patch +++ b/Spigot-Server-Patches/0208-handle-PacketPlayInKeepAlive-async.patch @@ -1,4 +1,4 @@ -From 09c0b959770707df93c068ef3cacca5ae30ee9a1 Mon Sep 17 00:00:00 2001 +From 24f3bb70b4cad919e75878a444a0dde1bdabb956 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 5 Oct 2017 01:54:07 +0100 Subject: [PATCH] handle PacketPlayInKeepAlive async @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 1da026fe2..0beb9f881 100644 +index 00751a9d9..587f00286 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2487,14 +2487,18 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2470,14 +2470,18 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } public void a(PacketPlayInKeepAlive packetplayinkeepalive) { @@ -40,5 +40,5 @@ index 1da026fe2..0beb9f881 100644 } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0209-Expose-client-protocol-version-and-virtual-host.patch b/Spigot-Server-Patches/0209-Expose-client-protocol-version-and-virtual-host.patch index 70ba82e37c..cd78b0cb55 100644 --- a/Spigot-Server-Patches/0209-Expose-client-protocol-version-and-virtual-host.patch +++ b/Spigot-Server-Patches/0209-Expose-client-protocol-version-and-virtual-host.patch @@ -1,4 +1,4 @@ -From ca8e4f3b46c8477a1dc8c29f9d9799ae9c012e30 Mon Sep 17 00:00:00 2001 +From 8ad7c912b5de1105857c07212ab0716f9f728506 Mon Sep 17 00:00:00 2001 From: Minecrell Date: Tue, 10 Oct 2017 18:45:20 +0200 Subject: [PATCH] Expose client protocol version and virtual host @@ -6,7 +6,7 @@ Subject: [PATCH] Expose client protocol version and virtual host diff --git a/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java new file mode 100644 -index 0000000000..5caca6439d +index 000000000..5caca6439 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperNetworkClient.java @@ -0,0 +1,50 @@ @@ -61,7 +61,7 @@ index 0000000000..5caca6439d + +} diff --git a/src/main/java/net/minecraft/server/HandshakeListener.java b/src/main/java/net/minecraft/server/HandshakeListener.java -index 6aabdc2974..a02fa29217 100644 +index b4917c91b..25049a351 100644 --- a/src/main/java/net/minecraft/server/HandshakeListener.java +++ b/src/main/java/net/minecraft/server/HandshakeListener.java @@ -15,6 +15,7 @@ public class HandshakeListener implements PacketHandshakingInListener { @@ -72,7 +72,7 @@ index 6aabdc2974..a02fa29217 100644 public HandshakeListener(MinecraftServer minecraftserver, NetworkManager networkmanager) { this.a = minecraftserver; -@@ -130,6 +131,10 @@ public class HandshakeListener implements PacketHandshakingInListener { +@@ -128,6 +129,10 @@ public class HandshakeListener implements PacketHandshakingInListener { throw new UnsupportedOperationException("Invalid intention " + packethandshakinginsetprotocol.b()); } @@ -84,7 +84,7 @@ index 6aabdc2974..a02fa29217 100644 public void a(IChatBaseComponent ichatbasecomponent) {} diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java -index 26da897243..4f3f88ff66 100644 +index 26da89724..4f3f88ff6 100644 --- a/src/main/java/net/minecraft/server/NetworkManager.java +++ b/src/main/java/net/minecraft/server/NetworkManager.java @@ -63,6 +63,10 @@ public class NetworkManager extends SimpleChannelInboundHandler> { @@ -99,7 +99,7 @@ index 26da897243..4f3f88ff66 100644 public NetworkManager(EnumProtocolDirection enumprotocoldirection) { this.h = enumprotocoldirection; diff --git a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java -index 7acdac55e5..f1a3be69d0 100644 +index 7acdac55e..f1a3be69d 100644 --- a/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java +++ b/src/main/java/net/minecraft/server/PacketHandshakingInSetProtocol.java @@ -33,6 +33,7 @@ public class PacketHandshakingInSetProtocol implements Packet Date: Tue, 31 Oct 2017 03:26:18 +0100 Subject: [PATCH] Send attack SoundEffects only to players who can see the @@ -6,10 +6,10 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index b357cb2077..b047e8e8b1 100644 +index 96e3d20e3..4aa8e85ab 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -995,6 +995,15 @@ public abstract class EntityHuman extends EntityLiving { +@@ -992,6 +992,15 @@ public abstract class EntityHuman extends EntityLiving { this.k = 0; } @@ -25,7 +25,7 @@ index b357cb2077..b047e8e8b1 100644 public void attack(Entity entity) { if (entity.bk()) { if (!entity.t(this)) { -@@ -1019,7 +1028,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1016,7 +1025,7 @@ public abstract class EntityHuman extends EntityLiving { int i = b0 + EnchantmentManager.b((EntityLiving) this); if (this.isSprinting() && flag) { @@ -34,7 +34,7 @@ index b357cb2077..b047e8e8b1 100644 ++i; flag1 = true; } -@@ -1097,7 +1106,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1094,7 +1103,7 @@ public abstract class EntityHuman extends EntityLiving { } } @@ -43,7 +43,7 @@ index b357cb2077..b047e8e8b1 100644 this.dl(); } -@@ -1127,15 +1136,15 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1124,15 +1133,15 @@ public abstract class EntityHuman extends EntityLiving { } if (flag2) { @@ -62,7 +62,7 @@ index b357cb2077..b047e8e8b1 100644 } } -@@ -1191,7 +1200,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1188,7 +1197,7 @@ public abstract class EntityHuman extends EntityLiving { this.applyExhaustion(world.spigotConfig.combatExhaustion); // Spigot - Change to use configurable value } else { @@ -72,7 +72,7 @@ index b357cb2077..b047e8e8b1 100644 entity.extinguish(); } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 686b356f0d..225ecce71a 100644 +index 44ed34174..c1ede0651 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -954,6 +954,12 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -89,5 +89,5 @@ index 686b356f0d..225ecce71a 100644 for (int i = 0; i < this.v.size(); ++i) { ((IWorldAccess) this.v.get(i)).a(entityhuman, soundeffect, soundcategory, d0, d1, d2, f, f1); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0214-Add-PlayerArmorChangeEvent.patch b/Spigot-Server-Patches/0214-Add-PlayerArmorChangeEvent.patch index 1b1560cee3..c57c531959 100644 --- a/Spigot-Server-Patches/0214-Add-PlayerArmorChangeEvent.patch +++ b/Spigot-Server-Patches/0214-Add-PlayerArmorChangeEvent.patch @@ -1,11 +1,11 @@ -From 0c6ce876938c0eed64a3e2934d4c6395a687a0b1 Mon Sep 17 00:00:00 2001 +From 1297209afca38458f9f9f91d4dcbc873a3865d83 Mon Sep 17 00:00:00 2001 From: pkt77 Date: Fri, 10 Nov 2017 23:46:34 -0500 Subject: [PATCH] Add PlayerArmorChangeEvent diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index b9227f7a7f..f5770884b0 100644 +index a6457e870..fadf1df28 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -1,5 +1,6 @@ @@ -15,7 +15,7 @@ index b9227f7a7f..f5770884b0 100644 import com.google.common.base.Objects; import com.google.common.collect.Maps; import java.util.Collection; -@@ -2086,6 +2087,13 @@ public abstract class EntityLiving extends Entity { +@@ -2084,6 +2085,13 @@ public abstract class EntityLiving extends Entity { ItemStack itemstack1 = this.getEquipment(enumitemslot); if (!ItemStack.matches(itemstack1, itemstack)) { @@ -30,7 +30,7 @@ index b9227f7a7f..f5770884b0 100644 if (!itemstack.isEmpty()) { this.getAttributeMap().a(itemstack.a(enumitemslot)); diff --git a/src/main/java/net/minecraft/server/EnumItemSlot.java b/src/main/java/net/minecraft/server/EnumItemSlot.java -index a90ac68c30..49592e5572 100644 +index a13515a7f..bad1020c0 100644 --- a/src/main/java/net/minecraft/server/EnumItemSlot.java +++ b/src/main/java/net/minecraft/server/EnumItemSlot.java @@ -20,6 +20,7 @@ public enum EnumItemSlot { @@ -42,5 +42,5 @@ index a90ac68c30..49592e5572 100644 return this.g; } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0231-Add-ArmorStand-Item-Meta.patch b/Spigot-Server-Patches/0231-Add-ArmorStand-Item-Meta.patch index 9c12894b8f..1e2a13fa93 100644 --- a/Spigot-Server-Patches/0231-Add-ArmorStand-Item-Meta.patch +++ b/Spigot-Server-Patches/0231-Add-ArmorStand-Item-Meta.patch @@ -1,4 +1,4 @@ -From 94d320edecd9da9e43c9720be5cd42d71a89bdad Mon Sep 17 00:00:00 2001 +From 11eb46a5745a6872cb071f7f2f23f1df432313af Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 27 Jan 2018 17:04:14 -0500 Subject: [PATCH] Add ArmorStand Item Meta @@ -354,10 +354,10 @@ index 000000000..0e8acf12e + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 081904dad..dacca4bc4 100644 +index c00ced8e8..197563552 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -152,6 +152,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -155,6 +155,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { .put(CraftMetaCharge.class, "FIREWORK_EFFECT") .put(CraftMetaKnowledgeBook.class, "KNOWLEDGE_BOOK") .put(CraftMetaTropicalFishBucket.class, "TROPICAL_FISH_BUCKET") @@ -365,7 +365,7 @@ index 081904dad..dacca4bc4 100644 .put(CraftMetaItem.class, "UNSPECIFIC") .build(); -@@ -1239,7 +1240,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1280,7 +1281,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { CraftMetaCharge.EXPLOSION.NBT, CraftMetaBlockState.BLOCK_ENTITY_TAG.NBT, CraftMetaKnowledgeBook.BOOK_RECIPES.NBT, @@ -414,5 +414,5 @@ index 65b8123a8..0ad0004b9 100644 assertThat("Forgotten test?", providers, hasSize(ItemStackTest.COMPOUND_MATERIALS.length - 4/* Normal item meta, skulls, eggs and tile entities */)); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0234-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/Spigot-Server-Patches/0234-Toggleable-player-crits-helps-mitigate-hacked-client.patch index 4f36908b35..160073d78a 100644 --- a/Spigot-Server-Patches/0234-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/Spigot-Server-Patches/0234-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -1,11 +1,11 @@ -From 00bb5cf018de0f3d75abc87b211b2f1b0401adaa Mon Sep 17 00:00:00 2001 +From 23502bc44acab3ad3bd991dff952cb88df286940 Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sat, 10 Mar 2018 00:50:24 +0100 Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 67b4d576a9..02c52958c8 100644 +index 67b4d576a..02c52958c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -182,6 +182,11 @@ public class PaperWorldConfig { @@ -21,10 +21,10 @@ index 67b4d576a9..02c52958c8 100644 private void allChunksAreSlimeChunks() { allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false); diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index b047e8e8b1..b9e6a18293 100644 +index 4aa8e85ab..d5adc0a24 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1035,6 +1035,7 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1032,6 +1032,7 @@ public abstract class EntityHuman extends EntityLiving { boolean flag2 = flag && this.fallDistance > 0.0F && !this.onGround && !this.z_() && !this.isInWater() && !this.hasEffect(MobEffects.BLINDNESS) && !this.isPassenger() && entity instanceof EntityLiving; @@ -33,5 +33,5 @@ index b047e8e8b1..b9e6a18293 100644 if (flag2) { f *= 1.5F; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0241-Call-PortalCreateEvent-for-exit-portals.patch b/Spigot-Server-Patches/0241-Call-PortalCreateEvent-for-exit-portals.patch index fa1610daa2..a9345ad445 100644 --- a/Spigot-Server-Patches/0241-Call-PortalCreateEvent-for-exit-portals.patch +++ b/Spigot-Server-Patches/0241-Call-PortalCreateEvent-for-exit-portals.patch @@ -1,11 +1,11 @@ -From 8031e2f0a6c2736b55d5e96c527b6cf080b88d74 Mon Sep 17 00:00:00 2001 +From 66b22bb50ee08233312675626b9ed979fed3eac9 Mon Sep 17 00:00:00 2001 From: MiniDigger Date: Sun, 18 Mar 2018 15:44:44 +0100 Subject: [PATCH] Call PortalCreateEvent for exit portals diff --git a/src/main/java/net/minecraft/server/PortalTravelAgent.java b/src/main/java/net/minecraft/server/PortalTravelAgent.java -index 5e899e05cf..20f2a9197c 100644 +index 434589adb..7e858bab4 100644 --- a/src/main/java/net/minecraft/server/PortalTravelAgent.java +++ b/src/main/java/net/minecraft/server/PortalTravelAgent.java @@ -48,6 +48,9 @@ public class PortalTravelAgent { @@ -53,13 +53,13 @@ index 5e899e05cf..20f2a9197c 100644 i1 = MathHelper.clamp(i1, 70, this.world.ab() - 10); j5 = i1; @@ -416,8 +433,11 @@ public class PortalTravelAgent { - l3 = j2 + (l2 - 1) * l5 - k2 * k5; - boolean flag1 = i3 < 0; + i4 = j2 + (i3 - 1) * l5 - k2 * k5; + boolean flag1 = l2 < 0; -- blockposition_mutableblockposition.c(j3, k3, l3); +- blockposition_mutableblockposition.c(j3, l3, i4); - this.world.setTypeUpdate(blockposition_mutableblockposition, flag1 ? Blocks.OBSIDIAN.getBlockData() : Blocks.AIR.getBlockData()); + // Paper start -+ BlockPosition pos = new BlockPosition(j3, k3, l3); ++ BlockPosition pos = new BlockPosition(j3, l3, i4); + nmsBlocks.put(pos, flag1 ? Blocks.OBSIDIAN.getBlockData() : Blocks.AIR.getBlockData()); + bukkitBlocks.add(this.world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ())); + // Paper end @@ -67,9 +67,9 @@ index 5e899e05cf..20f2a9197c 100644 } } @@ -427,7 +447,11 @@ public class PortalTravelAgent { - for (l2 = -1; l2 < 4; ++l2) { - if (k2 == -1 || k2 == 2 || l2 == -1 || l2 == 3) { - blockposition_mutableblockposition.c(i5 + k2 * k5, j5 + l2, j2 + k2 * l5); + for (i3 = -1; i3 < 4; ++i3) { + if (k2 == -1 || k2 == 2 || i3 == -1 || i3 == 3) { + blockposition_mutableblockposition.c(i5 + k2 * k5, j5 + i3, j2 + k2 * l5); - this.world.setTypeAndData(blockposition_mutableblockposition, Blocks.OBSIDIAN.getBlockData(), 3); + // Paper start + BlockPosition pos = new BlockPosition(blockposition_mutableblockposition.getX(), blockposition_mutableblockposition.getY(), blockposition_mutableblockposition.getZ()); @@ -80,9 +80,9 @@ index 5e899e05cf..20f2a9197c 100644 } } @@ -437,10 +461,22 @@ public class PortalTravelAgent { - for (l2 = 0; l2 < 2; ++l2) { - for (i3 = 0; i3 < 3; ++i3) { - blockposition_mutableblockposition.c(i5 + l2 * k5, j5 + i3, j2 + l2 * l5); + for (i3 = 0; i3 < 2; ++i3) { + for (l2 = 0; l2 < 3; ++l2) { + blockposition_mutableblockposition.c(i5 + i3 * k5, j5 + l2, j2 + i3 * l5); - this.world.setTypeAndData(blockposition_mutableblockposition, iblockdata, 18); + + // Paper start @@ -104,5 +104,5 @@ index 5e899e05cf..20f2a9197c 100644 } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0251-Configurable-sprint-interruption-on-attack.patch b/Spigot-Server-Patches/0251-Configurable-sprint-interruption-on-attack.patch index 94c94f632f..16532a5b80 100644 --- a/Spigot-Server-Patches/0251-Configurable-sprint-interruption-on-attack.patch +++ b/Spigot-Server-Patches/0251-Configurable-sprint-interruption-on-attack.patch @@ -1,4 +1,4 @@ -From 6cfc9f17e0b11859dd5255f1d21a3050a7fef30c Mon Sep 17 00:00:00 2001 +From 20f385cb4b8ce6bb47708d047bde887b18d4b3ce Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 14 Apr 2018 20:20:46 +0200 Subject: [PATCH] Configurable sprint interruption on attack @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable sprint interruption on attack If the sprint interruption is disabled players continue sprinting when they attack entities. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 02c52958c8..fe56f01035 100644 +index 02c52958c..fe56f0103 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -409,4 +409,9 @@ public class PaperWorldConfig { @@ -20,10 +20,10 @@ index 02c52958c8..fe56f01035 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 73998e5a75..1d97a5442c 100644 +index 507641fc6..2bab2ab92 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -1087,7 +1087,11 @@ public abstract class EntityHuman extends EntityLiving { +@@ -1084,7 +1084,11 @@ public abstract class EntityHuman extends EntityLiving { this.motX *= 0.6D; this.motZ *= 0.6D; @@ -37,5 +37,5 @@ index 73998e5a75..1d97a5442c 100644 if (flag3) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0252-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/Spigot-Server-Patches/0252-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index c08606236f..1fa8295858 100644 --- a/Spigot-Server-Patches/0252-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/Spigot-Server-Patches/0252-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -1,14 +1,14 @@ -From 42e32c7a176b27311aae7d6ac8d3614133f17f48 Mon Sep 17 00:00:00 2001 +From 7caac3eb29b5b2438119eda8589590d63cf31bef Mon Sep 17 00:00:00 2001 From: 0x22 <0x22@futureclient.net> Date: Thu, 26 Apr 2018 04:41:11 -0400 Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index aec39d8f7..e1a740cb9 100644 +index 371513042..871dea68f 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2500,7 +2500,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2483,7 +2483,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { String[] lines = new String[4]; for (int i = 0; i < astring.length; ++i) { @@ -18,5 +18,5 @@ index aec39d8f7..e1a740cb9 100644 SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines); this.server.getPluginManager().callEvent(event); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0270-Make-shield-blocking-delay-configurable.patch b/Spigot-Server-Patches/0270-Make-shield-blocking-delay-configurable.patch index bdba0bd44d..18d21dc9d4 100644 --- a/Spigot-Server-Patches/0270-Make-shield-blocking-delay-configurable.patch +++ b/Spigot-Server-Patches/0270-Make-shield-blocking-delay-configurable.patch @@ -1,4 +1,4 @@ -From 027171f9caed4d7ad70d60aa8c9bc9fc2a9793a5 Mon Sep 17 00:00:00 2001 +From 092619ad43618d217d2519f0054de7b7c5a05d17 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 16 Jun 2018 01:18:16 -0500 Subject: [PATCH] Make shield blocking delay configurable @@ -19,10 +19,10 @@ index a005c8c4e..bd4cca26c 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 666e3aaf6..d89f1fe03 100644 +index fadf1df28..67ed48652 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2703,7 +2703,7 @@ public abstract class EntityLiving extends Entity { +@@ -2700,7 +2700,7 @@ public abstract class EntityLiving extends Entity { if (this.isHandRaised() && !this.activeItem.isEmpty()) { Item item = this.activeItem.getItem(); @@ -31,7 +31,7 @@ index 666e3aaf6..d89f1fe03 100644 } else { return false; } -@@ -2791,4 +2791,16 @@ public abstract class EntityLiving extends Entity { +@@ -2788,4 +2788,16 @@ public abstract class EntityLiving extends Entity { public boolean df() { return true; } @@ -69,5 +69,5 @@ index 2f96842bb..8e65bfc78 100644 // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index c8d0ac283d..fcdba55cc4 100644 --- a/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-Server-Patches/0272-EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -1,4 +1,4 @@ -From c0417136a7ddae5c2979f04638b1a1333c1782c4 Mon Sep 17 00:00:00 2001 +From d612d82b0a3ff0130214126a54fb0de279d69ae2 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 15 Jun 2013 19:51:17 -0400 Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API @@ -6,7 +6,7 @@ Subject: [PATCH] EntityShootBowEvent consumeArrow and getArrowItem API Adds ability to get what arrow was shot, and control if it should be consumed. diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java -index f3fca99b..9ef0c22d 100644 +index 4bf6fd083..566846eb0 100644 --- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java +++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java @@ -160,7 +160,7 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR @@ -19,7 +19,7 @@ index f3fca99b..9ef0c22d 100644 event.getProjectile().remove(); return; diff --git a/src/main/java/net/minecraft/server/ItemBow.java b/src/main/java/net/minecraft/server/ItemBow.java -index b0f7649b..152b179c 100644 +index b0f7649b8..152b179ce 100644 --- a/src/main/java/net/minecraft/server/ItemBow.java +++ b/src/main/java/net/minecraft/server/ItemBow.java @@ -57,6 +57,7 @@ public class ItemBow extends Item { @@ -58,10 +58,10 @@ index b0f7649b..152b179c 100644 if (itemstack1.isEmpty()) { entityhuman.inventory.f(itemstack1); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 36cad95a..246bd118 100644 +index 8d12155c3..3f17fbd37 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -314,7 +314,7 @@ public class CraftEventFactory { +@@ -327,7 +327,7 @@ public class CraftEventFactory { /** * EntityShootBowEvent */ @@ -70,7 +70,7 @@ index 36cad95a..246bd118 100644 LivingEntity shooter = (LivingEntity) who.getBukkitEntity(); CraftItemStack itemInHand = CraftItemStack.asCraftMirror(itemstack); Arrow arrow = (Arrow) entityArrow.getBukkitEntity(); -@@ -323,7 +323,7 @@ public class CraftEventFactory { +@@ -336,7 +336,7 @@ public class CraftEventFactory { itemInHand = null; } @@ -80,5 +80,5 @@ index 36cad95a..246bd118 100644 return event; -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0277-LivingEntity-Hand-Raised-Item-Use-API.patch b/Spigot-Server-Patches/0277-LivingEntity-Hand-Raised-Item-Use-API.patch index 7bb0f0d41d..5914856426 100644 --- a/Spigot-Server-Patches/0277-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/Spigot-Server-Patches/0277-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -1,4 +1,4 @@ -From 69b571c2f29805b8ffff38da2d4ac5e3b4960a52 Mon Sep 17 00:00:00 2001 +From 59f1cdb547e2355cf6ab94742fd601f41954550e Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 29 Jun 2018 00:21:28 -0400 Subject: [PATCH] LivingEntity Hand Raised/Item Use API @@ -6,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 18517704c..a8103ff68 100644 +index 8aef335a1..3e9af4481 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -106,7 +106,7 @@ public abstract class EntityLiving extends Entity { @@ -18,7 +18,7 @@ index 18517704c..a8103ff68 100644 protected int bu; protected int bv; private BlockPosition bL; -@@ -2692,10 +2692,12 @@ public abstract class EntityLiving extends Entity { +@@ -2689,10 +2689,12 @@ public abstract class EntityLiving extends Entity { return this.activeItem; } @@ -62,5 +62,5 @@ index 8e65bfc78..52834b6da 100644 // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch index 0a01b6d9ff..36d90e3b12 100644 --- a/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch +++ b/Spigot-Server-Patches/0279-Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch @@ -1,4 +1,4 @@ -From 0beca9cb188e31784710a1483c321cf24f989d37 Mon Sep 17 00:00:00 2001 +From 60a79fd7ebc61e53da457fbc62b43064f962b9f8 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 30 Jun 2018 05:45:39 +0200 Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the @@ -6,10 +6,10 @@ Subject: [PATCH] Improve ProjectileHitEvent to include the BlockFace where the diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 246bd118..a7d335d3 100644 +index 3f17fbd37..dfedd4c30 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -908,7 +908,7 @@ public class CraftEventFactory { +@@ -921,7 +921,7 @@ public class CraftEventFactory { hitBlock = entity.getBukkitEntity().getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ()); } @@ -19,5 +19,5 @@ index 246bd118..a7d335d3 100644 return event; } -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0280-Add-config-to-disable-ender-dragon-legacy-check.patch b/Spigot-Server-Patches/0280-Add-config-to-disable-ender-dragon-legacy-check.patch index 88e7255eaf..8f93f52f64 100644 --- a/Spigot-Server-Patches/0280-Add-config-to-disable-ender-dragon-legacy-check.patch +++ b/Spigot-Server-Patches/0280-Add-config-to-disable-ender-dragon-legacy-check.patch @@ -1,4 +1,4 @@ -From 37de6524ae00610270e919ea443ef399db0d6811 Mon Sep 17 00:00:00 2001 +From 9b687f71b81c508894ee9af7696105e89c926ecf Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 22 Jun 2018 10:38:31 -0500 Subject: [PATCH] Add config to disable ender dragon legacy check @@ -19,10 +19,10 @@ index bd4cca26c..85296e48d 100644 + } } diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java -index e69c44ee2..f4a8a4b4d 100644 +index 1e22aa531..67808446c 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java -@@ -29,16 +29,21 @@ public class EnderDragonBattle { +@@ -27,10 +27,11 @@ public class EnderDragonBattle { private int h; private int i; private int j; @@ -30,21 +30,20 @@ index e69c44ee2..f4a8a4b4d 100644 private boolean k; private boolean l; private UUID m; -- private boolean n; -+ private boolean n; private void setScanForLegacyFight(boolean scanForLegacyFight) { this.n = scanForLegacyFight; } private boolean scanForLegacyFight() { return this.n; } // Paper - OBFHELPER +- private boolean n = true; ++ private boolean n = true; private void setScanForLegacyFight(boolean scanForLegacyFight) { this.n = scanForLegacyFight; } private boolean scanForLegacyFight() { return this.n; } // Paper - OBFHELPER private BlockPosition o; private EnumDragonRespawn p; private int q; - private List r; +@@ -293,7 +294,7 @@ public class EnderDragonBattle { + hashset.add(entityplayer); + } - public EnderDragonBattle(WorldServer worldserver, NBTTagCompound nbttagcompound) { -+ // Paper start -+ setScanForLegacyFight(worldserver.paperConfig.scanForLegacyEnderDragon); -+ if (!scanForLegacyFight()) setDragonKilled(true); -+ // Paper end∂ - this.c = (BossBattleServer) (new BossBattleServer(new ChatMessage("entity.minecraft.ender_dragon", new Object[0]), BossBattle.BarColor.PINK, BossBattle.BarStyle.PROGRESS)).setPlayMusic(true).c(true); - this.e = Lists.newArrayList(); - this.n = true; +- HashSet hashset1 = Sets.newHashSet(this.bossBattle.getPlayers()); ++ HashSet hashset1 = Sets.newHashSet(this.bossBattle.getPlayers()); // Paper - decomp fix + hashset1.removeAll(hashset); + + for(EntityPlayer entityplayer1 : hashset1) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch index 2eaab5d5be..09010be515 100644 --- a/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/0282-InventoryCloseEvent-Reason-API.patch @@ -1,4 +1,4 @@ -From d7d53c56a57bb21a15a31521276395893f488216 Mon Sep 17 00:00:00 2001 +From 5d63a3c07d358801ce32bba4d4f26098c738e4db Mon Sep 17 00:00:00 2001 From: Aikar Date: Tue, 3 Jul 2018 21:56:23 -0400 Subject: [PATCH] InventoryCloseEvent Reason API @@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 44f37f50a..864691f87 100644 +index cded44bc4..101343849 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -931,7 +931,7 @@ public class Chunk implements IChunkAccess { @@ -29,7 +29,7 @@ index 44f37f50a..864691f87 100644 } } diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 1d97a5442..d510ef63d 100644 +index 2bab2ab92..20a46e2af 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java @@ -161,7 +161,7 @@ public abstract class EntityHuman extends EntityLiving { @@ -56,7 +56,7 @@ index 1d97a5442..d510ef63d 100644 this.activeContainer = this.defaultContainer; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index edef46ac3..9dcf29609 100644 +index a615d7867..6933d8876 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -347,7 +347,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -110,10 +110,10 @@ index edef46ac3..9dcf29609 100644 this.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index e1a740cb9..f9e6c2125 100644 +index 871dea68f..30d5c1734 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -2036,7 +2036,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -2019,7 +2019,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { PlayerConnectionUtils.ensureMainThread(packetplayinclosewindow, this, this.player.getWorldServer()); if (this.player.isFrozen()) return; // CraftBukkit @@ -123,7 +123,7 @@ index e1a740cb9..f9e6c2125 100644 this.player.m(); } diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java -index 8412b153f..e9ca51d91 100644 +index 64a86b699..e6ee5042c 100644 --- a/src/main/java/net/minecraft/server/PlayerList.java +++ b/src/main/java/net/minecraft/server/PlayerList.java @@ -423,7 +423,7 @@ public abstract class PlayerList { @@ -168,10 +168,10 @@ index 8699cc72f..0f1d700c7 100644 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index a7d335d30..630a43bc4 100644 +index dfedd4c30..b220895c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -998,8 +998,19 @@ public class CraftEventFactory { +@@ -1011,8 +1011,19 @@ public class CraftEventFactory { return event; } @@ -193,5 +193,5 @@ index a7d335d30..630a43bc4 100644 human.activeContainer.transferTo(human.defaultContainer, human.getBukkitEntity()); } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0286-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/Spigot-Server-Patches/0286-Refresh-player-inventory-when-cancelling-PlayerInter.patch index f2df697cf2..f93bd1db0f 100644 --- a/Spigot-Server-Patches/0286-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/Spigot-Server-Patches/0286-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -1,4 +1,4 @@ -From 0124a7c77c02dc3feaa4e4b050cc2f762d6df5bc Mon Sep 17 00:00:00 2001 +From a2401ef6a6fb1f963e4fba262d19a483d57993de Mon Sep 17 00:00:00 2001 From: Minecrell Date: Fri, 13 Jul 2018 14:54:43 +0200 Subject: [PATCH] Refresh player inventory when cancelling @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f9e6c2125..ff03755bc 100644 +index 30d5c1734..e204dbe21 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1950,6 +1950,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1934,6 +1934,7 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } if (event.isCancelled()) { @@ -28,5 +28,5 @@ index f9e6c2125..ff03755bc 100644 } // CraftBukkit end -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0289-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch b/Spigot-Server-Patches/0289-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch index 7cccbeca85..768e3765d2 100644 --- a/Spigot-Server-Patches/0289-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch +++ b/Spigot-Server-Patches/0289-Don-t-process-despawn-if-entity-is-in-a-chunk-schedu.patch @@ -1,4 +1,4 @@ -From 085ab94bffa4a3c2d94334a64b83e5af05902981 Mon Sep 17 00:00:00 2001 +From cbad86f2de8d4863753c51a2eb06ee6fb8a8230a Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:23:00 -0400 Subject: [PATCH] Don't process despawn if entity is in a chunk scheduled for @@ -12,10 +12,10 @@ keep it vanilla in behavior a player may teleport away, and trigger instant despawn diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index 200d46a8a0..db9201d292 100644 +index a28aa016c..d92b6a6ea 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -634,6 +634,8 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -633,6 +633,8 @@ public abstract class EntityInsentient extends EntityLiving { if (this.persistent) { this.ticksFarFromPlayer = 0; } else { @@ -25,5 +25,5 @@ index 200d46a8a0..db9201d292 100644 if (entityhuman != null && entityhuman.affectsSpawning) { // Paper - Affects Spawning API -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0292-add-more-information-to-Entity.toString.patch b/Spigot-Server-Patches/0292-add-more-information-to-Entity.toString.patch index da150718b5..a0cd49bed2 100644 --- a/Spigot-Server-Patches/0292-add-more-information-to-Entity.toString.patch +++ b/Spigot-Server-Patches/0292-add-more-information-to-Entity.toString.patch @@ -1,4 +1,4 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From 91b0749f983780bab7e46d67a6d2908a1209fc8e Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 19 Jul 2018 01:13:28 -0400 Subject: [PATCH] add more information to Entity.toString() @@ -6,18 +6,18 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 5600223d9..173712659 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2498,7 +2498,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke } public String toString() { -- return String.format(Locale.ROOT, "%s[\'%s\'/%d, l=\'%s\', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ)}); +- return String.format(Locale.ROOT, "%s['%s'/%d, l='%s', x=%.2f, y=%.2f, z=%.2f]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), this.id, this.world == null ? "~NULL~" : this.world.getWorldData().getName(), this.locX, this.locY, this.locZ}); + return String.format(Locale.ROOT, "%s[\'%s\'/%d, uuid=\'%s\', l=\'%s\', x=%.2f, y=%.2f, z=%.2f, cx=%d, cz=%d, tl=%d, v=%b, d=%b]", new Object[] { this.getClass().getSimpleName(), this.getDisplayName().getText(), Integer.valueOf(this.id), this.uniqueID.toString(), this.world == null ? "~NULL~" : this.world.getWorldData().getName(), Double.valueOf(this.locX), Double.valueOf(this.locY), Double.valueOf(this.locZ), getChunkX(), getChunkZ(), this.ticksLived, this.valid, this.dead}); // Paper - add more information } public boolean isInvulnerable(DamageSource damagesource) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch b/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch index 06adc49b8e..e10d6dce9d 100644 --- a/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch +++ b/Spigot-Server-Patches/0297-Duplicate-UUID-Resolve-Option.patch @@ -1,4 +1,4 @@ -From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001 +From c776399982299d6cd75dacdcd7f3eb0882a606bd Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 14:27:34 -0400 Subject: [PATCH] Duplicate UUID Resolve Option @@ -33,7 +33,7 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index deb0d4f05..75b591bc2 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -449,4 +449,43 @@ public class PaperWorldConfig { @@ -81,7 +81,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 + } } diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 43583b6ba..1c5737e3f 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -1,5 +1,10 @@ @@ -105,7 +105,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 private boolean l; @@ -687,6 +693,7 @@ public class Chunk implements IChunkAccess { if (i != this.locX || j != this.locZ) { - Chunk.d.warn("Wrong location! ({}, {}) should be ({}, {}), {}", Integer.valueOf(i), Integer.valueOf(j), Integer.valueOf(this.locX), Integer.valueOf(this.locZ), entity); + Chunk.d.warn("Wrong location! ({}, {}) should be ({}, {}), {}", i, j, this.locX, this.locZ, entity); entity.die(); + return; // Paper } @@ -163,7 +163,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 this.world.a(entityslice.stream().filter((entity) -> { return !(entity instanceof EntityHuman); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index a402f71a9..6c427e9aa 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2723,6 +2723,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -175,7 +175,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 this.uniqueID = uuid; this.au = this.uniqueID.toString(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 29c3a24f2..5557e9409 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -75,7 +75,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -188,7 +188,7 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 public final List tileEntityListTick = Lists.newArrayList(); private final List c = Lists.newArrayList(); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 7ac07ac07ac0..7ac07ac07ac0 100644 +index 0bb903aab..572c54c9c 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -41,7 +41,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -219,5 +219,5 @@ index 7ac07ac07ac0..7ac07ac07ac0 100644 logger.error("Overwrote an existing entity " + old + " with " + entity); if (DEBUG_ENTITIES) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch index 2310c9fa1c..34b9a146c8 100644 --- a/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/0302-Vanished-players-don-t-have-rights.patch @@ -1,11 +1,11 @@ -From b0ce442eecdfb77849cbfa7916cdbbb7410f4704 Mon Sep 17 00:00:00 2001 +From 96c562f75805dc969a5acdd9e4f9577ab3d55652 Mon Sep 17 00:00:00 2001 From: Hugo Manrique Date: Mon, 23 Jul 2018 14:22:26 +0200 Subject: [PATCH] Vanished players don't have rights diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index e0cd7bd857..801c3fb8e0 100644 +index 6c427e9aa..f13fa7fff 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -94,7 +94,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -18,7 +18,7 @@ index e0cd7bd857..801c3fb8e0 100644 protected int k; private Entity vehicle; diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java -index 85d364b8f4..ff6c8e2b55 100644 +index 85d364b8f..ff6c8e2b5 100644 --- a/src/main/java/net/minecraft/server/ItemBlock.java +++ b/src/main/java/net/minecraft/server/ItemBlock.java @@ -70,7 +70,8 @@ public class ItemBlock extends Item { @@ -32,7 +32,7 @@ index 85d364b8f4..ff6c8e2b55 100644 BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(blockactioncontext.getWorld(), blockactioncontext.getClickPosition()), player, CraftBlockData.fromData(iblockdata), defaultReturn); diff --git a/src/main/java/net/minecraft/server/VoxelShape.java b/src/main/java/net/minecraft/server/VoxelShape.java -index 1ea8464aeb..35b08a5f99 100644 +index c6ec1a782..6c61718b2 100644 --- a/src/main/java/net/minecraft/server/VoxelShape.java +++ b/src/main/java/net/minecraft/server/VoxelShape.java @@ -24,6 +24,7 @@ public abstract class VoxelShape { @@ -44,7 +44,7 @@ index 1ea8464aeb..35b08a5f99 100644 if (this.isEmpty()) { throw new UnsupportedOperationException("No bounds for empty shape."); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index fa94e41f0f..ad1011a22a 100644 +index 7f23a8e2e..811311e9e 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -1595,6 +1595,37 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -86,10 +86,10 @@ index fa94e41f0f..ad1011a22a 100644 if (voxelshape.isEmpty()) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 630a43bc41..da779ecb3a 100644 +index b220895c2..672c32858 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -889,6 +889,14 @@ public class CraftEventFactory { +@@ -902,6 +902,14 @@ public class CraftEventFactory { Projectile projectile = (Projectile) entity.getBukkitEntity(); org.bukkit.entity.Entity collided = position.entity.getBukkitEntity(); com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); @@ -105,5 +105,5 @@ index 630a43bc41..da779ecb3a 100644 return event; } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0306-EntityTransformedEvent.patch b/Spigot-Server-Patches/0306-EntityTransformedEvent.patch index bfa15ea7fe..803cf0c169 100644 --- a/Spigot-Server-Patches/0306-EntityTransformedEvent.patch +++ b/Spigot-Server-Patches/0306-EntityTransformedEvent.patch @@ -1,11 +1,11 @@ -From 5b600d2b9415bea339241a122bbf8ab97ce2c103 Mon Sep 17 00:00:00 2001 +From cbb9f2cdcc6a9cc78a19674821934916c512e6d9 Mon Sep 17 00:00:00 2001 From: Anthony MacAllister Date: Thu, 26 Jul 2018 15:30:03 -0400 Subject: [PATCH] EntityTransformedEvent diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 709dfb07..8ba9f3bb 100644 +index 175235a75..dab644930 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -53,6 +53,7 @@ public class EntityMushroomCow extends EntityCow { @@ -14,13 +14,13 @@ index 709dfb07..8ba9f3bb 100644 } + if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entitycow.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.SHEARED).callEvent()) return false; // Paper this.world.addEntity(entitycow, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SHEARED); - // CraftBukkit end + this.die(); // CraftBukkit - from above diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 78a549b0..868d2483 100644 +index a11e66262..e4a570e01 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -630,6 +630,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { +@@ -625,6 +625,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { if (CraftEventFactory.callEntityTransformEvent(this, entitywitch, EntityTransformEvent.TransformReason.LIGHTNING).isCancelled()) { return; } @@ -29,7 +29,7 @@ index 78a549b0..868d2483 100644 // CraftBukkit end this.die(); diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 02bebf72..4b326bf6 100644 +index dc00725f9..823d4be7f 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -247,6 +247,7 @@ public class EntityZombie extends EntityMonster { @@ -40,26 +40,26 @@ index 02bebf72..4b326bf6 100644 this.world.addEntity(entityzombie, CreatureSpawnEvent.SpawnReason.DROWNED); // CraftBukkit - added spawn reason this.die(); } -@@ -410,6 +411,7 @@ public class EntityZombie extends EntityMonster { +@@ -409,6 +410,7 @@ public class EntityZombie extends EntityMonster { + if (CraftEventFactory.callEntityTransformEvent(this, entityzombievillager, EntityTransformEvent.TransformReason.INFECTION).isCancelled()) { return; } - // CraftBukkit end + if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityvillager.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.INFECTED).callEvent()) return; // Paper + this.world.kill(entityvillager); // CraftBukkit - from above this.world.addEntity(entityzombievillager, CreatureSpawnEvent.SpawnReason.INFECTION); // CraftBukkit - add SpawnReason - this.world.a((EntityHuman) null, 1026, new BlockPosition(this), 0); - } + // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index cbbd2197..0e5dd111 100644 +index d2b2cc2fd..ab1b3ab5e 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java -@@ -140,6 +140,7 @@ public class EntityZombieVillager extends EntityZombie { +@@ -139,6 +139,7 @@ public class EntityZombieVillager extends EntityZombie { + if (CraftEventFactory.callEntityTransformEvent(this, entityvillager, EntityTransformEvent.TransformReason.CURED).isCancelled()) { return; } - // CraftBukkit end + if (!new com.destroystokyo.paper.event.entity.EntityTransformedEvent(this.getBukkitEntity(), entityvillager.getBukkitEntity(), com.destroystokyo.paper.event.entity.EntityTransformedEvent.TransformedReason.CURED).callEvent()) return; // Paper + this.world.kill(this); // CraftBukkit - from above this.world.addEntity(entityvillager, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CURED); // CraftBukkit - add SpawnReason - if (this.bD != null) { - EntityHuman entityhuman = this.world.b(this.bD); + // CraftBukkit end -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0314-Implement-Expanded-ArmorStand-API.patch b/Spigot-Server-Patches/0314-Implement-Expanded-ArmorStand-API.patch index ea66e7bd0a..e15a004ff9 100644 --- a/Spigot-Server-Patches/0314-Implement-Expanded-ArmorStand-API.patch +++ b/Spigot-Server-Patches/0314-Implement-Expanded-ArmorStand-API.patch @@ -1,4 +1,4 @@ -From 2c737ca36dc1dfff4e6ef70b46329b43d6a09814 Mon Sep 17 00:00:00 2001 +From 01b2f97693dd5bc72e602aba07776fc468ffdd84 Mon Sep 17 00:00:00 2001 From: willies952002 Date: Thu, 26 Jul 2018 02:25:46 -0400 Subject: [PATCH] Implement Expanded ArmorStand API @@ -8,7 +8,7 @@ Add the following: - Enable/Disable slot interactions diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 6628af7778..7647311dfd 100644 +index 4ecf34a40..1dcc482c0 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -36,7 +36,7 @@ public class EntityArmorStand extends EntityLiving { @@ -20,7 +20,7 @@ index 6628af7778..7647311dfd 100644 private boolean bI; public Vector3f headPose; public Vector3f bodyPose; -@@ -364,6 +364,7 @@ public class EntityArmorStand extends EntityLiving { +@@ -361,6 +361,7 @@ public class EntityArmorStand extends EntityLiving { return enumitemslot; } @@ -29,7 +29,7 @@ index 6628af7778..7647311dfd 100644 return (this.bH & 1 << enumitemslot.c()) != 0 || enumitemslot.a() == EnumItemSlot.Function.HAND && !this.hasArms(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java -index 124c3185bc..9f5c3b92e3 100644 +index 124c3185b..9f5c3b92e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java @@ -30,11 +30,13 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand { @@ -126,5 +126,5 @@ index 124c3185bc..9f5c3b92e3 100644 // Paper end } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0317-Add-TNTPrimeEvent.patch b/Spigot-Server-Patches/0317-Add-TNTPrimeEvent.patch index 4385660848..c632370e6c 100644 --- a/Spigot-Server-Patches/0317-Add-TNTPrimeEvent.patch +++ b/Spigot-Server-Patches/0317-Add-TNTPrimeEvent.patch @@ -1,11 +1,11 @@ -From b9694859d9ab9153646c1652af936a96459a786b Mon Sep 17 00:00:00 2001 +From d4789c35af7e28c4260ea87432196d2efe728fd0 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Mon, 16 Jul 2018 00:05:05 +0300 Subject: [PATCH] Add TNTPrimeEvent diff --git a/src/main/java/net/minecraft/server/BlockFire.java b/src/main/java/net/minecraft/server/BlockFire.java -index 24573b4704..ea428e2daf 100644 +index 35a265fa2..3bacd8958 100644 --- a/src/main/java/net/minecraft/server/BlockFire.java +++ b/src/main/java/net/minecraft/server/BlockFire.java @@ -2,6 +2,7 @@ package net.minecraft.server; @@ -18,7 +18,7 @@ index 24573b4704..ea428e2daf 100644 import java.util.Map.Entry; @@ -234,12 +235,19 @@ public class BlockFire extends Block { - world.setTypeAndData(blockposition, (IBlockData) this.a((IBlockAccess) world, blockposition).set(BlockFire.AGE, Integer.valueOf(l)), 3); + world.setTypeAndData(blockposition, (IBlockData) this.a((IBlockAccess) world, blockposition).set(BlockFire.AGE, l), 3); } else { - world.setAir(blockposition); + if(iblockdata.getBlock() != Blocks.TNT) world.setAir(blockposition); // Paper - TNTPrimeEvent - We might be cancelling it below, move the setAir down @@ -38,7 +38,7 @@ index 24573b4704..ea428e2daf 100644 } } diff --git a/src/main/java/net/minecraft/server/BlockTNT.java b/src/main/java/net/minecraft/server/BlockTNT.java -index 81c5b60ea1..5fddb29612 100644 +index f97fccf56..c821e6b3b 100644 --- a/src/main/java/net/minecraft/server/BlockTNT.java +++ b/src/main/java/net/minecraft/server/BlockTNT.java @@ -1,6 +1,7 @@ @@ -112,7 +112,7 @@ index 81c5b60ea1..5fddb29612 100644 world.setAir(blockposition); } diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java -index 2c735a920d..74d96a2f09 100644 +index 473773724..a49f1208b 100644 --- a/src/main/java/net/minecraft/server/EntityEnderDragon.java +++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java @@ -9,6 +9,7 @@ import org.apache.logging.log4j.Logger; @@ -136,5 +136,5 @@ index 2c735a920d..74d96a2f09 100644 this.world.setAir(new BlockPosition(blockX, blockY, blockZ)); -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch index 29eb3e8fa5..5c7d1e7753 100644 --- a/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch +++ b/Spigot-Server-Patches/0320-Add-hand-to-bucket-events.patch @@ -1,11 +1,11 @@ -From 8267ebfcf1993dcff3c0e19bc3552724230d7873 Mon Sep 17 00:00:00 2001 +From 211bc700ef0ca2bbca2364ab75810fd0cc0fad72 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 2 Aug 2018 08:44:35 -0500 Subject: [PATCH] Add hand to bucket events diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index 5f4f107d5a..b2e50f8532 100644 +index c9e9b45dc..6bb80975e 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -65,7 +65,7 @@ public class EntityCow extends EntityAnimal { @@ -18,7 +18,7 @@ index 5f4f107d5a..b2e50f8532 100644 if (event.isCancelled()) { return false; diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java -index b63da71512..b0dd30dd12 100644 +index 92c596e2c..edd35fe8a 100644 --- a/src/main/java/net/minecraft/server/ItemBucket.java +++ b/src/main/java/net/minecraft/server/ItemBucket.java @@ -35,7 +35,7 @@ public class ItemBucket extends Item { @@ -56,8 +56,8 @@ index b63da71512..b0dd30dd12 100644 boolean flag1 = material.isReplaceable(); if (!world.isEmpty(blockposition) && !flag && !flag1 && (!(iblockdata.getBlock() instanceof IFluidContainer) || !((IFluidContainer) iblockdata.getBlock()).canPlace(world, blockposition, iblockdata, this.fluidType))) { -- return movingobjectposition == null ? false : this.a(entityhuman, world, movingobjectposition.a().shift(movingobjectposition.direction), (MovingObjectPosition) null, enumdirection, clicked, itemstack); // CraftBukkit -+ return movingobjectposition == null ? false : this.a(entityhuman, world, movingobjectposition.a().shift(movingobjectposition.direction), (MovingObjectPosition) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper - add enumhand +- return movingobjectposition == null ? false : this.a(entityhuman, world, movingobjectposition.getBlockPosition().shift(movingobjectposition.direction), (MovingObjectPosition) null, enumdirection, clicked, itemstack); // CraftBukkit ++ return movingobjectposition == null ? false : this.a(entityhuman, world, movingobjectposition.getBlockPosition().shift(movingobjectposition.direction), (MovingObjectPosition) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit // Paper - add enumhand } else { // CraftBukkit start if (entityhuman != null) { @@ -67,10 +67,10 @@ index b63da71512..b0dd30dd12 100644 ((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition)); // SPIGOT-4238: needed when looking through entity // TODO: inventory not updated diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f5fa6b13e1..396a37f69b 100644 +index 672c32858..cd6ae3b8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -228,6 +228,20 @@ public class CraftEventFactory { +@@ -229,6 +229,20 @@ public class CraftEventFactory { } private static PlayerEvent getPlayerBucketEvent(boolean isFilling, EntityHuman who, int clickedX, int clickedY, int clickedZ, EnumDirection clickedFace, ItemStack itemstack, net.minecraft.server.Item item) { @@ -91,7 +91,7 @@ index f5fa6b13e1..396a37f69b 100644 Player player = (who == null) ? null : (Player) who.getBukkitEntity(); CraftItemStack itemInHand = CraftItemStack.asNewCraftStack(item); Material bucket = CraftMagicNumbers.getMaterial(itemstack.getItem()); -@@ -240,10 +254,10 @@ public class CraftEventFactory { +@@ -241,10 +255,10 @@ public class CraftEventFactory { PlayerEvent event = null; if (isFilling) { @@ -105,5 +105,5 @@ index f5fa6b13e1..396a37f69b 100644 } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0330-Allow-disabling-armour-stand-ticking.patch b/Spigot-Server-Patches/0330-Allow-disabling-armour-stand-ticking.patch index 3449e34de8..f7e377d4ce 100644 --- a/Spigot-Server-Patches/0330-Allow-disabling-armour-stand-ticking.patch +++ b/Spigot-Server-Patches/0330-Allow-disabling-armour-stand-ticking.patch @@ -1,4 +1,4 @@ -From 40c679a084928c09e974747d29b572bab11290c7 Mon Sep 17 00:00:00 2001 +From a9d4649439524406e470b98743fd7309c5f42b15 Mon Sep 17 00:00:00 2001 From: kashike Date: Wed, 15 Aug 2018 01:26:09 -0700 Subject: [PATCH] Allow disabling armour stand ticking @@ -20,7 +20,7 @@ index a2656abaf..95fc2d8ed 100644 + } } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 7647311df..8167fe5c9 100644 +index 1dcc482c0..c5bddb1da 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java @@ -45,6 +45,11 @@ public class EntityArmorStand extends EntityLiving { @@ -43,7 +43,7 @@ index 7647311df..8167fe5c9 100644 this.setSize(0.5F, 1.975F); this.Q = 0.0F; } -@@ -131,6 +137,7 @@ public class EntityArmorStand extends EntityLiving { +@@ -128,6 +134,7 @@ public class EntityArmorStand extends EntityLiving { this.bF.set(enumitemslot.b(), itemstack); } @@ -51,7 +51,7 @@ index 7647311df..8167fe5c9 100644 } public boolean c(int i, ItemStack itemstack) { -@@ -202,6 +209,7 @@ public class EntityArmorStand extends EntityLiving { +@@ -199,6 +206,7 @@ public class EntityArmorStand extends EntityLiving { } nbttagcompound.set("Pose", this.z()); @@ -59,7 +59,7 @@ index 7647311df..8167fe5c9 100644 } public void a(NBTTagCompound nbttagcompound) { -@@ -233,6 +241,11 @@ public class EntityArmorStand extends EntityLiving { +@@ -230,6 +238,11 @@ public class EntityArmorStand extends EntityLiving { this.setMarker(nbttagcompound.getBoolean("Marker")); this.bI = !this.isMarker(); this.noclip = this.isNoGravity(); @@ -71,7 +71,7 @@ index 7647311df..8167fe5c9 100644 NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Pose"); this.g(nbttagcompound1); -@@ -556,7 +569,30 @@ public class EntityArmorStand extends EntityLiving { +@@ -553,7 +566,30 @@ public class EntityArmorStand extends EntityLiving { } public void tick() { @@ -102,7 +102,7 @@ index 7647311df..8167fe5c9 100644 Vector3f vector3f = (Vector3f) this.datawatcher.get(EntityArmorStand.b); if (!this.headPose.equals(vector3f)) { -@@ -685,31 +721,37 @@ public class EntityArmorStand extends EntityLiving { +@@ -682,31 +718,37 @@ public class EntityArmorStand extends EntityLiving { public void setHeadPose(Vector3f vector3f) { this.headPose = vector3f; this.datawatcher.set(EntityArmorStand.b, vector3f); @@ -141,10 +141,10 @@ index 7647311df..8167fe5c9 100644 public Vector3f r() { diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index a8103ff68..21d32178c 100644 +index 3e9af4481..1dcb9a7e9 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2082,55 +2082,7 @@ public abstract class EntityLiving extends Entity { +@@ -2082,52 +2082,7 @@ public abstract class EntityLiving extends Entity { } } @@ -159,11 +159,9 @@ index a8103ff68..21d32178c 100644 - case HAND: - itemstack = (ItemStack) this.bB.get(enumitemslot.b()); - break; -- - case ARMOR: - itemstack = (ItemStack) this.bC.get(enumitemslot.b()); - break; -- - default: - continue; - } @@ -191,7 +189,6 @@ index a8103ff68..21d32178c 100644 - case HAND: - this.bB.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack()); - break; -- - case ARMOR: - this.bC.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack()); - } @@ -201,24 +198,26 @@ index a8103ff68..21d32178c 100644 if (this.ticksLived % 20 == 0) { this.getCombatTracker().g(); -@@ -2223,6 +2175,56 @@ public abstract class EntityLiving extends Entity { +@@ -2220,6 +2175,57 @@ public abstract class EntityLiving extends Entity { } } + // Paper start - split into own method from above + public void updateEntityEquipment() { -+ for (EnumItemSlot enumitemslot : EnumItemSlot.values()) { ++ EnumItemSlot[] aenumitemslot = EnumItemSlot.values(); ++ int j = aenumitemslot.length; ++ ++ for (int k = 0; k < j; ++k) { ++ EnumItemSlot enumitemslot = aenumitemslot[k]; + ItemStack itemstack; + + switch (enumitemslot.a()) { + case HAND: + itemstack = (ItemStack) this.bB.get(enumitemslot.b()); + break; -+ + case ARMOR: + itemstack = (ItemStack) this.bC.get(enumitemslot.b()); + break; -+ + default: + continue; + } @@ -246,7 +245,6 @@ index a8103ff68..21d32178c 100644 + case HAND: + this.bB.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack()); + break; -+ + case ARMOR: + this.bC.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack()); + } @@ -279,5 +277,5 @@ index 9f5c3b92e..07ce93f17 100644 // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch b/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch index 387b7a9639..de2964c578 100644 --- a/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch +++ b/Spigot-Server-Patches/0338-Slime-Pathfinder-Events.patch @@ -1,11 +1,11 @@ -From 3d06b85ae5fd05a8885801d0a8d94dd2c907b4ef Mon Sep 17 00:00:00 2001 +From 71d15635773d8a7f7a77483164cd4812f860dee1 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 24 Aug 2018 08:18:42 -0500 Subject: [PATCH] Slime Pathfinder Events diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java -index e913accd..54c5f746 100644 +index f92bf02b8..81966542e 100644 --- a/src/main/java/net/minecraft/server/EntitySlime.java +++ b/src/main/java/net/minecraft/server/EntitySlime.java @@ -1,6 +1,14 @@ @@ -21,9 +21,9 @@ index e913accd..54c5f746 100644 +import org.bukkit.entity.Slime; +// Paper end // CraftBukkit start - import org.bukkit.craftbukkit.event.CraftEventFactory; - import org.bukkit.event.entity.EntityTransformEvent; -@@ -59,6 +67,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { + import java.util.ArrayList; + import java.util.List; +@@ -61,6 +69,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { super.b(nbttagcompound); nbttagcompound.setInt("Size", this.getSize() - 1); nbttagcompound.setBoolean("wasOnGround", this.bD); @@ -31,7 +31,7 @@ index e913accd..54c5f746 100644 } public void a(NBTTagCompound nbttagcompound) { -@@ -71,6 +80,11 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -73,6 +82,11 @@ public class EntitySlime extends EntityInsentient implements IMonster { this.setSize(i + 1, false); this.bD = nbttagcompound.getBoolean("wasOnGround"); @@ -43,7 +43,7 @@ index e913accd..54c5f746 100644 } public boolean dy() { -@@ -316,7 +330,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -323,7 +337,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { } public boolean a() { @@ -52,7 +52,7 @@ index e913accd..54c5f746 100644 } public void e() { -@@ -335,7 +349,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -342,7 +356,7 @@ public class EntitySlime extends EntityInsentient implements IMonster { } public boolean a() { @@ -61,7 +61,7 @@ index e913accd..54c5f746 100644 } public void e() { -@@ -359,13 +373,17 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -366,13 +380,17 @@ public class EntitySlime extends EntityInsentient implements IMonster { } public boolean a() { @@ -81,7 +81,7 @@ index e913accd..54c5f746 100644 } ((EntitySlime.ControllerMoveSlime) this.a.getControllerMove()).a(this.b, false); -@@ -385,7 +403,15 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -392,7 +410,15 @@ public class EntitySlime extends EntityInsentient implements IMonster { public boolean a() { EntityLiving entityliving = this.a.getGoalTarget(); @@ -98,7 +98,7 @@ index e913accd..54c5f746 100644 } public void c() { -@@ -396,13 +422,28 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -403,13 +429,28 @@ public class EntitySlime extends EntityInsentient implements IMonster { public boolean b() { EntityLiving entityliving = this.a.getGoalTarget(); @@ -128,7 +128,7 @@ index e913accd..54c5f746 100644 } static class ControllerMoveSlime extends ControllerMove { -@@ -460,4 +501,15 @@ public class EntitySlime extends EntityInsentient implements IMonster { +@@ -467,4 +508,15 @@ public class EntitySlime extends EntityInsentient implements IMonster { } } } @@ -145,7 +145,7 @@ index e913accd..54c5f746 100644 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java -index 18e7ef80..8403c1e0 100644 +index 18e7ef80a..8403c1e01 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftSlime.java @@ -33,4 +33,14 @@ public class CraftSlime extends CraftMob implements Slime { @@ -164,5 +164,5 @@ index 18e7ef80..8403c1e0 100644 + // Paper end } -- -2.17.1 +2.19.2 diff --git a/Spigot-Server-Patches/0344-Add-More-Creeper-API.patch b/Spigot-Server-Patches/0344-Add-More-Creeper-API.patch index ea3ad288f2..5544884674 100644 --- a/Spigot-Server-Patches/0344-Add-More-Creeper-API.patch +++ b/Spigot-Server-Patches/0344-Add-More-Creeper-API.patch @@ -1,11 +1,11 @@ -From a57330ca2e6771b9d6b370650a108efb8de75c35 Mon Sep 17 00:00:00 2001 +From 900acad38a9935f66e793d3bc95f209d873a59d5 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 24 Aug 2018 11:50:26 -0500 Subject: [PATCH] Add More Creeper API diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java -index 19022b6e2..72b4735d4 100644 +index 569248abb..b1752d66f 100644 --- a/src/main/java/net/minecraft/server/EntityCreeper.java +++ b/src/main/java/net/minecraft/server/EntityCreeper.java @@ -14,7 +14,7 @@ public class EntityCreeper extends EntityMonster { @@ -26,7 +26,7 @@ index 19022b6e2..72b4735d4 100644 if (!this.world.isClientSide) { boolean flag = this.world.getGameRules().getBoolean("mobGriefing"); @@ -241,8 +242,19 @@ public class EntityCreeper extends EntityMonster { - return ((Boolean) this.datawatcher.get(EntityCreeper.c)).booleanValue(); + return (Boolean) this.datawatcher.get(EntityCreeper.c); } + // Paper start @@ -40,7 +40,7 @@ index 19022b6e2..72b4735d4 100644 + } + public void dB() { -- this.datawatcher.set(EntityCreeper.c, Boolean.valueOf(true)); +- this.datawatcher.set(EntityCreeper.c, true); + setIgnited(true); + // Paper end } @@ -74,5 +74,5 @@ index ffebb54ca..ab2b20a0d 100644 + // Paper end } -- -2.19.0 +2.19.2 diff --git a/Spigot-Server-Patches/0347-Optimize-getChunkIfLoaded-type-calls.patch b/Spigot-Server-Patches/0347-Optimize-getChunkIfLoaded-type-calls.patch index cea9ef9bf0..53e415baa5 100644 --- a/Spigot-Server-Patches/0347-Optimize-getChunkIfLoaded-type-calls.patch +++ b/Spigot-Server-Patches/0347-Optimize-getChunkIfLoaded-type-calls.patch @@ -1,4 +1,4 @@ -From 386e732ca9bc7404fd11a5f37af2e001ba869e6d Mon Sep 17 00:00:00 2001 +From 084c88af6e4ed0452afb265baac3a816bb78f5ea Mon Sep 17 00:00:00 2001 From: Aikar Date: Wed, 29 Aug 2018 21:59:22 -0400 Subject: [PATCH] Optimize getChunkIfLoaded type calls @@ -10,10 +10,10 @@ Will improve inlining across many hot methods. Improve getBrightness to not do double chunk map lookups. diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index 501b91138..e64cb8051 100644 +index 3854464e8..dcc6e9762 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java -@@ -378,7 +378,7 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -380,7 +380,7 @@ public class ChunkProviderServer implements IChunkProvider { continue; } @@ -23,7 +23,7 @@ index 501b91138..e64cb8051 100644 neighbor.setNeighborUnloaded(-x, -z); chunk.setNeighborUnloaded(x, z); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index d239fc6d3..a5c655155 100644 +index de591d912..5fe4734e3 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -166,7 +166,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -55,7 +55,7 @@ index d239fc6d3..a5c655155 100644 return chunk != null && !chunk.isEmpty(); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 098280e6d..2f034a9fa 100644 +index d5936eb19..4b8b66352 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -217,7 +217,7 @@ public class CraftWorld implements World { @@ -77,5 +77,5 @@ index 098280e6d..2f034a9fa 100644 return true; } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0351-Add-ray-tracing-methods-to-LivingEntity.patch b/Spigot-Server-Patches/0351-Add-ray-tracing-methods-to-LivingEntity.patch index 36445e6fcb..6900ae9b88 100644 --- a/Spigot-Server-Patches/0351-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/Spigot-Server-Patches/0351-Add-ray-tracing-methods-to-LivingEntity.patch @@ -1,14 +1,14 @@ -From 46984ce90bf3c3a444595575bfc6ca250977c1cc Mon Sep 17 00:00:00 2001 +From 1d1819863a8c32551ce0cda7eb22264e3581eaab Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Mon, 3 Sep 2018 18:20:03 -0500 Subject: [PATCH] Add ray tracing methods to LivingEntity diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 21d32178c..2aedfa808 100644 +index 1dcb9a7e9..5ea5d4b78 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2815,6 +2815,22 @@ public abstract class EntityLiving extends Entity { +@@ -2816,6 +2816,22 @@ public abstract class EntityLiving extends Entity { } // Paper start @@ -31,18 +31,6 @@ index 21d32178c..2aedfa808 100644 public int shieldBlockingDelay = world.paperConfig.shieldBlockingDelay; public int getShieldBlockingDelay() { -diff --git a/src/main/java/net/minecraft/server/MovingObjectPosition.java b/src/main/java/net/minecraft/server/MovingObjectPosition.java -index 6d5dbe89a..a31f9f607 100644 ---- a/src/main/java/net/minecraft/server/MovingObjectPosition.java -+++ b/src/main/java/net/minecraft/server/MovingObjectPosition.java -@@ -28,6 +28,7 @@ public class MovingObjectPosition { - this.pos = vec3d; - } - -+ public BlockPosition getBlockPosition() { return a(); } // Paper - OBFHELPER - public BlockPosition a() { - return this.e; - } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java index 52834b6da..eeab59379 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -72,5 +60,5 @@ index 52834b6da..eeab59379 100644 return getLineOfSight(transparent, maxDistance, 2); } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0352-Expose-attack-cooldown-methods-for-Player.patch b/Spigot-Server-Patches/0352-Expose-attack-cooldown-methods-for-Player.patch index 3a7a832f11..6f9140f513 100644 --- a/Spigot-Server-Patches/0352-Expose-attack-cooldown-methods-for-Player.patch +++ b/Spigot-Server-Patches/0352-Expose-attack-cooldown-methods-for-Player.patch @@ -1,14 +1,14 @@ -From 9035d279e96983979992cf4965fefa63b11e48a6 Mon Sep 17 00:00:00 2001 +From 7837b5e97bc04b84c20101a88dd8e38c6a4a6b7b Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Tue, 4 Sep 2018 15:02:00 -0500 Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index d510ef63d1..2870015585 100644 +index 20a46e2af..6aa3a462f 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -2059,14 +2059,17 @@ public abstract class EntityHuman extends EntityLiving { +@@ -2056,14 +2056,17 @@ public abstract class EntityHuman extends EntityLiving { this.datawatcher.set(EntityHuman.bA, nbttagcompound); } @@ -27,7 +27,7 @@ index d510ef63d1..2870015585 100644 this.aH = 0; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0a0ea301d9..8be0a47bae 100644 +index 0a0ea301d..8be0a47ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1917,6 +1917,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -52,5 +52,5 @@ index 0a0ea301d9..8be0a47bae 100644 private final Player.Spigot spigot = new Player.Spigot() { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0354-Improve-death-events.patch b/Spigot-Server-Patches/0354-Improve-death-events.patch index 77db427f39..2d91ee4cd6 100644 --- a/Spigot-Server-Patches/0354-Improve-death-events.patch +++ b/Spigot-Server-Patches/0354-Improve-death-events.patch @@ -1,4 +1,4 @@ -From 24e9f7d5343918cfe10bf2f9546045d768c32695 Mon Sep 17 00:00:00 2001 +From 7ca1e391b1eb3a7a712bc0c6b9a52dc05855b11c Mon Sep 17 00:00:00 2001 From: Phoenix616 Date: Tue, 21 Aug 2018 01:39:35 +0100 Subject: [PATCH] Improve death events @@ -27,7 +27,7 @@ index 9a74601b0..6e60d15cc 100644 int i = this.f ? 300 : 100; if (this.g && (!this.b.isAlive() || this.b.ticksLived - this.c > i)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 665c85ca4..8abd71dfc 100644 +index da0e9b0a3..ab8490ff9 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1539,6 +1539,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -46,7 +46,7 @@ index 665c85ca4..8abd71dfc 100644 public void b(EntityLiving entityliving) {} protected boolean i(double d0, double d1, double d2) { -@@ -3078,6 +3080,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke +@@ -3073,6 +3075,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke return EnumPistonReaction.NORMAL; } @@ -55,10 +55,10 @@ index 665c85ca4..8abd71dfc 100644 return SoundCategory.NEUTRAL; } diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java -index 8167fe5c9..36e2c2e15 100644 +index c5bddb1da..0a9666541 100644 --- a/src/main/java/net/minecraft/server/EntityArmorStand.java +++ b/src/main/java/net/minecraft/server/EntityArmorStand.java -@@ -662,7 +662,8 @@ public class EntityArmorStand extends EntityLiving { +@@ -659,7 +659,8 @@ public class EntityArmorStand extends EntityLiving { } public void killEntity() { @@ -69,7 +69,7 @@ index 8167fe5c9..36e2c2e15 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 2aedfa808..83d648fff 100644 +index 5ea5d4b78..46a4e37a2 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -76,14 +76,14 @@ public abstract class EntityLiving extends Entity { @@ -207,7 +207,7 @@ index 2aedfa808..83d648fff 100644 return this.isBaby() ? (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.5F : (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 1.0F; } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 9dcf29609..720eb9184 100644 +index 6933d8876..d429e552e 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -75,6 +75,10 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -306,10 +306,10 @@ index 8be0a47ba..f56ef6f71 100644 public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e592dfb44..c70890cc5 100644 +index cd6ae3b8e..4a0a456a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -495,9 +495,16 @@ public class CraftEventFactory { +@@ -508,9 +508,16 @@ public class CraftEventFactory { public static EntityDeathEvent callEntityDeathEvent(EntityLiving victim, List drops) { CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity(); EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward()); @@ -326,7 +326,7 @@ index e592dfb44..c70890cc5 100644 victim.expToDrop = event.getDroppedExp(); for (org.bukkit.inventory.ItemStack stack : event.getDrops()) { -@@ -513,8 +520,15 @@ public class CraftEventFactory { +@@ -526,8 +533,15 @@ public class CraftEventFactory { CraftPlayer entity = victim.getBukkitEntity(); PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage); event.setKeepInventory(keepInventory); @@ -342,7 +342,7 @@ index e592dfb44..c70890cc5 100644 victim.keepLevel = event.getKeepLevel(); victim.newLevel = event.getNewLevel(); -@@ -535,6 +549,31 @@ public class CraftEventFactory { +@@ -548,6 +562,31 @@ public class CraftEventFactory { return event; } @@ -375,5 +375,5 @@ index e592dfb44..c70890cc5 100644 * Server methods */ -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0357-Prevent-chunk-loading-from-Fluid-Flowing.patch b/Spigot-Server-Patches/0357-Prevent-chunk-loading-from-Fluid-Flowing.patch index 9ccc664122..526e03d82b 100644 --- a/Spigot-Server-Patches/0357-Prevent-chunk-loading-from-Fluid-Flowing.patch +++ b/Spigot-Server-Patches/0357-Prevent-chunk-loading-from-Fluid-Flowing.patch @@ -1,11 +1,11 @@ -From 18a6abee2190904692bcb23a2adbaaed0b14e3bc Mon Sep 17 00:00:00 2001 +From ab6ded29658de4a666f701be4a17dc2c70571b88 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 10 Sep 2018 23:36:16 -0400 Subject: [PATCH] Prevent chunk loading from Fluid Flowing diff --git a/src/main/java/net/minecraft/server/FluidTypeFlowing.java b/src/main/java/net/minecraft/server/FluidTypeFlowing.java -index b7006b2cb..05e407f76 100644 +index 8a6f79908..c1ed05d9e 100644 --- a/src/main/java/net/minecraft/server/FluidTypeFlowing.java +++ b/src/main/java/net/minecraft/server/FluidTypeFlowing.java @@ -186,7 +186,8 @@ public abstract class FluidTypeFlowing extends FluidType { @@ -16,7 +16,7 @@ index b7006b2cb..05e407f76 100644 + IBlockData iblockdata1 = generatoraccess.getTypeIfLoaded(blockposition1); // Paper + if (iblockdata1 == null) continue; // Paper - if (this.a(generatoraccess, blockposition, iblockdata, enumdirection, blockposition1, iblockdata1, generatoraccess.b(blockposition1), fluid1.c())) { + if (this.a(generatoraccess, blockposition, iblockdata, enumdirection, blockposition1, iblockdata1, generatoraccess.getFluid(blockposition1), fluid1.c())) { // CraftBukkit start @@ -213,7 +214,8 @@ public abstract class FluidTypeFlowing extends FluidType { while (iterator.hasNext()) { @@ -75,5 +75,5 @@ index b7006b2cb..05e407f76 100644 IBlockData iblockdata1 = (IBlockData) pair.getFirst(); Fluid fluid = (Fluid) pair.getSecond(); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0358-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/Spigot-Server-Patches/0358-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index b166565142..0204321d23 100644 --- a/Spigot-Server-Patches/0358-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/Spigot-Server-Patches/0358-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -1,4 +1,4 @@ -From 75fc670b2570b9f692502fea5a0018884b5e823f Mon Sep 17 00:00:00 2001 +From f47a1b4de8a002e464b4f45c7c35eea9e80aa010 Mon Sep 17 00:00:00 2001 From: Mark Vainomaa Date: Wed, 12 Sep 2018 18:53:55 +0300 Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values @@ -100,10 +100,10 @@ index 35c436d19..fcfb17e4e 100644 public CompletableFuture a(SuggestionsBuilder suggestionsbuilder) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index dacca4bc4..0b040527f 100644 +index 197563552..d34b017f9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -78,6 +78,12 @@ import javax.annotation.Nullable; +@@ -81,6 +81,12 @@ import javax.annotation.Nullable; import static org.spigotmc.ValidateUtils.*; // Spigot end @@ -116,10 +116,10 @@ index dacca4bc4..0b040527f 100644 /** * Children must include the following: * -@@ -252,6 +258,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { - static final ItemMetaKey UNBREAKABLE = new ItemMetaKey("Unbreakable"); +@@ -256,6 +262,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { @Specific(Specific.To.NBT) static final ItemMetaKey DAMAGE = new ItemMetaKey("Damage"); + static final ItemMetaKey BUKKIT_CUSTOM_TAG = new ItemMetaKey("PublicBukkitValues"); + // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values + static final ItemMetaKey CAN_DESTROY = new ItemMetaKey("CanDestroy"); + static final ItemMetaKey CAN_PLACE_ON = new ItemMetaKey("CanPlaceOn"); @@ -127,7 +127,7 @@ index dacca4bc4..0b040527f 100644 private IChatBaseComponent displayName; private IChatBaseComponent locName; -@@ -262,6 +272,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -266,6 +276,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { private int hideFlag; private boolean unbreakable; private int damage; @@ -137,8 +137,8 @@ index dacca4bc4..0b040527f 100644 + // Paper end private static final Set HANDLED_TAGS = Sets.newHashSet(); - -@@ -292,6 +306,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { + private static final CraftCustomTagTypeRegistry TAG_TYPE_REGISTRY = new CraftCustomTagTypeRegistry(); +@@ -298,6 +312,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { this.hideFlag = meta.hideFlag; this.unbreakable = meta.unbreakable; this.damage = meta.damage; @@ -152,11 +152,11 @@ index dacca4bc4..0b040527f 100644 + } + // Paper end this.unhandledTags.putAll(meta.unhandledTags); + this.publicItemTagContainer.putAll(meta.publicItemTagContainer.getRaw()); - this.internalTag = meta.internalTag; -@@ -347,6 +370,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { - if (tag.hasKey(DAMAGE.NBT)) { - damage = tag.getInt(DAMAGE.NBT); +@@ -361,6 +384,33 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { + publicItemTagContainer.put(key, compound.get(key)); + } } + // Paper start - Implement an API for CanPlaceOn and CanDestroy NBT values + if (tag.hasKey(CAN_DESTROY.NBT)) { @@ -188,7 +188,7 @@ index dacca4bc4..0b040527f 100644 Set keys = tag.getKeys(); for (String key : keys) { -@@ -468,6 +518,36 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -482,6 +532,36 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { setDamage(damage); } @@ -225,7 +225,7 @@ index dacca4bc4..0b040527f 100644 String internal = SerializableMeta.getString(map, "internal", true); if (internal != null) { ByteArrayInputStream buf = new ByteArrayInputStream(Base64.decodeBase64(internal)); -@@ -579,6 +659,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -598,6 +678,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { if (hasDamage()) { itemTag.setInt(DAMAGE.NBT, damage); } @@ -249,18 +249,18 @@ index dacca4bc4..0b040527f 100644 for (Map.Entry e : unhandledTags.entrySet()) { itemTag.set(e.getKey(), e.getValue()); -@@ -667,7 +764,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -696,7 +793,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { @Overridden boolean isEmpty() { -- return !(hasDisplayName() || hasLocalizedName() || hasEnchants() || hasLore() || hasRepairCost() || !unhandledTags.isEmpty() || hideFlag != 0 || isUnbreakable() || hasDamage() || hasAttributeModifiers()); -+ return !(hasDisplayName() || hasLocalizedName() || hasEnchants() || hasLore() || hasRepairCost() || !unhandledTags.isEmpty() || hideFlag != 0 || isUnbreakable() || hasDamage() || hasAttributeModifiers() +- return !(hasDisplayName() || hasLocalizedName() || hasEnchants() || hasLore() || hasRepairCost() || !unhandledTags.isEmpty() || !publicItemTagContainer.isEmpty() || hideFlag != 0 || isUnbreakable() || hasDamage() || hasAttributeModifiers()); ++ return !(hasDisplayName() || hasLocalizedName() || hasEnchants() || hasLore() || hasRepairCost() || !unhandledTags.isEmpty() || !publicItemTagContainer.isEmpty() || hideFlag != 0 || isUnbreakable() || hasDamage() || hasAttributeModifiers() + || hasPlaceableKeys() || hasDestroyableKeys()); // Paper - Implement an API for CanPlaceOn and CanDestroy NBT values } public String getDisplayName() { -@@ -1003,7 +1101,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { - && (this.unhandledTags.equals(that.unhandledTags)) +@@ -1038,7 +1136,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { + && (this.publicItemTagContainer.equals(that.publicItemTagContainer)) && (this.hideFlag == that.hideFlag) && (this.isUnbreakable() == that.isUnbreakable()) - && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()); @@ -272,7 +272,7 @@ index dacca4bc4..0b040527f 100644 } /** -@@ -1034,6 +1136,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1070,6 +1172,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { hash = 61 * hash + (isUnbreakable() ? 1231 : 1237); hash = 61 * hash + (hasDamage() ? this.damage : 0); hash = 61 * hash + (hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); @@ -283,7 +283,7 @@ index dacca4bc4..0b040527f 100644 return hash; } -@@ -1054,6 +1160,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1090,6 +1196,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { clone.hideFlag = this.hideFlag; clone.unbreakable = this.unbreakable; clone.damage = this.damage; @@ -299,7 +299,7 @@ index dacca4bc4..0b040527f 100644 return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1103,6 +1218,24 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1139,6 +1254,24 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { builder.put(DAMAGE.BUKKIT, damage); } @@ -324,7 +324,7 @@ index dacca4bc4..0b040527f 100644 final Map internalTags = new HashMap(unhandledTags); serializeInternal(internalTags); if (!internalTags.isEmpty()) { -@@ -1247,7 +1380,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1288,7 +1421,9 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { CraftMetaArmorStand.NO_BASE_PLATE.NBT, CraftMetaArmorStand.SHOW_ARMS.NBT, CraftMetaArmorStand.SMALL.NBT, @@ -335,7 +335,7 @@ index dacca4bc4..0b040527f 100644 // Paper end )); } -@@ -1294,4 +1429,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { +@@ -1335,4 +1470,147 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable { return spigot; } // Spigot end @@ -484,5 +484,5 @@ index dacca4bc4..0b040527f 100644 + // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0359-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch b/Spigot-Server-Patches/0359-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch index 95573d4151..35786c941d 100644 --- a/Spigot-Server-Patches/0359-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch +++ b/Spigot-Server-Patches/0359-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch @@ -1,35 +1,23 @@ -From 4a83ac5a4ae5fd765288ba4bb3a77b949af484d5 Mon Sep 17 00:00:00 2001 +From e9e56c914dfbf0e0247dd46619c712e006ff7255 Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 10 Sep 2018 23:56:36 -0400 Subject: [PATCH] Prevent Mob AI Rules from Loading Chunks -diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 4e8eb137a..479a84a25 100644 ---- a/src/main/java/net/minecraft/server/Chunk.java -+++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -481,6 +481,7 @@ public class Chunk implements IChunkAccess { - } - } - -+ public Fluid getFluid(BlockPosition blockposition) { return b(blockposition); } // Paper - OBFHELPER - public Fluid b(BlockPosition blockposition) { - return this.b(blockposition.getX(), blockposition.getY(), blockposition.getZ()); - } diff --git a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java -index 9c72848f1..d007d0387 100644 +index 2b15aa6c9..3ca32123b 100644 --- a/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java +++ b/src/main/java/net/minecraft/server/PathfinderGoalRemoveBlock.java @@ -12,11 +12,13 @@ public class PathfinderGoalRemoveBlock extends PathfinderGoalGotoTarget { private final Block f; - private final EntityInsentient g; + private final EntityInsentient entity; private int h; + private World world; // Paper public PathfinderGoalRemoveBlock(Block block, EntityCreature entitycreature, double d0, int i) { super(entitycreature, d0, 24, i); this.f = block; - this.g = entitycreature; + this.entity = entitycreature; + this.world = entitycreature.world; // Paper } @@ -65,7 +53,7 @@ index 9c72848f1..d007d0387 100644 return block == this.f && iworldreader.getType(blockposition.up()).isAir() && iworldreader.getType(blockposition.up(2)).isAir(); } diff --git a/src/main/java/net/minecraft/server/RandomPositionGenerator.java b/src/main/java/net/minecraft/server/RandomPositionGenerator.java -index 800e0046a..bfa6c2eef 100644 +index f252ef243..bfa6c2eef 100644 --- a/src/main/java/net/minecraft/server/RandomPositionGenerator.java +++ b/src/main/java/net/minecraft/server/RandomPositionGenerator.java @@ -78,6 +78,7 @@ public class RandomPositionGenerator { @@ -80,34 +68,33 @@ index 800e0046a..bfa6c2eef 100644 } private static boolean b(BlockPosition blockposition, EntityCreature entitycreature) { -- return entitycreature.world.b(blockposition).a(TagsFluid.WATER); +- return entitycreature.world.getFluid(blockposition).a(TagsFluid.WATER); + Fluid fluid = entitycreature.world.getFluidIfLoaded(blockposition); // Paper + return fluid != null && fluid.a(TagsFluid.WATER); // Paper } } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index a5c655155..016d50d3c 100644 +index 5fe4734e3..eabf50e24 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -763,6 +763,18 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -762,7 +762,17 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc + return chunk.getType(blockposition); } } - + // Paper start + public Fluid getFluidIfLoaded(BlockPosition blockposition) { + if (blockposition.isInvalidYLocation()) { // Paper + return getFluid(blockposition); + } else { + Chunk chunk = this.getChunkIfLoaded(blockposition); -+ + + return chunk != null ? chunk.getFluid(blockposition) : null; + } + } + // Paper end -+ public Fluid getFluid(BlockPosition blockposition) { return b(blockposition); } // Paper - OBFHELPER - public Fluid b(BlockPosition blockposition) { + public Fluid getFluid(BlockPosition blockposition) { if (blockposition.isInvalidYLocation()) { // Paper return FluidTypes.a.i(); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0362-Optimize-and-Fix-ExpiringMap-Issues.patch b/Spigot-Server-Patches/0362-Optimize-and-Fix-ExpiringMap-Issues.patch index db2eda9ca6..137d91b9ee 100644 --- a/Spigot-Server-Patches/0362-Optimize-and-Fix-ExpiringMap-Issues.patch +++ b/Spigot-Server-Patches/0362-Optimize-and-Fix-ExpiringMap-Issues.patch @@ -1,4 +1,4 @@ -From 4c107ffe59e673bfbcf13d0da689080d0f9c5a23 Mon Sep 17 00:00:00 2001 +From 9c4cf40d3f69a1a4b86e27690df94c8330c0db17 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sun, 16 Sep 2018 00:00:16 -0400 Subject: [PATCH] Optimize and Fix ExpiringMap Issues @@ -34,7 +34,7 @@ index c8c1444e8..6723343b8 100644 } diff --git a/src/main/java/net/minecraft/server/ExpiringMap.java b/src/main/java/net/minecraft/server/ExpiringMap.java -index ee97c2b6f..795e73542 100644 +index ae5a2077e..795e73542 100644 --- a/src/main/java/net/minecraft/server/ExpiringMap.java +++ b/src/main/java/net/minecraft/server/ExpiringMap.java @@ -2,94 +2,200 @@ package net.minecraft.server; @@ -239,10 +239,9 @@ index ee97c2b6f..795e73542 100644 } - public T put(Long olong, T t0) { -- this.a(olong.longValue()); -- return super.put(olong, t0); + public T put(Long olong, T object) { -+ this.a(olong); + this.a(olong); +- return super.put(olong, t0); + return (T)super.put(olong, object); } @@ -288,7 +287,7 @@ index ee97c2b6f..795e73542 100644 - // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d83e85dbf..2105fa50b 100644 +index 49a06f395..9b2703fd2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -155,6 +155,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -330,5 +329,5 @@ index 9c2adb235..04e29f58c 100644 } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0367-Catch-JsonParseException-in-Entity-and-TE-names.patch b/Spigot-Server-Patches/0367-Catch-JsonParseException-in-Entity-and-TE-names.patch index e69bfd5713..1779741463 100644 --- a/Spigot-Server-Patches/0367-Catch-JsonParseException-in-Entity-and-TE-names.patch +++ b/Spigot-Server-Patches/0367-Catch-JsonParseException-in-Entity-and-TE-names.patch @@ -1,4 +1,4 @@ -From 4b39bd549cd60df7ff3af7a69bc71a27ecc5061e Mon Sep 17 00:00:00 2001 +From ee657098cd8e89b0772d0668bc603682ae1b2ce4 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Sat, 22 Sep 2018 15:56:59 -0400 Subject: [PATCH] Catch JsonParseException in Entity and TE names @@ -26,7 +26,7 @@ index 729859d13..2a1dffbf4 100644 if (nbttagcompound.hasKeyOfType("TrackOutput", 1)) { diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 8abd71dfc..13c0c7ee8 100644 +index ab8490ff9..522af3d53 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1734,7 +1734,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -76,7 +76,7 @@ index b4fae0d30..364a9fa7a 100644 if (this.hasWorld()) { diff --git a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java -index 480faa66e..f3ddb86d0 100644 +index 22dcdc126..1467b540f 100644 --- a/src/main/java/net/minecraft/server/TileEntityBrewingStand.java +++ b/src/main/java/net/minecraft/server/TileEntityBrewingStand.java @@ -236,7 +236,7 @@ public class TileEntityBrewingStand extends TileEntityContainer implements IWorl @@ -115,7 +115,7 @@ index ddd2e0eb0..21bd156e9 100644 } diff --git a/src/main/java/net/minecraft/server/TileEntityFurnace.java b/src/main/java/net/minecraft/server/TileEntityFurnace.java -index 0ba13b790..978b9c046 100644 +index 324a8431c..49e7fd064 100644 --- a/src/main/java/net/minecraft/server/TileEntityFurnace.java +++ b/src/main/java/net/minecraft/server/TileEntityFurnace.java @@ -218,7 +218,7 @@ public class TileEntityFurnace extends TileEntityContainer implements IWorldInve @@ -128,7 +128,7 @@ index 0ba13b790..978b9c046 100644 // Paper start - cook speed API diff --git a/src/main/java/net/minecraft/server/TileEntityHopper.java b/src/main/java/net/minecraft/server/TileEntityHopper.java -index 10e18bf34..46069bf80 100644 +index cdc576058..2dae75f45 100644 --- a/src/main/java/net/minecraft/server/TileEntityHopper.java +++ b/src/main/java/net/minecraft/server/TileEntityHopper.java @@ -61,7 +61,7 @@ public class TileEntityHopper extends TileEntityLootable implements IHopper, ITi @@ -141,10 +141,10 @@ index 10e18bf34..46069bf80 100644 this.f = nbttagcompound.getInt("TransferCooldown"); diff --git a/src/main/java/net/minecraft/server/TileEntityShulkerBox.java b/src/main/java/net/minecraft/server/TileEntityShulkerBox.java -index aa750ab91..36394aa78 100644 +index d4f379db9..59a0f4b2c 100644 --- a/src/main/java/net/minecraft/server/TileEntityShulkerBox.java +++ b/src/main/java/net/minecraft/server/TileEntityShulkerBox.java -@@ -254,7 +254,7 @@ public class TileEntityShulkerBox extends TileEntityLootable implements IWorldIn +@@ -249,7 +249,7 @@ public class TileEntityShulkerBox extends TileEntityLootable implements IWorldIn } if (nbttagcompound.hasKeyOfType("CustomName", 8)) { @@ -154,5 +154,5 @@ index aa750ab91..36394aa78 100644 } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0370-Async-Chunk-Loading-and-Generation.patch b/Spigot-Server-Patches/0370-Async-Chunk-Loading-and-Generation.patch index e86a880dd8..0781ccc5f0 100644 --- a/Spigot-Server-Patches/0370-Async-Chunk-Loading-and-Generation.patch +++ b/Spigot-Server-Patches/0370-Async-Chunk-Loading-and-Generation.patch @@ -1,4 +1,4 @@ -From 088f091d710c0163ea15f1dd11c9c53ca6ccb6a3 Mon Sep 17 00:00:00 2001 +From 8c80051f8c22caf7bcd9d9e5b7ccbbeaaa654ef6 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 21 Jul 2018 16:55:04 -0400 Subject: [PATCH] Async Chunk Loading and Generation @@ -458,7 +458,7 @@ index 000000000..8f18c2869 + +} diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 479a84a25..340b756bb 100644 +index a08e7ff2e..d86e12042 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -184,6 +184,7 @@ public class Chunk implements IChunkAccess { @@ -470,7 +470,7 @@ index 479a84a25..340b756bb 100644 Iterator iterator = protochunk.s().iterator(); diff --git a/src/main/java/net/minecraft/server/ChunkMap.java b/src/main/java/net/minecraft/server/ChunkMap.java -index 39ac032b0..1662e4eba 100644 +index e14ae2b42..1662e4eba 100644 --- a/src/main/java/net/minecraft/server/ChunkMap.java +++ b/src/main/java/net/minecraft/server/ChunkMap.java @@ -14,9 +14,17 @@ public class ChunkMap extends Long2ObjectOpenHashMap { @@ -508,7 +508,7 @@ index 39ac032b0..1662e4eba 100644 } public Chunk a(Long olong, Chunk chunk) { -- return this.a(olong.longValue(), chunk); +- return this.a(olong, chunk); + return MCUtil.ensureMain("Chunk Put", () -> this.a(olong.longValue(), chunk)); // Paper } @@ -556,7 +556,7 @@ index 39ac032b0..1662e4eba 100644 // Paper end public Chunk a(Object object) { -- return this.a(((Long) object).longValue()); +- return this.a((Long) object); + return MCUtil.ensureMain("Chunk Remove", () -> this.a(((Long) object).longValue())); // Paper } @@ -576,7 +576,7 @@ index 39ac032b0..1662e4eba 100644 public Chunk remove(Object object) { diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java -index e64cb8051..7a1f84886 100644 +index dcc6e9762..87a1bddd0 100644 --- a/src/main/java/net/minecraft/server/ChunkProviderServer.java +++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java @@ -35,12 +35,12 @@ public class ChunkProviderServer implements IChunkProvider { @@ -709,7 +709,7 @@ index e64cb8051..7a1f84886 100644 private ReportedException a(int i, int j, Throwable throwable) { CrashReport crashreport = CrashReport.a(throwable, "Exception generating new chunk"); CrashReportSystemDetails crashreportsystemdetails = crashreport.a("Chunk to be generated"); -@@ -287,11 +357,13 @@ public class ChunkProviderServer implements IChunkProvider { +@@ -289,11 +359,13 @@ public class ChunkProviderServer implements IChunkProvider { } public void close() { @@ -718,7 +718,7 @@ index e64cb8051..7a1f84886 100644 + /*try { this.batchScheduler.a(); } catch (InterruptedException interruptedexception) { - ChunkProviderServer.a.error("Couldn\'t stop taskManager", interruptedexception); + ChunkProviderServer.a.error("Couldn't stop taskManager", interruptedexception); - } + }*/ + // Paper end @@ -726,7 +726,7 @@ index e64cb8051..7a1f84886 100644 } diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java -index 9b4bc3ff6..4c22f6d75 100644 +index 26a3f28cb..5ce57a6d4 100644 --- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java +++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java @@ -120,7 +120,7 @@ public class ChunkRegionLoader implements IChunkLoader, IAsyncChunkSaver { @@ -775,7 +775,7 @@ index bdfc7d81f..a5c4564d6 100644 public IBlockData getType(int i, int j, int k) { return this.blockIds.a(i, j, k); diff --git a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java -index 34019bd1b..fc9091c80 100644 +index ad7e4a036..f10f235ed 100644 --- a/src/main/java/net/minecraft/server/ChunkTaskScheduler.java +++ b/src/main/java/net/minecraft/server/ChunkTaskScheduler.java @@ -20,13 +20,14 @@ public class ChunkTaskScheduler extends Scheduler= 180.0F) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 292547be3..5049595ab 100644 +index c73a61d94..17ae26cb8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -503,6 +503,7 @@ public abstract class MinecraftServer implements IAsyncTaskHandler, IMojangStati @@ -1732,7 +1732,7 @@ index 000000000..e9a38f9d9 + +} diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 2c7c8adf7..62c524ef3 100644 +index 068d203c8..cbff0d946 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -29,16 +29,59 @@ public class PlayerChunk { @@ -1834,7 +1834,7 @@ index 2c7c8adf7..62c524ef3 100644 } } diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java -index 95baa1dc8..9f6028586 100644 +index 39e5b2484..a92557fd2 100644 --- a/src/main/java/net/minecraft/server/PlayerChunkMap.java +++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java @@ -27,10 +27,10 @@ public class PlayerChunkMap { @@ -1894,7 +1894,7 @@ index 95baa1dc8..9f6028586 100644 private void e() { diff --git a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java -index 9c34319b6..7149b1472 100644 +index 38f3afb48..ddd7b91a9 100644 --- a/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java +++ b/src/main/java/net/minecraft/server/RegionLimitedWorldAccess.java @@ -35,7 +35,7 @@ public class RegionLimitedWorldAccess implements GeneratorAccess { @@ -1962,7 +1962,7 @@ index d868149d1..0d45d933e 100644 } } diff --git a/src/main/java/net/minecraft/server/StructurePiece.java b/src/main/java/net/minecraft/server/StructurePiece.java -index a5cf017da..def8730b8 100644 +index d444eb30f..d8c96b5c3 100644 --- a/src/main/java/net/minecraft/server/StructurePiece.java +++ b/src/main/java/net/minecraft/server/StructurePiece.java @@ -14,7 +14,7 @@ public abstract class StructurePiece { @@ -2038,7 +2038,7 @@ index 1926c902a..1117e4ae2 100644 } diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 016d50d3c..f1495d30c 100644 +index eabf50e24..f8afa6f72 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -46,7 +46,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; @@ -2122,7 +2122,7 @@ index 016d50d3c..f1495d30c 100644 // CraftBukkit end if (blockposition.isInvalidYLocation()) { // Paper return Blocks.VOID_AIR.getBlockData(); -@@ -1023,6 +1066,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -1021,6 +1064,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc } public boolean addEntity(Entity entity, SpawnReason spawnReason) { // Changed signature, added SpawnReason @@ -2282,7 +2282,7 @@ index fa99fe014..4f49786aa 100644 } } diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 6e54b71e8..a54ea5a69 100644 +index bab0c0e0f..af68074c1 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -731,7 +731,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -2295,7 +2295,7 @@ index 6e54b71e8..a54ea5a69 100644 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c56511abc..648ac4d18 100644 +index 2a9ff6d59..5945e1a6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1017,8 +1017,12 @@ public final class CraftServer implements Server { @@ -2361,10 +2361,10 @@ index 7e6a7b0e9..ef5a7bc38 100644 if (isChunkLoaded(chunkCoordX + x, chunkCoordZ + z)) { unloadChunk(chunkCoordX + x, chunkCoordZ + z); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c70890cc5..957ad628e 100644 +index 4a0a456a0..4068b8072 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -80,6 +80,7 @@ public class CraftEventFactory { +@@ -81,6 +81,7 @@ public class CraftEventFactory { public static final DamageSource POISON = CraftDamageSource.copyOf(DamageSource.MAGIC); public static org.bukkit.block.Block blockDamage; // For use in EntityDamageByBlockEvent public static Entity entityDamage; // For use in EntityDamageByEntityEvent @@ -2372,7 +2372,7 @@ index c70890cc5..957ad628e 100644 // helper methods private static boolean canBuild(CraftWorld world, Player player, int x, int z) { -@@ -369,6 +370,7 @@ public class CraftEventFactory { +@@ -382,6 +383,7 @@ public class CraftEventFactory { CraftServer craftServer = (CraftServer) entity.getServer(); CreatureSpawnEvent event = new CreatureSpawnEvent(entity, spawnReason); @@ -2380,7 +2380,7 @@ index c70890cc5..957ad628e 100644 craftServer.getPluginManager().callEvent(event); return event; } -@@ -1016,6 +1018,7 @@ public class CraftEventFactory { +@@ -1029,6 +1031,7 @@ public class CraftEventFactory { } BlockIgniteEvent event = new BlockIgniteEvent(bukkitWorld.getBlockAt(block.getX(), block.getY(), block.getZ()), cause, igniter); @@ -2388,7 +2388,7 @@ index c70890cc5..957ad628e 100644 world.getServer().getPluginManager().callEvent(event); return event; } -@@ -1040,6 +1043,7 @@ public class CraftEventFactory { +@@ -1053,6 +1056,7 @@ public class CraftEventFactory { } BlockIgniteEvent event = new BlockIgniteEvent(bukkitWorld.getBlockAt(pos.getX(), pos.getY(), pos.getZ()), cause, bukkitIgniter); @@ -2396,7 +2396,7 @@ index c70890cc5..957ad628e 100644 world.getServer().getPluginManager().callEvent(event); return event; } -@@ -1247,7 +1251,8 @@ public class CraftEventFactory { +@@ -1260,7 +1264,8 @@ public class CraftEventFactory { public static BlockPhysicsEvent callBlockPhysicsEvent(GeneratorAccess world, BlockPosition blockposition) { org.bukkit.block.Block block = CraftBlock.at(world, blockposition); BlockPhysicsEvent event = new BlockPhysicsEvent(block, block.getBlockData()); @@ -2406,7 +2406,7 @@ index c70890cc5..957ad628e 100644 return event; } -@@ -1283,6 +1288,7 @@ public class CraftEventFactory { +@@ -1296,6 +1301,7 @@ public class CraftEventFactory { } EntityPotionEffectEvent event = new EntityPotionEffectEvent((LivingEntity) entity.getBukkitEntity(), bukkitOldEffect, bukkitNewEffect, cause, action, willOverride); @@ -2414,7 +2414,7 @@ index c70890cc5..957ad628e 100644 Bukkit.getPluginManager().callEvent(event); return event; -@@ -1301,6 +1307,7 @@ public class CraftEventFactory { +@@ -1314,6 +1320,7 @@ public class CraftEventFactory { blockState.setData(block); BlockFormEvent event = (entity == null) ? new BlockFormEvent(blockState.getBlock(), blockState) : new EntityBlockFormEvent(entity.getBukkitEntity(), blockState.getBlock(), blockState); @@ -2451,5 +2451,5 @@ index 04e29f58c..5fae0c6ad 100644 this.random = new Random(seed); this.chunkManager = world.worldProvider.getChunkGenerator().getWorldChunkManager(); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0372-Optimize-Light-Recalculations.patch b/Spigot-Server-Patches/0372-Optimize-Light-Recalculations.patch index 9094d8ba2c..b22280c06b 100644 --- a/Spigot-Server-Patches/0372-Optimize-Light-Recalculations.patch +++ b/Spigot-Server-Patches/0372-Optimize-Light-Recalculations.patch @@ -1,4 +1,4 @@ -From 3b42f567b8c42ad2bd2020fc41c14861f81a6b89 Mon Sep 17 00:00:00 2001 +From 659826fe3f74e1201299115726355f730d4aa3fd Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 20:46:29 -0400 Subject: [PATCH] Optimize Light Recalculations @@ -14,7 +14,7 @@ Also optimizes to not repeatedly look up the same chunk for light lookups. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 340b756bb..cc0413000 100644 +index d86e12042..b85a217fe 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java @@ -347,7 +347,7 @@ public class Chunk implements IChunkAccess { @@ -26,7 +26,7 @@ index 340b756bb..cc0413000 100644 } this.x = true; -@@ -558,7 +558,7 @@ public class Chunk implements IChunkAccess { +@@ -557,7 +557,7 @@ public class Chunk implements IChunkAccess { } else { if (flag1) { this.initLighting(); @@ -36,7 +36,7 @@ index 340b756bb..cc0413000 100644 int i1 = iblockdata.b(this.world, blockposition); int j1 = iblockdata1.b(this.world, blockposition); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index f1495d30c..7e7b62b1d 100644 +index f8afa6f72..3c99ae7cd 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -589,8 +589,9 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -51,7 +51,7 @@ index f1495d30c..7e7b62b1d 100644 } } -@@ -2294,6 +2295,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2292,6 +2293,11 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc public boolean c(EnumSkyBlock enumskyblock, BlockPosition blockposition) { // CraftBukkit start - Use neighbor cache instead of looking up Chunk chunk = this.getChunkIfLoaded(blockposition.getX() >> 4, blockposition.getZ() >> 4); @@ -64,5 +64,5 @@ index f1495d30c..7e7b62b1d 100644 // CraftBukkit end return false; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch b/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch index 18aa70a083..306804df27 100644 --- a/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch +++ b/Spigot-Server-Patches/0373-Fix-issues-with-entity-loss-due-to-unloaded-chunks.patch @@ -1,4 +1,4 @@ -From 02e6b94c373272fc2104380efa085fba07e0802d Mon Sep 17 00:00:00 2001 +From 834ae3968bdf4370bb2a8f6ee313b323a1268b4b Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 21:49:53 -0400 Subject: [PATCH] Fix issues with entity loss due to unloaded chunks @@ -18,10 +18,10 @@ This change ensures the chunks are always loaded when entities are added to the world, or a valid entity moves between chunks. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7e7b62b1d..23529954b 100644 +index 3c99ae7cd..2b9da597a 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -1147,7 +1147,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -1145,7 +1145,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc int i = MathHelper.floor(entity.locX / 16.0D); int j = MathHelper.floor(entity.locZ / 16.0D); @@ -30,7 +30,7 @@ index 7e7b62b1d..23529954b 100644 // Paper start - Set origin location when the entity is being added to the world if (entity.origin == null) { -@@ -1651,7 +1651,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -1649,7 +1649,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc this.getChunkAt(entity.ae, entity.ag).a(entity, entity.af); } @@ -40,5 +40,5 @@ index 7e7b62b1d..23529954b 100644 } else { this.getChunkAt(i, k).a(entity); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0374-Don-t-recheck-type-after-setting-a-block.patch b/Spigot-Server-Patches/0374-Don-t-recheck-type-after-setting-a-block.patch index 19c4e7cdf6..9fb8878bf1 100644 --- a/Spigot-Server-Patches/0374-Don-t-recheck-type-after-setting-a-block.patch +++ b/Spigot-Server-Patches/0374-Don-t-recheck-type-after-setting-a-block.patch @@ -1,4 +1,4 @@ -From 4ba833e6073cfbed977574a9ec3bbe902906f5e6 Mon Sep 17 00:00:00 2001 +From a3996515e796f8e2daade8a978a59355a94f6629 Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 28 Sep 2018 22:27:33 -0400 Subject: [PATCH] Don't recheck type after setting a block @@ -16,10 +16,10 @@ be having data corruption issues anyways. This provides a small boost to all setType calls. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index cc0413000..8d9d5ae9e 100644 +index b85a217fe..07bc23e28 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -553,7 +553,7 @@ public class Chunk implements IChunkAccess { +@@ -552,7 +552,7 @@ public class Chunk implements IChunkAccess { this.world.n(blockposition); } @@ -29,5 +29,5 @@ index cc0413000..8d9d5ae9e 100644 } else { if (flag1) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0375-Fix-Sending-Chunks-to-Client.patch b/Spigot-Server-Patches/0375-Fix-Sending-Chunks-to-Client.patch index d6e460f3ce..5588fdf9a2 100644 --- a/Spigot-Server-Patches/0375-Fix-Sending-Chunks-to-Client.patch +++ b/Spigot-Server-Patches/0375-Fix-Sending-Chunks-to-Client.patch @@ -1,4 +1,4 @@ -From a709d7c592271a2d476345299d5acaa67e9b6a16 Mon Sep 17 00:00:00 2001 +From 9bd565eb9c7a00c05a056cdffc13286be4049e01 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 29 Sep 2018 01:18:16 -0400 Subject: [PATCH] Fix Sending Chunks to Client @@ -14,10 +14,10 @@ This fix always sends chunks to the client, and simply updates the client anytime post processing is triggered with the new chunk data. diff --git a/src/main/java/net/minecraft/server/Chunk.java b/src/main/java/net/minecraft/server/Chunk.java -index 8d9d5ae9e..45c3aad70 100644 +index 07bc23e28..b9242d4a2 100644 --- a/src/main/java/net/minecraft/server/Chunk.java +++ b/src/main/java/net/minecraft/server/Chunk.java -@@ -1185,7 +1185,7 @@ public class Chunk implements IChunkAccess { +@@ -1184,7 +1184,7 @@ public class Chunk implements IChunkAccess { } public boolean isReady() { @@ -26,7 +26,7 @@ index 8d9d5ae9e..45c3aad70 100644 } public boolean v() { -@@ -1423,6 +1423,13 @@ public class Chunk implements IChunkAccess { +@@ -1422,6 +1422,13 @@ public class Chunk implements IChunkAccess { this.h.clear(); this.a(ChunkStatus.POSTPROCESSED); this.m.a(this); @@ -41,7 +41,7 @@ index 8d9d5ae9e..45c3aad70 100644 } diff --git a/src/main/java/net/minecraft/server/PlayerChunk.java b/src/main/java/net/minecraft/server/PlayerChunk.java -index 62c524ef3..36600523f 100644 +index cbff0d946..3ac09b91f 100644 --- a/src/main/java/net/minecraft/server/PlayerChunk.java +++ b/src/main/java/net/minecraft/server/PlayerChunk.java @@ -23,7 +23,7 @@ public class PlayerChunk { @@ -62,5 +62,5 @@ index 62c524ef3..36600523f 100644 if (this.done) { return true; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0379-Hook-into-CB-plugin-rewrites.patch b/Spigot-Server-Patches/0379-Hook-into-CB-plugin-rewrites.patch index c135b8cabf..cc5a139edb 100644 --- a/Spigot-Server-Patches/0379-Hook-into-CB-plugin-rewrites.patch +++ b/Spigot-Server-Patches/0379-Hook-into-CB-plugin-rewrites.patch @@ -1,4 +1,4 @@ -From bf52fece0030ab6d6b59c6b88c994acdd8417219 Mon Sep 17 00:00:00 2001 +From 86bcfd44c4aa9ead64eddd5edf88914f3f3a3242 Mon Sep 17 00:00:00 2001 From: Zach Brown Date: Wed, 3 Oct 2018 20:09:18 -0400 Subject: [PATCH] Hook into CB plugin rewrites @@ -8,7 +8,7 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 24d608399..212a50c88 100644 +index 875b4f77c..93e09e42f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java @@ -6,7 +6,9 @@ import java.io.FileOutputStream; @@ -82,7 +82,7 @@ index 24d608399..212a50c88 100644 OptionParser parser = new OptionParser(); @@ -129,15 +172,90 @@ public class Commodore - cr.accept( new ClassVisitor( Opcodes.ASM7_EXPERIMENTAL, cw ) + cr.accept( new ClassVisitor( Opcodes.ASM7, cw ) { + // Paper start - Rewrite plugins + @Override @@ -187,5 +187,5 @@ index 24d608399..212a50c88 100644 { if ( owner.equals( "org/bukkit/Material" ) ) -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0381-Add-LivingEntity-getTargetEntity.patch b/Spigot-Server-Patches/0381-Add-LivingEntity-getTargetEntity.patch index 02a05f19e2..99895ef01f 100644 --- a/Spigot-Server-Patches/0381-Add-LivingEntity-getTargetEntity.patch +++ b/Spigot-Server-Patches/0381-Add-LivingEntity-getTargetEntity.patch @@ -1,4 +1,4 @@ -From 6a211dc82faa943d2d35fae1568ec2ada8edc859 Mon Sep 17 00:00:00 2001 +From ba8e629a2b3f75fde85854071cf7f51180271543 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 22 Sep 2018 00:33:08 -0500 Subject: [PATCH] Add LivingEntity#getTargetEntity @@ -46,7 +46,7 @@ index 19819b134..49228a884 100644 public MovingObjectPosition b(Vec3D vec3d, Vec3D vec3d1) { return this.a(vec3d, vec3d1, (BlockPosition)null); diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index dd96b09e6..d60dab95f 100644 +index 0f646ac7e..23e6f45bf 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -1519,6 +1519,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -71,7 +71,7 @@ index dd96b09e6..d60dab95f 100644 return this.d(this.pitch, this.yaw); } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index 83d648fff..a845856af 100644 +index 46a4e37a2..34b649dad 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java @@ -3,6 +3,8 @@ package net.minecraft.server; @@ -92,7 +92,7 @@ index 83d648fff..a845856af 100644 import com.google.common.base.Function; import com.google.common.collect.Lists; import org.bukkit.Location; -@@ -2861,6 +2865,36 @@ public abstract class EntityLiving extends Entity { +@@ -2862,6 +2866,36 @@ public abstract class EntityLiving extends Entity { return world.rayTrace(start, end, fluidCollisionOption); } @@ -180,5 +180,5 @@ index eeab59379..d6a4bc64a 100644 public List getLastTwoTargetBlocks(Set transparent, int maxDistance) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0382-Add-sun-related-API.patch b/Spigot-Server-Patches/0382-Add-sun-related-API.patch index 882883fb3d..6871fe96c4 100644 --- a/Spigot-Server-Patches/0382-Add-sun-related-API.patch +++ b/Spigot-Server-Patches/0382-Add-sun-related-API.patch @@ -1,14 +1,14 @@ -From dc1d2eba4ad7ca6e7912c0ad98dc8b7189e888b9 Mon Sep 17 00:00:00 2001 +From 37b39c722b30521882bdffa54fe17de4feb89d74 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 00:54:21 -0500 Subject: [PATCH] Add sun related API diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java -index db9201d29..6c9776f57 100644 +index d92b6a6ea..6a1c8e8bd 100644 --- a/src/main/java/net/minecraft/server/EntityInsentient.java +++ b/src/main/java/net/minecraft/server/EntityInsentient.java -@@ -1297,6 +1297,7 @@ public abstract class EntityInsentient extends EntityLiving { +@@ -1286,6 +1286,7 @@ public abstract class EntityInsentient extends EntityLiving { return flag; } @@ -17,10 +17,10 @@ index db9201d29..6c9776f57 100644 if (this.world.L() && !this.world.isClientSide) { float f = this.az(); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 23529954b..7914f9b60 100644 +index 2b9da597a..d202360bd 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -829,6 +829,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -827,6 +827,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc } } @@ -61,5 +61,5 @@ index 53c2d154e..40a429942 100644 + // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0385-Turtle-API.patch b/Spigot-Server-Patches/0385-Turtle-API.patch index a7c19514be..5721572b19 100644 --- a/Spigot-Server-Patches/0385-Turtle-API.patch +++ b/Spigot-Server-Patches/0385-Turtle-API.patch @@ -1,11 +1,11 @@ -From 678b14086c37ad2be235f4c77dc2e4b3050d495a Mon Sep 17 00:00:00 2001 +From ff8fe97e3d6eed64da443a63edf0cdb55106978c Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 29 Sep 2018 16:08:23 -0500 Subject: [PATCH] Turtle API diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 70cf407dc..2c1db9b78 100644 +index db221a6b5..37fc10fba 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -27,51 +27,63 @@ public class EntityTurtle extends EntityAnimal { @@ -34,45 +34,45 @@ index 70cf407dc..2c1db9b78 100644 + public boolean hasEgg() { return dy(); } // Paper - OBFHELPER public boolean dy() { - return ((Boolean) this.datawatcher.get(EntityTurtle.bE)).booleanValue(); + return (Boolean) this.datawatcher.get(EntityTurtle.bE); } + public void setHasEgg(boolean hasEgg) { s(hasEgg); } // Paper - OBFHELPER private void s(boolean flag) { - this.datawatcher.set(EntityTurtle.bE, Boolean.valueOf(flag)); + this.datawatcher.set(EntityTurtle.bE, flag); } + public boolean isDigging() { return dz(); } // Paper - OBFHELPER public boolean dz() { - return ((Boolean) this.datawatcher.get(EntityTurtle.bG)).booleanValue(); + return (Boolean) this.datawatcher.get(EntityTurtle.bG); } + public void setDigging(boolean digging) { t(digging); } // Paper - OBFHELPER private void t(boolean flag) { this.bK = flag ? 1 : 0; - this.datawatcher.set(EntityTurtle.bG, Boolean.valueOf(flag)); + this.datawatcher.set(EntityTurtle.bG, flag); } + public boolean isGoingHome() { return dC(); } // Paper - OBFHELPER private boolean dC() { - return ((Boolean) this.datawatcher.get(EntityTurtle.bI)).booleanValue(); + return (Boolean) this.datawatcher.get(EntityTurtle.bI); } + public void setGoingHome(boolean goingHome) { u(goingHome); } // Paper - OBFHELPER private void u(boolean flag) { - this.datawatcher.set(EntityTurtle.bI, Boolean.valueOf(flag)); + this.datawatcher.set(EntityTurtle.bI, flag); } + public boolean isTravelling() { return dH(); } // Paper - OBFHELPER private boolean dH() { - return ((Boolean) this.datawatcher.get(EntityTurtle.bJ)).booleanValue(); + return (Boolean) this.datawatcher.get(EntityTurtle.bJ); } + public void setTravelling(boolean travelling) { v(travelling); } // Paper - OBFHELPER private void v(boolean flag) { - this.datawatcher.set(EntityTurtle.bJ, Boolean.valueOf(flag)); + this.datawatcher.set(EntityTurtle.bJ, flag); } -@@ -435,14 +447,18 @@ public class EntityTurtle extends EntityAnimal { +@@ -435,14 +447,17 @@ public class EntityTurtle extends EntityAnimal { if (!this.f.isInWater() && this.k()) { if (this.f.bK < 1) { @@ -88,13 +88,12 @@ index 70cf407dc..2c1db9b78 100644 + com.destroystokyo.paper.event.entity.TurtleLayEggEvent layEggEvent = new com.destroystokyo.paper.event.entity.TurtleLayEggEvent((org.bukkit.entity.Turtle) this.f.getBukkitEntity(), MCUtil.toLocation(this.f.world, this.d.up()), eggCount); + if (layEggEvent.callEvent() && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this.f, this.d.up(), Blocks.TURTLE_EGG.getBlockData().set(BlockTurtleEgg.b, layEggEvent.getEggCount())).isCancelled()) { world.a((EntityHuman) null, blockposition, SoundEffects.ENTITY_TURTLE_LAY_EGG, SoundCategory.BLOCKS, 0.3F, 0.9F + world.random.nextFloat() * 0.2F); -- world.setTypeAndData(this.d.up(), (IBlockData) Blocks.TURTLE_EGG.getBlockData().set(BlockTurtleEgg.b, Integer.valueOf(this.f.random.nextInt(4) + 1)), 3); +- world.setTypeAndData(this.d.up(), (IBlockData) Blocks.TURTLE_EGG.getBlockData().set(BlockTurtleEgg.b, this.f.random.nextInt(4) + 1), 3); + world.setTypeAndData(this.d.up(), (IBlockData) Blocks.TURTLE_EGG.getBlockData().set(BlockTurtleEgg.b, layEggEvent.getEggCount()), 3); -+ // Paper end } // CraftBukkit end this.f.s(false); -@@ -568,7 +584,7 @@ public class EntityTurtle extends EntityAnimal { +@@ -568,7 +583,7 @@ public class EntityTurtle extends EntityAnimal { } public boolean a() { @@ -154,5 +153,5 @@ index 123a2c75c..8edcf7af6 100644 + // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0392-Add-more-Witch-API.patch b/Spigot-Server-Patches/0392-Add-more-Witch-API.patch index 534967690a..3665517951 100644 --- a/Spigot-Server-Patches/0392-Add-more-Witch-API.patch +++ b/Spigot-Server-Patches/0392-Add-more-Witch-API.patch @@ -1,11 +1,11 @@ -From 386324ab62fb6cf1e83b10fd17625e8ce9dd250f Mon Sep 17 00:00:00 2001 +From 4a2033ec2efd8d600fbb7090583867d28201d089 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 12 Oct 2018 14:10:46 -0500 Subject: [PATCH] Add more Witch API diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java -index b5f676f04..41673ec9a 100644 +index 896388c41..7361d4c05 100644 --- a/src/main/java/net/minecraft/server/EntityWitch.java +++ b/src/main/java/net/minecraft/server/EntityWitch.java @@ -1,5 +1,11 @@ @@ -38,12 +38,12 @@ index b5f676f04..41673ec9a 100644 + public void setDrinkingPotion(boolean drinkingPotion) { a(drinkingPotion); } // Paper - OBFHELPER public void a(boolean flag) { - this.getDataWatcher().set(EntityWitch.c, Boolean.valueOf(flag)); + this.getDataWatcher().set(EntityWitch.c, flag); } + public boolean isDrinkingPotion() { return l(); } // Paper - OBFHELPER public boolean l() { - return ((Boolean) this.getDataWatcher().get(EntityWitch.c)).booleanValue(); + return (Boolean) this.getDataWatcher().get(EntityWitch.c); } @@ -100,18 +108,17 @@ public class EntityWitch extends EntityMonster implements IRangedEntity { } @@ -136,5 +136,5 @@ index f25998eb6..ac465bda2 100644 + // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0395-Add-option-to-prevent-players-from-moving-into-unloa.patch b/Spigot-Server-Patches/0395-Add-option-to-prevent-players-from-moving-into-unloa.patch index 1378ae4f68..46e4dd3202 100644 --- a/Spigot-Server-Patches/0395-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/Spigot-Server-Patches/0395-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -1,4 +1,4 @@ -From 4516b9be263260fb65341432f950a807df444661 Mon Sep 17 00:00:00 2001 +From 314c9f75522a0f97d2560b4c061f976c1f9510a6 Mon Sep 17 00:00:00 2001 From: Gabriele C Date: Mon, 22 Oct 2018 17:34:10 +0200 Subject: [PATCH] Add option to prevent players from moving into unloaded @@ -20,7 +20,7 @@ index f94fa5df2..1a8a90261 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f54cf3802..5c1735163 100644 +index 8e436c7f4..5e8c85cfb 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java @@ -342,6 +342,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { @@ -36,8 +36,8 @@ index f54cf3802..5c1735163 100644 + if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && (!this.minecraftServer.H() || !this.minecraftServer.G().equals(entity.getDisplayName().getString()))) { // CraftBukkit end - PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getDisplayName().getString(), this.player.getDisplayName().getString(), Double.valueOf(d6), Double.valueOf(d7), Double.valueOf(d8)); -@@ -851,9 +858,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { + PlayerConnection.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", entity.getDisplayName().getString(), this.player.getDisplayName().getString(), d6, d7, d8); +@@ -849,9 +856,9 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { double d1 = this.player.locY; double d2 = this.player.locZ; double d3 = this.player.locY; @@ -49,7 +49,7 @@ index f54cf3802..5c1735163 100644 float f = packetplayinflying.a(this.player.yaw); float f1 = packetplayinflying.b(this.player.pitch); double d7 = d4 - this.l; -@@ -893,6 +900,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -891,6 +898,13 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { speed = player.abilities.walkSpeed * 10f; } @@ -64,5 +64,5 @@ index f54cf3802..5c1735163 100644 float f2 = this.player.dc() ? 300.0F : 100.0F; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0400-Use-EntityTypes-for-living-entities.patch b/Spigot-Server-Patches/0400-Use-EntityTypes-for-living-entities.patch index 72a28e4f53..a87ed13205 100644 --- a/Spigot-Server-Patches/0400-Use-EntityTypes-for-living-entities.patch +++ b/Spigot-Server-Patches/0400-Use-EntityTypes-for-living-entities.patch @@ -1,4 +1,4 @@ -From 12a5042eaaa93ff7312841c8d10ce410da3c0247 Mon Sep 17 00:00:00 2001 +From 63c725d26b2b469c15ba5d6c618ef4c8628e42b5 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Thu, 4 Oct 2018 10:08:02 -0500 Subject: [PATCH] Use EntityTypes for living entities @@ -18,7 +18,7 @@ index 5a0cc6d05..d385f647e 100644 entitysilverfish.setPositionRotation((double) blockposition.getX() + 0.5D, (double) blockposition.getY(), (double) blockposition.getZ() + 0.5D, 0.0F, 0.0F); world.addEntity(entitysilverfish, SpawnReason.SILVERFISH_BLOCK); // CraftBukkit - add SpawnReason diff --git a/src/main/java/net/minecraft/server/BlockPumpkinCarved.java b/src/main/java/net/minecraft/server/BlockPumpkinCarved.java -index f7ea9f9b8..dfa3bd685 100644 +index 75622fbdf..265369984 100644 --- a/src/main/java/net/minecraft/server/BlockPumpkinCarved.java +++ b/src/main/java/net/minecraft/server/BlockPumpkinCarved.java @@ -52,7 +52,7 @@ public class BlockPumpkinCarved extends BlockFacingHorizontal { @@ -40,12 +40,12 @@ index f7ea9f9b8..dfa3bd685 100644 entityirongolem.setPlayerCreated(true); entityirongolem.setPositionRotation((double) blockposition2.getX() + 0.5D, (double) blockposition2.getY() + 0.05D, (double) blockposition2.getZ() + 0.5D, 0.0F, 0.0F); diff --git a/src/main/java/net/minecraft/server/BlockTurtleEgg.java b/src/main/java/net/minecraft/server/BlockTurtleEgg.java -index 924d15649..9e9fa7d58 100644 +index d2cc6bbe2..b180772ae 100644 --- a/src/main/java/net/minecraft/server/BlockTurtleEgg.java +++ b/src/main/java/net/minecraft/server/BlockTurtleEgg.java @@ -84,7 +84,7 @@ public class BlockTurtleEgg extends Block { if (!world.isClientSide) { - for (int j = 0; j < ((Integer) iblockdata.get(BlockTurtleEgg.b)).intValue(); ++j) { + for (int j = 0; j < (Integer) iblockdata.get(BlockTurtleEgg.b); ++j) { world.triggerEffect(2001, blockposition, Block.getCombinedId(iblockdata)); - EntityTurtle entityturtle = new EntityTurtle(world); + EntityTurtle entityturtle = EntityTypes.TURTLE.create(world); // Paper @@ -53,7 +53,7 @@ index 924d15649..9e9fa7d58 100644 entityturtle.setAgeRaw(-24000); entityturtle.g(blockposition); diff --git a/src/main/java/net/minecraft/server/BlockWitherSkull.java b/src/main/java/net/minecraft/server/BlockWitherSkull.java -index 7904b1262..38fc40e50 100644 +index 93bf32dc1..e6063bb46 100644 --- a/src/main/java/net/minecraft/server/BlockWitherSkull.java +++ b/src/main/java/net/minecraft/server/BlockWitherSkull.java @@ -52,7 +52,7 @@ public class BlockWitherSkull extends BlockSkull { @@ -66,20 +66,20 @@ index 7904b1262..38fc40e50 100644 entitywither.setPositionRotation((double) blockposition2.getX() + 0.5D, (double) blockposition2.getY() + 0.55D, (double) blockposition2.getZ() + 0.5D, shapedetector_shapedetectorcollection.getFacing().k() == EnumDirection.EnumAxis.X ? 0.0F : 90.0F, 0.0F); diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java -index f4a8a4b4d..3d5801dd8 100644 +index 67808446c..89bb2e768 100644 --- a/src/main/java/net/minecraft/server/EnderDragonBattle.java +++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java -@@ -414,7 +414,7 @@ public class EnderDragonBattle { +@@ -357,7 +357,7 @@ public class EnderDragonBattle { private EntityEnderDragon n() { this.d.getChunkAtWorldCoords(new BlockPosition(0, 128, 0)); - EntityEnderDragon entityenderdragon = new EntityEnderDragon(this.d); + EntityEnderDragon entityenderdragon = EntityTypes.ENDER_DRAGON.create(this.d); // Paper - entityenderdragon.getDragonControllerManager().setControllerPhase(DragonControllerPhase.a); entityenderdragon.setPositionRotation(0.0D, 128.0D, 0.0D, this.d.random.nextFloat() * 360.0F, 0.0F); + this.d.addEntity(entityenderdragon); diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java -index efb728d04..3bfbf4752 100644 +index afbcfab55..b1af04726 100644 --- a/src/main/java/net/minecraft/server/EntityChicken.java +++ b/src/main/java/net/minecraft/server/EntityChicken.java @@ -96,7 +96,7 @@ public class EntityChicken extends EntityAnimal { @@ -92,7 +92,7 @@ index efb728d04..3bfbf4752 100644 public boolean f(ItemStack itemstack) { diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java -index b2e50f853..9c7bf12b8 100644 +index 6bb80975e..180de2144 100644 --- a/src/main/java/net/minecraft/server/EntityCow.java +++ b/src/main/java/net/minecraft/server/EntityCow.java @@ -88,7 +88,7 @@ public class EntityCow extends EntityAnimal { @@ -105,7 +105,7 @@ index b2e50f853..9c7bf12b8 100644 public float getHeadHeight() { diff --git a/src/main/java/net/minecraft/server/EntityEnderPearl.java b/src/main/java/net/minecraft/server/EntityEnderPearl.java -index c82b5f3ab..ba53e9b0b 100644 +index 46f29272e..1d3b7edb3 100644 --- a/src/main/java/net/minecraft/server/EntityEnderPearl.java +++ b/src/main/java/net/minecraft/server/EntityEnderPearl.java @@ -74,7 +74,7 @@ public class EntityEnderPearl extends EntityProjectile { @@ -200,19 +200,19 @@ index 774e4d641..0cf53b69f 100644 EntityLlama entityllama2 = (EntityLlama)entityageable; int i = this.random.nextInt(Math.max(this.getStrength(), entityllama2.getStrength())) + 1; diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java -index 8ba9f3bb1..c12b37f52 100644 +index dab644930..737289588 100644 --- a/src/main/java/net/minecraft/server/EntityMushroomCow.java +++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java @@ -40,7 +40,7 @@ public class EntityMushroomCow extends EntityCow { this.world.addParticle(Particles.u, this.locX, this.locY + (double) (this.length / 2.0F), this.locZ, 0.0D, 0.0D, 0.0D); if (!this.world.isClientSide) { - this.die(); + // this.die(); // CraftBukkit - moved down - EntityCow entitycow = new EntityCow(this.world); + EntityCow entitycow = EntityTypes.COW.create(world); // Paper entitycow.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch); entitycow.setHealth(this.getHealth()); -@@ -72,7 +72,7 @@ public class EntityMushroomCow extends EntityCow { +@@ -74,7 +74,7 @@ public class EntityMushroomCow extends EntityCow { } public EntityMushroomCow c(EntityAgeable entityageable) { @@ -222,7 +222,7 @@ index 8ba9f3bb1..c12b37f52 100644 @Nullable diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java -index d2e25f04b..90a7e00a0 100644 +index 2a5a5516a..58518a509 100644 --- a/src/main/java/net/minecraft/server/EntityOcelot.java +++ b/src/main/java/net/minecraft/server/EntityOcelot.java @@ -154,7 +154,7 @@ public class EntityOcelot extends EntityTameableAnimal { @@ -244,7 +244,7 @@ index d2e25f04b..90a7e00a0 100644 entityocelot.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, 0.0F); entityocelot.setAgeRaw(-24000); diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java -index 23668ada3..6295cd95d 100644 +index 30306256a..4d9e8c378 100644 --- a/src/main/java/net/minecraft/server/EntityPig.java +++ b/src/main/java/net/minecraft/server/EntityPig.java @@ -153,7 +153,7 @@ public class EntityPig extends EntityAnimal { @@ -254,9 +254,9 @@ index 23668ada3..6295cd95d 100644 - EntityPigZombie entitypigzombie = new EntityPigZombie(this.world); + EntityPigZombie entitypigzombie = EntityTypes.ZOMBIE_PIGMAN.create(world); // Paper - // Paper start - if (CraftEventFactory.callEntityZapEvent(this, entitylightning, entitypigzombie).isCancelled()) { -@@ -248,7 +248,7 @@ public class EntityPig extends EntityAnimal { + entitypigzombie.setSlot(EnumItemSlot.MAINHAND, new ItemStack(Items.GOLDEN_SWORD)); + entitypigzombie.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, this.pitch); +@@ -242,7 +242,7 @@ public class EntityPig extends EntityAnimal { } public EntityPig b(EntityAgeable entityageable) { @@ -279,7 +279,7 @@ index b9124a5b0..cb3e45f14 100644 public boolean f(ItemStack var1) { diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java -index b8ca53003..747409af0 100644 +index a10de4e88..ea101bee9 100644 --- a/src/main/java/net/minecraft/server/EntityRabbit.java +++ b/src/main/java/net/minecraft/server/EntityRabbit.java @@ -251,7 +251,7 @@ public class EntityRabbit extends EntityAnimal { @@ -292,10 +292,10 @@ index b8ca53003..747409af0 100644 if (this.random.nextInt(20) != 0) { diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java -index 4a9a9f9da..db4c3aa60 100644 +index caf442610..2b50bc2ea 100644 --- a/src/main/java/net/minecraft/server/EntitySheep.java +++ b/src/main/java/net/minecraft/server/EntitySheep.java -@@ -264,7 +264,7 @@ public class EntitySheep extends EntityAnimal { +@@ -249,7 +249,7 @@ public class EntitySheep extends EntityAnimal { public EntitySheep b(EntityAgeable entityageable) { EntitySheep entitysheep = (EntitySheep) entityageable; @@ -305,7 +305,7 @@ index 4a9a9f9da..db4c3aa60 100644 entitysheep1.setColor(this.a((EntityAnimal) this, (EntityAnimal) entitysheep)); return entitysheep1; diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java -index 761c94bdf..ffbd572dd 100644 +index 361c7831e..e46340e66 100644 --- a/src/main/java/net/minecraft/server/EntitySpider.java +++ b/src/main/java/net/minecraft/server/EntitySpider.java @@ -111,7 +111,7 @@ public class EntitySpider extends EntityMonster { @@ -318,7 +318,7 @@ index 761c94bdf..ffbd572dd 100644 entityskeleton.setPositionRotation(this.locX, this.locY, this.locZ, this.yaw, 0.0F); entityskeleton.prepare(difficultydamagescaler, (GroupDataEntity) null, (NBTTagCompound) null); diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java -index 2c1db9b78..0d88314de 100644 +index 37fc10fba..98268145e 100644 --- a/src/main/java/net/minecraft/server/EntityTurtle.java +++ b/src/main/java/net/minecraft/server/EntityTurtle.java @@ -218,7 +218,7 @@ public class EntityTurtle extends EntityAnimal { @@ -343,10 +343,10 @@ index 6b6fbfd79..29d5ef4c1 100644 public T a(World world) { return this.aT.apply(world); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java -index 868d24830..fbf78edd3 100644 +index e4a570e01..0de37ceb3 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java -@@ -598,7 +598,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { +@@ -593,7 +593,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { } public EntityVillager b(EntityAgeable entityageable) { @@ -355,7 +355,7 @@ index 868d24830..fbf78edd3 100644 entityvillager.prepare(this.world.getDamageScaler(new BlockPosition(entityvillager)), (GroupDataEntity) null, (NBTTagCompound) null); return entityvillager; -@@ -610,7 +610,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { +@@ -605,7 +605,7 @@ public class EntityVillager extends EntityAgeable implements NPC, IMerchant { public void onLightningStrike(EntityLightning entitylightning) { if (!this.world.isClientSide && !this.dead) { @@ -365,7 +365,7 @@ index 868d24830..fbf78edd3 100644 // Paper start if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, entitylightning, entitywitch).isCancelled()) { diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java -index af9aef76f..68db6af62 100644 +index 9a52d33d6..878eac112 100644 --- a/src/main/java/net/minecraft/server/EntityWolf.java +++ b/src/main/java/net/minecraft/server/EntityWolf.java @@ -343,7 +343,7 @@ public class EntityWolf extends EntityTameableAnimal { @@ -378,7 +378,7 @@ index af9aef76f..68db6af62 100644 if (uuid != null) { diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 4b326bf6a..69a12bab3 100644 +index 823d4be7f..2d87dca68 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -216,7 +216,7 @@ public class EntityZombie extends EntityMonster { @@ -407,8 +407,8 @@ index 4b326bf6a..69a12bab3 100644 + EntityZombieVillager entityzombievillager = EntityTypes.ZOMBIE_VILLAGER.create(world); // Paper entityzombievillager.u(entityvillager); - this.world.kill(entityvillager); -@@ -457,7 +457,7 @@ public class EntityZombie extends EntityMonster { + // this.world.kill(entityvillager); // CraftBukkit - moved down +@@ -458,7 +458,7 @@ public class EntityZombie extends EntityMonster { this.startRiding(entitychicken); } } else if ((double) this.world.random.nextFloat() < 0.05D) { @@ -431,7 +431,7 @@ index 85d402965..0cca7b6d5 100644 } diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java -index 0e5dd1116..c11e2745a 100644 +index ab1b3ab5e..dbb833e49 100644 --- a/src/main/java/net/minecraft/server/EntityZombieVillager.java +++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java @@ -118,7 +118,7 @@ public class EntityZombieVillager extends EntityZombie { @@ -457,7 +457,7 @@ index 9e4078148..a4fab5c23 100644 entityarmorstand.setPositionRotation(d0 + 0.5D, d1, d2 + 0.5D, f, 0.0F); diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java -index 413188e97..476b840ae 100644 +index 5ddf66eef..bb7e072ee 100644 --- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java +++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java @@ -59,7 +59,7 @@ public class MobSpawnerPhantom { @@ -527,7 +527,7 @@ index d53911594..83f55adba 100644 entityshulker.g(blockposition); generatoraccess.addEntity(entityshulker); diff --git a/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java b/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java -index 50fe0e16b..ceb37aab4 100644 +index a542e581c..a64fef39d 100644 --- a/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java +++ b/src/main/java/net/minecraft/server/WorldGenFeatureOceanRuinPieces.java @@ -146,7 +146,7 @@ public class WorldGenFeatureOceanRuinPieces { @@ -580,10 +580,10 @@ index 6ab249ee7..c9a17e332 100644 for(WorldGenMonumentPieces.WorldGenMonumentStateTracker worldgenmonumentpieces$worldgenmonumentstatetracker4 : aworldgenmonumentpieces$worldgenmonumentstatetracker) { if (worldgenmonumentpieces$worldgenmonumentstatetracker4 != null) { diff --git a/src/main/java/net/minecraft/server/WorldGenVillagePieces.java b/src/main/java/net/minecraft/server/WorldGenVillagePieces.java -index e327e2a28..c63b535ee 100644 +index 706e2b7e1..20630784a 100644 --- a/src/main/java/net/minecraft/server/WorldGenVillagePieces.java +++ b/src/main/java/net/minecraft/server/WorldGenVillagePieces.java -@@ -1656,7 +1656,7 @@ public class WorldGenVillagePieces { +@@ -1641,7 +1641,7 @@ public class WorldGenVillagePieces { ++this.a; if (this.h) { @@ -592,7 +592,7 @@ index e327e2a28..c63b535ee 100644 entityzombievillager.setPositionRotation((double) j1 + 0.5D, (double) k1, (double) l1 + 0.5D, 0.0F, 0.0F); entityzombievillager.prepare(generatoraccess.getDamageScaler(new BlockPosition(entityzombievillager)), (GroupDataEntity) null, (NBTTagCompound) null); -@@ -1664,7 +1664,7 @@ public class WorldGenVillagePieces { +@@ -1649,7 +1649,7 @@ public class WorldGenVillagePieces { entityzombievillager.di(); generatoraccess.addEntity(entityzombievillager, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.CHUNK_GEN); // CraftBukkit - add SpawnReason } else { @@ -602,18 +602,18 @@ index e327e2a28..c63b535ee 100644 entityvillager.setPositionRotation((double) j1 + 0.5D, (double) k1, (double) l1 + 0.5D, 0.0F, 0.0F); entityvillager.setProfession(this.c(i1, generatoraccess.m().nextInt(6))); diff --git a/src/main/java/net/minecraft/server/WorldGenWitchHut.java b/src/main/java/net/minecraft/server/WorldGenWitchHut.java -index a05e0657b..7062b0cec 100644 +index efb0379ce..3d8193c47 100644 --- a/src/main/java/net/minecraft/server/WorldGenWitchHut.java +++ b/src/main/java/net/minecraft/server/WorldGenWitchHut.java @@ -81,7 +81,7 @@ public class WorldGenWitchHut extends WorldGenScatteredPiece { - if (structureboundingbox.b((BaseBlockPosition) (new BlockPosition(i, j, k)))) { + if (structureboundingbox.b((BaseBlockPosition) (new BlockPosition(j, i, k)))) { this.e = true; - EntityWitch entitywitch = new EntityWitch(generatoraccess.getMinecraftWorld()); + EntityWitch entitywitch = EntityTypes.WITCH.create(generatoraccess.getMinecraftWorld()); // Paper entitywitch.di(); - entitywitch.setPositionRotation((double) i + 0.5D, (double) j, (double) k + 0.5D, 0.0F, 0.0F); + entitywitch.setPositionRotation((double) j + 0.5D, (double) i, (double) k + 0.5D, 0.0F, 0.0F); diff --git a/src/main/java/net/minecraft/server/WorldGenWoodlandMansionPieces.java b/src/main/java/net/minecraft/server/WorldGenWoodlandMansionPieces.java index ee401980f..9ca9306d0 100644 --- a/src/main/java/net/minecraft/server/WorldGenWoodlandMansionPieces.java @@ -686,7 +686,7 @@ index ee401980f..9ca9306d0 100644 entityvindicator.setPositionRotation(blockposition, 0.0F, 0.0F); entityvindicator.prepare(generatoraccess.getDamageScaler(new BlockPosition(entityvindicator)), (GroupDataEntity)null, (NBTTagCompound)null); diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java -index 818e4c376..4f9029c33 100644 +index 899c7f5f7..aff5a62e5 100644 --- a/src/main/java/net/minecraft/server/WorldServer.java +++ b/src/main/java/net/minecraft/server/WorldServer.java @@ -511,7 +511,7 @@ public class WorldServer extends World implements IAsyncTaskHandler { @@ -915,5 +915,5 @@ index 10fa12253..bd118f7f0 100644 if (entity != null) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0406-Don-t-allow-digging-into-unloaded-chunks.patch b/Spigot-Server-Patches/0406-Don-t-allow-digging-into-unloaded-chunks.patch index 15e9ab77a1..290c36592b 100644 --- a/Spigot-Server-Patches/0406-Don-t-allow-digging-into-unloaded-chunks.patch +++ b/Spigot-Server-Patches/0406-Don-t-allow-digging-into-unloaded-chunks.patch @@ -1,14 +1,14 @@ -From 0e8adf94dcf160bf8190be6477b69d482cc31fc8 Mon Sep 17 00:00:00 2001 +From 42e3f9ca2869b80229ed8609c94341074ae57c3a Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Sun, 11 Nov 2018 21:01:09 +0000 Subject: [PATCH] Don't allow digging into unloaded chunks diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index 5c1735163..f1645b3ea 100644 +index 5e8c85cfb..bb4498e0f 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -1229,6 +1229,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -1223,6 +1223,11 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { case START_DESTROY_BLOCK: case ABORT_DESTROY_BLOCK: case STOP_DESTROY_BLOCK: @@ -21,5 +21,5 @@ index 5c1735163..f1645b3ea 100644 double d1 = this.player.locY - ((double) blockposition.getY() + 0.5D) + 1.5D; double d2 = this.player.locZ - ((double) blockposition.getZ() + 0.5D); -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0407-Optimize-redstone-algorithm.patch b/Spigot-Server-Patches/0407-Optimize-redstone-algorithm.patch index dd19fd64d8..d35d3758b1 100644 --- a/Spigot-Server-Patches/0407-Optimize-redstone-algorithm.patch +++ b/Spigot-Server-Patches/0407-Optimize-redstone-algorithm.patch @@ -1,4 +1,4 @@ -From eed8d2404e12eb84f692a3fd1c50cd9a3a77d379 Mon Sep 17 00:00:00 2001 +From dbfc13582cbdfb8d3f8fa7762e3aa9abbbdb635e Mon Sep 17 00:00:00 2001 From: theosib Date: Thu, 27 Sep 2018 01:43:35 -0600 Subject: [PATCH] Optimize redstone algorithm @@ -954,7 +954,7 @@ index 000000000..21d9d6d7e + } +} diff --git a/src/main/java/net/minecraft/server/BlockRedstoneWire.java b/src/main/java/net/minecraft/server/BlockRedstoneWire.java -index 80bad6755..3b45489a4 100644 +index 570715ea6..f95464f64 100644 --- a/src/main/java/net/minecraft/server/BlockRedstoneWire.java +++ b/src/main/java/net/minecraft/server/BlockRedstoneWire.java @@ -1,5 +1,7 @@ @@ -1140,7 +1140,7 @@ index 80bad6755..3b45489a4 100644 iblockdata.a(world, blockposition, 0); world.setAir(blockposition); diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 7914f9b60..cdbb247da 100644 +index d202360bd..05256ad3c 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java @@ -646,6 +646,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc @@ -1151,7 +1151,7 @@ index 7914f9b60..cdbb247da 100644 public void a(BlockPosition blockposition, Block block, BlockPosition blockposition1) { if (!this.isClientSide) { IBlockData iblockdata = this.getType(blockposition); -@@ -2667,6 +2668,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2665,6 +2666,7 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc return this.getBlockFacePower(blockposition.down(), EnumDirection.DOWN) > 0 ? true : (this.getBlockFacePower(blockposition.up(), EnumDirection.UP) > 0 ? true : (this.getBlockFacePower(blockposition.north(), EnumDirection.NORTH) > 0 ? true : (this.getBlockFacePower(blockposition.south(), EnumDirection.SOUTH) > 0 ? true : (this.getBlockFacePower(blockposition.west(), EnumDirection.WEST) > 0 ? true : this.getBlockFacePower(blockposition.east(), EnumDirection.EAST) > 0)))); } @@ -1160,5 +1160,5 @@ index 7914f9b60..cdbb247da 100644 int i = 0; EnumDirection[] aenumdirection = World.a; -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0408-force-entity-dismount-during-teleportation.patch b/Spigot-Server-Patches/0408-force-entity-dismount-during-teleportation.patch index 601b6efd80..191f3a471f 100644 --- a/Spigot-Server-Patches/0408-force-entity-dismount-during-teleportation.patch +++ b/Spigot-Server-Patches/0408-force-entity-dismount-during-teleportation.patch @@ -1,4 +1,4 @@ -From 1462d0f3acca2f9b77ec924db2dcbc83ed2608b0 Mon Sep 17 00:00:00 2001 +From 7fcc80b90987430ca654b6ecc6aa0f01b2ed9da2 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Thu, 15 Nov 2018 13:38:37 +0000 Subject: [PATCH] force entity dismount during teleportation @@ -20,7 +20,7 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java -index 32b90f30d..78ec842f2 100644 +index e4c78c676..ab24ff871 100644 --- a/src/main/java/net/minecraft/server/Entity.java +++ b/src/main/java/net/minecraft/server/Entity.java @@ -2096,12 +2096,15 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke @@ -72,10 +72,10 @@ index 32b90f30d..78ec842f2 100644 if (event.isCancelled()) { return false; diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java -index 287001558..75dc93cd1 100644 +index 6aa3a462f..c25a89111 100644 --- a/src/main/java/net/minecraft/server/EntityHuman.java +++ b/src/main/java/net/minecraft/server/EntityHuman.java -@@ -997,8 +997,11 @@ public abstract class EntityHuman extends EntityLiving { +@@ -994,8 +994,11 @@ public abstract class EntityHuman extends EntityLiving { return -0.35D; } @@ -90,11 +90,11 @@ index 287001558..75dc93cd1 100644 } diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java -index a845856af..44e0f1fe4 100644 +index 34b649dad..4dd24e1d7 100644 --- a/src/main/java/net/minecraft/server/EntityLiving.java +++ b/src/main/java/net/minecraft/server/EntityLiving.java -@@ -2477,10 +2477,13 @@ public abstract class EntityLiving extends Entity { - return (((Byte) this.datawatcher.get(EntityLiving.aw)).byteValue() & 4) != 0; +@@ -2478,10 +2478,13 @@ public abstract class EntityLiving extends Entity { + return ((Byte) this.datawatcher.get(EntityLiving.aw) & 4) != 0; } - public void stopRiding() { @@ -110,7 +110,7 @@ index a845856af..44e0f1fe4 100644 this.A(entity); } diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java -index 4490b6325..342cdb4a9 100644 +index 1b47d7bd4..7b8dbd00c 100644 --- a/src/main/java/net/minecraft/server/EntityPlayer.java +++ b/src/main/java/net/minecraft/server/EntityPlayer.java @@ -776,10 +776,13 @@ public class EntityPlayer extends EntityHuman implements ICrafting { @@ -130,5 +130,5 @@ index 4490b6325..342cdb4a9 100644 if (entity1 != entity && this.playerConnection != null) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0409-Book-Size-Limits.patch b/Spigot-Server-Patches/0409-Book-Size-Limits.patch index 1e0a26fdcf..934551958a 100644 --- a/Spigot-Server-Patches/0409-Book-Size-Limits.patch +++ b/Spigot-Server-Patches/0409-Book-Size-Limits.patch @@ -1,4 +1,4 @@ -From 858c77b89ae39943f2efbba38eb54eb7d1ad57b2 Mon Sep 17 00:00:00 2001 +From 7e63bbbab3ac2aeeb7e598d9b036544f2541933f Mon Sep 17 00:00:00 2001 From: Aikar Date: Fri, 16 Nov 2018 23:08:50 -0500 Subject: [PATCH] Book Size Limits @@ -22,10 +22,10 @@ index bc74ea2f0..beec4e33c 100644 + } } diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java -index f1645b3ea..204d622f0 100644 +index bb4498e0f..a9ef84d0e 100644 --- a/src/main/java/net/minecraft/server/PlayerConnection.java +++ b/src/main/java/net/minecraft/server/PlayerConnection.java -@@ -750,6 +750,38 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { +@@ -748,6 +748,38 @@ public class PlayerConnection implements PacketListenerPlayIn, ITickable { } public void a(PacketPlayInBEdit packetplayinbedit) { @@ -65,5 +65,5 @@ index f1645b3ea..204d622f0 100644 PlayerConnectionUtils.ensureMainThread(packetplayinbedit, this, this.player.getWorldServer()); if (this.lastBookTick + 20 > MinecraftServer.currentTick) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0411-Add-more-Zombie-API.patch b/Spigot-Server-Patches/0411-Add-more-Zombie-API.patch index 000c0d01d1..2d01f13006 100644 --- a/Spigot-Server-Patches/0411-Add-more-Zombie-API.patch +++ b/Spigot-Server-Patches/0411-Add-more-Zombie-API.patch @@ -1,11 +1,11 @@ -From d2ebaa99b142c7146e25f531dbac99888896534c Mon Sep 17 00:00:00 2001 +From f9b2a1c4bbab24f3a310b185f81adf268057069b Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sun, 7 Oct 2018 04:29:59 -0500 Subject: [PATCH] Add more Zombie API diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java -index 69a12bab3..877d73f3b 100644 +index 2d87dca68..4c0ef6e28 100644 --- a/src/main/java/net/minecraft/server/EntityZombie.java +++ b/src/main/java/net/minecraft/server/EntityZombie.java @@ -22,8 +22,8 @@ public class EntityZombie extends EntityMonster { @@ -28,17 +28,17 @@ index 69a12bab3..877d73f3b 100644 public EntityZombie(EntityTypes entitytypes, World world) { super(entitytypes, world); @@ -79,14 +80,22 @@ public class EntityZombie extends EntityMonster { - this.getDataWatcher().register(EntityZombie.bF, Boolean.valueOf(false)); + this.getDataWatcher().register(EntityZombie.bF, false); } -+ public boolean isDrowning() { return dG(); } // Paper - OBFHELPER - public boolean dG() { - return ((Boolean) this.getDataWatcher().get(EntityZombie.bF)).booleanValue(); ++ public boolean isDrowning() { return isDrownConverting(); } // Paper - OBFHELPER + public boolean isDrownConverting() { + return (Boolean) this.getDataWatcher().get(EntityZombie.bF); } + public void setArmsRaised(boolean raised) { s(raised); } // Paper - OBFHELPER public void s(boolean flag) { - this.getDataWatcher().set(EntityZombie.bE, Boolean.valueOf(flag)); + this.getDataWatcher().set(EntityZombie.bE, flag); } + // Paper start @@ -56,13 +56,13 @@ index 69a12bab3..877d73f3b 100644 + public void startDrowning(int drownedConversionTime) { a(drownedConversionTime); } // Paper - OBFHELPER private void a(int i) { - this.bJ = i; - this.getDataWatcher().set(EntityZombie.bF, Boolean.valueOf(true)); + this.drownedConversionTime = i; + this.getDataWatcher().set(EntityZombie.bF, true); } + // Paper start + public void stopDrowning() { -+ this.bJ = -1; ++ this.drownedConversionTime = -1; + this.getDataWatcher().set(EntityZombie.drowning, Boolean.valueOf(false)); + } + // Paper end @@ -92,7 +92,7 @@ index 69a12bab3..877d73f3b 100644 @@ -369,6 +393,7 @@ public class EntityZombie extends EntityMonster { nbttagcompound.setBoolean("CanBreakDoors", this.dH()); nbttagcompound.setInt("InWaterTime", this.isInWater() ? this.bI : -1); - nbttagcompound.setInt("DrownedConversionTime", this.dG() ? this.bJ : -1); + nbttagcompound.setInt("DrownedConversionTime", this.isDrownConverting() ? this.drownedConversionTime : -1); + nbttagcompound.setBoolean("Paper.ShouldBurnInDay", shouldBurnInDay); // Paper } @@ -150,5 +150,5 @@ index d2c3dbe48..43d4470d9 100644 + // Paper end } -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0412-limit-the-range-at-which-we-ll-consider-an-attackabl.patch b/Spigot-Server-Patches/0412-limit-the-range-at-which-we-ll-consider-an-attackabl.patch index 21ccc699d0..643b0d8b2b 100644 --- a/Spigot-Server-Patches/0412-limit-the-range-at-which-we-ll-consider-an-attackabl.patch +++ b/Spigot-Server-Patches/0412-limit-the-range-at-which-we-ll-consider-an-attackabl.patch @@ -1,4 +1,4 @@ -From 50d165ee11c9aa5a54fa85581755461d424b7a55 Mon Sep 17 00:00:00 2001 +From 80886158a3df3b0515a5273fbdef2650e9555db3 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 13 Nov 2018 14:01:00 +0000 Subject: [PATCH] limit the range at which we'll consider an attackable target @@ -12,10 +12,10 @@ decrease when set, allowing us to skip further checks earlier on when looking for an attackable entity diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index cdbb247da..027871c00 100644 +index 05256ad3c..747fda044 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -2795,8 +2795,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -2793,8 +2793,13 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc for (int i = 0; i < this.players.size(); ++i) { EntityHuman entityhuman1 = (EntityHuman) this.players.get(i); @@ -31,5 +31,5 @@ index cdbb247da..027871c00 100644 if (entityhuman1.isSneaking()) { -- -2.19.1 +2.19.2 diff --git a/Spigot-Server-Patches/0413-Prevent-rayTrace-from-loading-chunks.patch b/Spigot-Server-Patches/0413-Prevent-rayTrace-from-loading-chunks.patch index 0db2df32cb..d381953cad 100644 --- a/Spigot-Server-Patches/0413-Prevent-rayTrace-from-loading-chunks.patch +++ b/Spigot-Server-Patches/0413-Prevent-rayTrace-from-loading-chunks.patch @@ -1,4 +1,4 @@ -From d36659fc24b2fb5cd2bba1f559f8572abe765ad8 Mon Sep 17 00:00:00 2001 +From 3fa72ce74440ffd54068445d27333ff81d231e8f Mon Sep 17 00:00:00 2001 From: Aikar Date: Mon, 26 Nov 2018 19:21:58 -0500 Subject: [PATCH] Prevent rayTrace from loading chunks @@ -7,29 +7,29 @@ ray tracing into an unloaded chunk should be treated as a miss this saves a ton of lag for when AI tries to raytrace near unloaded chunks. diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java -index 027871c00..00773a9af 100644 +index 747fda044..bdbacae29 100644 --- a/src/main/java/net/minecraft/server/World.java +++ b/src/main/java/net/minecraft/server/World.java -@@ -860,7 +860,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -858,7 +858,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc int i1 = MathHelper.floor(d1); int j1 = MathHelper.floor(d2); BlockPosition blockposition = new BlockPosition(l, i1, j1); - IBlockData iblockdata = this.getType(blockposition); + IBlockData iblockdata = this.getTypeIfLoaded(blockposition); // Paper + if (iblockdata == null) return null; // Paper - Fluid fluid = this.b(blockposition); + Fluid fluid = this.getFluid(blockposition); boolean flag2; boolean flag3; -@@ -982,7 +983,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc +@@ -980,7 +981,8 @@ public abstract class World implements IEntityAccess, GeneratorAccess, IIBlockAc i1 = MathHelper.floor(d1) - (enumdirection == EnumDirection.UP ? 1 : 0); j1 = MathHelper.floor(d2) - (enumdirection == EnumDirection.SOUTH ? 1 : 0); blockposition = new BlockPosition(l, i1, j1); - IBlockData iblockdata1 = this.getType(blockposition); + IBlockData iblockdata1 = this.getTypeIfLoaded(blockposition); // Paper + if (iblockdata1 == null) return null; // Paper - Fluid fluid1 = this.b(blockposition); + Fluid fluid1 = this.getFluid(blockposition); if (!flag || iblockdata1.getMaterial() == Material.PORTAL || !iblockdata1.getCollisionShape(this, blockposition).isEmpty()) { -- -2.19.1 +2.19.2 diff --git a/work/BuildData b/work/BuildData index f527a8ff0d..d56672db7d 160000 --- a/work/BuildData +++ b/work/BuildData @@ -1 +1 @@ -Subproject commit f527a8ff0d2f2efafc292ac7648ae3a184245a74 +Subproject commit d56672db7d59c99f62c4e78532aeca0d143bef42 diff --git a/work/Bukkit b/work/Bukkit index 0c1d258bb8..db06c80d7f 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 0c1d258bb8185c39ce12c816a826973e94939b0e +Subproject commit db06c80d7f7c8deeea1f6caf9cef549064897d05 diff --git a/work/CraftBukkit b/work/CraftBukkit index 6a398ac443..068dab5be3 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 6a398ac443ac411c2e1723eb9aaa1a38792c7645 +Subproject commit 068dab5be3e2f9f5086b0b61522a30eb8302c11c diff --git a/work/Spigot b/work/Spigot index a1f2566f69..e769fe4d92 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit a1f2566f6906c2d67514cc6473ababaf3986f9ac +Subproject commit e769fe4d929af9813b597a438f543c782b7c4806