Fix bugs
This commit is contained in:
@@ -5,6 +5,7 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftin
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.preview.ICraftingPreviewElementRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel;
|
||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandlerRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRegistry;
|
||||
@@ -28,6 +29,12 @@ public interface IRSAPI {
|
||||
@Nonnull
|
||||
IComparer getComparer();
|
||||
|
||||
/**
|
||||
* @param dimension the dimension
|
||||
* @return the network node registry for the given dimension
|
||||
*/
|
||||
INetworkNodeRegistry getNetworkNodeRegistry(int dimension);
|
||||
|
||||
/**
|
||||
* @return the solderer registry
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network;
|
||||
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public interface INetworkNodeRegistry {
|
||||
@Nullable
|
||||
INetworkNode getNode(BlockPos pos);
|
||||
|
||||
void removeNode(BlockPos pos);
|
||||
|
||||
void setNode(BlockPos pos, INetworkNode node);
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.registry.ICraftingTaskRe
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel;
|
||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandlerRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRegistry;
|
||||
@@ -18,6 +19,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.Craf
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.registry.CraftingTaskRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterChannel;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.solderer.SoldererRegistry;
|
||||
@@ -31,11 +33,15 @@ import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.common.discovery.ASMDataTable;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiPredicate;
|
||||
|
||||
@@ -43,6 +49,8 @@ public class API implements IRSAPI {
|
||||
private static final IRSAPI INSTANCE = new API();
|
||||
|
||||
private IComparer comparer = new Comparer();
|
||||
private Map<Integer, INetworkNodeRegistry> networkNodeRegistryServer = new HashMap<>();
|
||||
private Map<Integer, INetworkNodeRegistry> networkNodeRegistryClient = new HashMap<>();
|
||||
private ISoldererRegistry soldererRegistry = new SoldererRegistry();
|
||||
private ICraftingTaskRegistry craftingTaskRegistry = new CraftingTaskRegistry();
|
||||
private ICraftingMonitorElementRegistry craftingMonitorElementRegistry = new CraftingMonitorElementRegistry();
|
||||
@@ -79,6 +87,13 @@ public class API implements IRSAPI {
|
||||
return comparer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public INetworkNodeRegistry getNetworkNodeRegistry(int dimension) {
|
||||
Map<Integer, INetworkNodeRegistry> registry = FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT ? networkNodeRegistryClient : networkNodeRegistryServer;
|
||||
|
||||
return registry.computeIfAbsent(dimension, r -> new NetworkNodeRegistry());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nonnull
|
||||
public ISoldererRegistry getSoldererRegistry() {
|
||||
|
||||
@@ -161,7 +161,8 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
|
||||
} else {
|
||||
for (EnumFacing checkSide : EnumFacing.VALUES) {
|
||||
if (checkSide != side) { // Avoid going backward
|
||||
INetworkNode nodeOnSide = NETWORK_NODE_PROXY_CAPABILITY.cast(tile.getCapability(NETWORK_NODE_PROXY_CAPABILITY, checkSide));
|
||||
INetworkNodeProxy nodeOnSideProxy = NETWORK_NODE_PROXY_CAPABILITY.cast(tile.getCapability(NETWORK_NODE_PROXY_CAPABILITY, checkSide));
|
||||
INetworkNode nodeOnSide = nodeOnSideProxy.getNode();
|
||||
if (nodeOnSide == node) {
|
||||
operator.apply(world, pos.offset(checkSide), checkSide.getOpposite());
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeRegistry;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class NetworkNodeRegistry implements INetworkNodeRegistry {
|
||||
private Map<BlockPos, INetworkNode> nodes = new HashMap<>();
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public INetworkNode getNode(BlockPos pos) {
|
||||
return nodes.get(pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeNode(BlockPos pos) {
|
||||
nodes.remove(pos);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNode(BlockPos pos, INetworkNode node) {
|
||||
nodes.put(pos, node);
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
@@ -27,6 +28,8 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA
|
||||
protected int ticks;
|
||||
protected INetworkNodeHolder holder;
|
||||
|
||||
private boolean active;
|
||||
|
||||
public NetworkNode(INetworkNodeHolder holder) {
|
||||
this.holder = holder;
|
||||
}
|
||||
@@ -64,9 +67,6 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA
|
||||
}
|
||||
|
||||
protected void onConnectedStateChange(INetworkMaster network, boolean state) {
|
||||
if (hasConnectivityState()) {
|
||||
RSUtils.updateBlock(holder.world(), holder.pos());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -83,8 +83,14 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA
|
||||
public void update() {
|
||||
++ticks;
|
||||
|
||||
if (couldUpdate != canUpdate()) {
|
||||
couldUpdate = canUpdate();
|
||||
boolean canUpdate = getNetwork() != null && canUpdate();
|
||||
|
||||
if (couldUpdate != canUpdate) {
|
||||
couldUpdate = canUpdate;
|
||||
|
||||
if (hasConnectivityState()) {
|
||||
RSUtils.updateBlock(holder.world(), holder.pos());
|
||||
}
|
||||
|
||||
if (network != null) {
|
||||
onConnectedStateChange(network, couldUpdate);
|
||||
@@ -141,6 +147,10 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA
|
||||
}
|
||||
}
|
||||
|
||||
public TileEntity getFacingTile() {
|
||||
return holder.world().getTileEntity(holder.pos().offset(holder.getDirection()));
|
||||
}
|
||||
|
||||
public IItemHandler getDrops() {
|
||||
return null;
|
||||
}
|
||||
@@ -148,4 +158,26 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA
|
||||
public boolean hasConnectivityState() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public boolean isActive() {
|
||||
return active;
|
||||
}
|
||||
|
||||
public void setActive(boolean active) {
|
||||
this.active = active;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
return o instanceof NetworkNode
|
||||
&& holder.pos().equals(((NetworkNode) o).holder.pos())
|
||||
&& holder.world().provider.getDimension() == ((NetworkNode) o).holder.world().provider.getDimension();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = holder.pos().hashCode();
|
||||
result = 31 * result + holder.world().provider.getDimension();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,8 +6,8 @@ import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -47,7 +47,7 @@ public class NetworkNodeConstructor extends NetworkNode implements IComparable,
|
||||
|
||||
private static final int BASE_SPEED = 20;
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(1, new ItemHandlerChangeListenerNode(this)) {
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this)) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
super.onContentsChanged(slot);
|
||||
@@ -57,9 +57,9 @@ public class NetworkNodeConstructor extends NetworkNode implements IComparable,
|
||||
}
|
||||
};
|
||||
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(1, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(1, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING);
|
||||
|
||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||
private int type = IType.ITEMS;
|
||||
|
||||
@@ -8,13 +8,12 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternProvider
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
@@ -25,7 +24,7 @@ import java.util.List;
|
||||
public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternContainer {
|
||||
private static final String NBT_TRIGGERED_AUTOCRAFTING = "TriggeredAutocrafting";
|
||||
|
||||
private ItemHandlerBasic patterns = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this), s -> {
|
||||
private ItemHandlerBasic patterns = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this), s -> {
|
||||
// We can only validate the crafting pattern if the world exists.
|
||||
// If the world doesn't exist, this is probably called while reading and in that case it doesn't matter.
|
||||
if (holder.world() != null) {
|
||||
@@ -50,7 +49,7 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC
|
||||
|
||||
private List<ICraftingPattern> actualPatterns = new ArrayList<>();
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED);
|
||||
|
||||
private boolean triggeredAutocrafting = false;
|
||||
|
||||
@@ -163,11 +162,6 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC
|
||||
return RSUtils.getItemHandler(getFacingTile(), holder.getDirection().getOpposite());
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileEntity getFacingTile() {
|
||||
return holder.world().getTileEntity(holder.pos().offset(holder.getDirection()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ICraftingPattern> getPatterns() {
|
||||
return actualPatterns;
|
||||
|
||||
@@ -49,11 +49,6 @@ public class NetworkNodeCraftingMonitor extends NetworkNode implements ICrafting
|
||||
return network != null ? network.getPosition() : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return ((TileCraftingMonitor) holder.world().getTileEntity(holder.pos())).isActive();
|
||||
}
|
||||
|
||||
public void onOpened(EntityPlayer player) {
|
||||
if (network != null) {
|
||||
network.sendCraftingMonitorUpdate((EntityPlayerMP) player);
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -48,10 +48,10 @@ public class NetworkNodeDestructor extends NetworkNode implements IComparable, I
|
||||
|
||||
private static final int BASE_SPEED = 20;
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_SILK_TOUCH, ItemUpgrade.TYPE_FORTUNE);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_SILK_TOUCH, ItemUpgrade.TYPE_FORTUNE);
|
||||
|
||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||
private int mode = IFilterable.WHITELIST;
|
||||
|
||||
@@ -8,8 +8,8 @@ import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDetector;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||
@@ -33,8 +33,8 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy
|
||||
private static final String NBT_AMOUNT = "Amount";
|
||||
private static final String NBT_TYPE = "Type";
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(1, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(1, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(1, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||
private int type = IType.ITEMS;
|
||||
|
||||
@@ -14,8 +14,8 @@ import com.raoulvdberge.refinedstorage.block.EnumFluidStorageType;
|
||||
import com.raoulvdberge.refinedstorage.block.EnumItemStorageType;
|
||||
import com.raoulvdberge.refinedstorage.inventory.IItemValidator;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
import com.raoulvdberge.refinedstorage.tile.IStorageGui;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDiskDrive;
|
||||
@@ -133,7 +133,7 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IStorageGui, IS
|
||||
private static final String NBT_TYPE = "Type";
|
||||
private static final String NBT_VOID_EXCESS = "VoidExcess";
|
||||
|
||||
private ItemHandlerBasic disks = new ItemHandlerBasic(8, new ItemHandlerChangeListenerNode(this), IItemValidator.STORAGE_DISK) {
|
||||
private ItemHandlerBasic disks = new ItemHandlerBasic(8, new ItemHandlerListenerNetworkNode(this), IItemValidator.STORAGE_DISK) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
super.onContentsChanged(slot);
|
||||
@@ -164,8 +164,8 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IStorageGui, IS
|
||||
}
|
||||
};
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private StorageItem itemStorages[] = new StorageItem[8];
|
||||
private StorageFluid fluidStorages[] = new StorageFluid[8];
|
||||
|
||||
@@ -43,9 +43,9 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
|
||||
private StorageItem[] itemStorages = new StorageItem[6];
|
||||
private StorageFluid[] fluidStorages = new StorageFluid[6];
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
|
||||
private ItemHandlerBasic inputDisks = new ItemHandlerBasic(3, new ItemHandlerChangeListenerNode(this), IItemValidator.STORAGE_DISK) {
|
||||
private ItemHandlerBasic inputDisks = new ItemHandlerBasic(3, new ItemHandlerListenerNetworkNode(this), IItemValidator.STORAGE_DISK) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
super.onContentsChanged(slot);
|
||||
@@ -72,7 +72,7 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
|
||||
}
|
||||
};
|
||||
|
||||
private ItemHandlerBasic outputDisks = new ItemHandlerBasic(3, new ItemHandlerChangeListenerNode(this), IItemValidator.STORAGE_DISK) {
|
||||
private ItemHandlerBasic outputDisks = new ItemHandlerBasic(3, new ItemHandlerListenerNetworkNode(this), IItemValidator.STORAGE_DISK) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
super.onContentsChanged(slot);
|
||||
@@ -191,8 +191,8 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
|
||||
}
|
||||
}
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
|
||||
@@ -5,8 +5,8 @@ import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -27,10 +27,10 @@ public class NetworkNodeExporter extends NetworkNode implements IComparable, ITy
|
||||
private static final String NBT_TYPE = "Type";
|
||||
private static final String NBT_REGULATOR = "Regulator";
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING, ItemUpgrade.TYPE_STACK);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_CRAFTING, ItemUpgrade.TYPE_STACK);
|
||||
|
||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||
private int type = IType.ITEMS;
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -53,10 +53,10 @@ public class NetworkNodeFluidInterface extends NetworkNode implements IComparabl
|
||||
}
|
||||
};
|
||||
|
||||
private ItemHandlerBasic in = new ItemHandlerBasic(1, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid out = new ItemHandlerFluid(1, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic in = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid out = new ItemHandlerFluid(1, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
|
||||
public NetworkNodeFluidInterface(INetworkNodeHolder holder) {
|
||||
super(holder);
|
||||
|
||||
@@ -11,8 +11,8 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageFluidNBT;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockFluidStorage;
|
||||
import com.raoulvdberge.refinedstorage.block.EnumFluidStorageType;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
import com.raoulvdberge.refinedstorage.tile.IStorageGui;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileFluidStorage;
|
||||
@@ -62,7 +62,7 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IStorageGui,
|
||||
private static final String NBT_MODE = "Mode";
|
||||
private static final String NBT_VOID_EXCESS = "VoidExcess";
|
||||
|
||||
private ItemHandlerFluid filters = new ItemHandlerFluid(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid filters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private NBTTagCompound storageTag = StorageFluidNBT.createNBT();
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@ import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilterInGrid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemValidatorBasic;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemPattern;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -77,7 +77,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
private InventoryCrafting matrix = new InventoryCrafting(craftingContainer, 3, 3);
|
||||
private InventoryCraftResult result = new InventoryCraftResult();
|
||||
|
||||
private ItemHandlerBasic patterns = new ItemHandlerBasic(2, new ItemHandlerChangeListenerNode(this), new ItemValidatorBasic(RSItems.PATTERN));
|
||||
private ItemHandlerBasic patterns = new ItemHandlerBasic(2, new ItemHandlerListenerNetworkNode(this), new ItemValidatorBasic(RSItems.PATTERN));
|
||||
private List<GridFilter> filteredItems = new ArrayList<>();
|
||||
private List<GridTab> tabs = new ArrayList<>();
|
||||
private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems, tabs);
|
||||
@@ -438,11 +438,6 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
return TileGrid.REDSTONE_MODE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isActive() {
|
||||
return ((TileGrid) holder.world().getTileEntity(holder.pos())).isActive();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
return true;
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -27,10 +27,10 @@ public class NetworkNodeImporter extends NetworkNode implements IComparable, IFi
|
||||
private static final String NBT_MODE = "Mode";
|
||||
private static final String NBT_TYPE = "Type";
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK);
|
||||
|
||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||
private int mode = IFilterable.WHITELIST;
|
||||
|
||||
@@ -4,8 +4,8 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerInterface;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -18,14 +18,14 @@ import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
public class NetworkNodeInterface extends NetworkNode implements IComparable {
|
||||
private static final String NBT_COMPARE = "Compare";
|
||||
|
||||
private ItemHandlerBasic importItems = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic importItems = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private ItemHandlerBasic exportSpecimenItems = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic exportItems = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic exportSpecimenItems = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerBasic exportItems = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private ItemHandlerInterface items = new ItemHandlerInterface(importItems, exportItems);
|
||||
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK, ItemUpgrade.TYPE_CRAFTING);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED, ItemUpgrade.TYPE_STACK, ItemUpgrade.TYPE_CRAFTING);
|
||||
|
||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemValidatorBasic;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemNetworkCard;
|
||||
@@ -21,7 +21,7 @@ import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class NetworkNodeNetworkTransmitter extends NetworkNode {
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(1, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_INTERDIMENSIONAL) {
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(1, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_INTERDIMENSIONAL) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
super.onContentsChanged(slot);
|
||||
@@ -32,7 +32,7 @@ public class NetworkNodeNetworkTransmitter extends NetworkNode {
|
||||
}
|
||||
};
|
||||
|
||||
private ItemHandlerBasic networkCard = new ItemHandlerBasic(1, new ItemHandlerChangeListenerNode(this), new ItemValidatorBasic(RSItems.NETWORK_CARD)) {
|
||||
private ItemHandlerBasic networkCard = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this), new ItemValidatorBasic(RSItems.NETWORK_CARD)) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
super.onContentsChanged(slot);
|
||||
|
||||
@@ -9,7 +9,7 @@ import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCardContain
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.security.SecurityCard;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemValidatorBasic;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemSecurityCard;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -28,7 +28,7 @@ public class NetworkNodeSecurityManager extends NetworkNode implements ISecurity
|
||||
|
||||
private List<ISecurityCard> actualCards = new ArrayList<>();
|
||||
|
||||
private ItemHandlerBasic cards = new ItemHandlerBasic(9 * 2, new ItemHandlerChangeListenerNode(this), new ItemValidatorBasic(RSItems.SECURITY_CARD)) {
|
||||
private ItemHandlerBasic cards = new ItemHandlerBasic(9 * 2, new ItemHandlerListenerNetworkNode(this), new ItemValidatorBasic(RSItems.SECURITY_CARD)) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
super.onContentsChanged(slot);
|
||||
@@ -42,7 +42,7 @@ public class NetworkNodeSecurityManager extends NetworkNode implements ISecurity
|
||||
}
|
||||
}
|
||||
};
|
||||
private ItemHandlerBasic editCard = new ItemHandlerBasic(1, new ItemHandlerChangeListenerNode(this), new ItemValidatorBasic(RSItems.SECURITY_CARD));
|
||||
private ItemHandlerBasic editCard = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this), new ItemValidatorBasic(RSItems.SECURITY_CARD));
|
||||
|
||||
@Nullable
|
||||
private UUID owner;
|
||||
|
||||
@@ -6,7 +6,7 @@ import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRecipe;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -21,7 +21,7 @@ public class NetworkNodeSolderer extends NetworkNode {
|
||||
private static final String NBT_WORKING = "Working";
|
||||
private static final String NBT_PROGRESS = "Progress";
|
||||
|
||||
private ItemHandlerBasic items = new ItemHandlerBasic(3, new ItemHandlerChangeListenerNode(this)) {
|
||||
private ItemHandlerBasic items = new ItemHandlerBasic(3, new ItemHandlerListenerNetworkNode(this)) {
|
||||
@Override
|
||||
@Nonnull
|
||||
public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) {
|
||||
@@ -34,14 +34,14 @@ public class NetworkNodeSolderer extends NetworkNode {
|
||||
return stack;
|
||||
}
|
||||
};
|
||||
private ItemHandlerBasic result = new ItemHandlerBasic(1, new ItemHandlerChangeListenerNode(this)) {
|
||||
private ItemHandlerBasic result = new ItemHandlerBasic(1, new ItemHandlerListenerNetworkNode(this)) {
|
||||
@Override
|
||||
@Nonnull
|
||||
public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) {
|
||||
return stack;
|
||||
}
|
||||
};
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_SPEED);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_SPEED);
|
||||
|
||||
private ISoldererRecipe recipe;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageItemNBT;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockStorage;
|
||||
import com.raoulvdberge.refinedstorage.block.EnumItemStorageType;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
import com.raoulvdberge.refinedstorage.tile.IStorageGui;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileStorage;
|
||||
@@ -64,7 +64,7 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageGui, ISto
|
||||
private static final String NBT_MODE = "Mode";
|
||||
private static final String NBT_VOID_EXCESS = "VoidExcess";
|
||||
|
||||
private ItemHandlerBasic filters = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic filters = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private NBTTagCompound storageTag = StorageItemNBT.createNBT();
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.api.network.IWirelessTransmitter;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
@@ -16,7 +16,7 @@ import net.minecraftforge.items.IItemHandler;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class NetworkNodeWirelessTransmitter extends NetworkNode implements IWirelessTransmitter {
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerChangeListenerNode(this), ItemUpgrade.TYPE_RANGE);
|
||||
private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(4, new ItemHandlerListenerNetworkNode(this), ItemUpgrade.TYPE_RANGE);
|
||||
|
||||
public NetworkNodeWirelessTransmitter(INetworkNodeHolder holder) {
|
||||
super(holder);
|
||||
|
||||
@@ -51,10 +51,9 @@ public class NetworkNodeWriter extends NetworkNode implements IWriter {
|
||||
redstoneStrength = strength;
|
||||
}
|
||||
|
||||
// @todo
|
||||
@Override
|
||||
public EnumFacing getDirection() {
|
||||
return null;
|
||||
return holder.getDirection();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -110,15 +109,6 @@ public class NetworkNodeWriter extends NetworkNode implements IWriter {
|
||||
return tag;
|
||||
}
|
||||
|
||||
// @todo
|
||||
/*
|
||||
@Override
|
||||
public void setDirection(EnumFacing direction) {
|
||||
super.setDirection(direction);
|
||||
|
||||
world.notifyNeighborsOfStateChange(pos, RSBlocks.WRITER, true);
|
||||
}*/
|
||||
|
||||
public void onOpened(EntityPlayer entity) {
|
||||
if (network != null) {
|
||||
network.sendReaderWriterChannelUpdate((EntityPlayerMP) entity);
|
||||
|
||||
@@ -11,8 +11,8 @@ import com.raoulvdberge.refinedstorage.api.storage.IStorageProvider;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
|
||||
import com.raoulvdberge.refinedstorage.tile.IStorageGui;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileExternalStorage;
|
||||
@@ -37,8 +37,8 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
|
||||
private static final String NBT_MODE = "Mode";
|
||||
private static final String NBT_TYPE = "Type";
|
||||
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerChangeListenerNode(this));
|
||||
private ItemHandlerBasic itemFilters = new ItemHandlerBasic(9, new ItemHandlerListenerNetworkNode(this));
|
||||
private ItemHandlerFluid fluidFilters = new ItemHandlerFluid(9, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private int priority = 0;
|
||||
private int compare = IComparer.COMPARE_NBT | IComparer.COMPARE_DAMAGE;
|
||||
|
||||
@@ -19,11 +19,9 @@ public class StorageItemItemHandler extends StorageItemExternal {
|
||||
this.externalStorage = externalStorage;
|
||||
this.handler = handler;
|
||||
|
||||
// @todo
|
||||
/*
|
||||
if (externalStorage.getFacingTile().getBlockType().getUnlocalizedName().equals("tile.ExtraUtils2:TrashCan")) {
|
||||
lockedAccessType = AccessType.INSERT;
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileNode;
|
||||
import net.minecraft.block.properties.PropertyBool;
|
||||
import net.minecraft.block.state.BlockStateContainer;
|
||||
@@ -51,7 +52,7 @@ public abstract class BlockNode extends BlockBase {
|
||||
@Override
|
||||
public IBlockState getActualState(IBlockState state, IBlockAccess world, BlockPos pos) {
|
||||
if (hasConnectivityState()) {
|
||||
return super.getActualState(state, world, pos).withProperty(CONNECTED, ((TileNode) world.getTileEntity(pos)).isActive());
|
||||
return super.getActualState(state, world, pos).withProperty(CONNECTED, ((NetworkNode) ((TileNode) world.getTileEntity(pos)).getNode()).isActive());
|
||||
}
|
||||
|
||||
return super.getActualState(state, world, pos);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
package com.raoulvdberge.refinedstorage.inventory;
|
||||
|
||||
public interface IItemHandlerChangeListener {
|
||||
public interface IItemHandlerListener {
|
||||
void onChanged(int slot);
|
||||
}
|
||||
@@ -6,11 +6,11 @@ import net.minecraftforge.items.ItemStackHandler;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class ItemHandlerBasic extends ItemStackHandler {
|
||||
private IItemHandlerChangeListener listener;
|
||||
private IItemHandlerListener listener;
|
||||
|
||||
protected IItemValidator[] validators;
|
||||
|
||||
public ItemHandlerBasic(int size, IItemHandlerChangeListener listener, IItemValidator... validators) {
|
||||
public ItemHandlerBasic(int size, IItemHandlerListener listener, IItemValidator... validators) {
|
||||
super(size);
|
||||
|
||||
this.listener = listener;
|
||||
|
||||
@@ -8,7 +8,7 @@ import net.minecraftforge.items.ItemHandlerHelper;
|
||||
public class ItemHandlerFluid extends ItemHandlerBasic {
|
||||
private FluidStack[] fluids;
|
||||
|
||||
public ItemHandlerFluid(int size, IItemHandlerChangeListener listener) {
|
||||
public ItemHandlerFluid(int size, IItemHandlerListener listener) {
|
||||
super(size, listener, s -> RSUtils.getFluidFromStack(ItemHandlerHelper.copyStackWithSize(s, 1), true).getValue() != null);
|
||||
|
||||
this.fluids = new FluidStack[size];
|
||||
|
||||
@@ -2,10 +2,10 @@ package com.raoulvdberge.refinedstorage.inventory;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
||||
|
||||
public class ItemHandlerChangeListenerNode implements IItemHandlerChangeListener {
|
||||
public class ItemHandlerListenerNetworkNode implements IItemHandlerListener {
|
||||
private INetworkNode node;
|
||||
|
||||
public ItemHandlerChangeListenerNode(INetworkNode node) {
|
||||
public ItemHandlerListenerNetworkNode(INetworkNode node) {
|
||||
this.node = node;
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@ package com.raoulvdberge.refinedstorage.inventory;
|
||||
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
|
||||
public class ItemHandlerChangeListenerTile implements IItemHandlerChangeListener {
|
||||
public class ItemHandlerListenerTile implements IItemHandlerListener {
|
||||
private TileEntity tile;
|
||||
|
||||
public ItemHandlerChangeListenerTile(TileEntity tile) {
|
||||
public ItemHandlerListenerTile(TileEntity tile) {
|
||||
this.tile = tile;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
|
||||
public class ItemHandlerUpgrade extends ItemHandlerBasic {
|
||||
public ItemHandlerUpgrade(int size, IItemHandlerChangeListener listener, int... supportedUpgrades) {
|
||||
public ItemHandlerUpgrade(int size, IItemHandlerListener listener, int... supportedUpgrades) {
|
||||
super(size, listener, new IItemValidator[supportedUpgrades.length]);
|
||||
|
||||
for (int i = 0; i < supportedUpgrades.length; ++i) {
|
||||
|
||||
@@ -35,6 +35,8 @@ public abstract class TileBase extends TileEntity implements ITickable {
|
||||
public void setDirection(EnumFacing direction) {
|
||||
this.direction = direction;
|
||||
|
||||
world.notifyNeighborsOfStateChange(pos, getWorld().getBlockState(pos).getBlock(), true);
|
||||
|
||||
markDirty();
|
||||
}
|
||||
|
||||
|
||||
@@ -346,7 +346,9 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
|
||||
nodeGraph.disconnectAll();
|
||||
if (getWorld() != null && !getWorld().isRemote) {
|
||||
nodeGraph.disconnectAll();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -928,7 +930,9 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
|
||||
@Override
|
||||
public ItemStack getItemStack() {
|
||||
IBlockState state = getWorld().getBlockState(pos);
|
||||
|
||||
Item item = Item.getItemFromBlock(state.getBlock());
|
||||
|
||||
return new ItemStack(item, 1, state.getBlock().getMetaFromState(state));
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@ package com.raoulvdberge.refinedstorage.tile;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.proxy.CapabilityNetworkNodeProxy;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.IRedstoneConfigurable;
|
||||
@@ -12,8 +14,6 @@ import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
@@ -23,8 +23,6 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN
|
||||
|
||||
private static final String NBT_ACTIVE = "Active";
|
||||
|
||||
private boolean active;
|
||||
|
||||
public TileNode() {
|
||||
dataManager.addWatchedParameter(REDSTONE_MODE);
|
||||
}
|
||||
@@ -33,7 +31,24 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN
|
||||
public void update() {
|
||||
super.update();
|
||||
|
||||
getNode().update();
|
||||
if (!getWorld().isRemote) {
|
||||
getNode().update();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
|
||||
if (getWorld() != null && !getWorld().isRemote) {
|
||||
INetworkNode node = getNode();
|
||||
|
||||
API.instance().getNetworkNodeRegistry(getWorld().provider.getDimension()).removeNode(pos);
|
||||
|
||||
if (node.getNetwork() != null) {
|
||||
node.getNetwork().getNodeGraph().rebuild();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -75,17 +90,13 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN
|
||||
public NBTTagCompound writeUpdate(NBTTagCompound tag) {
|
||||
super.writeUpdate(tag);
|
||||
|
||||
if (((NetworkNode) getNode()).hasConnectivityState()) {
|
||||
tag.setBoolean(NBT_ACTIVE, getNode().getNetwork() != null && getNode().canUpdate());
|
||||
}
|
||||
tag.setBoolean(NBT_ACTIVE, getNode().getNetwork() != null && getNode().canUpdate());
|
||||
|
||||
return tag;
|
||||
}
|
||||
|
||||
public void readUpdate(NBTTagCompound tag) {
|
||||
if (((NetworkNode) getNode()).hasConnectivityState()) {
|
||||
active = tag.getBoolean(NBT_ACTIVE);
|
||||
}
|
||||
((NetworkNode) getNode()).setActive(tag.getBoolean(NBT_ACTIVE));
|
||||
|
||||
super.readUpdate(tag);
|
||||
}
|
||||
@@ -94,17 +105,17 @@ public abstract class TileNode extends TileBase implements INetworkNodeProxy, IN
|
||||
return ((NetworkNode) getNode()).getDrops();
|
||||
}
|
||||
|
||||
// @TODO
|
||||
private INetworkNode node;
|
||||
|
||||
@Override
|
||||
public INetworkNode getNode() {
|
||||
return node == null ? (node = createNode()) : node;
|
||||
}
|
||||
INetworkNodeRegistry registry = API.instance().getNetworkNodeRegistry(getWorld().provider.getDimension());
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public boolean isActive() {
|
||||
return active;
|
||||
INetworkNode node = registry.getNode(pos);
|
||||
|
||||
if (node == null) {
|
||||
registry.setNode(pos, node = createNode());
|
||||
}
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,7 +4,7 @@ import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiProcessingPatternEncoder;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerChangeListenerTile;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerTile;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemValidatorBasic;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemPattern;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer;
|
||||
@@ -42,8 +42,8 @@ public class TileProcessingPatternEncoder extends TileBase {
|
||||
}
|
||||
});
|
||||
|
||||
private ItemHandlerBasic patterns = new ItemHandlerBasic(2, new ItemHandlerChangeListenerTile(this), new ItemValidatorBasic(RSItems.PATTERN));
|
||||
private ItemHandlerBasic configuration = new ItemHandlerBasic(9 * 2, new ItemHandlerChangeListenerTile(this));
|
||||
private ItemHandlerBasic patterns = new ItemHandlerBasic(2, new ItemHandlerListenerTile(this), new ItemValidatorBasic(RSItems.PATTERN));
|
||||
private ItemHandlerBasic configuration = new ItemHandlerBasic(9 * 2, new ItemHandlerListenerTile(this));
|
||||
|
||||
private boolean oredictPattern;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user