Controller doesn't need its own special package

This commit is contained in:
Raoul Van den Berge
2016-08-04 02:20:10 +02:00
parent 1ae429d05c
commit 8a0192e9f6
16 changed files with 47 additions and 685 deletions

View File

@@ -7,8 +7,8 @@ import net.minecraft.world.World;
import net.minecraftforge.common.DimensionManager;
import refinedstorage.api.network.INetworkNode;
import refinedstorage.api.network.INetworkNodeGraph;
import refinedstorage.tile.TileController;
import refinedstorage.tile.TileNetworkTransmitter;
import refinedstorage.tile.controller.TileController;
import java.util.*;

View File

@@ -22,7 +22,7 @@ import refinedstorage.RefinedStorageBlocks;
import refinedstorage.RefinedStorageGui;
import refinedstorage.api.network.NetworkUtils;
import refinedstorage.item.ItemBlockController;
import refinedstorage.tile.controller.TileController;
import refinedstorage.tile.TileController;
import java.util.ArrayList;
import java.util.List;

View File

@@ -4,8 +4,7 @@ import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper;
import refinedstorage.container.ContainerController;
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import refinedstorage.tile.controller.ClientNode;
import refinedstorage.tile.controller.TileController;
import refinedstorage.tile.TileController;
import java.util.List;
@@ -61,13 +60,13 @@ public class GuiController extends GuiBase {
RenderHelper.enableGUIStandardItemLighting();
List<ClientNode> nodes = controller.getClientNodes();
List<TileController.ClientNode> nodes = controller.getClientNodes();
ClientNode nodeHovering = null;
TileController.ClientNode nodeHovering = null;
for (int i = 0; i < 4; ++i) {
if (slot < nodes.size()) {
ClientNode node = nodes.get(slot);
TileController.ClientNode node = nodes.get(slot);
drawItem(x, y + 5, node.stack);

View File

@@ -11,7 +11,6 @@ import refinedstorage.RefinedStorageGui;
import refinedstorage.container.*;
import refinedstorage.gui.grid.GuiGrid;
import refinedstorage.tile.*;
import refinedstorage.tile.controller.TileController;
import refinedstorage.tile.grid.TileGrid;
import refinedstorage.tile.grid.WirelessGrid;

View File

@@ -2,7 +2,7 @@ package refinedstorage.integration.ic2;
import ic2.api.energy.prefab.BasicSink;
import net.minecraft.util.EnumFacing;
import refinedstorage.tile.controller.TileController;
import refinedstorage.tile.TileController;
public class IC2EnergyController implements IIC2EnergyController {
private BasicSink sink;

View File

@@ -8,7 +8,7 @@ import net.minecraft.world.World;
import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageBlocks;
import refinedstorage.block.EnumControllerType;
import refinedstorage.tile.controller.TileController;
import refinedstorage.tile.TileController;
import java.util.List;

View File

@@ -26,7 +26,7 @@ import net.minecraftforge.fml.common.Optional;
import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageBlocks;
import refinedstorage.integration.ic2.IC2Integration;
import refinedstorage.tile.controller.TileController;
import refinedstorage.tile.TileController;
import refinedstorage.tile.grid.TileGrid;
import javax.annotation.Nullable;

View File

@@ -27,7 +27,6 @@ import refinedstorage.gui.GuiHandler;
import refinedstorage.item.*;
import refinedstorage.network.*;
import refinedstorage.tile.*;
import refinedstorage.tile.controller.TileController;
import refinedstorage.tile.externalstorage.TileExternalStorage;
import refinedstorage.tile.grid.TileGrid;

View File

@@ -1,4 +1,4 @@
package refinedstorage.tile.controller;
package refinedstorage.tile;
import cofh.api.energy.EnergyStorage;
import cofh.api.energy.IEnergyReceiver;
@@ -47,9 +47,6 @@ import refinedstorage.integration.ic2.IIC2EnergyController;
import refinedstorage.item.ItemPattern;
import refinedstorage.network.MessageGridDelta;
import refinedstorage.network.MessageGridUpdate;
import refinedstorage.tile.ISynchronizedContainer;
import refinedstorage.tile.TileBase;
import refinedstorage.tile.TileCrafter;
import refinedstorage.tile.config.IRedstoneModeConfig;
import refinedstorage.tile.config.RedstoneMode;
import refinedstorage.tile.externalstorage.ExternalStorage;
@@ -57,8 +54,8 @@ import refinedstorage.tile.externalstorage.ExternalStorage;
import java.util.*;
@Optional.InterfaceList({
@Optional.Interface(iface = "net.darkhax.tesla.api.ITeslaConsumer", modid = "Tesla"),
@Optional.Interface(iface = "net.darkhax.tesla.api.ITeslaHolder", modid = "Tesla")
@Optional.Interface(iface = "net.darkhax.tesla.api.ITeslaConsumer", modid = "tesla"),
@Optional.Interface(iface = "net.darkhax.tesla.api.ITeslaHolder", modid = "tesla")
})
public class TileController extends TileBase implements INetworkMaster, IEnergyReceiver, ITeslaHolder, ITeslaConsumer, ISynchronizedContainer, IRedstoneModeConfig {
public static final String NBT_ENERGY = "Energy";
@@ -66,12 +63,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
private static final String NBT_CRAFTING_TASKS = "CraftingTasks";
private GridHandler gridHandler = new GridHandler(this);
private WirelessGridHandler wirelessGridHandler = new WirelessGridHandler(this);
private IGroupedStorage storage = new GroupedStorage(this);
private Comparator<IStorage> sizeComparator = new Comparator<IStorage>() {
private static final Comparator<IStorage> SIZE_COMPARATOR = new Comparator<IStorage>() {
@Override
public int compare(IStorage left, IStorage right) {
if (left.getStored() == right.getStored()) {
@@ -82,7 +74,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
}
};
private Comparator<IStorage> priorityComparator = new Comparator<IStorage>() {
private static final Comparator<IStorage> PRIORITY_COMPARATOR = new Comparator<IStorage>() {
@Override
public int compare(IStorage left, IStorage right) {
if (left.getPriority() == right.getPriority()) {
@@ -93,7 +85,11 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
}
};
private GridHandler gridHandler = new GridHandler(this);
private WirelessGridHandler wirelessGridHandler = new WirelessGridHandler(this);
private INetworkNodeGraph nodeGraph = new NetworkNodeGraph(this);
private IGroupedStorage storage = new GroupedStorage(this);
private List<ICraftingPattern> patterns = new ArrayList<ICraftingPattern>();
@@ -151,8 +147,8 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
energyEU.update();
if (canRun()) {
Collections.sort(storage.getStorages(), sizeComparator);
Collections.sort(storage.getStorages(), priorityComparator);
Collections.sort(storage.getStorages(), SIZE_COMPARATOR);
Collections.sort(storage.getStorages(), PRIORITY_COMPARATOR);
for (ICraftingTask taskToCancel : craftingTasksToCancel) {
taskToCancel.onCancelled(this);
@@ -720,4 +716,30 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
return (RefinedStorage.hasTesla() && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) || super.hasCapability(capability, facing);
}
public class ClientNode {
public ItemStack stack;
public int amount;
public int energyUsage;
@Override
public boolean equals(Object other) {
if (this == other) {
return true;
}
if (!(other instanceof ClientNode)) {
return false;
}
return energyUsage == ((ClientNode) other).energyUsage && CompareUtils.compareStack(stack, ((ClientNode) other).stack);
}
@Override
public int hashCode() {
int result = stack.hashCode();
result = 31 * result + energyUsage;
return result;
}
}
}

View File

@@ -1,30 +0,0 @@
package refinedstorage.tile.controller;
import net.minecraft.item.ItemStack;
import refinedstorage.api.storage.CompareUtils;
public final class ClientNode {
public ItemStack stack;
public int amount;
public int energyUsage;
@Override
public boolean equals(Object other) {
if (this == other) {
return true;
}
if (!(other instanceof ClientNode)) {
return false;
}
return energyUsage == ((ClientNode) other).energyUsage && CompareUtils.compareStack(stack, ((ClientNode) other).stack);
}
@Override
public int hashCode() {
int result = stack.hashCode();
result = 31 * result + energyUsage;
return result;
}
}

View File

@@ -1,113 +0,0 @@
package refinedstorage.tile.externalstorage;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.ItemHandlerHelper;
import powercrystals.minefactoryreloaded.api.IDeepStorageUnit;
import refinedstorage.api.storage.CompareUtils;
import refinedstorage.tile.config.ModeFilter;
import javax.annotation.Nonnull;
import java.util.Collections;
import java.util.List;
public class DeepStorageUnitStorage extends ExternalStorage {
private TileExternalStorage externalStorage;
private IDeepStorageUnit unit;
public DeepStorageUnitStorage(TileExternalStorage externalStorage, IDeepStorageUnit unit) {
this.externalStorage = externalStorage;
this.unit = unit;
}
@Override
public int getCapacity() {
return unit.getMaxStoredCount();
}
@Override
public List<ItemStack> getItems() {
if (unit.getStoredItemType() != null && unit.getStoredItemType().stackSize > 0) {
return Collections.singletonList(unit.getStoredItemType().copy());
}
return Collections.emptyList();
}
@Override
public ItemStack insertItem(@Nonnull ItemStack stack, int size, boolean simulate) {
if (ModeFilter.respectsMode(externalStorage.getFilters(), externalStorage, externalStorage.getCompare(), stack)) {
if (unit.getStoredItemType() != null) {
if (CompareUtils.compareStackNoQuantity(unit.getStoredItemType(), stack)) {
if (getStored() + size > unit.getMaxStoredCount()) {
int remainingSpace = getCapacity() - getStored();
if (remainingSpace <= 0) {
return ItemHandlerHelper.copyStackWithSize(stack, size);
}
if (!simulate) {
unit.setStoredItemCount(unit.getStoredItemType().stackSize + remainingSpace);
}
return ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
} else {
if (!simulate) {
unit.setStoredItemCount(unit.getStoredItemType().stackSize + size);
}
return null;
}
}
} else {
if (getStored() + size > unit.getMaxStoredCount()) {
int remainingSpace = getCapacity() - getStored();
if (remainingSpace <= 0) {
return ItemHandlerHelper.copyStackWithSize(stack, size);
}
if (!simulate) {
unit.setStoredItemType(stack.copy(), remainingSpace);
}
return ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
} else {
if (!simulate) {
unit.setStoredItemType(stack.copy(), size);
}
return null;
}
}
}
return ItemHandlerHelper.copyStackWithSize(stack, size);
}
@Override
public ItemStack extractItem(@Nonnull ItemStack stack, int size, int flags) {
if (CompareUtils.compareStack(stack, unit.getStoredItemType(), flags)) {
if (size > unit.getStoredItemType().stackSize) {
size = unit.getStoredItemType().stackSize;
}
ItemStack stored = unit.getStoredItemType();
unit.setStoredItemCount(stored.stackSize - size);
return ItemHandlerHelper.copyStackWithSize(stored, size);
}
return null;
}
@Override
public int getStored() {
return unit.getStoredItemType() != null ? unit.getStoredItemType().stackSize : 0;
}
@Override
public int getPriority() {
return externalStorage.getPriority();
}
}

View File

@@ -1,115 +0,0 @@
package refinedstorage.tile.externalstorage;
import com.jaquadro.minecraft.storagedrawers.api.storage.IDrawer;
import com.jaquadro.minecraft.storagedrawers.api.storage.attribute.IVoidable;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.ItemHandlerHelper;
import refinedstorage.api.storage.CompareUtils;
import refinedstorage.tile.config.ModeFilter;
import java.util.Collections;
import java.util.List;
public class DrawerStorage extends ExternalStorage {
private TileExternalStorage externalStorage;
private IDrawer drawer;
public DrawerStorage(TileExternalStorage externalStorage, IDrawer drawer) {
this.externalStorage = externalStorage;
this.drawer = drawer;
}
@Override
public int getCapacity() {
return drawer.getMaxCapacity();
}
@Override
public List<ItemStack> getItems() {
if (!drawer.isEmpty() && drawer.getStoredItemCount() > 0) {
return Collections.singletonList(drawer.getStoredItemCopy());
}
return Collections.emptyList();
}
public boolean isVoidable() {
return drawer instanceof IVoidable && ((IVoidable) drawer).isVoid();
}
@Override
public ItemStack insertItem(ItemStack stack, int size, boolean simulate) {
if (ModeFilter.respectsMode(externalStorage.getFilters(), externalStorage, externalStorage.getCompare(), stack) && drawer.canItemBeStored(stack)) {
if (!drawer.isEmpty()) {
if (getStored() + size > drawer.getMaxCapacity(stack)) {
int remainingSpace = getCapacity() - getStored();
if (remainingSpace <= 0) {
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size);
}
if (!simulate) {
drawer.setStoredItemCount(drawer.getStoredItemCount() + remainingSpace);
}
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
} else {
if (!simulate) {
drawer.setStoredItemCount(drawer.getStoredItemCount() + size);
}
return null;
}
} else {
if (getStored() + size > drawer.getMaxCapacity(stack)) {
int remainingSpace = getCapacity() - getStored();
if (remainingSpace <= 0) {
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size);
}
if (!simulate) {
drawer.setStoredItem(stack, remainingSpace);
}
return isVoidable() ? null : ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
} else {
if (!simulate) {
drawer.setStoredItem(stack, size);
}
return null;
}
}
}
return ItemHandlerHelper.copyStackWithSize(stack, size);
}
@Override
public ItemStack extractItem(ItemStack stack, int size, int flags) {
if (CompareUtils.compareStack(stack, drawer.getStoredItemPrototype(), flags) && drawer.canItemBeExtracted(stack)) {
if (size > drawer.getStoredItemCount()) {
size = drawer.getStoredItemCount();
}
ItemStack stored = drawer.getStoredItemPrototype();
drawer.setStoredItemCount(drawer.getStoredItemCount() - size);
return ItemHandlerHelper.copyStackWithSize(stored, size);
}
return null;
}
@Override
public int getStored() {
return drawer.getStoredItemCount();
}
@Override
public int getPriority() {
return externalStorage.getPriority();
}
}

View File

@@ -1,39 +0,0 @@
package refinedstorage.tile.externalstorage;
import net.minecraft.item.ItemStack;
import refinedstorage.api.storage.CompareUtils;
import refinedstorage.api.storage.IStorage;
import java.util.List;
public abstract class ExternalStorage implements IStorage {
private List<ItemStack> cache;
public abstract int getCapacity();
public boolean updateCache() {
List<ItemStack> items = getItems();
if (cache == null) {
cache = items;
} else if (items.size() != cache.size()) {
cache = items;
return true;
} else {
for (int i = 0; i < items.size(); ++i) {
if (!CompareUtils.compareStack(items.get(i), cache.get(i))) {
cache = items;
return true;
}
}
}
return false;
}
public void updateCacheForcefully() {
cache = getItems();
}
}

View File

@@ -1,84 +0,0 @@
package refinedstorage.tile.externalstorage;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemHandlerHelper;
import refinedstorage.api.storage.CompareUtils;
import refinedstorage.tile.config.ModeFilter;
import java.util.ArrayList;
import java.util.List;
public class ItemHandlerStorage extends ExternalStorage {
private TileExternalStorage externalStorage;
private IItemHandler handler;
public ItemHandlerStorage(TileExternalStorage externalStorage, IItemHandler handler) {
this.externalStorage = externalStorage;
this.handler = handler;
}
@Override
public int getCapacity() {
return handler.getSlots() * 64;
}
@Override
public List<ItemStack> getItems() {
List<ItemStack> items = new ArrayList<ItemStack>();
for (int i = 0; i < handler.getSlots(); ++i) {
if (handler.getStackInSlot(i) != null && handler.getStackInSlot(i).getItem() != null) {
items.add(handler.getStackInSlot(i).copy());
}
}
return items;
}
@Override
public ItemStack insertItem(ItemStack stack, int size, boolean simulate) {
if (ModeFilter.respectsMode(externalStorage.getFilters(), externalStorage, externalStorage.getCompare(), stack)) {
return ItemHandlerHelper.insertItem(handler, ItemHandlerHelper.copyStackWithSize(stack, size), simulate);
}
return ItemHandlerHelper.copyStackWithSize(stack, size);
}
@Override
public ItemStack extractItem(ItemStack stack, int size, int flags) {
for (int i = 0; i < handler.getSlots(); ++i) {
ItemStack slot = handler.getStackInSlot(i);
if (slot != null && CompareUtils.compareStack(slot, stack, flags)) {
size = Math.min(size, slot.stackSize);
ItemStack took = ItemHandlerHelper.copyStackWithSize(slot, size);
handler.extractItem(i, size, false);
return took;
}
}
return null;
}
@Override
public int getStored() {
int size = 0;
for (int i = 0; i < handler.getSlots(); ++i) {
if (handler.getStackInSlot(i) != null) {
size += handler.getStackInSlot(i).stackSize;
}
}
return size;
}
@Override
public int getPriority() {
return externalStorage.getPriority();
}
}

View File

@@ -1,276 +0,0 @@
package refinedstorage.tile.externalstorage;
import com.jaquadro.minecraft.storagedrawers.api.storage.IDrawer;
import com.jaquadro.minecraft.storagedrawers.api.storage.IDrawerGroup;
import io.netty.buffer.ByteBuf;
import net.minecraft.inventory.Container;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.items.IItemHandler;
import powercrystals.minefactoryreloaded.api.IDeepStorageUnit;
import refinedstorage.RefinedStorage;
import refinedstorage.api.network.INetworkMaster;
import refinedstorage.api.storage.IStorage;
import refinedstorage.api.storage.IStorageProvider;
import refinedstorage.container.ContainerStorage;
import refinedstorage.inventory.ItemHandlerBasic;
import refinedstorage.network.MessagePriorityUpdate;
import refinedstorage.tile.IStorageGui;
import refinedstorage.tile.TileNode;
import refinedstorage.tile.config.ICompareConfig;
import refinedstorage.tile.config.IModeConfig;
import refinedstorage.tile.config.IRedstoneModeConfig;
import refinedstorage.tile.config.ModeConstants;
import java.util.ArrayList;
import java.util.List;
public class TileExternalStorage extends TileNode implements IStorageProvider, IStorageGui, ICompareConfig, IModeConfig {
private static final String NBT_PRIORITY = "Priority";
private static final String NBT_COMPARE = "Compare";
private static final String NBT_MODE = "Mode";
private ItemHandlerBasic filters = new ItemHandlerBasic(9, this);
private int priority = 0;
private int compare = 0;
private int mode = ModeConstants.WHITELIST;
private int stored;
private int capacity;
private List<ExternalStorage> storages = new ArrayList<ExternalStorage>();
private int lastDrawerCount;
@Override
public int getEnergyUsage() {
return RefinedStorage.INSTANCE.externalStorageUsage + (storages.size() * RefinedStorage.INSTANCE.externalStoragePerStorageUsage);
}
@Override
public void updateNode() {
}
@Override
public void onConnectionChange(INetworkMaster network, boolean state) {
super.onConnectionChange(network, state);
updateStorage(network);
network.getStorage().rebuild();
}
@Override
public void update() {
if (!worldObj.isRemote && network != null) {
if (ticks % (20 * 4) == 0) {
boolean shouldRebuild = false;
for (ExternalStorage storage : storages) {
if (storage.updateCache()) {
shouldRebuild = true;
}
}
if (shouldRebuild) {
network.getStorage().rebuild();
}
}
if (getFacingTile() instanceof IDrawerGroup && lastDrawerCount != ((IDrawerGroup) getFacingTile()).getDrawerCount()) {
lastDrawerCount = ((IDrawerGroup) getFacingTile()).getDrawerCount();
updateStorage(network);
}
}
super.update();
}
@Override
public void writeContainerData(ByteBuf buf) {
super.writeContainerData(buf);
buf.writeInt(priority);
buf.writeInt(getStored());
buf.writeInt(getCapacity());
buf.writeInt(compare);
buf.writeInt(mode);
}
@Override
public void readContainerData(ByteBuf buf) {
super.readContainerData(buf);
priority = buf.readInt();
stored = buf.readInt();
capacity = buf.readInt();
compare = buf.readInt();
mode = buf.readInt();
}
@Override
public Class<? extends Container> getContainer() {
return ContainerStorage.class;
}
@Override
public void read(NBTTagCompound tag) {
super.read(tag);
readItems(filters, 0, tag);
if (tag.hasKey(NBT_PRIORITY)) {
priority = tag.getInteger(NBT_PRIORITY);
}
if (tag.hasKey(NBT_COMPARE)) {
compare = tag.getInteger(NBT_COMPARE);
}
if (tag.hasKey(NBT_MODE)) {
mode = tag.getInteger(NBT_MODE);
}
}
@Override
public NBTTagCompound write(NBTTagCompound tag) {
super.write(tag);
writeItems(filters, 0, tag);
tag.setInteger(NBT_PRIORITY, priority);
tag.setInteger(NBT_COMPARE, compare);
tag.setInteger(NBT_MODE, mode);
return tag;
}
@Override
public int getCompare() {
return compare;
}
@Override
public void setCompare(int compare) {
this.compare = compare;
markDirty();
}
@Override
public int getMode() {
return mode;
}
@Override
public void setMode(int mode) {
this.mode = mode;
markDirty();
}
@Override
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
markDirty();
}
public void updateStorage(INetworkMaster network) {
storages.clear();
TileEntity facing = getFacingTile();
if (facing instanceof IDrawerGroup) {
IDrawerGroup group = (IDrawerGroup) facing;
for (int i = 0; i < group.getDrawerCount(); ++i) {
if (group.isDrawerEnabled(i)) {
storages.add(new DrawerStorage(this, group.getDrawer(i)));
}
}
} else if (facing instanceof IDrawer) {
storages.add(new DrawerStorage(this, (IDrawer) facing));
} else if (facing instanceof IDeepStorageUnit) {
storages.add(new DeepStorageUnitStorage(this, (IDeepStorageUnit) facing));
} else {
IItemHandler handler = getItemHandler(facing, getDirection().getOpposite());
if (handler != null) {
storages.add(new ItemHandlerStorage(this, handler));
}
}
network.getStorage().rebuild();
}
@Override
public void addStorages(List<IStorage> storages) {
storages.addAll(this.storages);
}
@Override
public String getGuiTitle() {
return "gui.refinedstorage:external_storage";
}
@Override
public IRedstoneModeConfig getRedstoneModeConfig() {
return this;
}
@Override
public ICompareConfig getCompareConfig() {
return this;
}
@Override
public IModeConfig getModeConfig() {
return this;
}
@Override
public int getStored() {
if (!worldObj.isRemote) {
int stored = 0;
for (ExternalStorage storage : storages) {
stored += storage.getStored();
}
return stored;
}
return stored;
}
@Override
public int getCapacity() {
if (!worldObj.isRemote) {
int capacity = 0;
for (ExternalStorage storage : storages) {
capacity += storage.getCapacity();
}
return capacity;
}
return capacity;
}
@Override
public void onPriorityChanged(int priority) {
RefinedStorage.INSTANCE.network.sendToServer(new MessagePriorityUpdate(pos, priority));
}
@Override
public IItemHandler getFilters() {
return filters;
}
}

View File

@@ -15,8 +15,8 @@ import refinedstorage.inventory.ItemHandlerGridFilterInGrid;
import refinedstorage.item.ItemWirelessGrid;
import refinedstorage.network.MessageWirelessGridSettingsUpdate;
import refinedstorage.tile.TileBase;
import refinedstorage.tile.TileController;
import refinedstorage.tile.config.IRedstoneModeConfig;
import refinedstorage.tile.controller.TileController;
import java.util.ArrayList;
import java.util.List;