Added grid API
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.item.*;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
|
||||
public final class RSItems {
|
||||
public static final ItemStorageDisk STORAGE_DISK = new ItemStorageDisk();
|
||||
|
@@ -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.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.wireless.IWirelessGridRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeRegistry;
|
||||
@@ -14,7 +15,9 @@ import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.IStorageDiskBehavior;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IStackList;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
@@ -106,6 +109,11 @@ public interface IRSAPI {
|
||||
@Nonnull
|
||||
ICraftingMonitorElementList createCraftingMonitorElementList();
|
||||
|
||||
@Nonnull
|
||||
IWirelessGridRegistry getWirelessGridRegistry();
|
||||
|
||||
void openWirelessGrid(EntityPlayer player, EnumHand hand, int controllerDimension, int id);
|
||||
|
||||
/**
|
||||
* Notifies the neighbors of a node that there is a node placed at the given position.
|
||||
*
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingManager;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.ISecurityManager;
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid;
|
||||
|
||||
import net.minecraft.util.IStringSerializable;
|
||||
|
@@ -1,17 +1,14 @@
|
||||
package com.raoulvdberge.refinedstorage.tile.grid;
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.InventoryCraftResult;
|
||||
import net.minecraft.inventory.InventoryCrafting;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -58,13 +55,11 @@ public interface IGrid {
|
||||
|
||||
void onTabSelectionChanged(int tab);
|
||||
|
||||
List<Filter> getFilters();
|
||||
List<IFilter> getFilters();
|
||||
|
||||
List<FilterTab> getTabs();
|
||||
List<IGridTab> getTabs();
|
||||
|
||||
ItemHandlerBase getFilter();
|
||||
|
||||
TileDataParameter<Integer, ?> getRedstoneModeConfig();
|
||||
IItemHandlerModifiable getFilter();
|
||||
|
||||
InventoryCrafting getCraftingMatrix();
|
||||
|
@@ -0,0 +1,14 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IGridTab {
|
||||
List<IFilter> getFilters();
|
||||
|
||||
String getName();
|
||||
|
||||
ItemStack getIcon();
|
||||
}
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid;
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid.handler;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.IRSAPI;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
@@ -1,4 +1,4 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid;
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid.handler;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.IRSAPI;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
@@ -0,0 +1,12 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid.wireless;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumHand;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public interface IWirelessGridFactory {
|
||||
@Nonnull
|
||||
IGrid create(EntityPlayer player, EnumHand hand, int controllerDimension);
|
||||
}
|
@@ -0,0 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network.grid.wireless;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public interface IWirelessGridRegistry {
|
||||
int add(IWirelessGridFactory factory);
|
||||
|
||||
@Nullable
|
||||
IWirelessGridFactory get(int id);
|
||||
}
|
@@ -0,0 +1,13 @@
|
||||
package com.raoulvdberge.refinedstorage.api.util;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public interface IFilter {
|
||||
ItemStack getStack();
|
||||
|
||||
int getCompare();
|
||||
|
||||
int getMode();
|
||||
|
||||
boolean isModFilter();
|
||||
}
|
@@ -1,5 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.IRSAPI;
|
||||
import com.raoulvdberge.refinedstorage.api.RSAPIInject;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElementList;
|
||||
@@ -7,6 +9,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.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.wireless.IWirelessGridRegistry;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
|
||||
@@ -23,6 +26,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPrev
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.registry.CraftingTaskRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeManager;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless.WirelessGridRegistry;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterChannel;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerRegistry;
|
||||
@@ -32,12 +36,14 @@ import com.raoulvdberge.refinedstorage.apiimpl.util.Comparer;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.util.StackListFluid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.util.StackListItem;
|
||||
import com.raoulvdberge.refinedstorage.capability.CapabilityNetworkNodeProxy;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTBase;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.nbt.NBTTagList;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.storage.MapStorage;
|
||||
@@ -59,6 +65,7 @@ public class API implements IRSAPI {
|
||||
private ICraftingMonitorElementRegistry craftingMonitorElementRegistry = new CraftingMonitorElementRegistry();
|
||||
private ICraftingPreviewElementRegistry craftingPreviewElementRegistry = new CraftingPreviewElementRegistry();
|
||||
private IReaderWriterHandlerRegistry readerWriterHandlerRegistry = new ReaderWriterHandlerRegistry();
|
||||
private IWirelessGridRegistry gridRegistry = new WirelessGridRegistry();
|
||||
|
||||
public static IRSAPI instance() {
|
||||
return INSTANCE;
|
||||
@@ -173,6 +180,17 @@ public class API implements IRSAPI {
|
||||
return new CraftingMonitorElementList();
|
||||
}
|
||||
|
||||
@Nonnull
|
||||
@Override
|
||||
public IWirelessGridRegistry getWirelessGridRegistry() {
|
||||
return gridRegistry;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void openWirelessGrid(EntityPlayer player, EnumHand hand, int controllerDimension, int id) {
|
||||
player.openGui(RS.INSTANCE, RSGui.WIRELESS_GRID, player.getEntityWorld(), hand.ordinal(), controllerDimension, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void discoverNode(World world, BlockPos pos) {
|
||||
for (EnumFacing facing : EnumFacing.VALUES) {
|
||||
|
@@ -0,0 +1,34 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class GridTab implements IGridTab {
|
||||
private List<IFilter> filters;
|
||||
private String name;
|
||||
private ItemStack icon;
|
||||
|
||||
public GridTab(List<IFilter> filters, String name, ItemStack icon) {
|
||||
this.filters = filters;
|
||||
this.name = name;
|
||||
this.icon = icon;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IFilter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getIcon() {
|
||||
return icon;
|
||||
}
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid;
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
@@ -1,11 +1,11 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid;
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingManager;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IStackList;
|
@@ -1,10 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid;
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.IPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
@@ -0,0 +1,17 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.wireless.IWirelessGridFactory;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGrid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumHand;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class WirelessGridFactoryPortableGrid implements IWirelessGridFactory {
|
||||
@Nonnull
|
||||
@Override
|
||||
public IGrid create(EntityPlayer player, EnumHand hand, int controllerDimension) {
|
||||
return new PortableGrid(player, player.getHeldItem(hand));
|
||||
}
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.wireless.IWirelessGridFactory;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumHand;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class WirelessGridFactoryWirelessFluidGrid implements IWirelessGridFactory {
|
||||
@Nonnull
|
||||
@Override
|
||||
public IGrid create(EntityPlayer player, EnumHand hand, int controllerDimension) {
|
||||
return new WirelessFluidGrid(controllerDimension, player.getHeldItem(hand));
|
||||
}
|
||||
}
|
@@ -0,0 +1,17 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.wireless.IWirelessGridFactory;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.util.EnumHand;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class WirelessGridFactoryWirelessGrid implements IWirelessGridFactory {
|
||||
@Nonnull
|
||||
@Override
|
||||
public IGrid create(EntityPlayer player, EnumHand hand, int controllerDimension) {
|
||||
return new WirelessGrid(controllerDimension, player.getHeldItem(hand));
|
||||
}
|
||||
}
|
@@ -0,0 +1,26 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.wireless.IWirelessGridFactory;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.wireless.IWirelessGridRegistry;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class WirelessGridRegistry implements IWirelessGridRegistry {
|
||||
private int lastId = 0;
|
||||
private Map<Integer, IWirelessGridFactory> factories = new HashMap<>();
|
||||
|
||||
@Override
|
||||
public int add(IWirelessGridFactory factory) {
|
||||
factories.put(lastId, factory);
|
||||
|
||||
return lastId++;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public IWirelessGridFactory get(int id) {
|
||||
return factories.get(id);
|
||||
}
|
||||
}
|
@@ -1,11 +1,11 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.item;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessFluidGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
||||
@@ -45,7 +45,7 @@ public class NetworkItemWirelessFluidGrid implements INetworkItem {
|
||||
return false;
|
||||
}
|
||||
|
||||
player.openGui(RS.INSTANCE, RSGui.WIRELESS_GRID, player.getEntityWorld(), hand.ordinal(), controllerWorld.provider.getDimension(), WirelessFluidGrid.GRID_TYPE);
|
||||
API.instance().openWirelessGrid(player, hand, controllerWorld.provider.getDimension(), WirelessFluidGrid.ID);
|
||||
|
||||
network.sendFluidStorageToClient((EntityPlayerMP) player);
|
||||
|
||||
|
@@ -1,11 +1,11 @@
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.network.item;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
||||
@@ -45,7 +45,7 @@ public class NetworkItemWirelessGrid implements INetworkItem {
|
||||
return false;
|
||||
}
|
||||
|
||||
player.openGui(RS.INSTANCE, RSGui.WIRELESS_GRID, player.getEntityWorld(), hand.ordinal(), controllerWorld.provider.getDimension(), WirelessGrid.GRID_TYPE);
|
||||
API.instance().openWirelessGrid(player, hand, controllerWorld.provider.getDimension(), WirelessGrid.ID);
|
||||
|
||||
network.sendItemStorageToClient((EntityPlayerMP) player);
|
||||
|
||||
|
@@ -2,9 +2,9 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilter;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
|
||||
@@ -28,7 +28,7 @@ public class NetworkNodeCraftingMonitor extends NetworkNode implements ICrafting
|
||||
private static final String NBT_VIEW_AUTOMATED = "ViewAutomated";
|
||||
|
||||
private boolean viewAutomated = true;
|
||||
private List<Filter> filters = new ArrayList<>();
|
||||
private List<IFilter> filters = new ArrayList<>();
|
||||
private ItemHandlerListenerNetworkNode filterListener = new ItemHandlerListenerNetworkNode(this);
|
||||
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, new ArrayList<>(), slot -> {
|
||||
filterListener.accept(slot);
|
||||
@@ -86,7 +86,7 @@ public class NetworkNodeCraftingMonitor extends NetworkNode implements ICrafting
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Filter> getFilters() {
|
||||
public List<IFilter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
|
@@ -9,8 +9,8 @@ import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemUpgrade;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileExporter;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.IType;
|
||||
|
@@ -3,21 +3,21 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilter;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemValidatorBasic;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemPattern;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -31,6 +31,7 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
import net.minecraftforge.items.ItemHandlerHelper;
|
||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
import net.minecraftforge.items.wrapper.InvWrapper;
|
||||
@@ -95,8 +96,8 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
return slot == 0 ? super.insertItem(slot, stack, simulate) : stack;
|
||||
}
|
||||
};
|
||||
private List<Filter> filters = new ArrayList<>();
|
||||
private List<FilterTab> tabs = new ArrayList<>();
|
||||
private List<IFilter> filters = new ArrayList<>();
|
||||
private List<IGridTab> tabs = new ArrayList<>();
|
||||
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, new ItemHandlerListenerNetworkNode(this));
|
||||
|
||||
private GridType type;
|
||||
@@ -201,7 +202,18 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
|
||||
@Override
|
||||
public String getGuiTitle() {
|
||||
return getType() == GridType.FLUID ? "gui.refinedstorage:fluid_grid" : "gui.refinedstorage:grid";
|
||||
GridType type = getType();
|
||||
|
||||
switch (type) {
|
||||
case CRAFTING:
|
||||
return "gui.refinedstorage:crafting_grid";
|
||||
case PATTERN:
|
||||
return "gui.refinedstorage:pattern_grid";
|
||||
case FLUID:
|
||||
return "gui.refinedstorage:fluid_grid";
|
||||
default:
|
||||
return "gui.refinedstorage:grid";
|
||||
}
|
||||
}
|
||||
|
||||
public IItemHandler getPatterns() {
|
||||
@@ -209,17 +221,17 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemHandlerBase getFilter() {
|
||||
public IItemHandlerModifiable getFilter() {
|
||||
return filter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Filter> getFilters() {
|
||||
public List<IFilter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FilterTab> getTabs() {
|
||||
public List<IGridTab> getTabs() {
|
||||
return tabs;
|
||||
}
|
||||
|
||||
@@ -246,17 +258,23 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
|
||||
@Override
|
||||
public void onRecipeTransfer(EntityPlayer player, ItemStack[][] recipe) {
|
||||
if (network != null && getType() == GridType.CRAFTING && !network.getSecurityManager().hasPermission(Permission.EXTRACT, player)) {
|
||||
onRecipeTransfer(this, player, recipe);
|
||||
}
|
||||
|
||||
public static void onRecipeTransfer(IGrid grid, EntityPlayer player, ItemStack[][] recipe) {
|
||||
INetwork network = grid.getNetwork();
|
||||
|
||||
if (network != null && grid.getType() == GridType.CRAFTING && !network.getSecurityManager().hasPermission(Permission.EXTRACT, player)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// First try to empty the crafting matrix
|
||||
for (int i = 0; i < matrix.getSizeInventory(); ++i) {
|
||||
ItemStack slot = matrix.getStackInSlot(i);
|
||||
for (int i = 0; i < grid.getCraftingMatrix().getSizeInventory(); ++i) {
|
||||
ItemStack slot = grid.getCraftingMatrix().getStackInSlot(i);
|
||||
|
||||
if (!slot.isEmpty()) {
|
||||
// Only if we are a crafting grid. Pattern grids can just be emptied.
|
||||
if (getType() == GridType.CRAFTING) {
|
||||
if (grid.getType() == GridType.CRAFTING) {
|
||||
// If we are connected, try to insert into network. If it fails, stop.
|
||||
if (network != null) {
|
||||
if (network.insertItem(slot, slot.getCount(), true) != null) {
|
||||
@@ -272,17 +290,17 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
}
|
||||
}
|
||||
|
||||
matrix.setInventorySlotContents(i, ItemStack.EMPTY);
|
||||
grid.getCraftingMatrix().setInventorySlotContents(i, ItemStack.EMPTY);
|
||||
}
|
||||
}
|
||||
|
||||
// Now let's fill the matrix
|
||||
for (int i = 0; i < matrix.getSizeInventory(); ++i) {
|
||||
for (int i = 0; i < grid.getCraftingMatrix().getSizeInventory(); ++i) {
|
||||
if (recipe[i] != null) {
|
||||
ItemStack[] possibilities = recipe[i];
|
||||
|
||||
// If we are a crafting grid
|
||||
if (getType() == GridType.CRAFTING) {
|
||||
if (grid.getType() == GridType.CRAFTING) {
|
||||
boolean found = false;
|
||||
|
||||
// If we are connected, first try to get the possibilities from the network
|
||||
@@ -291,7 +309,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
ItemStack took = network.extractItem(possibility, 1, IComparer.COMPARE_NBT | IComparer.COMPARE_STRIP_NBT | (possibility.getItem().isDamageable() ? 0 : IComparer.COMPARE_DAMAGE), false);
|
||||
|
||||
if (took != null) {
|
||||
matrix.setInventorySlotContents(i, StackUtils.nullToEmpty(took));
|
||||
grid.getCraftingMatrix().setInventorySlotContents(i, StackUtils.nullToEmpty(took));
|
||||
|
||||
found = true;
|
||||
|
||||
@@ -305,7 +323,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
for (ItemStack possibility : possibilities) {
|
||||
for (int j = 0; j < player.inventory.getSizeInventory(); ++j) {
|
||||
if (API.instance().getComparer().isEqual(possibility, player.inventory.getStackInSlot(j), IComparer.COMPARE_NBT | IComparer.COMPARE_STRIP_NBT | (possibility.getItem().isDamageable() ? 0 : IComparer.COMPARE_DAMAGE))) {
|
||||
matrix.setInventorySlotContents(i, ItemHandlerHelper.copyStackWithSize(player.inventory.getStackInSlot(j), 1));
|
||||
grid.getCraftingMatrix().setInventorySlotContents(i, ItemHandlerHelper.copyStackWithSize(player.inventory.getStackInSlot(j), 1));
|
||||
|
||||
player.inventory.decrStackSize(j, 1);
|
||||
|
||||
@@ -320,9 +338,9 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (getType() == GridType.PATTERN) {
|
||||
} else if (grid.getType() == GridType.PATTERN) {
|
||||
// If we are a pattern grid we can just set the slot
|
||||
matrix.setInventorySlotContents(i, possibilities[0]);
|
||||
grid.getCraftingMatrix().setInventorySlotContents(i, possibilities[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -345,9 +363,17 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
|
||||
@Override
|
||||
public void onCrafted(EntityPlayer player) {
|
||||
NonNullList<ItemStack> remainder = CraftingManager.getRemainingItems(matrix, world);
|
||||
onCrafted(this, world, player);
|
||||
}
|
||||
|
||||
for (int i = 0; i < matrix.getSizeInventory(); ++i) {
|
||||
public static void onCrafted(IGrid grid, World world, EntityPlayer player) {
|
||||
NonNullList<ItemStack> remainder = CraftingManager.getRemainingItems(grid.getCraftingMatrix(), world);
|
||||
|
||||
INetwork network = grid.getNetwork();
|
||||
|
||||
InventoryCrafting matrix = grid.getCraftingMatrix();
|
||||
|
||||
for (int i = 0; i < grid.getCraftingMatrix().getSizeInventory(); ++i) {
|
||||
ItemStack slot = matrix.getStackInSlot(i);
|
||||
|
||||
if (i < remainder.size() && !remainder.get(i).isEmpty()) {
|
||||
@@ -374,27 +400,33 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
}
|
||||
}
|
||||
|
||||
onCraftingMatrixChanged();
|
||||
grid.onCraftingMatrixChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCraftedShift(EntityPlayer player) {
|
||||
onCraftedShift(this, player);
|
||||
}
|
||||
|
||||
public static void onCraftedShift(IGrid grid, EntityPlayer player) {
|
||||
List<ItemStack> craftedItemsList = new ArrayList<>();
|
||||
int craftedItems = 0;
|
||||
ItemStack crafted = result.getStackInSlot(0);
|
||||
ItemStack crafted = grid.getCraftingResult().getStackInSlot(0);
|
||||
|
||||
while (true) {
|
||||
onCrafted(player);
|
||||
grid.onCrafted(player);
|
||||
|
||||
craftedItemsList.add(crafted.copy());
|
||||
|
||||
craftedItems += crafted.getCount();
|
||||
|
||||
if (!API.instance().getComparer().isEqual(crafted, result.getStackInSlot(0)) || craftedItems + crafted.getCount() > crafted.getMaxStackSize()) {
|
||||
if (!API.instance().getComparer().isEqual(crafted, grid.getCraftingResult().getStackInSlot(0)) || craftedItems + crafted.getCount() > crafted.getMaxStackSize()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
INetwork network = grid.getNetwork();
|
||||
|
||||
for (ItemStack craftedItem : craftedItemsList) {
|
||||
if (!player.inventory.addItemStackToInventory(craftedItem.copy())) {
|
||||
ItemStack remainder = network == null ? craftedItem : network.insertItem(craftedItem, craftedItem.getCount(), false);
|
||||
@@ -405,7 +437,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
}
|
||||
}
|
||||
|
||||
FMLCommonHandler.instance().firePlayerCraftingEvent(player, ItemHandlerHelper.copyStackWithSize(crafted, craftedItems), matrix);
|
||||
FMLCommonHandler.instance().firePlayerCraftingEvent(player, ItemHandlerHelper.copyStackWithSize(crafted, craftedItems), grid.getCraftingMatrix());
|
||||
}
|
||||
|
||||
public void onCreatePattern() {
|
||||
@@ -531,11 +563,6 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
TileDataManager.setParameter(TileGrid.TAB_SELECTED, tab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileDataParameter<Integer, ?> getRedstoneModeConfig() {
|
||||
return TileGrid.REDSTONE_MODE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasConnectivityState() {
|
||||
return true;
|
||||
|
@@ -1,8 +1,9 @@
|
||||
package com.raoulvdberge.refinedstorage.item.filter;
|
||||
package com.raoulvdberge.refinedstorage.apiimpl.util;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class Filter {
|
||||
public class Filter implements IFilter {
|
||||
private ItemStack stack;
|
||||
private int compare;
|
||||
private int mode;
|
||||
@@ -15,18 +16,22 @@ public class Filter {
|
||||
this.modFilter = modFilter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getStack() {
|
||||
return stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCompare() {
|
||||
return compare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isModFilter() {
|
||||
return modFilter;
|
||||
}
|
@@ -1,6 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.block;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||
import net.minecraft.block.properties.PropertyEnum;
|
||||
|
@@ -1,15 +1,15 @@
|
||||
package com.raoulvdberge.refinedstorage.container;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.IStorageDiskProvider;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.container.slot.*;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.IGridDisplay;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.IPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGrid;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.container.slot;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.SlotCrafting;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.gui;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageFilterUpdate;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
|
@@ -1,6 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.gui;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter;
|
||||
import com.raoulvdberge.refinedstorage.container.*;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GridDisplayDummy;
|
||||
@@ -10,15 +12,10 @@ import com.raoulvdberge.refinedstorage.integration.mcmp.RSMCMPAddon;
|
||||
import com.raoulvdberge.refinedstorage.tile.*;
|
||||
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.WirelessCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.TilePortableGrid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@@ -160,31 +157,20 @@ public class GuiHandler implements IGuiHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private IGrid getGrid(EntityPlayer player, int hand, int controllerDimension, int type) {
|
||||
ItemStack stack = player.getHeldItem(EnumHand.values()[hand]);
|
||||
|
||||
switch (type) {
|
||||
case WirelessGrid.GRID_TYPE:
|
||||
return new WirelessGrid(controllerDimension, stack);
|
||||
case WirelessFluidGrid.GRID_TYPE:
|
||||
return new WirelessFluidGrid(controllerDimension, stack);
|
||||
case PortableGrid.GRID_TYPE:
|
||||
return new PortableGrid(player, stack);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
private IGrid getGrid(EntityPlayer player, int hand, int controllerDimension, int id) {
|
||||
return API.instance().getWirelessGridRegistry().get(id).create(player, EnumHand.values()[hand], controllerDimension);
|
||||
}
|
||||
|
||||
private GuiGrid getGridGui(EntityPlayer player, int hand, int controllerDimension, int type) {
|
||||
IGrid grid = getGrid(player, hand, controllerDimension, type);
|
||||
private GuiGrid getGridGui(EntityPlayer player, int hand, int controllerDimension, int id) {
|
||||
IGrid grid = getGrid(player, hand, controllerDimension, id);
|
||||
|
||||
GuiGrid gui = new GuiGrid(null, grid);
|
||||
gui.inventorySlots = new ContainerGrid(grid, gui, null, player);
|
||||
return gui;
|
||||
}
|
||||
|
||||
private ContainerGrid getGridContainer(EntityPlayer player, int hand, int controllerDimension, int type) {
|
||||
return new ContainerGrid(getGrid(player, hand, controllerDimension, type), new GridDisplayDummy(), null, player);
|
||||
private ContainerGrid getGridContainer(EntityPlayer player, int hand, int controllerDimension, int id) {
|
||||
return new ContainerGrid(getGrid(player, hand, controllerDimension, id), new GridDisplayDummy(), null, player);
|
||||
}
|
||||
|
||||
private WirelessCraftingMonitor getCraftingMonitor(EntityPlayer player, int hand, int controllerDimension) {
|
||||
|
@@ -5,9 +5,11 @@ import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.Multimaps;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSKeyBindings;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
|
||||
import com.raoulvdberge.refinedstorage.gui.Scrollbar;
|
||||
@@ -22,12 +24,11 @@ import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
|
||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.*;
|
||||
import com.raoulvdberge.refinedstorage.integration.jei.IntegrationJEI;
|
||||
import com.raoulvdberge.refinedstorage.integration.jei.RSJEIPlugin;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.network.*;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.IPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.TilePortableGrid;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import net.minecraft.client.gui.GuiScreen;
|
||||
@@ -124,8 +125,8 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
||||
|
||||
this.scrollbar = new Scrollbar(174, getTabDelta() + getHeader(), 12, (getVisibleRows() * 18) - 2);
|
||||
|
||||
if (grid.getRedstoneModeConfig() != null) {
|
||||
addSideButton(new SideButtonRedstoneMode(this, grid.getRedstoneModeConfig()));
|
||||
if (grid instanceof NetworkNodeGrid || grid instanceof TilePortableGrid) {
|
||||
addSideButton(new SideButtonRedstoneMode(this, grid instanceof NetworkNodeGrid ? TileGrid.REDSTONE_MODE : TilePortableGrid.REDSTONE_MODE));
|
||||
}
|
||||
|
||||
this.konamiOffsetsX = new int[9 * getVisibleRows()];
|
||||
@@ -342,7 +343,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
||||
return !grid.getTabs().isEmpty() ? ContainerGrid.TAB_HEIGHT - 4 : 0;
|
||||
}
|
||||
|
||||
private void drawTab(FilterTab tab, boolean foregroundLayer, int x, int y, int mouseX, int mouseY) {
|
||||
private void drawTab(IGridTab tab, boolean foregroundLayer, int x, int y, int mouseX, int mouseY) {
|
||||
int i = grid.getTabs().indexOf(tab);
|
||||
boolean selected = i == grid.getTabSelected();
|
||||
|
||||
@@ -392,7 +393,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
tabHovering = -1;
|
||||
|
||||
for (FilterTab tab : grid.getTabs()) {
|
||||
for (IGridTab tab : grid.getTabs()) {
|
||||
drawTab(tab, false, x, y, mouseX, mouseY);
|
||||
}
|
||||
|
||||
@@ -426,7 +427,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
||||
|
||||
drawTexture(x, yy, 0, getHeader() + (18 * 3), screenWidth - (grid.getType() != GridType.FLUID ? 34 : 0), getFooter());
|
||||
|
||||
for (FilterTab tab : grid.getTabs()) {
|
||||
for (IGridTab tab : grid.getTabs()) {
|
||||
drawTab(tab, true, x, y, mouseX, mouseY);
|
||||
}
|
||||
|
||||
|
@@ -1,19 +1,19 @@
|
||||
package com.raoulvdberge.refinedstorage.gui.grid.filtering;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemFilter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public class GridFilterFilter implements Predicate<IGridStack> {
|
||||
private List<Filter> filters;
|
||||
private List<IFilter> filters;
|
||||
|
||||
public GridFilterFilter(List<Filter> filters) {
|
||||
public GridFilterFilter(List<IFilter> filters) {
|
||||
this.filters = filters;
|
||||
}
|
||||
|
||||
@@ -22,14 +22,14 @@ public class GridFilterFilter implements Predicate<IGridStack> {
|
||||
return accepts(filters, ((GridStackItem) stack).getStack(), stack.getModId());
|
||||
}
|
||||
|
||||
public static boolean accepts(List<Filter> filters, ItemStack stack, String stackModId) {
|
||||
public static boolean accepts(List<IFilter> filters, ItemStack stack, String stackModId) {
|
||||
if (filters.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
int lastMode = ItemFilter.MODE_WHITELIST;
|
||||
|
||||
for (Filter filter : filters) {
|
||||
for (IFilter filter : filters) {
|
||||
lastMode = filter.getMode();
|
||||
|
||||
if (filter.isModFilter()) {
|
||||
|
@@ -1,16 +1,16 @@
|
||||
package com.raoulvdberge.refinedstorage.gui.grid.filtering;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
public final class GridFilterParser {
|
||||
public static List<Predicate<IGridStack>> getFilters(IGrid grid, String query, List<Filter> filters) {
|
||||
public static List<Predicate<IGridStack>> getFilters(IGrid grid, String query, List<IFilter> filters) {
|
||||
List<Predicate<IGridStack>> gridFilters = new LinkedList<>();
|
||||
|
||||
for (String part : query.toLowerCase().trim().split(" ")) {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
|
||||
public class SideButtonGridSize extends SideButton {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
|
||||
public class SideButtonGridSortingDirection extends SideButton {
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
|
||||
public class SideButtonGridSortingType extends SideButton {
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.gui.sidebutton;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
|
||||
public class SideButtonGridViewType extends SideButton {
|
||||
|
@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.integration.craftingtweaks;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.base.Predicate;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.slot.SlotGridCrafting;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
@@ -1,12 +1,12 @@
|
||||
package com.raoulvdberge.refinedstorage.integration.jei;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageGridProcessingTransfer;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageGridTransfer;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import mezz.jei.api.gui.IGuiIngredient;
|
||||
import mezz.jei.api.gui.IRecipeLayout;
|
||||
import mezz.jei.api.recipe.transfer.IRecipeTransferError;
|
||||
|
@@ -1,10 +1,12 @@
|
||||
package com.raoulvdberge.refinedstorage.inventory;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.GridTab;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.util.Filter;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemFilter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
@@ -15,10 +17,10 @@ import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class ItemHandlerFilter extends ItemHandlerBase {
|
||||
private List<Filter> filters;
|
||||
private List<FilterTab> tabs;
|
||||
private List<IFilter> filters;
|
||||
private List<IGridTab> tabs;
|
||||
|
||||
public ItemHandlerFilter(List<Filter> filters, List<FilterTab> tabs, @Nullable Consumer<Integer> listener) {
|
||||
public ItemHandlerFilter(List<IFilter> filters, List<IGridTab> tabs, @Nullable Consumer<Integer> listener) {
|
||||
super(4, listener, new ItemValidatorBasic(RSItems.FILTER));
|
||||
|
||||
this.filters = filters;
|
||||
@@ -42,7 +44,7 @@ public class ItemHandlerFilter extends ItemHandlerBase {
|
||||
|
||||
ItemHandlerFilterItems items = new ItemHandlerFilterItems(filter);
|
||||
|
||||
List<Filter> filters = new ArrayList<>();
|
||||
List<IFilter> filters = new ArrayList<>();
|
||||
|
||||
for (ItemStack item : items.getFilteredItems()) {
|
||||
if (!item.isEmpty()) {
|
||||
@@ -55,7 +57,7 @@ public class ItemHandlerFilter extends ItemHandlerBase {
|
||||
if (icon.isEmpty()) {
|
||||
this.filters.addAll(filters);
|
||||
} else {
|
||||
tabs.add(new FilterTab(filters, ItemFilter.getName(filter), icon));
|
||||
tabs.add(new GridTab(filters, ItemFilter.getName(filter), icon));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage.inventory;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemFilter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.items.ItemStackHandler;
|
||||
|
||||
|
@@ -10,13 +10,17 @@ public abstract class ItemBase extends Item {
|
||||
public ItemBase(String name) {
|
||||
this.name = name;
|
||||
|
||||
setRegistryName(RS.ID, name);
|
||||
setRegistryName(getDomain(), name);
|
||||
setCreativeTab(RS.INSTANCE.tab);
|
||||
}
|
||||
|
||||
protected String getDomain() {
|
||||
return RS.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
return "item." + RS.ID + ":" + name;
|
||||
return "item." + getDomain() + ":" + name;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,8 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.item;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGrid;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
@@ -28,7 +27,7 @@ public class ItemBlockPortableGrid extends ItemBlockEnergyItem {
|
||||
ItemStack stack = player.getHeldItem(hand);
|
||||
|
||||
if (!world.isRemote) {
|
||||
player.openGui(RS.INSTANCE, RSGui.WIRELESS_GRID, player.getEntityWorld(), hand.ordinal(), 0, PortableGrid.GRID_TYPE);
|
||||
API.instance().openWirelessGrid(player, hand, world.provider.getDimension(), PortableGrid.ID);
|
||||
}
|
||||
|
||||
return ActionResult.newResult(EnumActionResult.SUCCESS, stack);
|
||||
|
@@ -1,12 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.item.filter;
|
||||
package com.raoulvdberge.refinedstorage.item;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilterItems;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBase;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemPattern;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
@@ -10,6 +10,10 @@ import net.minecraft.item.ItemStack;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class ItemWirelessGrid extends ItemNetworkItem {
|
||||
public ItemWirelessGrid(String name) {
|
||||
super(name);
|
||||
}
|
||||
|
||||
public ItemWirelessGrid() {
|
||||
super("wireless_grid");
|
||||
}
|
||||
|
@@ -1,29 +0,0 @@
|
||||
package com.raoulvdberge.refinedstorage.item.filter;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class FilterTab {
|
||||
private List<Filter> filters;
|
||||
private String name;
|
||||
private ItemStack icon;
|
||||
|
||||
public FilterTab(List<Filter> filters, String name, ItemStack icon) {
|
||||
this.filters = filters;
|
||||
this.name = name;
|
||||
this.icon = icon;
|
||||
}
|
||||
|
||||
public List<Filter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public ItemStack getIcon() {
|
||||
return icon;
|
||||
}
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemFilter;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraftforge.fml.common.network.ByteBufUtils;
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.inventory.Container;
|
||||
|
@@ -1,6 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
@@ -1,10 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.network;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
|
@@ -4,6 +4,7 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.RSKeyBindings;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.block.*;
|
||||
import com.raoulvdberge.refinedstorage.gui.GuiCraftingPreview;
|
||||
|
@@ -11,6 +11,9 @@ import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPrev
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementItemStack;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.registry.CraftingTaskFactory;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeListener;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless.WirelessGridFactoryPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless.WirelessGridFactoryWirelessFluidGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.wireless.WirelessGridFactoryWirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerFluids;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerItems;
|
||||
@@ -27,6 +30,9 @@ import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.ContainerListener;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessFluidGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.WirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.PortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.portable.TilePortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import net.minecraft.block.Block;
|
||||
@@ -214,6 +220,10 @@ public class ProxyCommon {
|
||||
|
||||
GameRegistry.addSmelting(Items.QUARTZ, new ItemStack(RSItems.SILICON), 0.5f);
|
||||
|
||||
WirelessGrid.ID = API.instance().getWirelessGridRegistry().add(new WirelessGridFactoryWirelessGrid());
|
||||
WirelessFluidGrid.ID = API.instance().getWirelessGridRegistry().add(new WirelessGridFactoryWirelessFluidGrid());
|
||||
PortableGrid.ID = API.instance().getWirelessGridRegistry().add(new WirelessGridFactoryPortableGrid());
|
||||
|
||||
CraftingHelper.register(new ResourceLocation(RS.ID + ":enchanted_book"), new IIngredientFactory() {
|
||||
@Nonnull
|
||||
@Override
|
||||
|
@@ -6,8 +6,10 @@ import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingManager;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeGraph;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
|
||||
@@ -21,8 +23,8 @@ import com.raoulvdberge.refinedstorage.api.storage.IStorageCache;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.CraftingManager;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeGraph;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.FluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.ItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler.FluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler.ItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.item.NetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.externalstorage.StorageFluidExternal;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.externalstorage.StorageItemExternal;
|
||||
@@ -31,7 +33,6 @@ import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageCacheFluid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageCacheItem;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockController;
|
||||
import com.raoulvdberge.refinedstorage.block.ControllerType;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.capability.CapabilityNetworkNodeProxy;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
@@ -42,7 +43,6 @@ import com.raoulvdberge.refinedstorage.tile.config.IRedstoneConfigurable;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.RSSerializers;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
|
@@ -4,7 +4,7 @@ import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemFilter;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.network.datasync.DataSerializers;
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.tile.craftingmonitor;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@@ -22,7 +22,7 @@ public interface ICraftingMonitor {
|
||||
|
||||
List<ICraftingTask> getTasks();
|
||||
|
||||
List<Filter> getFilters();
|
||||
List<IFilter> getFilters();
|
||||
|
||||
ItemHandlerBase getFilter();
|
||||
|
||||
|
@@ -2,10 +2,10 @@ package com.raoulvdberge.refinedstorage.tile.craftingmonitor;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageWirelessCraftingMonitorViewAutomated;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileController;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
@@ -28,7 +28,7 @@ public class WirelessCraftingMonitor implements ICraftingMonitor {
|
||||
private BlockPos controller;
|
||||
private boolean viewAutomated;
|
||||
|
||||
private List<Filter> filters = new ArrayList<>();
|
||||
private List<IFilter> filters = new ArrayList<>();
|
||||
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, new ArrayList<>(), null) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
@@ -95,7 +95,7 @@ public class WirelessCraftingMonitor implements ICraftingMonitor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Filter> getFilters() {
|
||||
public List<IFilter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package com.raoulvdberge.refinedstorage.tile.grid;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.container.ContainerGrid;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileNode;
|
||||
|
@@ -2,14 +2,13 @@ package com.raoulvdberge.refinedstorage.tile.grid;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessFluidGrid;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageWirelessFluidGridSettingsUpdate;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.InventoryCraftResult;
|
||||
@@ -19,13 +18,14 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class WirelessFluidGrid implements IGrid {
|
||||
public static final int GRID_TYPE = 1;
|
||||
public static int ID;
|
||||
|
||||
private ItemStack stack;
|
||||
|
||||
@@ -154,22 +154,17 @@ public class WirelessFluidGrid implements IGrid {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Filter> getFilters() {
|
||||
public List<IFilter> getFilters() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FilterTab> getTabs() {
|
||||
public List<IGridTab> getTabs() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemHandlerBase getFilter() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileDataParameter<Integer, ?> getRedstoneModeConfig() {
|
||||
public IItemHandlerModifiable getFilter() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@@ -2,15 +2,14 @@ package com.raoulvdberge.refinedstorage.tile.grid;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageGridSettingsUpdate;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -22,17 +21,18 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class WirelessGrid implements IGrid {
|
||||
public static final int GRID_TYPE = 0;
|
||||
public static int ID;
|
||||
|
||||
private ItemStack stack;
|
||||
protected ItemStack stack;
|
||||
|
||||
private int controllerDimension;
|
||||
protected int controllerDimension;
|
||||
private BlockPos controller;
|
||||
|
||||
private int viewType;
|
||||
@@ -42,8 +42,8 @@ public class WirelessGrid implements IGrid {
|
||||
private int tabSelected;
|
||||
private int size;
|
||||
|
||||
private List<Filter> filters = new ArrayList<>();
|
||||
private List<FilterTab> tabs = new ArrayList<>();
|
||||
private List<IFilter> filters = new ArrayList<>();
|
||||
private List<IGridTab> tabs = new ArrayList<>();
|
||||
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, null) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
@@ -100,7 +100,7 @@ public class WirelessGrid implements IGrid {
|
||||
|
||||
@Override
|
||||
public String getGuiTitle() {
|
||||
return "gui.refinedstorage:wireless_grid";
|
||||
return "gui.refinedstorage:grid";
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -188,25 +188,20 @@ public class WirelessGrid implements IGrid {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Filter> getFilters() {
|
||||
public List<IFilter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FilterTab> getTabs() {
|
||||
public List<IGridTab> getTabs() {
|
||||
return tabs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemHandlerBase getFilter() {
|
||||
public IItemHandlerModifiable getFilter() {
|
||||
return filter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileDataParameter<Integer, ?> getRedstoneModeConfig() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InventoryCrafting getCraftingMatrix() {
|
||||
return null;
|
||||
|
@@ -5,6 +5,7 @@ import com.raoulvdberge.refinedstorage.api.storage.IStorageDisk;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
@@ -23,5 +24,5 @@ public interface IPortableGrid {
|
||||
|
||||
ItemHandlerBase getDisk();
|
||||
|
||||
ItemHandlerBase getFilter();
|
||||
IItemHandlerModifiable getFilter();
|
||||
}
|
||||
|
@@ -2,27 +2,26 @@ package com.raoulvdberge.refinedstorage.tile.grid.portable;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.IStorageDisk;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.IStorageDiskProvider;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.StorageDiskType;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.ItemGridHandlerPortable;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler.ItemGridHandlerPortable;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.diskdrive.NetworkNodeDiskDrive;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageCacheItemPortable;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageDiskItemPortable;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilter;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemEnergyItem;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageGridSettingsUpdate;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@@ -33,6 +32,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.energy.CapabilityEnergy;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
@@ -41,7 +41,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class PortableGrid implements IGrid, IPortableGrid {
|
||||
public static final int GRID_TYPE = 2;
|
||||
public static int ID;
|
||||
|
||||
@Nullable
|
||||
private IStorageDisk<ItemStack> storage;
|
||||
@@ -57,8 +57,8 @@ public class PortableGrid implements IGrid, IPortableGrid {
|
||||
private int tabSelected;
|
||||
private int size;
|
||||
|
||||
private List<Filter> filters = new ArrayList<>();
|
||||
private List<FilterTab> tabs = new ArrayList<>();
|
||||
private List<IFilter> filters = new ArrayList<>();
|
||||
private List<IGridTab> tabs = new ArrayList<>();
|
||||
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, null) {
|
||||
@Override
|
||||
protected void onContentsChanged(int slot) {
|
||||
@@ -290,25 +290,20 @@ public class PortableGrid implements IGrid, IPortableGrid {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Filter> getFilters() {
|
||||
public List<IFilter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FilterTab> getTabs() {
|
||||
public List<IGridTab> getTabs() {
|
||||
return tabs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemHandlerBase getFilter() {
|
||||
public IItemHandlerModifiable getFilter() {
|
||||
return filter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileDataParameter<Integer, ?> getRedstoneModeConfig() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InventoryCrafting getCraftingMatrix() {
|
||||
return null;
|
||||
|
@@ -3,15 +3,18 @@ package com.raoulvdberge.refinedstorage.tile.grid.portable;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.GridType;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.*;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.ItemGridHandlerPortable;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IFilter;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler.ItemGridHandlerPortable;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.diskdrive.NetworkNodeDiskDrive;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageCacheItemPortable;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageDiskItemPortable;
|
||||
import com.raoulvdberge.refinedstorage.block.BlockPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.block.GridType;
|
||||
import com.raoulvdberge.refinedstorage.block.PortableGridDiskState;
|
||||
import com.raoulvdberge.refinedstorage.block.PortableGridType;
|
||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
||||
@@ -23,14 +26,11 @@ import com.raoulvdberge.refinedstorage.inventory.ItemHandlerStorage;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemBlockPortableGrid;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemEnergyItem;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.Filter;
|
||||
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileBase;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.IRedstoneConfigurable;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import com.raoulvdberge.refinedstorage.tile.grid.IGrid;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
||||
import net.minecraft.client.Minecraft;
|
||||
@@ -46,6 +46,7 @@ import net.minecraftforge.energy.CapabilityEnergy;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
@@ -111,8 +112,8 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid,
|
||||
private int tabSelected;
|
||||
private int size;
|
||||
|
||||
private List<Filter> filters = new ArrayList<>();
|
||||
private List<FilterTab> tabs = new ArrayList<>();
|
||||
private List<IFilter> filters = new ArrayList<>();
|
||||
private List<IGridTab> tabs = new ArrayList<>();
|
||||
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs, new ItemHandlerListenerTile(this));
|
||||
private ItemHandlerBase disk = new ItemHandlerBase(1, new ItemHandlerListenerTile(this), s -> NetworkNodeDiskDrive.VALIDATOR_STORAGE_DISK.test(s) && ((IStorageDiskProvider) s.getItem()).create(s).getType() == StorageDiskType.ITEMS) {
|
||||
@Override
|
||||
@@ -353,25 +354,20 @@ public class TilePortableGrid extends TileBase implements IGrid, IPortableGrid,
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Filter> getFilters() {
|
||||
public List<IFilter> getFilters() {
|
||||
return filters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<FilterTab> getTabs() {
|
||||
public List<IGridTab> getTabs() {
|
||||
return tabs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemHandlerBase getFilter() {
|
||||
public IItemHandlerModifiable getFilter() {
|
||||
return filter;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TileDataParameter<Integer, TilePortableGrid> getRedstoneModeConfig() {
|
||||
return REDSTONE_MODE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public InventoryCrafting getCraftingMatrix() {
|
||||
return null;
|
||||
|
@@ -6,8 +6,9 @@ gui.refinedstorage:controller.0=Controller
|
||||
gui.refinedstorage:controller.1=Creative Controller
|
||||
gui.refinedstorage:grid=Grid
|
||||
gui.refinedstorage:grid.craft=Craft
|
||||
gui.refinedstorage:crafting_grid=Crafting Grid
|
||||
gui.refinedstorage:pattern_grid=Pattern Grid
|
||||
gui.refinedstorage:grid.pattern_create=Create Pattern
|
||||
gui.refinedstorage:wireless_grid=Wireless Grid
|
||||
gui.refinedstorage:fluid_grid=Fluid Grid
|
||||
gui.refinedstorage:disk_drive=Drive
|
||||
gui.refinedstorage:disk_drive.disks=Disks
|
||||
|
Reference in New Issue
Block a user