Fix subtle bugs, not finished yet in a long shot

This commit is contained in:
Raoul Van den Berge
2016-11-26 21:47:47 +01:00
parent 8ad836db55
commit cebaac6df5
35 changed files with 166 additions and 147 deletions

View File

@@ -107,7 +107,7 @@ public abstract class BlockBase extends Block {
IItemHandler handler = ((TileBase) tile).getDrops(); IItemHandler handler = ((TileBase) tile).getDrops();
for (int i = 0; i < handler.getSlots(); ++i) { for (int i = 0; i < handler.getSlots(); ++i) {
if (handler.getStackInSlot(i) != null) { if (!handler.getStackInSlot(i).isEmpty()) {
InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(), handler.getStackInSlot(i)); InventoryHelper.spawnItemStack(world, pos.getX(), pos.getY(), pos.getZ(), handler.getStackInSlot(i));
} }
} }

View File

@@ -198,4 +198,8 @@ public class BlockCable extends BlockNode {
public BlockRenderLayer getBlockLayer() { public BlockRenderLayer getBlockLayer() {
return BlockRenderLayer.CUTOUT; return BlockRenderLayer.CUTOUT;
} }
public EnumPlacementType getPlacementType() {
return null;
}
} }

View File

@@ -63,10 +63,8 @@ public class BlockController extends BlockBase {
@Override @Override
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) { public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
TileController controller = (TileController) world.getTileEntity(pos);
return super.getActualState(state, world, pos) return super.getActualState(state, world, pos)
.withProperty(ENERGY, controller.getEnergyScaledForDisplay()); .withProperty(ENERGY, ((TileController) world.getTileEntity(pos)).getEnergyScaledForDisplay());
} }
@Override @Override

View File

@@ -57,8 +57,8 @@ public abstract class ContainerBase extends Container {
public ItemStack slotClick(int id, int dragType, ClickType clickType, EntityPlayer player) { public ItemStack slotClick(int id, int dragType, ClickType clickType, EntityPlayer player) {
Slot slot = id >= 0 ? getSlot(id) : null; Slot slot = id >= 0 ? getSlot(id) : null;
if (slot instanceof SlotSpecimen) { if (slot instanceof SlotFilter) {
if (((SlotSpecimen) slot).isWithSize()) { if (((SlotFilter) slot).isWithSize()) {
if (clickType == ClickType.QUICK_MOVE) { if (clickType == ClickType.QUICK_MOVE) {
slot.putStack(ItemStack.EMPTY); slot.putStack(ItemStack.EMPTY);
} else if (!player.inventory.getItemStack().isEmpty()) { } else if (!player.inventory.getItemStack().isEmpty()) {
@@ -83,7 +83,7 @@ public abstract class ContainerBase extends Container {
} }
return player.inventory.getItemStack(); return player.inventory.getItemStack();
} else if (slot instanceof SlotSpecimenLegacy) { } else if (slot instanceof SlotFilterLegacy) {
if (player.inventory.getItemStack().isEmpty()) { if (player.inventory.getItemStack().isEmpty()) {
slot.putStack(ItemStack.EMPTY); slot.putStack(ItemStack.EMPTY);
} else if (slot.isItemValid(player.inventory.getItemStack())) { } else if (slot.isItemValid(player.inventory.getItemStack())) {
@@ -92,7 +92,7 @@ public abstract class ContainerBase extends Container {
return player.inventory.getItemStack(); return player.inventory.getItemStack();
} else if (slot instanceof SlotDisabled) { } else if (slot instanceof SlotDisabled) {
return null; return ItemStack.EMPTY;
} }
return super.slotClick(id, dragType, clickType, player); return super.slotClick(id, dragType, clickType, player);
@@ -117,21 +117,21 @@ public abstract class ContainerBase extends Container {
slot.putStack(ItemHandlerHelper.copyStackWithSize(stack, 1)); slot.putStack(ItemHandlerHelper.copyStackWithSize(stack, 1));
slot.onSlotChanged(); slot.onSlotChanged();
return null; return ItemStack.EMPTY;
} }
} }
return null; return ItemStack.EMPTY;
} }
private ItemStack getStackFromSlot(Slot slot) { private ItemStack getStackFromSlot(Slot slot) {
ItemStack stackInSlot = slot.getStack(); ItemStack stackInSlot = slot.getStack();
if (stackInSlot == null) { if (stackInSlot.isEmpty()) {
if (slot instanceof SlotSpecimenFluid) { if (slot instanceof SlotFilterFluid) {
stackInSlot = ((SlotSpecimenFluid) slot).getRealStack(); stackInSlot = ((SlotFilterFluid) slot).getRealStack();
} else if (slot instanceof SlotSpecimenType) { } else if (slot instanceof SlotFilterType) {
stackInSlot = ((SlotSpecimenType) slot).getRealStack(); stackInSlot = ((SlotFilterType) slot).getRealStack();
} }
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileConstructor; import com.raoulvdberge.refinedstorage.tile.TileConstructor;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -15,30 +15,30 @@ public class ContainerConstructor extends ContainerBase {
addSlotToContainer(new SlotItemHandler(constructor.getUpgrades(), i, 187, 6 + (i * 18))); addSlotToContainer(new SlotItemHandler(constructor.getUpgrades(), i, 187, 6 + (i * 18)));
} }
addSlotToContainer(new SlotSpecimenType(constructor, 0, 80, 20)); addSlotToContainer(new SlotFilterType(constructor, 0, 80, 20));
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
} }
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 4) { if (index < 4) {
if (!mergeItemStack(stack, 4, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 4, false)) { } else if (!mergeItemStack(stack, 0, 4, false)) {
return mergeItemStackToSpecimen(stack, 4, 4 + 1); return mergeItemStackToSpecimen(stack, 4, 4 + 1);
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -23,23 +23,23 @@ public class ContainerCrafter extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 9 + 4) { if (index < 9 + 4) {
if (!mergeItemStack(stack, 9 + 4, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 9 + 4, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 9 + 4, false)) { } else if (!mergeItemStack(stack, 0, 9 + 4, false)) {
return null; return ItemStack.EMPTY;
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileDestructor; import com.raoulvdberge.refinedstorage.tile.TileDestructor;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -16,7 +16,7 @@ public class ContainerDestructor extends ContainerBase {
} }
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenType(destructor, i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilterType(destructor, i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
@@ -24,23 +24,23 @@ public class ContainerDestructor extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 4) { if (index < 4) {
if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 4, false)) { } else if (!mergeItemStack(stack, 0, 4, false)) {
return mergeItemStackToSpecimen(stack, 4, 4 + 9); return mergeItemStackToSpecimen(stack, 4, 4 + 9);
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileDetector; import com.raoulvdberge.refinedstorage.tile.TileDetector;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -10,7 +10,7 @@ public class ContainerDetector extends ContainerBase {
public ContainerDetector(TileDetector detector, EntityPlayer player) { public ContainerDetector(TileDetector detector, EntityPlayer player) {
super(detector, player); super(detector, player);
addSlotToContainer(new SlotSpecimenType(detector, 0, 107, 20)); addSlotToContainer(new SlotFilterType(detector, 0, 107, 20));
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
} }
@@ -19,7 +19,7 @@ public class ContainerDetector extends ContainerBase {
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack() && index > 0) { if (slot.getHasStack() && index > 0) {
return mergeItemStackToSpecimen(slot.getStack(), 0, 1); return mergeItemStackToSpecimen(slot.getStack(), 0, 1);
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileDiskDrive; import com.raoulvdberge.refinedstorage.tile.TileDiskDrive;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -19,7 +19,7 @@ public class ContainerDiskDrive extends ContainerBase {
} }
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenType(drive, i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilterType(drive, i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 141); addPlayerInventory(8, 141);
@@ -27,23 +27,23 @@ public class ContainerDiskDrive extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 8) { if (index < 8) {
if (!mergeItemStack(stack, 8 + 9, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 8 + 9, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 8, false)) { } else if (!mergeItemStack(stack, 0, 8, false)) {
return mergeItemStackToSpecimen(stack, 8, 8 + 9); return mergeItemStackToSpecimen(stack, 8, 8 + 9);
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator; import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -24,7 +24,7 @@ public class ContainerDiskManipulator extends ContainerBase {
} }
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenType(manipulator, i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilterType(manipulator, i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 129); addPlayerInventory(8, 129);
@@ -32,23 +32,23 @@ public class ContainerDiskManipulator extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 4 + 6) { if (index < 4 + 6) {
if (!mergeItemStack(stack, 4 + 6 + 9, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4 + 6 + 9, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 4 + 3, false)) { } else if (!mergeItemStack(stack, 0, 4 + 3, false)) {
return mergeItemStackToSpecimen(stack, 4 + 6, 4 + 6 + 9); return mergeItemStackToSpecimen(stack, 4 + 6, 4 + 6 + 9);
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileExporter; import com.raoulvdberge.refinedstorage.tile.TileExporter;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -16,7 +16,7 @@ public class ContainerExporter extends ContainerBase {
} }
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenType(exporter, i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilterType(exporter, i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
@@ -24,23 +24,23 @@ public class ContainerExporter extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 4) { if (index < 4) {
if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 4, false)) { } else if (!mergeItemStack(stack, 0, 4, false)) {
return mergeItemStackToSpecimen(stack, 4, 4 + 9); return mergeItemStackToSpecimen(stack, 4, 4 + 9);
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.externalstorage.TileExternalStorage; import com.raoulvdberge.refinedstorage.tile.externalstorage.TileExternalStorage;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -11,7 +11,7 @@ public class ContainerExternalStorage extends ContainerBase {
super(tile, player); super(tile, player);
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenType(tile, i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilterType(tile, i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 141); addPlayerInventory(8, 141);
@@ -21,10 +21,10 @@ public class ContainerExternalStorage extends ContainerBase {
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack() && index >= 8) { if (slot.getHasStack() && index >= 8) {
return mergeItemStackToSpecimen(slot.getStack(), 0, 9); return mergeItemStackToSpecimen(slot.getStack(), 0, 9);
} }
return null; return ItemStack.EMPTY;
} }
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenFluid; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface; import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -16,30 +16,30 @@ public class ContainerFluidInterface extends ContainerBase {
} }
addSlotToContainer(new SlotItemHandler(fluidInterface.getIn(), 0, 44, 32)); addSlotToContainer(new SlotItemHandler(fluidInterface.getIn(), 0, 44, 32));
addSlotToContainer(new SlotSpecimenFluid(!fluidInterface.getWorld().isRemote, fluidInterface.getOut(), 0, 116, 32)); addSlotToContainer(new SlotFilterFluid(!fluidInterface.getWorld().isRemote, fluidInterface.getOut(), 0, 116, 32));
addPlayerInventory(8, 122); addPlayerInventory(8, 122);
} }
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 4 + 2) { if (index < 4 + 2) {
if (!mergeItemStack(stack, 4 + 2, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4 + 2, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 4 + 1, false)) { } else if (!mergeItemStack(stack, 0, 4 + 1, false)) {
return mergeItemStackToSpecimen(stack, 5, 6); return mergeItemStackToSpecimen(stack, 5, 6);
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenFluid; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterFluid;
import com.raoulvdberge.refinedstorage.tile.TileFluidStorage; import com.raoulvdberge.refinedstorage.tile.TileFluidStorage;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -11,7 +11,7 @@ public class ContainerFluidStorage extends ContainerBase {
super(tile, player); super(tile, player);
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenFluid(!tile.getWorld().isRemote, tile.getFilters(), i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilterFluid(!tile.getWorld().isRemote, tile.getFilters(), i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 141); addPlayerInventory(8, 141);
@@ -21,10 +21,10 @@ public class ContainerFluidStorage extends ContainerBase {
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack() && index >= 8) { if (slot.getHasStack() && index >= 8) {
return mergeItemStackToSpecimen(slot.getStack(), 0, 9); return mergeItemStackToSpecimen(slot.getStack(), 0, 9);
} }
return null; return ItemStack.EMPTY;
} }
} }

View File

@@ -9,6 +9,7 @@ import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid; import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.inventory.IContainerListener;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.items.SlotItemHandler; import net.minecraftforge.items.SlotItemHandler;
@@ -47,7 +48,7 @@ public class ContainerGrid extends ContainerBase {
int y = 96; int y = 96;
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenLegacy(((TileGrid) grid).getMatrix(), i, x, y)); addSlotToContainer(new SlotFilterLegacy(((TileGrid) grid).getMatrix(), i, x, y));
x += 18; x += 18;
@@ -79,8 +80,8 @@ public class ContainerGrid extends ContainerBase {
Slot slot = inventorySlots.get(i); Slot slot = inventorySlots.get(i);
if (slot instanceof SlotGridCrafting || slot == craftingResultSlot) { if (slot instanceof SlotGridCrafting || slot == craftingResultSlot) {
for (int j = 0; j < listeners.size(); ++j) { for (IContainerListener listener : listeners) {
listeners.get(j).sendSlotContents(this, i, slot.getStack()); listener.sendSlotContents(this, i, slot.getStack());
} }
} }
} }
@@ -108,7 +109,7 @@ public class ContainerGrid extends ContainerBase {
if (slot.getHasStack()) { if (slot.getHasStack()) {
if (slot == craftingResultSlot) { if (slot == craftingResultSlot) {
((TileGrid) grid).onCraftedShift(this, player); ((TileGrid) grid).onCraftedShift(this, player);
} else if (slot != patternResultSlot && !(slot instanceof SlotSpecimenLegacy)) { } else if (slot != patternResultSlot && !(slot instanceof SlotFilterLegacy)) {
if (grid.getType() != EnumGridType.FLUID && grid.getItemHandler() != null) { if (grid.getType() != EnumGridType.FLUID && grid.getItemHandler() != null) {
slot.putStack(RSUtils.getStack(grid.getItemHandler().onInsert((EntityPlayerMP) player, slot.getStack()))); slot.putStack(RSUtils.getStack(grid.getItemHandler().onInsert((EntityPlayerMP) player, slot.getStack())));
} else if (grid.getType() == EnumGridType.FLUID && grid.getFluidHandler() != null) { } else if (grid.getType() == EnumGridType.FLUID && grid.getFluidHandler() != null) {

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimen; import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilter; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilter;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -17,7 +17,7 @@ public class ContainerGridFilter extends ContainerBase {
this.filter = new ItemHandlerGridFilter(stack); this.filter = new ItemHandlerGridFilter(stack);
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimen(filter, i, 8 + (i * 18), 20)); addSlotToContainer(new SlotFilter(filter, i, 8 + (i * 18), 20));
} }
addPlayerInventory(8, 70); addPlayerInventory(8, 70);
@@ -29,18 +29,18 @@ public class ContainerGridFilter extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index > 9 - 1) { if (index > 9 - 1) {
return mergeItemStackToSpecimen(stack, 0, 9); return mergeItemStackToSpecimen(stack, 0, 9);
} }
return null; return ItemStack.EMPTY;
} }
return stack; return stack;

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimenType; import com.raoulvdberge.refinedstorage.container.slot.SlotFilterType;
import com.raoulvdberge.refinedstorage.tile.TileImporter; import com.raoulvdberge.refinedstorage.tile.TileImporter;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -16,7 +16,7 @@ public class ContainerImporter extends ContainerBase {
} }
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimenType(importer, i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilterType(importer, i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 55); addPlayerInventory(8, 55);
@@ -24,23 +24,23 @@ public class ContainerImporter extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 4) { if (index < 4) {
if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4 + 9, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 4, false)) { } else if (!mergeItemStack(stack, 0, 4, false)) {
return mergeItemStackToSpecimen(stack, 4, 4 + 9); return mergeItemStackToSpecimen(stack, 4, 4 + 9);
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,7 +1,7 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.SlotOutput; import com.raoulvdberge.refinedstorage.container.slot.SlotOutput;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimen;
import com.raoulvdberge.refinedstorage.tile.TileInterface; import com.raoulvdberge.refinedstorage.tile.TileInterface;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -17,7 +17,7 @@ public class ContainerInterface extends ContainerBase {
} }
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimen(tile.getExportSpecimenItems(), i, 8 + (18 * i), 54, SlotSpecimen.SPECIMEN_SIZE)); addSlotToContainer(new SlotFilter(tile.getExportSpecimenItems(), i, 8 + (18 * i), 54, SlotFilter.SPECIMEN_SIZE));
} }
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
@@ -33,23 +33,23 @@ public class ContainerInterface extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 9) { if (index < 9) {
if (!mergeItemStack(stack, 9 + 9 + 9 + 4, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 9 + 9 + 9 + 4, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 9, false)) { } else if (!mergeItemStack(stack, 0, 9, false)) {
return null; return ItemStack.EMPTY;
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -19,23 +19,23 @@ public class ContainerNetworkTransmitter extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index <= 1) { if (index <= 1) {
if (!mergeItemStack(stack, 2, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 2, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 2, false)) { } else if (!mergeItemStack(stack, 0, 2, false)) {
return null; return ItemStack.EMPTY;
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,7 +1,7 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.container.slot.SlotOutput; import com.raoulvdberge.refinedstorage.container.slot.SlotOutput;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimen;
import com.raoulvdberge.refinedstorage.tile.TileProcessingPatternEncoder; import com.raoulvdberge.refinedstorage.tile.TileProcessingPatternEncoder;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -22,7 +22,7 @@ public class ContainerProcessingPatternEncoder extends ContainerBase {
int y = 20; int y = 20;
for (int i = 0; i < 9 * 2; ++i) { for (int i = 0; i < 9 * 2; ++i) {
addSlotToContainer(new SlotSpecimen(encoder.getConfiguration(), i, x, y, SlotSpecimen.SPECIMEN_SIZE)); addSlotToContainer(new SlotFilter(encoder.getConfiguration(), i, x, y, SlotFilter.SPECIMEN_SIZE));
x += 18; x += 18;
@@ -43,23 +43,23 @@ public class ContainerProcessingPatternEncoder extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && !(slot instanceof SlotSpecimen) && slot.getHasStack()) { if (!(slot instanceof SlotFilter) && slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 2) { if (index < 2) {
if (!mergeItemStack(stack, 2 + 18, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 2 + 18, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 1, false)) { } else if (!mergeItemStack(stack, 0, 1, false)) {
return null; return ItemStack.EMPTY;
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }
@@ -70,7 +70,7 @@ public class ContainerProcessingPatternEncoder extends ContainerBase {
public void clearInputsAndOutputs() { public void clearInputsAndOutputs() {
for (int i = 2; i < 2 + (9 * 2); ++i) { for (int i = 2; i < 2 + (9 * 2); ++i) {
getSlot(i).putStack(null); getSlot(i).putStack(ItemStack.EMPTY);
getSlot(i).onSlotChanged(); getSlot(i).onSlotChanged();
} }
} }

View File

@@ -32,31 +32,31 @@ public class ContainerSolderer extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack()) { if (slot.getHasStack()) {
stack = slot.getStack(); stack = slot.getStack();
if (index < 4) { if (index < 4) {
if (!mergeItemStack(stack, 4 + 4, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4 + 4, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (index < 4 + 4) { } else if (index < 4 + 4) {
if (!mergeItemStack(stack, 4 + 4, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4 + 4, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else { } else {
if (stack.getItem() != RSItems.UPGRADE || !mergeItemStack(stack, 4, 4 + 4, false)) { if (stack.getItem() != RSItems.UPGRADE || !mergeItemStack(stack, 4, 4 + 4, false)) {
if (!mergeItemStack(stack, 0, 3, false)) { // 0 - 3 because we can't shift click to output slot if (!mergeItemStack(stack, 0, 3, false)) { // 0 - 3 because we can't shift click to output slot
return null; return ItemStack.EMPTY;
} }
} }
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -1,6 +1,6 @@
package com.raoulvdberge.refinedstorage.container; package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimen; import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.tile.TileStorage; import com.raoulvdberge.refinedstorage.tile.TileStorage;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
@@ -11,7 +11,7 @@ public class ContainerStorage extends ContainerBase {
super(tile, player); super(tile, player);
for (int i = 0; i < 9; ++i) { for (int i = 0; i < 9; ++i) {
addSlotToContainer(new SlotSpecimen(tile.getFilters(), i, 8 + (18 * i), 20)); addSlotToContainer(new SlotFilter(tile.getFilters(), i, 8 + (18 * i), 20));
} }
addPlayerInventory(8, 141); addPlayerInventory(8, 141);
@@ -21,10 +21,10 @@ public class ContainerStorage extends ContainerBase {
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
Slot slot = getSlot(index); Slot slot = getSlot(index);
if (slot != null && slot.getHasStack() && index >= 8) { if (slot.getHasStack() && index >= 8) {
return mergeItemStackToSpecimen(slot.getStack(), 0, 9); return mergeItemStackToSpecimen(slot.getStack(), 0, 9);
} }
return null; return ItemStack.EMPTY;
} }
} }

View File

@@ -19,7 +19,7 @@ public class ContainerWirelessTransmitter extends ContainerBase {
@Override @Override
public ItemStack transferStackInSlot(EntityPlayer player, int index) { public ItemStack transferStackInSlot(EntityPlayer player, int index) {
ItemStack stack = null; ItemStack stack = ItemStack.EMPTY;
Slot slot = getSlot(index); Slot slot = getSlot(index);
@@ -28,14 +28,14 @@ public class ContainerWirelessTransmitter extends ContainerBase {
if (index < 4) { if (index < 4) {
if (!mergeItemStack(stack, 4, inventorySlots.size(), false)) { if (!mergeItemStack(stack, 4, inventorySlots.size(), false)) {
return null; return ItemStack.EMPTY;
} }
} else if (!mergeItemStack(stack, 0, 4, false)) { } else if (!mergeItemStack(stack, 0, 4, false)) {
return null; return ItemStack.EMPTY;
} }
if (stack.getCount() == 0) { if (stack.getCount() == 0) {
slot.putStack(null); slot.putStack(ItemStack.EMPTY);
} else { } else {
slot.onSlotChanged(); slot.onSlotChanged();
} }

View File

@@ -4,13 +4,15 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import javax.annotation.Nonnull;
public class SlotDisabled extends Slot { public class SlotDisabled extends Slot {
public SlotDisabled(IInventory inventory, int id, int x, int y) { public SlotDisabled(IInventory inventory, int id, int x, int y) {
super(inventory, id, x, y); super(inventory, id, x, y);
} }
@Override @Override
public boolean isItemValid(ItemStack stack) { public boolean isItemValid(@Nonnull ItemStack stack) {
return false; return false;
} }
} }

View File

@@ -11,21 +11,22 @@ import net.minecraftforge.common.IPlantable;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.SlotItemHandler; import net.minecraftforge.items.SlotItemHandler;
import javax.annotation.Nonnull;
import java.lang.reflect.Field; import java.lang.reflect.Field;
public class SlotSpecimen extends SlotItemHandler { public class SlotFilter extends SlotItemHandler {
public static final int SPECIMEN_SIZE = 1; public static final int SPECIMEN_SIZE = 1;
public static final int SPECIMEN_BLOCK = 2; public static final int SPECIMEN_BLOCK = 2;
private int flags = 0; private int flags = 0;
public SlotSpecimen(IItemHandler handler, int id, int x, int y, int flags) { public SlotFilter(IItemHandler handler, int id, int x, int y, int flags) {
super(handler, id, x, y); super(handler, id, x, y);
this.flags = flags; this.flags = flags;
} }
public SlotSpecimen(IItemHandler handler, int id, int x, int y) { public SlotFilter(IItemHandler handler, int id, int x, int y) {
this(handler, id, x, y, 0); this(handler, id, x, y, 0);
} }
@@ -35,7 +36,7 @@ public class SlotSpecimen extends SlotItemHandler {
} }
@Override @Override
public boolean isItemValid(ItemStack stack) { public boolean isItemValid(@Nonnull ItemStack stack) {
if (super.isItemValid(stack)) { if (super.isItemValid(stack)) {
if (isBlockOnly()) { if (isBlockOnly()) {
return stack.getItem() instanceof ItemBlock || stack.getItem() instanceof ItemBlockSpecial || stack.getItem() instanceof IPlantable || stack.getItem() instanceof ItemSkull; return stack.getItem() instanceof ItemBlock || stack.getItem() instanceof ItemBlockSpecial || stack.getItem() instanceof IPlantable || stack.getItem() instanceof ItemSkull;
@@ -48,8 +49,8 @@ public class SlotSpecimen extends SlotItemHandler {
} }
@Override @Override
public void putStack(ItemStack stack) { public void putStack(@Nonnull ItemStack stack) {
if (stack != null && !isWithSize()) { if (!stack.isEmpty() && !isWithSize()) {
stack.setCount(1); stack.setCount(1);
} }

View File

@@ -3,18 +3,21 @@ package com.raoulvdberge.refinedstorage.container.slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
public class SlotSpecimenFluid extends SlotSpecimen { import javax.annotation.Nonnull;
public class SlotFilterFluid extends SlotFilter {
private boolean server; private boolean server;
public SlotSpecimenFluid(boolean server, IItemHandler handler, int id, int x, int y) { public SlotFilterFluid(boolean server, IItemHandler handler, int id, int x, int y) {
super(handler, id, x, y); super(handler, id, x, y);
this.server = server; this.server = server;
} }
@Override @Override
@Nonnull
public ItemStack getStack() { public ItemStack getStack() {
return server ? super.getStack() : null; return server ? super.getStack() : ItemStack.EMPTY;
} }
public ItemStack getRealStack() { public ItemStack getRealStack() {

View File

@@ -6,8 +6,10 @@ import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot; import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class SlotSpecimenLegacy extends Slot { import javax.annotation.Nonnull;
public SlotSpecimenLegacy(IInventory inventory, int id, int x, int y) {
public class SlotFilterLegacy extends Slot {
public SlotFilterLegacy(IInventory inventory, int id, int x, int y) {
super(inventory, id, x, y); super(inventory, id, x, y);
} }
@@ -22,8 +24,8 @@ public class SlotSpecimenLegacy extends Slot {
} }
@Override @Override
public void putStack(ItemStack stack) { public void putStack(@Nonnull ItemStack stack) {
if (stack != null) { if (!stack.isEmpty()) {
stack.setCount(1); stack.setCount(1);
} }

View File

@@ -5,16 +5,18 @@ import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
public class SlotSpecimenType extends SlotSpecimen { import javax.annotation.Nonnull;
public class SlotFilterType extends SlotFilter {
private IType type; private IType type;
public SlotSpecimenType(IType type, int id, int x, int y, int flags) { public SlotFilterType(IType type, int id, int x, int y, int flags) {
super(null, id, x, y, flags); super(null, id, x, y, flags);
this.type = type; this.type = type;
} }
public SlotSpecimenType(IType type, int id, int x, int y) { public SlotFilterType(IType type, int id, int x, int y) {
this(type, id, x, y, 0); this(type, id, x, y, 0);
} }
@@ -34,8 +36,9 @@ public class SlotSpecimenType extends SlotSpecimen {
} }
@Override @Override
@Nonnull
public ItemStack getStack() { public ItemStack getStack() {
return (type.getType() == IType.ITEMS || !((TileEntity) type).getWorld().isRemote) ? super.getStack() : null; return (type.getType() == IType.ITEMS || !((TileEntity) type).getWorld().isRemote) ? super.getStack() : ItemStack.EMPTY;
} }
public ItemStack getRealStack() { public ItemStack getRealStack() {

View File

@@ -7,6 +7,8 @@ import net.minecraft.inventory.SlotCrafting;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.FMLCommonHandler;
import javax.annotation.Nonnull;
public class SlotGridCraftingResult extends SlotCrafting { public class SlotGridCraftingResult extends SlotCrafting {
private ContainerGrid container; private ContainerGrid container;
private TileGrid grid; private TileGrid grid;
@@ -19,7 +21,8 @@ public class SlotGridCraftingResult extends SlotCrafting {
} }
@Override @Override
public ItemStack onTake(EntityPlayer player, ItemStack stack) { @Nonnull
public ItemStack onTake(EntityPlayer player, @Nonnull ItemStack stack) {
FMLCommonHandler.instance().firePlayerCraftingEvent(player, stack, grid.getMatrix()); FMLCommonHandler.instance().firePlayerCraftingEvent(player, stack, grid.getMatrix());
onCrafting(stack); onCrafting(stack);
@@ -30,6 +33,6 @@ public class SlotGridCraftingResult extends SlotCrafting {
container.sendCraftingSlots(); container.sendCraftingSlots();
} }
return null; return ItemStack.EMPTY;
} }
} }

View File

@@ -4,13 +4,15 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.SlotItemHandler; import net.minecraftforge.items.SlotItemHandler;
import javax.annotation.Nonnull;
public class SlotOutput extends SlotItemHandler { public class SlotOutput extends SlotItemHandler {
public SlotOutput(IItemHandler inventory, int id, int x, int y) { public SlotOutput(IItemHandler inventory, int id, int x, int y) {
super(inventory, id, x, y); super(inventory, id, x, y);
} }
@Override @Override
public boolean isItemValid(ItemStack stack) { public boolean isItemValid(@Nonnull ItemStack stack) {
return false; return false;
} }
} }

View File

@@ -35,7 +35,7 @@ public class GuiNetworkTransmitter extends GuiBase {
String distance; String distance;
if (networkTransmitter.getNetworkCard().getStackInSlot(0) == null) { if (networkTransmitter.getNetworkCard().getStackInSlot(0).isEmpty()) {
distance = t("gui.refinedstorage:network_transmitter.missing_card"); distance = t("gui.refinedstorage:network_transmitter.missing_card");
} else if (!TileNetworkTransmitter.RECEIVER_DIMENSION_SUPPORTED.getValue()) { } else if (!TileNetworkTransmitter.RECEIVER_DIMENSION_SUPPORTED.getValue()) {
distance = t("gui.refinedstorage:network_transmitter.missing_upgrade"); distance = t("gui.refinedstorage:network_transmitter.missing_upgrade");

View File

@@ -14,7 +14,7 @@ public class GuiPriority extends GuiCraftingStart {
public GuiPriority(GuiBase parent, TileDataParameter<Integer> priority) { public GuiPriority(GuiBase parent, TileDataParameter<Integer> priority) {
super(parent, null, new Container() { super(parent, null, new Container() {
@Override @Override
public boolean canInteractWith(EntityPlayer playerIn) { public boolean canInteractWith(EntityPlayer player) {
return false; return false;
} }
}, 164, 92); }, 164, 92);

View File

@@ -28,13 +28,13 @@ public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic {
for (int i = 0; i < getSlots(); ++i) { for (int i = 0; i < getSlots(); ++i) {
ItemStack filter = getStackInSlot(i); ItemStack filter = getStackInSlot(i);
if (filter != null) { if (!filter.isEmpty()) {
int compare = ItemGridFilter.getCompare(filter); int compare = ItemGridFilter.getCompare(filter);
ItemHandlerGridFilter items = new ItemHandlerGridFilter(filter); ItemHandlerGridFilter items = new ItemHandlerGridFilter(filter);
for (ItemStack item : items.getFilteredItems()) { for (ItemStack item : items.getFilteredItems()) {
if (item != null) { if (!item.isEmpty()) {
filteredItems.add(new GridFilteredItem(item, compare)); filteredItems.add(new GridFilteredItem(item, compare));
} }
} }

View File

@@ -19,7 +19,7 @@ public class ItemHandlerUpgrade extends ItemHandlerBasic {
public int getSpeed(int speed, int speedIncrease) { public int getSpeed(int speed, int speedIncrease) {
for (int i = 0; i < getSlots(); ++i) { for (int i = 0; i < getSlots(); ++i) {
if (getStackInSlot(i) != null && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_SPEED) { if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_SPEED) {
speed -= speedIncrease; speed -= speedIncrease;
} }
} }
@@ -35,7 +35,7 @@ public class ItemHandlerUpgrade extends ItemHandlerBasic {
int upgrades = 0; int upgrades = 0;
for (int i = 0; i < getSlots(); ++i) { for (int i = 0; i < getSlots(); ++i) {
if (getStackInSlot(i) != null && getStackInSlot(i).getItemDamage() == type) { if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == type) {
upgrades++; upgrades++;
} }
} }
@@ -47,7 +47,7 @@ public class ItemHandlerUpgrade extends ItemHandlerBasic {
int usage = 0; int usage = 0;
for (int i = 0; i < getSlots(); ++i) { for (int i = 0; i < getSlots(); ++i) {
if (getStackInSlot(i) != null) { if (!getStackInSlot(i).isEmpty()) {
usage += ItemUpgrade.getEnergyUsage(getStackInSlot(i)); usage += ItemUpgrade.getEnergyUsage(getStackInSlot(i));
} }
} }
@@ -57,7 +57,7 @@ public class ItemHandlerUpgrade extends ItemHandlerBasic {
public int getFortuneLevel() { public int getFortuneLevel() {
for (int i = 0; i < getSlots(); ++i) { for (int i = 0; i < getSlots(); ++i) {
if (getStackInSlot(i) != null && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_FORTUNE) { if (!getStackInSlot(i).isEmpty() && getStackInSlot(i).getItemDamage() == ItemUpgrade.TYPE_FORTUNE) {
return ItemUpgrade.getFortuneLevel(getStackInSlot(i)); return ItemUpgrade.getFortuneLevel(getStackInSlot(i));
} }
} }

View File

@@ -4,7 +4,7 @@ import com.mojang.authlib.GameProfile;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.slot.SlotSpecimen; import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
@@ -72,7 +72,7 @@ public class TileConstructor extends TileNode implements IComparable, IType {
super.onContentsChanged(slot); super.onContentsChanged(slot);
item = getStackInSlot(slot) == null ? null : getStackInSlot(slot).copy(); item = getStackInSlot(slot) == null ? null : getStackInSlot(slot).copy();
block = SlotSpecimen.getBlockState(getWorld(), pos.offset(getDirection()), getStackInSlot(slot)); block = SlotFilter.getBlockState(getWorld(), pos.offset(getDirection()), getStackInSlot(slot));
} }
}; };