From 26144e31b37a47c76b3540fbe6f894592a978b71 Mon Sep 17 00:00:00 2001
From: Shane Freeder <theboyetronic@gmail.com>
Date: Thu, 8 Feb 2018 10:07:27 +0000
Subject: [PATCH] Update B/CB

---
 ...upstream-javadoc-warnings-and-errors.patch |  6 +-
 .../Improve-the-Saddle-API-for-Horses.patch   | 56 +++++++------------
 .../Improve-the-Saddle-API-for-Horses.patch   | 42 ++++----------
 work/Bukkit                                   |  2 +-
 work/CraftBukkit                              |  2 +-
 5 files changed, 35 insertions(+), 73 deletions(-)

diff --git a/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch b/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch
index 79e9154390..f0460e9a4f 100644
--- a/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch
+++ b/Spigot-API-Patches/Fix-upstream-javadoc-warnings-and-errors.patch
@@ -6,7 +6,7 @@ Subject: [PATCH] Fix upstream javadoc warnings and errors
 Upstream still refuses to use Java 8 with the API so they are likely unaware these are even issues.
 
 diff --git a/src/main/java/org/bukkit/NamespacedKey.java b/src/main/java/org/bukkit/NamespacedKey.java
-index 9597a9d8..478f2c3c 100644
+index 19632d17..de1b1112 100644
 --- a/src/main/java/org/bukkit/NamespacedKey.java
 +++ b/src/main/java/org/bukkit/NamespacedKey.java
 @@ -0,0 +0,0 @@ public final class NamespacedKey {
@@ -73,7 +73,7 @@ index 8d29dcbd..0bc47dd6 100644
      public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data);
  
 diff --git a/src/main/java/org/bukkit/entity/AbstractHorse.java b/src/main/java/org/bukkit/entity/AbstractHorse.java
-index 0e615711..e912299b 100644
+index 10757454..6d5410ea 100644
 --- a/src/main/java/org/bukkit/entity/AbstractHorse.java
 +++ b/src/main/java/org/bukkit/entity/AbstractHorse.java
 @@ -0,0 +0,0 @@ public interface AbstractHorse extends Animals, Vehicle, InventoryHolder, Tameab
@@ -335,7 +335,7 @@ index 60470b88..76313d4d 100644
       */
      @Deprecated
 diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
-index 170ae21a..c0de37a7 100644
+index 92174e81..ac5cc32c 100644
 --- a/src/main/java/org/bukkit/scoreboard/Team.java
 +++ b/src/main/java/org/bukkit/scoreboard/Team.java
 @@ -0,0 +0,0 @@ public interface Team {
diff --git a/Spigot-API-Patches/Improve-the-Saddle-API-for-Horses.patch b/Spigot-API-Patches/Improve-the-Saddle-API-for-Horses.patch
index f9a47bc510..79c5bf4041 100644
--- a/Spigot-API-Patches/Improve-the-Saddle-API-for-Horses.patch
+++ b/Spigot-API-Patches/Improve-the-Saddle-API-for-Horses.patch
@@ -8,13 +8,13 @@ and access their saddle state separately from an interface shared with Armor.
 
 diff --git a/src/main/java/org/bukkit/inventory/ArmoredHorseInventory.java b/src/main/java/org/bukkit/inventory/ArmoredHorseInventory.java
 new file mode 100644
-index 00000000..037479de
+index 00000000..a39b9544
 --- /dev/null
 +++ b/src/main/java/org/bukkit/inventory/ArmoredHorseInventory.java
 @@ -0,0 +0,0 @@
 +package org.bukkit.inventory;
 +
-+public interface ArmoredHorseInventory extends Inventory {
++public interface ArmoredHorseInventory extends AbstractHorseInventory {
 +
 +    /**
 +     * Gets the item in the horse's armor slot.
@@ -31,21 +31,14 @@ index 00000000..037479de
 +    void setArmor(ItemStack stack);
 +}
 diff --git a/src/main/java/org/bukkit/inventory/HorseInventory.java b/src/main/java/org/bukkit/inventory/HorseInventory.java
-index a71efb83..b4b95ab5 100644
+index a73c9850..e14c1277 100644
 --- a/src/main/java/org/bukkit/inventory/HorseInventory.java
 +++ b/src/main/java/org/bukkit/inventory/HorseInventory.java
 @@ -0,0 +0,0 @@ package org.bukkit.inventory;
  /**
   * An interface to the inventory of a Horse.
   */
--public interface HorseInventory extends Inventory {
--
--    /**
--     * Gets the item in the horse's saddle slot.
--     *
--     * @return the saddle item
--     */
--    ItemStack getSaddle();
+-public interface HorseInventory extends AbstractHorseInventory {
 -
 -    /**
 -     * Gets the item in the horse's armor slot.
@@ -55,42 +48,33 @@ index a71efb83..b4b95ab5 100644
 -    ItemStack getArmor();
 -
 -    /**
--     * Sets the item in the horse's saddle slot.
--     *
--     * @param stack the new item
--     */
--    void setSaddle(ItemStack stack);
--
--    /**
 -     * Sets the item in the horse's armor slot.
 -     *
 -     * @param stack the new item
 -     */
 -    void setArmor(ItemStack stack);
 -}
-+public interface HorseInventory extends ArmoredHorseInventory, SaddledHorseInventory {}
++public interface HorseInventory extends AbstractHorseInventory, ArmoredHorseInventory {}
+diff --git a/src/main/java/org/bukkit/inventory/LlamaInventory.java b/src/main/java/org/bukkit/inventory/LlamaInventory.java
+index 9b3dcf3f..7856a7f2 100644
+--- a/src/main/java/org/bukkit/inventory/LlamaInventory.java
++++ b/src/main/java/org/bukkit/inventory/LlamaInventory.java
+@@ -0,0 +0,0 @@ import org.bukkit.entity.Llama;
+ /**
+  * An interface to the inventory of a {@link Llama}.
+  */
+-public interface LlamaInventory extends AbstractHorseInventory {
++public interface LlamaInventory extends SaddledHorseInventory {
+ 
+     /*
+      * Gets the item in the llama's decor slot.
 diff --git a/src/main/java/org/bukkit/inventory/SaddledHorseInventory.java b/src/main/java/org/bukkit/inventory/SaddledHorseInventory.java
 new file mode 100644
-index 00000000..010dc364
+index 00000000..7944f26a
 --- /dev/null
 +++ b/src/main/java/org/bukkit/inventory/SaddledHorseInventory.java
 @@ -0,0 +0,0 @@
 +package org.bukkit.inventory;
 +
-+public interface SaddledHorseInventory {
-+
-+    /**
-+     * Gets the item in the horse's saddle slot.
-+     *
-+     * @return the saddle item
-+     */
-+    ItemStack getSaddle();
-+
-+    /**
-+     * Sets the item in the horse's saddle slot.
-+     *
-+     * @param stack the new item
-+     */
-+    void setSaddle(ItemStack stack);
-+}
++public interface SaddledHorseInventory extends AbstractHorseInventory {}
 --
\ No newline at end of file
diff --git a/Spigot-Server-Patches/Improve-the-Saddle-API-for-Horses.patch b/Spigot-Server-Patches/Improve-the-Saddle-API-for-Horses.patch
index 4dbe55df7f..0d2b41aea7 100644
--- a/Spigot-Server-Patches/Improve-the-Saddle-API-for-Horses.patch
+++ b/Spigot-Server-Patches/Improve-the-Saddle-API-for-Horses.patch
@@ -7,13 +7,13 @@ Not all horses with Saddles have armor. This lets us break up the horses with sa
 and access their saddle state separately from an interface shared with Armor.
 
 diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
-index 62c7d44c7..64d75459a 100644
+index 14d041680..e56bef334 100644
 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
 +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java
 @@ -0,0 +0,0 @@ import net.minecraft.server.EntityHorseAbstract;
  import org.apache.commons.lang.Validate;
  import org.bukkit.craftbukkit.CraftServer;
- import org.bukkit.craftbukkit.inventory.CraftInventory;
+ import org.bukkit.craftbukkit.inventory.CraftInventoryAbstractHorse;
 +import org.bukkit.craftbukkit.inventory.CraftSaddledInventory;
  import org.bukkit.entity.AbstractHorse;
  import org.bukkit.entity.AnimalTamer;
@@ -21,65 +21,43 @@ index 62c7d44c7..64d75459a 100644
 @@ -0,0 +0,0 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac
  
      @Override
-     public Inventory getInventory() {
--        return new CraftInventory(getHandle().inventoryChest);
+     public AbstractHorseInventory getInventory() {
+-        return new CraftInventoryAbstractHorse(getHandle().inventoryChest);
 +        return new CraftSaddledInventory(getHandle().inventoryChest);
      }
  }
 diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
-index 5adbd7437..2f6852404 100644
+index 173818e68..2f6852404 100644
 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
 +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java
 @@ -0,0 +0,0 @@ import net.minecraft.server.IInventory;
  import org.bukkit.inventory.HorseInventory;
  import org.bukkit.inventory.ItemStack;
  
--public class CraftInventoryHorse extends CraftInventory implements HorseInventory {
+-public class CraftInventoryHorse extends CraftInventoryAbstractHorse implements HorseInventory {
 +public class CraftInventoryHorse extends CraftSaddledInventory implements HorseInventory {
  
      public CraftInventoryHorse(IInventory inventory) {
          super(inventory);
-     }
- 
--    public ItemStack getSaddle() {
--        return getItem(0);
--    }
--
-     public ItemStack getArmor() {
-        return getItem(1);
-     }
- 
--    public void setSaddle(ItemStack stack) {
--        setItem(0, stack);
--    }
--
-     public void setArmor(ItemStack stack) {
-         setItem(1, stack);
-     }
 diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java
 new file mode 100644
-index 000000000..615010c40
+index 000000000..99cfbaf90
 --- /dev/null
 +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java
 @@ -0,0 +0,0 @@
 +package org.bukkit.craftbukkit.inventory;
 +
 +import net.minecraft.server.IInventory;
++
++import org.bukkit.inventory.AbstractHorseInventory;
 +import org.bukkit.inventory.ItemStack;
 +import org.bukkit.inventory.SaddledHorseInventory;
 +
-+public class CraftSaddledInventory extends CraftInventory implements SaddledHorseInventory {
++public class CraftSaddledInventory extends CraftInventoryAbstractHorse implements SaddledHorseInventory {
 +
 +    public CraftSaddledInventory(IInventory inventory) {
 +        super(inventory);
 +    }
 +
-+    public ItemStack getSaddle() {
-+        return getItem(0);
-+    }
-+
-+    public void setSaddle(ItemStack stack) {
-+        setItem(0, stack);
-+    }
 +}
 --
\ No newline at end of file
diff --git a/work/Bukkit b/work/Bukkit
index 2b1f48cd2c..d9006fb04c 160000
--- a/work/Bukkit
+++ b/work/Bukkit
@@ -1 +1 @@
-Subproject commit 2b1f48cd2c88434401001efcae22b0de9f61ba37
+Subproject commit d9006fb04c37444226a867b64c14cb4cfe830610
diff --git a/work/CraftBukkit b/work/CraftBukkit
index c7656468e4..e3b4cf5c28 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit c7656468e4601fb70e0d7049c4b947e16034546f
+Subproject commit e3b4cf5c282c04edb644a9cf499d021bd76edc9a