This commit is contained in:
Raoul Van den Berge
2016-05-22 15:26:05 +02:00
parent dcee2c8279
commit 6ee1f7dba0
8 changed files with 22 additions and 10 deletions

View File

@@ -10,12 +10,12 @@ public class ContainerCrafter extends ContainerStorage {
public ContainerCrafter(EntityPlayer player, TileCrafter crafter) { public ContainerCrafter(EntityPlayer player, TileCrafter crafter) {
super(player); super(player);
for (int i = 0; i < 6; ++i) { for (int i = 0; i < TileCrafter.PATTERN_SLOTS; ++i) {
addSlotToContainer(new SlotItemHandler(crafter.getPatterns(), i, 8, 19 + (i * 18))); addSlotToContainer(new SlotItemHandler(crafter.getPatterns(), i, 8, 19 + (i * 18)));
} }
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(crafter.getUpgrades(), 6 + i, 187, 6 + (i * 18))); addSlotToContainer(new SlotItemHandler(crafter.getUpgrades(), i, 187, 6 + (i * 18)));
} }
addPlayerInventory(8, 144); addPlayerInventory(8, 144);

View File

@@ -23,7 +23,7 @@ public class ContainerSolderer extends ContainerBase {
addSlotToContainer(new SlotOutput(solderer.getItems(), 3, 134, 38)); addSlotToContainer(new SlotOutput(solderer.getItems(), 3, 134, 38));
for (int i = 0; i < 4; ++i) { for (int i = 0; i < 4; ++i) {
addSlotToContainer(new SlotItemHandler(solderer.getUpgrades(), 4 + i, 187, 6 + (i * 18))); addSlotToContainer(new SlotItemHandler(solderer.getUpgrades(), i, 187, 6 + (i * 18)));
} }
addPlayerInventory(8, 95); addPlayerInventory(8, 95);

View File

@@ -59,7 +59,7 @@ public class TileDestructor extends TileMachine implements ICompareConfig, IMode
// We check if the controller isn't null here because // We check if the controller isn't null here because
// when a destructor faces a storage network block and removes it // when a destructor faces a storage network block and removes it
// it will essentially remove this block from the network without knowing. // it will essentially remove this block from the network without knowing.
if (controller != null && !controller.push(drop)) { if (controller == null || !controller.push(drop)) {
InventoryHelper.spawnItemStack(worldObj, front.getX(), front.getY(), front.getZ(), drop); InventoryHelper.spawnItemStack(worldObj, front.getX(), front.getY(), front.getZ(), drop);
} }
} }

View File

@@ -140,9 +140,7 @@ public class TileExternalStorage extends TileMachine implements IStorageProvider
IItemHandler handler = getItemHandler(); IItemHandler handler = getItemHandler();
if (handler != null) { if (handler != null) {
if (ItemHandlerHelper.insertItem(handler, stack, false) == null) { return ItemHandlerHelper.insertItem(handler, stack, true) == null;
return true;
}
} }
} }
} }

View File

@@ -53,6 +53,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
} else if (ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) { } else if (ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
ItemStack result = handler.extractItem(currentSlot, 1, true); ItemStack result = handler.extractItem(currentSlot, 1, true);
// @TODO: Sometimes this pushes twice
if (result != null && controller.push(result)) { if (result != null && controller.push(result)) {
handler.extractItem(currentSlot, 1, false); handler.extractItem(currentSlot, 1, false);
} }

View File

@@ -3,15 +3,17 @@ package refinedstorage.tile;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
import refinedstorage.RefinedStorageItems;
import refinedstorage.RefinedStorageUtils; import refinedstorage.RefinedStorageUtils;
import refinedstorage.container.ContainerWirelessTransmitter; import refinedstorage.container.ContainerWirelessTransmitter;
import refinedstorage.inventory.SimpleItemHandler; import refinedstorage.inventory.SimpleItemHandler;
import refinedstorage.inventory.SimpleItemValidator;
import refinedstorage.item.ItemUpgrade; import refinedstorage.item.ItemUpgrade;
public class TileWirelessTransmitter extends TileMachine { public class TileWirelessTransmitter extends TileMachine {
public static final int RANGE_PER_UPGRADE = 8; public static final int RANGE_PER_UPGRADE = 8;
private SimpleItemHandler upgrades = new SimpleItemHandler(4, this); private SimpleItemHandler upgrades = new SimpleItemHandler(4, this, new SimpleItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_RANGE));
@Override @Override
public int getEnergyUsage() { public int getEnergyUsage() {

View File

@@ -10,6 +10,7 @@ import refinedstorage.RefinedStorageUtils;
import refinedstorage.container.ContainerCrafter; import refinedstorage.container.ContainerCrafter;
import refinedstorage.inventory.IItemValidator; import refinedstorage.inventory.IItemValidator;
import refinedstorage.inventory.SimpleItemHandler; import refinedstorage.inventory.SimpleItemHandler;
import refinedstorage.inventory.SimpleItemValidator;
import refinedstorage.item.ItemPattern; import refinedstorage.item.ItemPattern;
import refinedstorage.item.ItemUpgrade; import refinedstorage.item.ItemUpgrade;
import refinedstorage.tile.TileMachine; import refinedstorage.tile.TileMachine;
@@ -23,7 +24,7 @@ public class TileCrafter extends TileMachine {
} }
}); });
private SimpleItemHandler upgrades = new SimpleItemHandler(4, this); private SimpleItemHandler upgrades = new SimpleItemHandler(4, this, new SimpleItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED));
public static final int PATTERN_SLOTS = 6; public static final int PATTERN_SLOTS = 6;

View File

@@ -175,6 +175,16 @@ public class TileSolderer extends TileMachine {
@Override @Override
public IItemHandler getDroppedItems() { public IItemHandler getDroppedItems() {
return items; SimpleItemHandler dummy = new SimpleItemHandler(4 + 4);
for (int i = 0; i < 4; ++i) {
dummy.setStackInSlot(i, items.getStackInSlot(i));
}
for (int i = 0; i < 4; ++i) {
dummy.setStackInSlot(4 + i, upgrades.getStackInSlot(i));
}
return dummy;
} }
} }