From fc0af2414097bc0d65eaeca4b78d49d85159ee0f Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Tue, 2 Oct 2018 11:01:56 +0100 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: c71bb9ca Add PlayerRecipeDiscoverEvent and methods to (un/)discover recipes CraftBukkit Changes: 7a2f4867 Implement PlayerRecipeDiscoverEvent and methods to (un/)discover recipes --- .../Add-method-to-open-already-placed-sign.patch | 2 +- .../InventoryCloseEvent-Reason-API.patch | 2 +- .../Shoulder-Entities-Release-API.patch | 6 +++--- Spigot-Server-Patches/Add-EntityZapEvent.patch | 2 +- .../Add-ProjectileCollideEvent.patch | 2 +- .../Add-hand-to-bucket-events.patch | 2 +- .../Add-method-to-open-already-placed-sign.patch | 2 +- .../Add-source-to-PlayerExpChangeEvent.patch | 2 +- .../Async-Chunk-Loading-and-Generation.patch | 2 +- ...BowEvent-consumeArrow-and-getArrowItem-AP.patch | 2 +- ...ing-Recipes-in-RecipeBook-to-avoid-data-e.patch | 14 +++++++------- ...jectileHitEvent-to-include-the-BlockFace-.patch | 2 +- Spigot-Server-Patches/Improve-death-events.patch | 2 +- .../InventoryCloseEvent-Reason-API.patch | 4 ++-- .../Shoulder-Entities-Release-API.patch | 6 +++--- .../Vanished-players-don-t-have-rights.patch | 2 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- 18 files changed, 29 insertions(+), 29 deletions(-) diff --git a/Spigot-API-Patches/Add-method-to-open-already-placed-sign.patch b/Spigot-API-Patches/Add-method-to-open-already-placed-sign.patch index 793360fec3..37e9c3b248 100644 --- a/Spigot-API-Patches/Add-method-to-open-already-placed-sign.patch +++ b/Spigot-API-Patches/Add-method-to-open-already-placed-sign.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add method to open already placed sign diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 3939d4af..dd95773e 100644 +index d137d6bf2..3590149a8 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -0,0 +0,0 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, Permissible, Inv diff --git a/Spigot-API-Patches/InventoryCloseEvent-Reason-API.patch b/Spigot-API-Patches/InventoryCloseEvent-Reason-API.patch index 14046293a3..787031f3e4 100644 --- a/Spigot-API-Patches/InventoryCloseEvent-Reason-API.patch +++ b/Spigot-API-Patches/InventoryCloseEvent-Reason-API.patch @@ -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/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index dd95773e2..8fe01e47e 100644 +index 3590149a8..972c8f970 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -0,0 +0,0 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, Permissible, Inv diff --git a/Spigot-API-Patches/Shoulder-Entities-Release-API.patch b/Spigot-API-Patches/Shoulder-Entities-Release-API.patch index 89edf25377..bfb088d5d9 100644 --- a/Spigot-API-Patches/Shoulder-Entities-Release-API.patch +++ b/Spigot-API-Patches/Shoulder-Entities-Release-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 518aa2a9..3939d4af 100644 +index 144e432cd..d137d6bf2 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -0,0 +0,0 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, Permissible, Inv @@ -31,6 +31,6 @@ index 518aa2a9..3939d4af 100644 + // Paper end + /** - * Gets the entity currently perched on the left shoulder or null if no - * entity. + * Discover a recipe for this player such that it has not already been + * discovered. This method will add the key's associated recipe to the -- \ No newline at end of file diff --git a/Spigot-Server-Patches/Add-EntityZapEvent.patch b/Spigot-Server-Patches/Add-EntityZapEvent.patch index 78d8a4f392..515d6a63c4 100644 --- a/Spigot-Server-Patches/Add-EntityZapEvent.patch +++ b/Spigot-Server-Patches/Add-EntityZapEvent.patch @@ -48,7 +48,7 @@ index 32e327e42c..5aebdba56c 100644 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 58b64a6712..9a8bf6e74b 100644 +index 3da2679721..1f9713a411 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch b/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch index e50baed91e..061087d66b 100644 --- a/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch +++ b/Spigot-Server-Patches/Add-ProjectileCollideEvent.patch @@ -87,7 +87,7 @@ index ee402d4140..fc8c0cab55 100644 if (movingobjectposition.type == MovingObjectPosition.EnumMovingObjectType.BLOCK && this.world.getType(movingobjectposition.a()).getBlock() == Blocks.NETHER_PORTAL) { this.e(movingobjectposition.a()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 07f47977f9..307b59a27d 100644 +index 3c138d6a29..57dc17845a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/Add-hand-to-bucket-events.patch b/Spigot-Server-Patches/Add-hand-to-bucket-events.patch index ceacd5215e..660f4144c8 100644 --- a/Spigot-Server-Patches/Add-hand-to-bucket-events.patch +++ b/Spigot-Server-Patches/Add-hand-to-bucket-events.patch @@ -67,7 +67,7 @@ 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 77c6c0ec16..a553c20657 100644 +index 9bef0e5bb7..6c05dd9051 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/Add-method-to-open-already-placed-sign.patch b/Spigot-Server-Patches/Add-method-to-open-already-placed-sign.patch index 6570abaa7f..9a16a65370 100644 --- a/Spigot-Server-Patches/Add-method-to-open-already-placed-sign.patch +++ b/Spigot-Server-Patches/Add-method-to-open-already-placed-sign.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add method to open already placed sign diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 38a886fbd5..92fe80316f 100644 +index 99705b1344..32fcba1d1a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -0,0 +0,0 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch b/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch index cec52bf9b2..6737c21472 100644 --- a/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch +++ b/Spigot-Server-Patches/Add-source-to-PlayerExpChangeEvent.patch @@ -18,7 +18,7 @@ index 33b24c833b..880f496526 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 9a8bf6e74b..07f47977f9 100644 +index 1f9713a411..3c138d6a29 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ import org.bukkit.entity.Player; diff --git a/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch b/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch index 0ed728aa52..ae476fc9e1 100644 --- a/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch +++ b/Spigot-Server-Patches/Async-Chunk-Loading-and-Generation.patch @@ -1801,7 +1801,7 @@ index d0110070a9..02b6bf2990 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 12e2c0f6e1..cd6138855e 100644 +index 9e903159d9..4ead18b66c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch b/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch index 069aa88714..7150a141fd 100644 --- a/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch +++ b/Spigot-Server-Patches/EntityShootBowEvent-consumeArrow-and-getArrowItem-AP.patch @@ -58,7 +58,7 @@ index b0f7649b82..152b179ce1 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 307b59a27d..8295a4c7ae 100644 +index 57dc17845a..3c927fcb23 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch b/Spigot-Server-Patches/Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch index f43f3d269c..784742b949 100644 --- a/Spigot-Server-Patches/Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch +++ b/Spigot-Server-Patches/Ignore-Missing-Recipes-in-RecipeBook-to-avoid-data-e.patch @@ -6,29 +6,29 @@ Subject: [PATCH] Ignore Missing Recipes in RecipeBook to avoid data errors This code was causing NPE's in saving player data, potentially related to reloads. diff --git a/src/main/java/net/minecraft/server/RecipeBookServer.java b/src/main/java/net/minecraft/server/RecipeBookServer.java -index b0c726be19..34e34b7855 100644 +index dc9dfada2f..6d4d56dd0d 100644 --- a/src/main/java/net/minecraft/server/RecipeBookServer.java +++ b/src/main/java/net/minecraft/server/RecipeBookServer.java @@ -0,0 +0,0 @@ public class RecipeBookServer extends RecipeBook { - NBTTagList nbttaglist = new NBTTagList(); + while (iterator.hasNext()) { + MinecraftKey minecraftkey = (MinecraftKey) iterator.next(); - for(MinecraftKey minecraftkey : this.a) { + // Paper start - ignore missing recipes + IRecipe recipe = this.h.a(minecraftkey); + if (recipe == null) continue; + // Paper end - nbttaglist.add((NBTBase)(new NBTTagString(minecraftkey.toString()))); + nbttaglist.add((NBTBase) (new NBTTagString(minecraftkey.toString()))); } @@ -0,0 +0,0 @@ public class RecipeBookServer extends RecipeBook { - NBTTagList nbttaglist1 = new NBTTagList(); + while (iterator1.hasNext()) { + MinecraftKey minecraftkey1 = (MinecraftKey) iterator1.next(); - for(MinecraftKey minecraftkey1 : this.b) { + // Paper start - ignore missing recipes + IRecipe recipe = this.h.a(minecraftkey1); + if (recipe == null) continue; + // Paper end - nbttaglist1.add((NBTBase)(new NBTTagString(minecraftkey1.toString()))); + nbttaglist1.add((NBTBase) (new NBTTagString(minecraftkey1.toString()))); } -- \ No newline at end of file diff --git a/Spigot-Server-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch b/Spigot-Server-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch index 9cce4741cc..cc4f101b96 100644 --- a/Spigot-Server-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch +++ b/Spigot-Server-Patches/Improve-ProjectileHitEvent-to-include-the-BlockFace-.patch @@ -6,7 +6,7 @@ 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 8295a4c7ae..29d8773f2e 100644 +index 3c927fcb23..66b1293bf9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/Improve-death-events.patch b/Spigot-Server-Patches/Improve-death-events.patch index e53dbeb8d9..4789d32b4a 100644 --- a/Spigot-Server-Patches/Improve-death-events.patch +++ b/Spigot-Server-Patches/Improve-death-events.patch @@ -306,7 +306,7 @@ index 2f9cff6e71..ac7fc0ef3e 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 a553c20657..12e2c0f6e1 100644 +index 6c05dd9051..9e903159d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch b/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch index 15e2ee5623..223278c5d7 100644 --- a/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch +++ b/Spigot-Server-Patches/InventoryCloseEvent-Reason-API.patch @@ -136,7 +136,7 @@ index 304cae655d..6d511b6230 100644 PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(cserver.getPlayer(entityplayer), "\u00A7e" + entityplayer.getName() + " left the game"); cserver.getPluginManager().callEvent(playerQuitEvent); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 92fe80316f..70a4dbe26b 100644 +index 32fcba1d1a..3c23d40b1d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -0,0 +0,0 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -168,7 +168,7 @@ index 898371e5f4..912b2e6284 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 29d8773f2e..ea787a523c 100644 +index 66b1293bf9..f04fb045eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/Spigot-Server-Patches/Shoulder-Entities-Release-API.patch b/Spigot-Server-Patches/Shoulder-Entities-Release-API.patch index d1a3b89e52..cb3970d667 100644 --- a/Spigot-Server-Patches/Shoulder-Entities-Release-API.patch +++ b/Spigot-Server-Patches/Shoulder-Entities-Release-API.patch @@ -62,7 +62,7 @@ index 0f00eecead..504c9ad473 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 289e267bdd..38a886fbd5 100644 +index 497783d4f3..99705b1344 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -0,0 +0,0 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -96,6 +96,6 @@ index 289e267bdd..38a886fbd5 100644 + // Paper end + @Override - public org.bukkit.entity.Entity getShoulderEntityLeft() { - if (!getHandle().getShoulderEntityLeft().isEmpty()) { + public boolean discoverRecipe(NamespacedKey recipe) { + return discoverRecipes(Arrays.asList(recipe)) != 0; -- \ No newline at end of file diff --git a/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch b/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch index 3f26ab8490..6cb729148d 100644 --- a/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch +++ b/Spigot-Server-Patches/Vanished-players-don-t-have-rights.patch @@ -106,7 +106,7 @@ index 6605449a8b..81777fce64 100644 if (voxelshape.b()) { 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 ea787a523c..77c6c0ec16 100644 +index f04fb045eb..9bef0e5bb7 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -0,0 +0,0 @@ public class CraftEventFactory { diff --git a/work/Bukkit b/work/Bukkit index e64f4eb110..c71bb9ca98 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit e64f4eb1109decfdf6695394d472b5818f814ae4 +Subproject commit c71bb9ca986e836fffbd6f118145156e84426e10 diff --git a/work/CraftBukkit b/work/CraftBukkit index 1cf8b5dc1b..7a2f486768 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 1cf8b5dc1b55459f9a470860f820310294b48787 +Subproject commit 7a2f486768afeb6a54c39b19079e9f31f3adad1a