Bugfixes
This commit is contained in:
@@ -10,12 +10,12 @@ public class ContainerCrafter extends ContainerStorage {
|
||||
public ContainerCrafter(EntityPlayer player, TileCrafter crafter) {
|
||||
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)));
|
||||
}
|
||||
|
||||
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);
|
||||
|
@@ -23,7 +23,7 @@ public class ContainerSolderer extends ContainerBase {
|
||||
addSlotToContainer(new SlotOutput(solderer.getItems(), 3, 134, 38));
|
||||
|
||||
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);
|
||||
|
@@ -59,7 +59,7 @@ public class TileDestructor extends TileMachine implements ICompareConfig, IMode
|
||||
// We check if the controller isn't null here because
|
||||
// when a destructor faces a storage network block and removes it
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
|
@@ -140,9 +140,7 @@ public class TileExternalStorage extends TileMachine implements IStorageProvider
|
||||
IItemHandler handler = getItemHandler();
|
||||
|
||||
if (handler != null) {
|
||||
if (ItemHandlerHelper.insertItem(handler, stack, false) == null) {
|
||||
return true;
|
||||
}
|
||||
return ItemHandlerHelper.insertItem(handler, stack, true) == null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -53,6 +53,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
} else if (ticks % RefinedStorageUtils.getSpeed(upgrades) == 0) {
|
||||
ItemStack result = handler.extractItem(currentSlot, 1, true);
|
||||
|
||||
// @TODO: Sometimes this pushes twice
|
||||
if (result != null && controller.push(result)) {
|
||||
handler.extractItem(currentSlot, 1, false);
|
||||
}
|
||||
|
@@ -3,15 +3,17 @@ package refinedstorage.tile;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import refinedstorage.RefinedStorageItems;
|
||||
import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.ContainerWirelessTransmitter;
|
||||
import refinedstorage.inventory.SimpleItemHandler;
|
||||
import refinedstorage.inventory.SimpleItemValidator;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
|
||||
public class TileWirelessTransmitter extends TileMachine {
|
||||
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
|
||||
public int getEnergyUsage() {
|
||||
|
@@ -10,6 +10,7 @@ import refinedstorage.RefinedStorageUtils;
|
||||
import refinedstorage.container.ContainerCrafter;
|
||||
import refinedstorage.inventory.IItemValidator;
|
||||
import refinedstorage.inventory.SimpleItemHandler;
|
||||
import refinedstorage.inventory.SimpleItemValidator;
|
||||
import refinedstorage.item.ItemPattern;
|
||||
import refinedstorage.item.ItemUpgrade;
|
||||
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;
|
||||
|
||||
|
@@ -175,6 +175,16 @@ public class TileSolderer extends TileMachine {
|
||||
|
||||
@Override
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user