Cleanup integration package

This commit is contained in:
raoulvdberge
2017-03-12 15:15:06 +01:00
parent 59df35f43d
commit a450fc22e3
10 changed files with 57 additions and 70 deletions

View File

@@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
import com.raoulvdberge.refinedstorage.inventory.IItemHandlerListener;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilter;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
import com.raoulvdberge.refinedstorage.item.filter.Filter;
@@ -29,16 +28,12 @@ public class NetworkNodeCraftingMonitor extends NetworkNode implements ICrafting
private boolean viewAutomated = true;
private List<Filter> filters = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, new ArrayList<>(), new IItemHandlerListener() {
private ItemHandlerListenerNetworkNode base = new ItemHandlerListenerNetworkNode(NetworkNodeCraftingMonitor.this);
private ItemHandlerListenerNetworkNode filterListener = new ItemHandlerListenerNetworkNode(this);
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, new ArrayList<>(), slot -> {
filterListener.accept(slot);
@Override
public void onChanged(int slot) {
base.onChanged(slot);
if (network != null) {
network.sendCraftingMonitorUpdate();
}
if (network != null) {
network.sendCraftingMonitorUpdate();
}
});

View File

@@ -1,40 +0,0 @@
package com.raoulvdberge.refinedstorage.integration.cyclopscore;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import org.cyclops.commoncapabilities.api.capability.itemhandler.ItemMatch;
public class CyclopsComparer {
public static int comparerFlagsToItemMatch(int flags) {
return comparerFlagsToItemMatch(flags, false);
}
public static int comparerFlagsToItemMatch(int flags, boolean oredictWildcard) {
int itemMatch = 0;
if (!oredictWildcard) {
if ((flags & IComparer.COMPARE_DAMAGE) == IComparer.COMPARE_DAMAGE) {
itemMatch |= ItemMatch.DAMAGE;
}
if ((flags & IComparer.COMPARE_NBT) == IComparer.COMPARE_NBT) {
itemMatch |= ItemMatch.NBT;
}
}
if ((flags & IComparer.COMPARE_QUANTITY) == IComparer.COMPARE_QUANTITY) {
itemMatch |= ItemMatch.STACKSIZE;
}
return itemMatch;
}
public static int itemMatchToComparerFlags(int itemMatch) {
int flags = 0;
if ((itemMatch & ItemMatch.DAMAGE) == ItemMatch.DAMAGE) {
flags |= IComparer.COMPARE_DAMAGE;
}
if ((itemMatch & ItemMatch.NBT) == ItemMatch.NBT) {
flags |= IComparer.COMPARE_NBT;
}
if ((itemMatch & ItemMatch.STACKSIZE) == ItemMatch.STACKSIZE) {
flags |= IComparer.COMPARE_QUANTITY;
}
return flags;
}
}

View File

@@ -57,7 +57,7 @@ public class SlotlessItemHandlerHelper {
}
public static ItemStack extractItem(ISlotlessItemHandler handler, @Nonnull ItemStack stack, int size, int flags, boolean simulate) {
int compare = CyclopsComparer.comparerFlagsToItemMatch(flags, stack.getMetadata() == OreDictionary.WILDCARD_VALUE);
int compare = comparerFlagsToItemMatch(flags, stack.getMetadata() == OreDictionary.WILDCARD_VALUE);
stack = ItemHandlerHelper.copyStackWithSize(stack, size);
if ((flags & IComparer.COMPARE_STRIP_NBT) == IComparer.COMPARE_STRIP_NBT) {
stack = Comparer.stripTags(stack);
@@ -102,4 +102,38 @@ public class SlotlessItemHandlerHelper {
public static ItemStack extractItem(ISlotlessItemHandler slotlessItemHandler, int size, boolean simulate) {
return slotlessItemHandler.extractItem(size, simulate);
}
public static int comparerFlagsToItemMatch(int flags) {
return comparerFlagsToItemMatch(flags, false);
}
public static int comparerFlagsToItemMatch(int flags, boolean oredictWildcard) {
int itemMatch = 0;
if (!oredictWildcard) {
if ((flags & IComparer.COMPARE_DAMAGE) == IComparer.COMPARE_DAMAGE) {
itemMatch |= ItemMatch.DAMAGE;
}
if ((flags & IComparer.COMPARE_NBT) == IComparer.COMPARE_NBT) {
itemMatch |= ItemMatch.NBT;
}
}
if ((flags & IComparer.COMPARE_QUANTITY) == IComparer.COMPARE_QUANTITY) {
itemMatch |= ItemMatch.STACKSIZE;
}
return itemMatch;
}
public static int itemMatchToComparerFlags(int itemMatch) {
int flags = 0;
if ((itemMatch & ItemMatch.DAMAGE) == ItemMatch.DAMAGE) {
flags |= IComparer.COMPARE_DAMAGE;
}
if ((itemMatch & ItemMatch.NBT) == ItemMatch.NBT) {
flags |= IComparer.COMPARE_NBT;
}
if ((itemMatch & ItemMatch.STACKSIZE) == ItemMatch.STACKSIZE) {
flags |= IComparer.COMPARE_QUANTITY;
}
return flags;
}
}

View File

@@ -8,12 +8,10 @@ public class ControllerEnergyForge extends EnergyStorage {
super(RS.INSTANCE.config.controllerCapacity, Integer.MAX_VALUE, 0);
}
public int extractEnergyInternal(int maxExtract, boolean simulate) {
public int extractEnergyInternal(int maxExtract) {
int energyExtracted = Math.min(energy, maxExtract);
if (!simulate) {
energy -= energyExtracted;
}
energy -= energyExtracted;
return energyExtracted;
}

View File

@@ -36,12 +36,10 @@ public class ReaderWriterHandlerForgeEnergy implements IReaderWriterHandler {
@Override
public void update(IReaderWriterChannel channel) {
// NO OP
}
@Override
public void onWriterDisabled(IWriter writer) {
// NO OP
}
@Override
@@ -106,7 +104,7 @@ public class ReaderWriterHandlerForgeEnergy implements IReaderWriterHandler {
private IEnergyStorage parent;
private boolean canExtract, canReceive;
public EnergyStorageReaderWriter(IEnergyStorage parent, boolean canExtract, boolean canReceive) {
EnergyStorageReaderWriter(IEnergyStorage parent, boolean canExtract, boolean canReceive) {
this.canExtract = canExtract;
this.canReceive = canReceive;
this.parent = parent;

View File

@@ -1,13 +1,13 @@
package com.raoulvdberge.refinedstorage.integration.tesla;
import com.raoulvdberge.refinedstorage.integration.forgeenergy.ControllerEnergyForge;
import net.darkhax.tesla.api.ITeslaConsumer;
import net.darkhax.tesla.api.ITeslaHolder;
import net.minecraftforge.energy.IEnergyStorage;
public class ControllerEnergyTesla implements ITeslaHolder, ITeslaConsumer {
private ControllerEnergyForge energy;
private IEnergyStorage energy;
public ControllerEnergyTesla(ControllerEnergyForge energy) {
public ControllerEnergyTesla(IEnergyStorage energy) {
this.energy = energy;
}

View File

@@ -1,9 +1,14 @@
package com.raoulvdberge.refinedstorage.integration.tesla;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import net.minecraftforge.fml.common.Loader;
public final class IntegrationTesla {
public static boolean isLoaded() {
return Loader.isModLoaded("tesla");
}
public static void register() {
API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerTesla.ID, ReaderWriterHandlerTesla::new);
}
}

View File

@@ -40,12 +40,10 @@ public class ReaderWriterHandlerTesla implements IReaderWriterHandler {
@Override
public void update(IReaderWriterChannel channel) {
// NO OP
}
@Override
public void onWriterDisabled(IWriter writer) {
// NO OP
}
@Override

View File

@@ -22,7 +22,6 @@ import com.raoulvdberge.refinedstorage.gui.GuiHandler;
import com.raoulvdberge.refinedstorage.integration.craftingtweaks.IntegrationCraftingTweaks;
import com.raoulvdberge.refinedstorage.integration.forgeenergy.ReaderWriterHandlerForgeEnergy;
import com.raoulvdberge.refinedstorage.integration.tesla.IntegrationTesla;
import com.raoulvdberge.refinedstorage.integration.tesla.ReaderWriterHandlerTesla;
import com.raoulvdberge.refinedstorage.item.*;
import com.raoulvdberge.refinedstorage.network.*;
import com.raoulvdberge.refinedstorage.tile.*;
@@ -54,10 +53,6 @@ public class ProxyCommon {
protected List<BlockCable> cableTypes = new ArrayList<>();
public void preInit(FMLPreInitializationEvent e) {
if (IntegrationCraftingTweaks.isLoaded()) {
IntegrationCraftingTweaks.register();
}
CapabilityNetworkNodeProxy.register();
API.deliver(e.getAsmData());
@@ -88,8 +83,12 @@ public class ProxyCommon {
API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerRedstone.ID, tag -> new ReaderWriterHandlerRedstone());
API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerForgeEnergy.ID, ReaderWriterHandlerForgeEnergy::new);
if (IntegrationCraftingTweaks.isLoaded()) {
IntegrationCraftingTweaks.register();
}
if (IntegrationTesla.isLoaded()) {
API.instance().getReaderWriterHandlerRegistry().add(ReaderWriterHandlerTesla.ID, ReaderWriterHandlerTesla::new);
IntegrationTesla.register();
}
int id = 0;

View File

@@ -250,7 +250,7 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
if (!RS.INSTANCE.config.controllerUsesEnergy) {
energy.setEnergyStored(energy.getMaxEnergyStored());
} else if (energy.getEnergyStored() - getEnergyUsage() >= 0) {
energy.extractEnergyInternal(getEnergyUsage(), false);
energy.extractEnergyInternal(getEnergyUsage());
} else {
energy.setEnergyStored(0);
}