Add controller#getItem

This commit is contained in:
Raoul Van den Berge
2016-06-09 17:12:22 +02:00
parent 6a9a319580
commit eae8cd442c
2 changed files with 23 additions and 21 deletions

View File

@@ -51,12 +51,9 @@ public class TileDetector extends TileMachine implements ICompareConfig {
boolean wasPowered = powered; boolean wasPowered = powered;
if (slot != null) { if (slot != null) {
boolean foundAny = false; ItemStack stack = controller.getItem(slot, compare);
for (ItemStack stack : controller.getItems()) {
if (RefinedStorageUtils.compareStack(slot, stack, compare)) {
foundAny = true;
if (stack != null) {
switch (mode) { switch (mode) {
case MODE_UNDER: case MODE_UNDER:
powered = stack.stackSize < amount; powered = stack.stackSize < amount;
@@ -68,12 +65,7 @@ public class TileDetector extends TileMachine implements ICompareConfig {
powered = stack.stackSize > amount; powered = stack.stackSize > amount;
break; break;
} }
} else {
break;
}
}
if (!foundAny) {
if (mode == MODE_UNDER && amount != 0) { if (mode == MODE_UNDER && amount != 0) {
powered = true; powered = true;
} else if (mode == MODE_EQUAL && amount == 0) { } else if (mode == MODE_EQUAL && amount == 0) {

View File

@@ -441,6 +441,16 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
return newStack; return newStack;
} }
public ItemStack getItem(ItemStack stack, int flags) {
for (ItemStack otherStack : items) {
if (RefinedStorageUtils.compareStack(otherStack, stack, flags)) {
return otherStack;
}
}
return null;
}
public void setEnergyStored(int amount) { public void setEnergyStored(int amount) {
energy.setEnergyStored(amount); energy.setEnergyStored(amount);
} }