From 90c776d3aa0f2a5515de661fd1b06f9a98160cf9 Mon Sep 17 00:00:00 2001 From: Aikar Date: Sat, 10 Dec 2016 16:24:06 -0500 Subject: [PATCH] Improve the Saddle API for Horses Not all horses with Saddles have armor. This lets us break up the horses with saddles and access their saddle state separately from an interface shared with Armor. --- .../craftbukkit/entity/CraftAbstractHorse.java | 3 ++- .../craftbukkit/inventory/CraftInventoryHorse.java | 2 +- .../craftbukkit/inventory/CraftSaddledInventory.java | 12 ++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java index 3b7a35594..5192fa2ae 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java @@ -5,6 +5,7 @@ import java.util.UUID; import net.minecraft.world.entity.ai.attributes.Attributes; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.inventory.CraftInventoryAbstractHorse; +import org.bukkit.craftbukkit.inventory.CraftSaddledInventory; import org.bukkit.entity.AbstractHorse; import org.bukkit.entity.AnimalTamer; import org.bukkit.entity.Horse; @@ -107,6 +108,6 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac @Override public AbstractHorseInventory getInventory() { - return new CraftInventoryAbstractHorse(this.getHandle().inventory); + return new CraftSaddledInventory(getHandle().inventory); } } diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java index 5686c13b7..07a304edc 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryHorse.java @@ -4,7 +4,7 @@ import net.minecraft.world.Container; import org.bukkit.inventory.HorseInventory; import org.bukkit.inventory.ItemStack; -public class CraftInventoryHorse extends CraftInventoryAbstractHorse implements HorseInventory { +public class CraftInventoryHorse extends CraftSaddledInventory implements HorseInventory { private final Container bodyArmorInventory; diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java new file mode 100644 index 000000000..3a617c07d --- /dev/null +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftSaddledInventory.java @@ -0,0 +1,12 @@ +package org.bukkit.craftbukkit.inventory; + +import net.minecraft.world.Container; +import org.bukkit.inventory.SaddledHorseInventory; + +public class CraftSaddledInventory extends CraftInventoryAbstractHorse implements SaddledHorseInventory { + + public CraftSaddledInventory(Container inventory) { + super(inventory); + } + +}