diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java index 8a6c2a6e7..ddba2b56a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerBase.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.container; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.container.slot.*; import com.raoulvdberge.refinedstorage.tile.TileBase; -import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ClickType; import net.minecraft.inventory.Container; @@ -37,7 +36,7 @@ public abstract class ContainerBase extends Container { int x = xInventory + i * 18; int y = yInventory + 4 + (3 * 18); - if (i == player.inventory.currentItem && (ContainerBase.this instanceof ContainerFilter || (ContainerBase.this instanceof ContainerGrid && ((ContainerGrid) ContainerBase.this).getGrid() instanceof WirelessGrid))) { + if (i == player.inventory.currentItem && isHeldItemDisabled()) { addSlotToContainer(new SlotDisabled(player.inventory, id, x, y)); } else { addSlotToContainer(new Slot(player.inventory, id, x, y)); @@ -145,4 +144,8 @@ public abstract class ContainerBase extends Container { public boolean canInteractWith(EntityPlayer player) { return true; } + + protected boolean isHeldItemDisabled() { + return false; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCraftingMonitor.java index 690bfb2a4..6c2408164 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerCraftingMonitor.java @@ -2,6 +2,7 @@ package com.raoulvdberge.refinedstorage.container; import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor; import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor; +import com.raoulvdberge.refinedstorage.tile.craftingmonitor.WirelessCraftingMonitor; import net.minecraft.entity.player.EntityPlayer; import net.minecraftforge.items.SlotItemHandler; @@ -23,4 +24,9 @@ public class ContainerCraftingMonitor extends ContainerBase { public ICraftingMonitor getCraftingMonitor() { return craftingMonitor; } + + @Override + protected boolean isHeldItemDisabled() { + return craftingMonitor instanceof WirelessCraftingMonitor; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFilter.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFilter.java index e5bad6c35..8e95f70ea 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFilter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerFilter.java @@ -58,4 +58,9 @@ public class ContainerFilter extends ContainerBase { return stack; } + + @Override + protected boolean isHeldItemDisabled() { + return true; + } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerGrid.java index f779672e0..8a5e9ba1f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerGrid.java @@ -9,6 +9,7 @@ import com.raoulvdberge.refinedstorage.container.slot.*; import com.raoulvdberge.refinedstorage.gui.grid.IGridDisplay; import com.raoulvdberge.refinedstorage.tile.grid.IGrid; import com.raoulvdberge.refinedstorage.tile.grid.TileGrid; +import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.inventory.IContainerListener; @@ -149,4 +150,9 @@ public class ContainerGrid extends ContainerBase { return ItemStack.EMPTY; } + + @Override + protected boolean isHeldItemDisabled() { + return grid instanceof WirelessGrid; + } }