2024-04-24 01:15:00 +10:00

57 lines
2.2 KiB
Diff

--- a/net/minecraft/world/inventory/ContainerHorse.java
+++ b/net/minecraft/world/inventory/ContainerHorse.java
@@ -9,6 +9,11 @@
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
+// CraftBukkit start
+import org.bukkit.craftbukkit.inventory.CraftInventoryView;
+import org.bukkit.inventory.InventoryView;
+// CraftBukkit end
+
public class ContainerHorse extends Container {
private final IInventory horseContainer;
@@ -17,8 +22,23 @@
private static final int SLOT_BODY_ARMOR = 1;
private static final int SLOT_HORSE_INVENTORY_START = 2;
+ // CraftBukkit start
+ org.bukkit.craftbukkit.inventory.CraftInventoryView bukkitEntity;
+ PlayerInventory player;
+
+ @Override
+ public InventoryView getBukkitView() {
+ if (bukkitEntity != null) {
+ return bukkitEntity;
+ }
+
+ return bukkitEntity = new CraftInventoryView(player.player.getBukkitEntity(), horseContainer.getOwner().getInventory(), this);
+ }
+
public ContainerHorse(int i, PlayerInventory playerinventory, IInventory iinventory, final EntityHorseAbstract entityhorseabstract) {
super((Containers) null, i);
+ player = playerinventory;
+ // CraftBukkit end
this.horseContainer = iinventory;
this.armorContainer = entityhorseabstract.getBodyArmorAccess();
this.horse = entityhorseabstract;
@@ -27,7 +47,7 @@
iinventory.startOpen(playerinventory.player);
boolean flag1 = true;
- this.addSlot(new Slot(this, iinventory, 0, 8, 18) {
+ this.addSlot(new Slot(iinventory, 0, 8, 18) { // CraftBukkit - decompile error
@Override
public boolean mayPlace(ItemStack itemstack) {
return itemstack.is(Items.SADDLE) && !this.hasItem() && entityhorseabstract.isSaddleable();
@@ -38,7 +58,7 @@
return entityhorseabstract.isSaddleable();
}
});
- this.addSlot(new Slot(this, this.armorContainer, 0, 8, 36) {
+ this.addSlot(new Slot(this.armorContainer, 0, 8, 36) { // CraftBukkit - decompile error
@Override
public boolean mayPlace(ItemStack itemstack) {
return entityhorseabstract.isBodyArmorItem(itemstack);