mirror of
https://github.com/barkeser2002/CatServer.git
synced 2026-09-25 01:39:52 +03:00
53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
--- ../src-base/minecraft/net/minecraft/inventory/ContainerDispenser.java
|
|
+++ ../src-work/minecraft/net/minecraft/inventory/ContainerDispenser.java
|
|
@@ -1,16 +1,24 @@
|
|
package net.minecraft.inventory;
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
+import net.minecraft.entity.player.InventoryPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
+import org.bukkit.craftbukkit.inventory.CraftInventory;
|
|
+import org.bukkit.craftbukkit.inventory.CraftInventoryView;
|
|
|
|
public class ContainerDispenser extends Container
|
|
{
|
|
- private final IInventory dispenserInventory;
|
|
+ public final IInventory dispenserInventory; // CatServer - private -> public
|
|
+ private CraftInventoryView bukkitEntity = null;
|
|
+ private InventoryPlayer player;
|
|
|
|
public ContainerDispenser(IInventory playerInventory, IInventory dispenserInventoryIn)
|
|
{
|
|
this.dispenserInventory = dispenserInventoryIn;
|
|
|
|
+ // TODO: Should we check to make sure it really is an InventoryPlayer?
|
|
+ this.player = (InventoryPlayer) playerInventory;
|
|
+
|
|
for (int i = 0; i < 3; ++i)
|
|
{
|
|
for (int j = 0; j < 3; ++j)
|
|
@@ -35,6 +43,7 @@
|
|
|
|
public boolean canInteractWith(EntityPlayer playerIn)
|
|
{
|
|
+ if (!this.checkReachable) return true;
|
|
return this.dispenserInventory.isUsableByPlayer(playerIn);
|
|
}
|
|
|
|
@@ -79,4 +88,15 @@
|
|
|
|
return itemstack;
|
|
}
|
|
+
|
|
+ @Override
|
|
+ public CraftInventoryView getBukkitView() {
|
|
+ if (bukkitEntity != null) {
|
|
+ return bukkitEntity;
|
|
+ }
|
|
+
|
|
+ CraftInventory inventory = new CraftInventory(this.dispenserInventory);
|
|
+ bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this);
|
|
+ return bukkitEntity;
|
|
+ }
|
|
}
|