You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.0 KiB
65 lines
2.0 KiB
--- ../src-base/minecraft/net/minecraft/inventory/ContainerDispenser.java |
|
+++ ../src-work/minecraft/net/minecraft/inventory/ContainerDispenser.java |
|
@@ -4,14 +4,28 @@ |
|
import net.minecraft.item.ItemStack; |
|
import net.minecraft.tileentity.TileEntityDispenser; |
|
|
|
+// CraftBukkit start |
|
+import net.minecraft.entity.player.InventoryPlayer; |
|
+import org.bukkit.craftbukkit.inventory.CraftInventory; |
|
+import org.bukkit.craftbukkit.inventory.CraftInventoryView; |
|
+// CraftBukkit end |
|
+ |
|
public class ContainerDispenser extends Container |
|
{ |
|
- private TileEntityDispenser tileDispenser; |
|
+ public TileEntityDispenser tileDispenser; // CraftBukkit - private -> public |
|
+ // CraftBukkit start |
|
+ private CraftInventoryView bukkitEntity = null; |
|
+ private InventoryPlayer player; |
|
+ // CraftBukkit end |
|
private static final String __OBFID = "CL_00001763"; |
|
|
|
public ContainerDispenser(IInventory p_i1825_1_, TileEntityDispenser p_i1825_2_) |
|
{ |
|
this.tileDispenser = p_i1825_2_; |
|
+ // CraftBukkit start - Save player |
|
+ // TODO: Should we check to make sure it really is an InventoryPlayer? |
|
+ this.player = (InventoryPlayer)p_i1825_1_; |
|
+ // CraftBukkit end |
|
int i; |
|
int j; |
|
|
|
@@ -39,6 +53,13 @@ |
|
|
|
public boolean canInteractWith(EntityPlayer p_75145_1_) |
|
{ |
|
+ // CraftBukkit start |
|
+ if (!this.checkReachable) |
|
+ { |
|
+ return true; |
|
+ } |
|
+ // CraftBukkit end |
|
+ |
|
return this.tileDispenser.isUseableByPlayer(p_75145_1_); |
|
} |
|
|
|
@@ -83,4 +104,18 @@ |
|
|
|
return itemstack; |
|
} |
|
+ |
|
+ // CraftBukkit start |
|
+ public CraftInventoryView getBukkitView() |
|
+ { |
|
+ if (bukkitEntity != null) |
|
+ { |
|
+ return bukkitEntity; |
|
+ } |
|
+ |
|
+ CraftInventory inventory = new CraftInventory(this.tileDispenser); |
|
+ bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this); |
|
+ return bukkitEntity; |
|
+ } |
|
+ // CraftBukkit end |
|
}
|
|
|