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.
71 lines
2.6 KiB
71 lines
2.6 KiB
--- ../src-base/minecraft/net/minecraft/inventory/ContainerRepair.java |
|
+++ ../src-work/minecraft/net/minecraft/inventory/ContainerRepair.java |
|
@@ -17,19 +17,13 @@ |
|
import org.apache.logging.log4j.LogManager; |
|
import org.apache.logging.log4j.Logger; |
|
|
|
+import org.bukkit.craftbukkit.inventory.CraftInventoryView; // CraftBukkit |
|
+ |
|
public class ContainerRepair extends Container |
|
{ |
|
private static final Logger logger = LogManager.getLogger(); |
|
private IInventory outputSlot = new InventoryCraftResult(); |
|
- private IInventory inputSlots = new InventoryBasic("Repair", true, 2) |
|
- { |
|
- private static final String __OBFID = "CL_00001733"; |
|
- public void markDirty() |
|
- { |
|
- super.markDirty(); |
|
- ContainerRepair.this.onCraftMatrixChanged(this); |
|
- } |
|
- }; |
|
+ private IInventory inputSlots = new ContainerRepairInventory(this, "Repair", true, 2); |
|
private World theWorld; |
|
private int field_82861_i; |
|
private int field_82858_j; |
|
@@ -39,9 +33,14 @@ |
|
private String repairedItemName; |
|
private final EntityPlayer thePlayer; |
|
private static final String __OBFID = "CL_00001732"; |
|
+ // CraftBukkit start |
|
+ private CraftInventoryView bukkitEntity = null; |
|
+ private InventoryPlayer player; |
|
|
|
public ContainerRepair(InventoryPlayer p_i1800_1_, final World p_i1800_2_, final int p_i1800_3_, final int p_i1800_4_, final int p_i1800_5_, EntityPlayer p_i1800_6_) |
|
{ |
|
+ this.player = p_i1800_1_; |
|
+ // CraftBukkit end |
|
this.theWorld = p_i1800_2_; |
|
this.field_82861_i = p_i1800_3_; |
|
this.field_82858_j = p_i1800_4_; |
|
@@ -461,6 +460,11 @@ |
|
|
|
public boolean canInteractWith(EntityPlayer p_75145_1_) |
|
{ |
|
+ if (!this.checkReachable) |
|
+ { |
|
+ return true; // CraftBukkit |
|
+ } |
|
+ |
|
return this.theWorld.getBlock(this.field_82861_i, this.field_82858_j, this.field_82859_k) != Blocks.anvil ? false : p_75145_1_.getDistanceSq((double)this.field_82861_i + 0.5D, (double)this.field_82858_j + 0.5D, (double)this.field_82859_k + 0.5D) <= 64.0D; |
|
} |
|
|
|
@@ -535,4 +539,18 @@ |
|
|
|
this.updateRepairOutput(); |
|
} |
|
+ |
|
+ // CraftBukkit start |
|
+ public CraftInventoryView getBukkitView() |
|
+ { |
|
+ if (bukkitEntity != null) |
|
+ { |
|
+ return bukkitEntity; |
|
+ } |
|
+ |
|
+ org.bukkit.craftbukkit.inventory.CraftInventory inventory = new org.bukkit.craftbukkit.inventory.CraftInventoryAnvil(this.inputSlots, this.outputSlot); |
|
+ bukkitEntity = new CraftInventoryView(this.player.player.getBukkitEntity(), inventory, this); |
|
+ return bukkitEntity; |
|
+ } |
|
+ // CraftBukkit end |
|
}
|
|
|