Rename "Grid Filter" to "Filter"

This commit is contained in:
raoulvdberge
2017-01-29 15:13:31 +01:00
parent 2a2a14a7ce
commit 206ba7d809
30 changed files with 234 additions and 213 deletions

View File

@@ -9,6 +9,7 @@ import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
@@ -56,4 +57,9 @@ public final class RS {
public void postInit(FMLPostInitializationEvent e) {
PROXY.postInit(e);
}
@EventHandler
public void onMissingMapping(FMLMissingMappingsEvent e) {
PROXY.fixMappings(e);
}
}

View File

@@ -18,7 +18,7 @@ public final class RSGui {
public static final int WIRELESS_TRANSMITTER = 14;
public static final int CRAFTER = 15;
public static final int PROCESSING_PATTERN_ENCODER = 16;
public static final int GRID_FILTER = 17;
public static final int FILTER = 17;
public static final int NETWORK_TRANSMITTER = 18;
public static final int FLUID_INTERFACE = 19;
public static final int EXTERNAL_STORAGE = 20;

View File

@@ -1,6 +1,7 @@
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();
@@ -15,7 +16,7 @@ public final class RSItems {
public static final ItemPattern PATTERN = new ItemPattern();
public static final ItemUpgrade UPGRADE = new ItemUpgrade();
public static final ItemStorageHousing STORAGE_HOUSING = new ItemStorageHousing();
public static final ItemGridFilter GRID_FILTER = new ItemGridFilter();
public static final ItemFilter FILTER = new ItemFilter();
public static final ItemNetworkCard NETWORK_CARD = new ItemNetworkCard();
public static final ItemFluidStorageDisk FLUID_STORAGE_DISK = new ItemFluidStorageDisk();
public static final ItemFluidStoragePart FLUID_STORAGE_PART = new ItemFluidStoragePart();

View File

@@ -9,13 +9,13 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.block.BlockGrid;
import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilterInGrid;
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;
@@ -81,9 +81,9 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
private InventoryCraftResult result = new InventoryCraftResult();
private ItemHandlerBasic patterns = new ItemHandlerBasic(2, new ItemHandlerListenerNetworkNode(this), new ItemValidatorBasic(RSItems.PATTERN));
private List<GridFilter> filters = new ArrayList<>();
private List<GridTab> tabs = new ArrayList<>();
private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filters, tabs);
private List<Filter> filters = new ArrayList<>();
private List<FilterTab> tabs = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs);
private EnumGridType type;
@@ -182,12 +182,12 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
}
@Override
public List<GridFilter> getFilters() {
public List<Filter> getFilters() {
return filters;
}
@Override
public List<GridTab> getTabs() {
public List<FilterTab> getTabs() {
return tabs;
}

View File

@@ -37,7 +37,7 @@ public abstract class ContainerBase extends Container {
int x = xInventory + i * 18;
int y = yInventory + 4 + (3 * 18);
if (i == player.inventory.currentItem && (ContainerBase.this instanceof ContainerGridFilter || (ContainerBase.this instanceof ContainerGrid && ((ContainerGrid) ContainerBase.this).getGrid() instanceof WirelessGrid))) {
if (i == player.inventory.currentItem && (ContainerBase.this instanceof ContainerFilter || (ContainerBase.this instanceof ContainerGrid && ((ContainerGrid) ContainerBase.this).getGrid() instanceof WirelessGrid))) {
addSlotToContainer(new SlotDisabled(player.inventory, id, x, y));
} else {
addSlotToContainer(new Slot(player.inventory, id, x, y));

View File

@@ -1,16 +1,16 @@
package com.raoulvdberge.refinedstorage.container;
import com.raoulvdberge.refinedstorage.container.slot.SlotFilter;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilter;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilterIcon;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilterIcon;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFilterItems;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerGridFilter extends ContainerBase {
public class ContainerFilter extends ContainerBase {
private ItemStack stack;
public ContainerGridFilter(EntityPlayer player, ItemStack stack) {
public ContainerFilter(EntityPlayer player, ItemStack stack) {
super(null, player);
this.stack = stack;
@@ -18,7 +18,7 @@ public class ContainerGridFilter extends ContainerBase {
int y = 20;
int x = 8;
ItemHandlerGridFilter filter = new ItemHandlerGridFilter(stack);
ItemHandlerFilterItems filter = new ItemHandlerFilterItems(stack);
for (int i = 0; i < 27; ++i) {
addSlotToContainer(new SlotFilter(filter, i, x, y));
@@ -31,7 +31,7 @@ public class ContainerGridFilter extends ContainerBase {
}
}
addSlotToContainer(new SlotFilter(new ItemHandlerGridFilterIcon(stack), 0, 8, 117));
addSlotToContainer(new SlotFilter(new ItemHandlerFilterIcon(stack), 0, 8, 117));
addPlayerInventory(8, 149);
}

View File

@@ -2,16 +2,16 @@ package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerGridFilter;
import com.raoulvdberge.refinedstorage.item.ItemGridFilter;
import com.raoulvdberge.refinedstorage.network.MessageGridFilterUpdate;
import com.raoulvdberge.refinedstorage.container.ContainerFilter;
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
import com.raoulvdberge.refinedstorage.network.MessageFilterUpdate;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
import net.minecraftforge.fml.client.config.GuiCheckBox;
import java.io.IOException;
public class GuiGridFilter extends GuiBase {
public class GuiFilter extends GuiBase {
private int compare;
private int mode;
private boolean modFilter;
@@ -24,21 +24,21 @@ public class GuiGridFilter extends GuiBase {
private GuiButton toggleMode;
private GuiTextField nameField;
public GuiGridFilter(ContainerGridFilter container) {
public GuiFilter(ContainerFilter container) {
super(container, 176, 231);
this.compare = ItemGridFilter.getCompare(container.getStack());
this.mode = ItemGridFilter.getMode(container.getStack());
this.modFilter = ItemGridFilter.isModFilter(container.getStack());
this.name = ItemGridFilter.getName(container.getStack());
this.compare = ItemFilter.getCompare(container.getStack());
this.mode = ItemFilter.getMode(container.getStack());
this.modFilter = ItemFilter.isModFilter(container.getStack());
this.name = ItemFilter.getName(container.getStack());
}
@Override
public void init(int x, int y) {
compareDamage = addCheckBox(x + 7, y + 77, t("gui.refinedstorage:grid_filter.compare_damage"), (compare & IComparer.COMPARE_DAMAGE) == IComparer.COMPARE_DAMAGE);
compareNBT = addCheckBox(x + 7 + compareDamage.getButtonWidth() + 4, y + 77, t("gui.refinedstorage:grid_filter.compare_nbt"), (compare & IComparer.COMPARE_NBT) == IComparer.COMPARE_NBT);
compareOredict = addCheckBox(x + 7 + compareDamage.getButtonWidth() + 4 + compareNBT.getButtonWidth() + 4, y + 77, t("gui.refinedstorage:grid_filter.compare_oredict"), (compare & IComparer.COMPARE_OREDICT) == IComparer.COMPARE_OREDICT);
toggleModFilter = addCheckBox(0, y + 71 + 25, t("gui.refinedstorage:grid_filter.mod_filter"), modFilter);
compareDamage = addCheckBox(x + 7, y + 77, t("gui.refinedstorage:filter.compare_damage"), (compare & IComparer.COMPARE_DAMAGE) == IComparer.COMPARE_DAMAGE);
compareNBT = addCheckBox(x + 7 + compareDamage.getButtonWidth() + 4, y + 77, t("gui.refinedstorage:filter.compare_nbt"), (compare & IComparer.COMPARE_NBT) == IComparer.COMPARE_NBT);
compareOredict = addCheckBox(x + 7 + compareDamage.getButtonWidth() + 4 + compareNBT.getButtonWidth() + 4, y + 77, t("gui.refinedstorage:filter.compare_oredict"), (compare & IComparer.COMPARE_OREDICT) == IComparer.COMPARE_OREDICT);
toggleModFilter = addCheckBox(0, y + 71 + 25, t("gui.refinedstorage:filter.mod_filter"), modFilter);
toggleMode = addButton(x + 7, y + 71 + 21, 0, 20, "");
updateModeButton(mode);
nameField = new GuiTextField(0, fontRendererObj, x + 34, y + 121, 137 - 6, fontRendererObj.FONT_HEIGHT);
@@ -51,7 +51,8 @@ public class GuiGridFilter extends GuiBase {
}
private void updateModeButton(int mode) {
String text = mode == ItemGridFilter.MODE_WHITELIST ? t("sidebutton.refinedstorage:mode.whitelist") : t("sidebutton.refinedstorage:mode.blacklist");
String text = mode == ItemFilter.MODE_WHITELIST ? t("sidebutton.refinedstorage:mode.whitelist") : t("sidebutton.refinedstorage:mode.blacklist");
toggleMode.setWidth(fontRendererObj.getStringWidth(text) + 12);
toggleMode.displayString = text;
toggleModFilter.xPosition = toggleMode.xPosition + toggleMode.getButtonWidth() + 4;
@@ -63,7 +64,7 @@ public class GuiGridFilter extends GuiBase {
@Override
public void drawBackground(int x, int y, int mouseX, int mouseY) {
bindTexture("gui/grid_filter.png");
bindTexture("gui/filter.png");
drawTexture(x, y, 0, 0, screenWidth, screenHeight);
@@ -72,7 +73,7 @@ public class GuiGridFilter extends GuiBase {
@Override
public void drawForeground(int mouseX, int mouseY) {
drawString(7, 7, t("gui.refinedstorage:grid_filter"));
drawString(7, 7, t("gui.refinedstorage:filter"));
drawString(7, 137, t("container.inventory"));
}
@@ -103,7 +104,8 @@ public class GuiGridFilter extends GuiBase {
} else if (button == compareOredict) {
compare ^= IComparer.COMPARE_OREDICT;
} else if (button == toggleMode) {
mode = mode == ItemGridFilter.MODE_WHITELIST ? ItemGridFilter.MODE_BLACKLIST : ItemGridFilter.MODE_WHITELIST;
mode = mode == ItemFilter.MODE_WHITELIST ? ItemFilter.MODE_BLACKLIST : ItemFilter.MODE_WHITELIST;
updateModeButton(mode);
} else if (button == toggleModFilter) {
modFilter = !modFilter;
@@ -113,6 +115,6 @@ public class GuiGridFilter extends GuiBase {
}
private void sendUpdate() {
RS.INSTANCE.network.sendToServer(new MessageGridFilterUpdate(compare, mode, modFilter, nameField.getText()));
RS.INSTANCE.network.sendToServer(new MessageFilterUpdate(compare, mode, modFilter, nameField.getText()));
}
}

View File

@@ -80,8 +80,8 @@ public class GuiHandler implements IGuiHandler {
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
if (ID == RSGui.WIRELESS_GRID) {
return getWirelessGridContainer(player, x, y, z);
} else if (ID == RSGui.GRID_FILTER) {
return getGridFilterContainer(player, x);
} else if (ID == RSGui.FILTER) {
return getFilterContainer(player, x);
} else if (ID == RSGui.WIRELESS_CRAFTING_MONITOR) {
return getWirelessCraftingMonitorContainer(player, x, y);
}
@@ -133,8 +133,8 @@ public class GuiHandler implements IGuiHandler {
return new GuiCrafter((ContainerCrafter) getContainer(ID, player, tile));
case RSGui.PROCESSING_PATTERN_ENCODER:
return new GuiProcessingPatternEncoder((ContainerProcessingPatternEncoder) getContainer(ID, player, tile), (TileProcessingPatternEncoder) tile);
case RSGui.GRID_FILTER:
return new GuiGridFilter(getGridFilterContainer(player, x));
case RSGui.FILTER:
return new GuiFilter(getFilterContainer(player, x));
case RSGui.NETWORK_TRANSMITTER:
return new GuiNetworkTransmitter((ContainerNetworkTransmitter) getContainer(ID, player, tile), (TileNetworkTransmitter) tile);
case RSGui.FLUID_INTERFACE:
@@ -193,7 +193,7 @@ public class GuiHandler implements IGuiHandler {
return new ContainerCraftingMonitor(getWirelessCraftingMonitor(player, hand, controllerDimension), player);
}
private ContainerGridFilter getGridFilterContainer(EntityPlayer player, int hand) {
return new ContainerGridFilter(player, player.getHeldItem(EnumHand.values()[hand]));
private ContainerFilter getFilterContainer(EntityPlayer player, int hand) {
return new ContainerFilter(player, player.getHeldItem(EnumHand.values()[hand]));
}
}

View File

@@ -19,6 +19,7 @@ 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;
@@ -309,7 +310,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
return !grid.getTabs().isEmpty() ? ContainerGrid.TAB_HEIGHT - 4 : 0;
}
private void drawTab(GridTab tab, boolean foregroundLayer, int x, int y, int mouseX, int mouseY) {
private void drawTab(FilterTab tab, boolean foregroundLayer, int x, int y, int mouseX, int mouseY) {
int i = grid.getTabs().indexOf(tab);
boolean selected = i == grid.getTabSelected();
@@ -359,7 +360,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
public void drawBackground(int x, int y, int mouseX, int mouseY) {
tabHovering = -1;
for (GridTab tab : grid.getTabs()) {
for (FilterTab tab : grid.getTabs()) {
drawTab(tab, false, x, y, mouseX, mouseY);
}
@@ -391,7 +392,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
drawTexture(x, yy, 0, getHeader() + (18 * 3), screenWidth - (grid.getType() != EnumGridType.FLUID ? 34 : 0), getFooter());
for (GridTab tab : grid.getTabs()) {
for (FilterTab tab : grid.getTabs()) {
drawTab(tab, true, x, y, mouseX, mouseY);
}

View File

@@ -0,0 +1,37 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering;
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 java.util.List;
import java.util.function.Predicate;
public class GridFilterFilter implements Predicate<IGridStack> {
private List<Filter> filters;
public GridFilterFilter(List<Filter> filters) {
this.filters = filters;
}
@Override
public boolean test(IGridStack stack) {
int lastMode = ItemFilter.MODE_WHITELIST;
for (Filter filter : filters) {
lastMode = filter.getMode();
if (filter.isModFilter()) {
if (filter.getStack().getItem().getRegistryName().getResourceDomain().equalsIgnoreCase(stack.getModId())) {
return filter.getMode() == ItemFilter.MODE_WHITELIST;
}
} else if (API.instance().getComparer().isEqual(((GridStackItem) stack).getStack(), filter.getStack(), filter.getCompare())) {
return filter.getMode() == ItemFilter.MODE_WHITELIST;
}
}
return lastMode != ItemFilter.MODE_WHITELIST;
}
}

View File

@@ -1,37 +0,0 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem;
import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack;
import com.raoulvdberge.refinedstorage.item.ItemGridFilter;
import java.util.List;
import java.util.function.Predicate;
public class GridFilterFilteredItems implements Predicate<IGridStack> {
private List<GridFilter> filteredItems;
public GridFilterFilteredItems(List<GridFilter> filteredItems) {
this.filteredItems = filteredItems;
}
@Override
public boolean test(IGridStack stack) {
int lastMode = ItemGridFilter.MODE_WHITELIST;
for (GridFilter filteredItem : filteredItems) {
lastMode = filteredItem.getMode();
if (filteredItem.isModFilter()) {
if (filteredItem.getStack().getItem().getRegistryName().getResourceDomain().equalsIgnoreCase(stack.getModId())) {
return filteredItem.getMode() == ItemGridFilter.MODE_WHITELIST;
}
} else if (API.instance().getComparer().isEqual(((GridStackItem) stack).getStack(), filteredItem.getStack(), filteredItem.getCompare())) {
return filteredItem.getMode() == ItemGridFilter.MODE_WHITELIST;
}
}
return lastMode != ItemGridFilter.MODE_WHITELIST;
}
}

View File

@@ -1,40 +1,40 @@
package com.raoulvdberge.refinedstorage.gui.grid.filtering;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
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 class GridFilterParser {
public static List<Predicate<IGridStack>> getFilters(IGrid grid, String query, List<GridFilter> filteredItems) {
List<Predicate<IGridStack>> filters = new LinkedList<>();
public final class GridFilterParser {
public static List<Predicate<IGridStack>> getFilters(IGrid grid, String query, List<Filter> filters) {
List<Predicate<IGridStack>> gridFilters = new LinkedList<>();
for (String part : query.toLowerCase().trim().split(" ")) {
if (part.startsWith("@")) {
filters.add(new GridFilterMod(part.substring(1)));
gridFilters.add(new GridFilterMod(part.substring(1)));
} else if (part.startsWith("#")) {
filters.add(new GridFilterTooltip(part.substring(1)));
gridFilters.add(new GridFilterTooltip(part.substring(1)));
} else if (part.startsWith("$")) {
filters.add(new GridFilterOreDict(part.substring(1)));
gridFilters.add(new GridFilterOreDict(part.substring(1)));
} else {
filters.add(new GridFilterName(part));
gridFilters.add(new GridFilterName(part));
}
}
if (grid.getViewType() == NetworkNodeGrid.VIEW_TYPE_NON_CRAFTABLES) {
filters.add(new GridFilterCraftable(false));
gridFilters.add(new GridFilterCraftable(false));
} else if (grid.getViewType() == NetworkNodeGrid.VIEW_TYPE_CRAFTABLES) {
filters.add(new GridFilterCraftable(true));
gridFilters.add(new GridFilterCraftable(true));
}
if (!filteredItems.isEmpty()) {
filters.add(new GridFilterFilteredItems(filteredItems));
if (!filters.isEmpty()) {
gridFilters.add(new GridFilterFilter(filters));
}
return filters;
return gridFilters;
}
}

View File

@@ -1,10 +1,10 @@
package com.raoulvdberge.refinedstorage.inventory;
import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.item.ItemGridFilter;
import com.raoulvdberge.refinedstorage.item.filter.Filter;
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.relauncher.Side;
@@ -12,12 +12,12 @@ import net.minecraftforge.fml.relauncher.Side;
import java.util.ArrayList;
import java.util.List;
public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic {
private List<GridFilter> filters;
private List<GridTab> tabs;
public class ItemHandlerFilter extends ItemHandlerBasic {
private List<Filter> filters;
private List<FilterTab> tabs;
public ItemHandlerGridFilterInGrid(List<GridFilter> filters, List<GridTab> tabs) {
super(4, new ItemValidatorBasic(RSItems.GRID_FILTER));
public ItemHandlerFilter(List<Filter> filters, List<FilterTab> tabs) {
super(4, new ItemValidatorBasic(RSItems.FILTER));
this.filters = filters;
this.tabs = tabs;
@@ -34,26 +34,26 @@ public class ItemHandlerGridFilterInGrid extends ItemHandlerBasic {
ItemStack filter = getStackInSlot(i);
if (!filter.isEmpty()) {
int compare = ItemGridFilter.getCompare(filter);
int mode = ItemGridFilter.getMode(filter);
boolean modFilter = ItemGridFilter.isModFilter(filter);
int compare = ItemFilter.getCompare(filter);
int mode = ItemFilter.getMode(filter);
boolean modFilter = ItemFilter.isModFilter(filter);
ItemHandlerGridFilter items = new ItemHandlerGridFilter(filter);
ItemHandlerFilterItems items = new ItemHandlerFilterItems(filter);
List<GridFilter> filters = new ArrayList<>();
List<Filter> filters = new ArrayList<>();
for (ItemStack item : items.getFilteredItems()) {
if (!item.isEmpty()) {
filters.add(new GridFilter(item, compare, mode, modFilter));
filters.add(new Filter(item, compare, mode, modFilter));
}
}
ItemStack icon = ItemGridFilter.getIcon(filter);
ItemStack icon = ItemFilter.getIcon(filter);
if (icon.isEmpty()) {
this.filters.addAll(filters);
} else {
tabs.add(new GridTab(filters, ItemGridFilter.getName(filter), icon));
tabs.add(new FilterTab(filters, ItemFilter.getName(filter), icon));
}
}
}

View File

@@ -1,24 +1,24 @@
package com.raoulvdberge.refinedstorage.inventory;
import com.raoulvdberge.refinedstorage.item.ItemGridFilter;
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.ItemStackHandler;
public class ItemHandlerGridFilterIcon extends ItemStackHandler {
public class ItemHandlerFilterIcon extends ItemStackHandler {
private ItemStack stack;
public ItemHandlerGridFilterIcon(ItemStack stack) {
public ItemHandlerFilterIcon(ItemStack stack) {
super(1);
this.stack = stack;
setStackInSlot(0, ItemGridFilter.getIcon(stack));
setStackInSlot(0, ItemFilter.getIcon(stack));
}
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
ItemGridFilter.setIcon(stack, getStackInSlot(0));
ItemFilter.setIcon(stack, getStackInSlot(0));
}
}

View File

@@ -6,10 +6,10 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
import net.minecraftforge.items.ItemStackHandler;
public class ItemHandlerGridFilter extends ItemStackHandler {
public class ItemHandlerFilterItems extends ItemStackHandler {
private ItemStack stack;
public ItemHandlerGridFilter(ItemStack stack) {
public ItemHandlerFilterItems(ItemStack stack) {
super(27);
this.stack = stack;

View File

@@ -1,14 +1,14 @@
package com.raoulvdberge.refinedstorage.gui.grid;
package com.raoulvdberge.refinedstorage.item.filter;
import net.minecraft.item.ItemStack;
public class GridFilter {
public class Filter {
private ItemStack stack;
private int compare;
private int mode;
private boolean modFilter;
public GridFilter(ItemStack stack, int compare, int mode, boolean modFilter) {
public Filter(ItemStack stack, int compare, int mode, boolean modFilter) {
this.stack = stack;
this.compare = compare;
this.mode = mode;

View File

@@ -1,21 +1,21 @@
package com.raoulvdberge.refinedstorage.gui.grid;
package com.raoulvdberge.refinedstorage.item.filter;
import net.minecraft.item.ItemStack;
import java.util.List;
public class GridTab {
private List<GridFilter> filters;
public class FilterTab {
private List<Filter> filters;
private String name;
private ItemStack icon;
public GridTab(List<GridFilter> filters, String name, ItemStack icon) {
public FilterTab(List<Filter> filters, String name, ItemStack icon) {
this.filters = filters;
this.name = name;
this.icon = icon;
}
public List<GridFilter> getFilters() {
public List<Filter> getFilters() {
return filters;
}

View File

@@ -1,10 +1,12 @@
package com.raoulvdberge.refinedstorage.item;
package com.raoulvdberge.refinedstorage.item.filter;
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.ItemHandlerGridFilter;
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.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
@@ -17,7 +19,7 @@ import net.minecraft.world.World;
import java.util.List;
public class ItemGridFilter extends ItemBase {
public class ItemFilter extends ItemBase {
public static final int MODE_WHITELIST = 0;
public static final int MODE_BLACKLIST = 1;
@@ -27,8 +29,8 @@ public class ItemGridFilter extends ItemBase {
private static final String NBT_NAME = "Name";
private static final String NBT_ICON = "Icon";
public ItemGridFilter() {
super("grid_filter");
public ItemFilter() {
super("filter");
setMaxStackSize(1);
}
@@ -39,10 +41,10 @@ public class ItemGridFilter extends ItemBase {
if (!world.isRemote) {
if (player.isSneaking()) {
return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RSItems.GRID_FILTER));
return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RSItems.FILTER));
}
player.openGui(RS.INSTANCE, RSGui.GRID_FILTER, world, hand.ordinal(), 0, 0);
player.openGui(RS.INSTANCE, RSGui.FILTER, world, hand.ordinal(), 0, 0);
return new ActionResult<>(EnumActionResult.SUCCESS, stack);
}
@@ -68,10 +70,10 @@ public class ItemGridFilter extends ItemBase {
tooltip.add(TextFormatting.YELLOW + I18n.format("sidebutton.refinedstorage:mode." + (getMode(stack) == MODE_WHITELIST ? "whitelist" : "blacklist")) + TextFormatting.RESET);
if (isModFilter(stack)) {
tooltip.add(TextFormatting.BLUE + I18n.format("gui.refinedstorage:grid_filter.mod_filter") + TextFormatting.RESET);
tooltip.add(TextFormatting.BLUE + I18n.format("gui.refinedstorage:filter.mod_filter") + TextFormatting.RESET);
}
ItemHandlerGridFilter items = new ItemHandlerGridFilter(stack);
ItemHandlerFilterItems items = new ItemHandlerFilterItems(stack);
ItemPattern.combineItems(tooltip, false, items.getFilteredItems());
}

View File

@@ -0,0 +1,51 @@
package com.raoulvdberge.refinedstorage.network;
import com.raoulvdberge.refinedstorage.container.ContainerFilter;
import com.raoulvdberge.refinedstorage.item.filter.ItemFilter;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
public class MessageFilterUpdate extends MessageHandlerPlayerToServer<MessageFilterUpdate> implements IMessage {
private int compare;
private int mode;
private boolean modFilter;
private String name;
public MessageFilterUpdate() {
}
public MessageFilterUpdate(int compare, int mode, boolean modFilter, String name) {
this.compare = compare;
this.mode = mode;
this.modFilter = modFilter;
this.name = name;
}
@Override
public void fromBytes(ByteBuf buf) {
compare = buf.readInt();
mode = buf.readInt();
modFilter = buf.readBoolean();
name = ByteBufUtils.readUTF8String(buf);
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(compare);
buf.writeInt(mode);
buf.writeBoolean(modFilter);
ByteBufUtils.writeUTF8String(buf, name);
}
@Override
public void handle(MessageFilterUpdate message, EntityPlayerMP player) {
if (player.openContainer instanceof ContainerFilter) {
ItemFilter.setCompare(((ContainerFilter) player.openContainer).getStack(), message.compare);
ItemFilter.setMode(((ContainerFilter) player.openContainer).getStack(), message.mode);
ItemFilter.setModFilter(((ContainerFilter) player.openContainer).getStack(), message.modFilter);
ItemFilter.setName(((ContainerFilter) player.openContainer).getStack(), message.name);
}
}
}

View File

@@ -1,51 +0,0 @@
package com.raoulvdberge.refinedstorage.network;
import com.raoulvdberge.refinedstorage.container.ContainerGridFilter;
import com.raoulvdberge.refinedstorage.item.ItemGridFilter;
import io.netty.buffer.ByteBuf;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraftforge.fml.common.network.ByteBufUtils;
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
public class MessageGridFilterUpdate extends MessageHandlerPlayerToServer<MessageGridFilterUpdate> implements IMessage {
private int compare;
private int mode;
private boolean modFilter;
private String name;
public MessageGridFilterUpdate() {
}
public MessageGridFilterUpdate(int compare, int mode, boolean modFilter, String name) {
this.compare = compare;
this.mode = mode;
this.modFilter = modFilter;
this.name = name;
}
@Override
public void fromBytes(ByteBuf buf) {
compare = buf.readInt();
mode = buf.readInt();
modFilter = buf.readBoolean();
name = ByteBufUtils.readUTF8String(buf);
}
@Override
public void toBytes(ByteBuf buf) {
buf.writeInt(compare);
buf.writeInt(mode);
buf.writeBoolean(modFilter);
ByteBufUtils.writeUTF8String(buf, name);
}
@Override
public void handle(MessageGridFilterUpdate message, EntityPlayerMP player) {
if (player.openContainer instanceof ContainerGridFilter) {
ItemGridFilter.setCompare(((ContainerGridFilter) player.openContainer).getStack(), message.compare);
ItemGridFilter.setMode(((ContainerGridFilter) player.openContainer).getStack(), message.mode);
ItemGridFilter.setModFilter(((ContainerGridFilter) player.openContainer).getStack(), message.modFilter);
ItemGridFilter.setName(((ContainerGridFilter) player.openContainer).getStack(), message.name);
}
}
}

View File

@@ -148,7 +148,7 @@ public class ProxyClient extends ProxyCommon {
ModelLoader.setCustomModelResourceLocation(RSItems.WIRELESS_CRAFTING_MONITOR, 0, new ModelResourceLocation("refinedstorage:wireless_crafting_monitor", "inventory"));
ModelLoader.setCustomModelResourceLocation(RSItems.PATTERN, 0, new ModelResourceLocation("refinedstorage:pattern", "inventory"));
ModelLoader.setCustomModelResourceLocation(RSItems.STORAGE_HOUSING, 0, new ModelResourceLocation("refinedstorage:storage_housing", "inventory"));
ModelLoader.setCustomModelResourceLocation(RSItems.GRID_FILTER, 0, new ModelResourceLocation("refinedstorage:grid_filter", "inventory"));
ModelLoader.setCustomModelResourceLocation(RSItems.FILTER, 0, new ModelResourceLocation("refinedstorage:filter", "inventory"));
ModelLoader.setCustomModelResourceLocation(RSItems.NETWORK_CARD, 0, new ModelResourceLocation("refinedstorage:network_card", "inventory"));
ModelLoader.setCustomModelResourceLocation(RSItems.WRENCH, 0, new ModelResourceLocation("refinedstorage:wrench", "inventory"));
ModelLoader.setCustomModelResourceLocation(RSItems.SECURITY_CARD, 0, new ModelResourceLocation("refinedstorage:security_card", "inventory"));

View File

@@ -37,6 +37,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.ByteBufUtils;
@@ -111,7 +112,7 @@ public class ProxyCommon {
RS.INSTANCE.network.registerMessage(MessageGridFluidPull.class, MessageGridFluidPull.class, id++, Side.SERVER);
RS.INSTANCE.network.registerMessage(MessageGridFluidInsertHeld.class, MessageGridFluidInsertHeld.class, id++, Side.SERVER);
RS.INSTANCE.network.registerMessage(MessageProcessingPatternEncoderClear.class, MessageProcessingPatternEncoderClear.class, id++, Side.SERVER);
RS.INSTANCE.network.registerMessage(MessageGridFilterUpdate.class, MessageGridFilterUpdate.class, id++, Side.SERVER);
RS.INSTANCE.network.registerMessage(MessageFilterUpdate.class, MessageFilterUpdate.class, id++, Side.SERVER);
RS.INSTANCE.network.registerMessage(MessageGridCraftingPreview.class, MessageGridCraftingPreview.class, id++, Side.SERVER);
RS.INSTANCE.network.registerMessage(MessageGridCraftingPreviewResponse.class, MessageGridCraftingPreviewResponse.class, id++, Side.CLIENT);
RS.INSTANCE.network.registerMessage(MessageGridCraftingStartResponse.class, MessageGridCraftingStartResponse.class, id++, Side.CLIENT);
@@ -199,7 +200,7 @@ public class ProxyCommon {
registerItem(RSItems.CORE);
registerItem(RSItems.SILICON);
registerItem(RSItems.UPGRADE);
registerItem(RSItems.GRID_FILTER);
registerItem(RSItems.FILTER);
registerItem(RSItems.NETWORK_CARD);
registerItem(RSItems.WRENCH);
registerItem(RSItems.SECURITY_CARD);
@@ -711,7 +712,7 @@ public class ProxyCommon {
));
// Grid Filter
GameRegistry.addShapedRecipe(new ItemStack(RSItems.GRID_FILTER),
GameRegistry.addShapedRecipe(new ItemStack(RSItems.FILTER),
"EPE",
"PHP",
"EPE",
@@ -806,6 +807,14 @@ public class ProxyCommon {
// NO OP
}
public void fixMappings(FMLMissingMappingsEvent e) {
for (FMLMissingMappingsEvent.MissingMapping missing : e.getAll()) {
if (missing.resourceLocation.getResourceDomain().equals(RS.ID) && missing.resourceLocation.getResourcePath().equals("grid_filter")) {
missing.remap(RSItems.FILTER);
}
}
}
private void registerBlock(BlockBase block) {
GameRegistry.<Block>register(block);
GameRegistry.register(block.createItem());

View File

@@ -2,9 +2,9 @@ package com.raoulvdberge.refinedstorage.tile.grid;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
import com.raoulvdberge.refinedstorage.item.filter.Filter;
import com.raoulvdberge.refinedstorage.item.filter.FilterTab;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.InventoryCraftResult;
@@ -46,9 +46,9 @@ public interface IGrid {
void onTabSelectionChanged(int tab);
List<GridFilter> getFilters();
List<Filter> getFilters();
List<GridTab> getTabs();
List<FilterTab> getTabs();
ItemHandlerBasic getFilter();

View File

@@ -4,11 +4,11 @@ package com.raoulvdberge.refinedstorage.tile.grid;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
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;
@@ -153,12 +153,12 @@ public class WirelessFluidGrid implements IGrid {
}
@Override
public List<GridFilter> getFilters() {
public List<Filter> getFilters() {
return Collections.emptyList();
}
@Override
public List<GridTab> getTabs() {
public List<FilterTab> getTabs() {
return Collections.emptyList();
}

View File

@@ -4,12 +4,12 @@ import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSUtils;
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
import com.raoulvdberge.refinedstorage.block.EnumGridType;
import com.raoulvdberge.refinedstorage.gui.grid.GridFilter;
import com.raoulvdberge.refinedstorage.gui.grid.GridTab;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilterInGrid;
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.MessageWirelessGridSettingsUpdate;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.client.Minecraft;
@@ -40,9 +40,9 @@ public class WirelessGrid implements IGrid {
private int tabSelected;
private int size;
private List<GridFilter> filteredItems = new ArrayList<>();
private List<GridTab> tabs = new ArrayList<>();
private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems, tabs) {
private List<Filter> filters = new ArrayList<>();
private List<FilterTab> tabs = new ArrayList<>();
private ItemHandlerFilter filter = new ItemHandlerFilter(filters, tabs) {
@Override
protected void onContentsChanged(int slot) {
super.onContentsChanged(slot);
@@ -188,12 +188,12 @@ public class WirelessGrid implements IGrid {
}
@Override
public List<GridFilter> getFilters() {
return filteredItems;
public List<Filter> getFilters() {
return filters;
}
@Override
public List<GridTab> getTabs() {
public List<FilterTab> getTabs() {
return tabs;
}

View File

@@ -36,11 +36,11 @@ gui.refinedstorage:crafter=Crafter
gui.refinedstorage:crafter.processing=Processing
gui.refinedstorage:processing_pattern_encoder=Processing Pattern Encoder
gui.refinedstorage:processing_pattern_encoder.pattern_create=Create Pattern
gui.refinedstorage:grid_filter=Grid Filter
gui.refinedstorage:grid_filter.compare_damage=Damage
gui.refinedstorage:grid_filter.compare_nbt=NBT
gui.refinedstorage:grid_filter.compare_oredict=Oredict
gui.refinedstorage:grid_filter.mod_filter=Mod filter
gui.refinedstorage:filter=Filter
gui.refinedstorage:filter.compare_damage=Damage
gui.refinedstorage:filter.compare_nbt=NBT
gui.refinedstorage:filter.compare_oredict=Oredict
gui.refinedstorage:filter.mod_filter=Mod filter
gui.refinedstorage:network_transmitter=Network Transmitter
gui.refinedstorage:network_transmitter.distance=%d blocks
gui.refinedstorage:network_transmitter.dimension=Dimension %d
@@ -264,7 +264,7 @@ item.refinedstorage:upgrade.5.name=Interdimensional Upgrade
item.refinedstorage:upgrade.6.name=Silk Touch Upgrade
item.refinedstorage:upgrade.7.name=Fortune Upgrade
item.refinedstorage:storage_housing.name=Storage Housing
item.refinedstorage:grid_filter.name=Grid Filter
item.refinedstorage:filter.name=Filter
item.refinedstorage:network_card.name=Network Card
item.refinedstorage:wrench.name=Wrench
item.refinedstorage:wrench.saved=Configuration written.

View File

@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "refinedstorage:items/grid_filter"
"layer0": "refinedstorage:items/filter"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB