Removed "emit signal when item is being autocrafted" option in the Detector. Fixes #1910

This commit is contained in:
raoulvdberge
2018-07-25 11:44:14 +02:00
parent a7c9e93df0
commit fefb1f294a
13 changed files with 6 additions and 39 deletions

View File

@@ -2,10 +2,8 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
import com.raoulvdberge.refinedstorage.api.network.INetwork;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory;
import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase;
import com.raoulvdberge.refinedstorage.inventory.listener.ListenerNetworkNode;
@@ -30,7 +28,6 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy
public static final int MODE_UNDER = 0;
public static final int MODE_EQUAL = 1;
public static final int MODE_ABOVE = 2;
public static final int MODE_AUTOCRAFTING = 3;
private static final String NBT_COMPARE = "Compare";
private static final String NBT_MODE = "Mode";
@@ -75,31 +72,11 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy
ItemStack slot = itemFilters.getStackInSlot(0);
if (!slot.isEmpty()) {
if (mode == MODE_AUTOCRAFTING) {
boolean found = false;
ItemStack stack = network.getItemStorageCache().getList().get(slot, compare);
for (ICraftingTask task : network.getCraftingManager().getTasks()) {
for (ItemStack output : task.getPattern().getOutputs()) {
if (API.instance().getComparer().isEqualNoQuantity(slot, output)) {
found = true;
break;
}
}
if (found) {
break;
}
}
powered = found;
} else {
ItemStack stack = network.getItemStorageCache().getList().get(slot, compare);
powered = isPowered(stack == null ? null : stack.getCount());
}
powered = isPowered(stack == null ? null : stack.getCount());
} else {
powered = mode == MODE_AUTOCRAFTING ? !network.getCraftingManager().getTasks().isEmpty() : isPowered(network.getItemStorageCache().getList().getStacks().stream().map(ItemStack::getCount).mapToInt(Number::intValue).sum());
powered = isPowered(network.getItemStorageCache().getList().getStacks().stream().map(ItemStack::getCount).mapToInt(Number::intValue).sum());
}
} else if (type == IType.FLUIDS) {
FluidStack slot = fluidFilters.getFluid(0);

View File

@@ -30,8 +30,6 @@ public class SideButtonDetectorMode extends SideButton {
} else if (mode == NetworkNodeDetector.MODE_ABOVE) {
mode = NetworkNodeDetector.MODE_UNDER;
} else if (mode == NetworkNodeDetector.MODE_UNDER) {
mode = NetworkNodeDetector.MODE_AUTOCRAFTING;
} else if (mode == NetworkNodeDetector.MODE_AUTOCRAFTING) {
mode = NetworkNodeDetector.MODE_EQUAL;
}

View File

@@ -19,7 +19,7 @@ public class TileDetector extends TileNode<NetworkNodeDetector> {
public static final TileDataParameter<Integer, TileDetector> COMPARE = IComparable.createParameter();
public static final TileDataParameter<Integer, TileDetector> TYPE = IType.createParameter();
public static final TileDataParameter<Integer, TileDetector> MODE = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getMode(), (t, v) -> {
if (v == NetworkNodeDetector.MODE_UNDER || v == NetworkNodeDetector.MODE_EQUAL || v == NetworkNodeDetector.MODE_ABOVE || v == NetworkNodeDetector.MODE_AUTOCRAFTING) {
if (v == NetworkNodeDetector.MODE_UNDER || v == NetworkNodeDetector.MODE_EQUAL || v == NetworkNodeDetector.MODE_ABOVE) {
t.getNode().setMode(v);
t.getNode().markDirty();
}