Removed "emit signal when item is being autocrafted" option in the Detector. Fixes #1910
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user