Added grid size toggle. Fixes #794

This commit is contained in:
raoulvdberge
2016-12-28 17:20:56 +01:00
parent 77238d978c
commit 931c1430ec
13 changed files with 204 additions and 23 deletions

View File

@@ -56,7 +56,7 @@ public final class RSConfig {
//endregion
//region Grid
public int maxRows;
public int maxRowsStretch;
public boolean largeFont;
//endregion
@@ -169,7 +169,7 @@ public final class RSConfig {
//endregion
//region Grid
maxRows = config.getInt("maxRows", GRID, Integer.MAX_VALUE, 3, Integer.MAX_VALUE, "The maximum amount of rows that the Grid can show");
maxRowsStretch = config.getInt("maxRowsStretch", GRID, Integer.MAX_VALUE, 3, Integer.MAX_VALUE, "The maximum amount of rows that the Grid can show when stretched");
largeFont = config.getBoolean("largeFont", GRID, false, "Whether the controller should use a large font for stack quantity display");
//endregion

View File

@@ -44,6 +44,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
public static final String NBT_SEARCH_BOX_MODE = "SearchBoxMode";
public static final String NBT_OREDICT_PATTERN = "OredictPattern";
public static final String NBT_TAB_SELECTED = "TabSelected";
public static final String NBT_SIZE = "Size";
public static final int SORTING_DIRECTION_ASCENDING = 0;
public static final int SORTING_DIRECTION_DESCENDING = 1;
@@ -60,6 +61,11 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
public static final int VIEW_TYPE_NON_CRAFTABLES = 1;
public static final int VIEW_TYPE_CRAFTABLES = 2;
public static final int SIZE_STRETCH = 0;
public static final int SIZE_SMALL = 1;
public static final int SIZE_MEDIUM = 2;
public static final int SIZE_LARGE = 3;
private Container craftingContainer = new Container() {
@Override
public boolean canInteractWith(EntityPlayer player) {
@@ -85,6 +91,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
private int sortingDirection = SORTING_DIRECTION_DESCENDING;
private int sortingType = SORTING_TYPE_QUANTITY;
private int searchBoxMode = SEARCH_BOX_MODE_NORMAL;
private int size = SIZE_STRETCH;
private int tabSelected = -1;
@@ -130,6 +137,10 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
this.tabSelected = tabSelected;
}
public void setSize(int size) {
this.size = size;
}
public boolean isOredictPattern() {
return oredictPattern;
}
@@ -393,6 +404,11 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
return holder.world().isRemote ? TileGrid.SEARCH_BOX_MODE.getValue() : searchBoxMode;
}
@Override
public int getSize() {
return holder.world().isRemote ? TileGrid.SIZE.getValue() : size;
}
@Override
public int getTabSelected() {
return holder.world().isRemote ? TileGrid.TAB_SELECTED.getValue() : tabSelected;
@@ -418,6 +434,11 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
TileDataManager.setParameter(TileGrid.SEARCH_BOX_MODE, searchBoxMode);
}
@Override
public void onSizeChanged(int size) {
TileDataManager.setParameter(TileGrid.SIZE, size);
}
@Override
public void onTabSelectionChanged(int tab) {
TileDataManager.setParameter(TileGrid.TAB_SELECTED, tab);
@@ -472,6 +493,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
tag.setInteger(NBT_SORTING_DIRECTION, sortingDirection);
tag.setInteger(NBT_SORTING_TYPE, sortingType);
tag.setInteger(NBT_SEARCH_BOX_MODE, searchBoxMode);
tag.setInteger(NBT_SIZE, size);
tag.setBoolean(NBT_OREDICT_PATTERN, oredictPattern);
@@ -498,6 +520,10 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
searchBoxMode = tag.getInteger(NBT_SEARCH_BOX_MODE);
}
if (tag.hasKey(NBT_SIZE)) {
size = tag.getInteger(NBT_SIZE);
}
if (tag.hasKey(NBT_OREDICT_PATTERN)) {
oredictPattern = tag.getBoolean(NBT_OREDICT_PATTERN);
}
@@ -517,15 +543,15 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
public static boolean isValidViewType(int type) {
return type == VIEW_TYPE_NORMAL ||
type == VIEW_TYPE_CRAFTABLES ||
type == VIEW_TYPE_NON_CRAFTABLES;
type == VIEW_TYPE_CRAFTABLES ||
type == VIEW_TYPE_NON_CRAFTABLES;
}
public static boolean isValidSearchBoxMode(int mode) {
return mode == SEARCH_BOX_MODE_NORMAL ||
mode == SEARCH_BOX_MODE_NORMAL_AUTOSELECTED ||
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED ||
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED_AUTOSELECTED;
mode == SEARCH_BOX_MODE_NORMAL_AUTOSELECTED ||
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED ||
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED_AUTOSELECTED;
}
public static boolean isSearchBoxModeWithAutoselection(int mode) {
@@ -539,4 +565,11 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
public static boolean isValidSortingDirection(int direction) {
return direction == SORTING_DIRECTION_ASCENDING || direction == SORTING_DIRECTION_DESCENDING;
}
public static boolean isValidSize(int size) {
return size == SIZE_STRETCH ||
size == SIZE_SMALL ||
size == SIZE_MEDIUM ||
size == SIZE_LARGE;
}
}

View File

@@ -144,6 +144,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
addSideButton(new SideButtonGridSortingDirection(this, grid));
addSideButton(new SideButtonGridSortingType(this, grid));
addSideButton(new SideButtonGridSearchBoxMode(this));
addSideButton(new SideButtonGridSize(this, grid));
sortItems();
}
@@ -259,9 +260,20 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
@Override
public int getVisibleRows() {
int screenSpaceAvailable = height - getHeader() - getFooter() - (hadTabs ? ContainerGrid.TAB_HEIGHT : 0);
switch (grid.getSize()) {
case NetworkNodeGrid.SIZE_STRETCH:
int screenSpaceAvailable = height - getHeader() - getFooter() - (hadTabs ? ContainerGrid.TAB_HEIGHT : 0);
return Math.max(3, Math.min((screenSpaceAvailable / 18) - 3, RS.INSTANCE.config.maxRows));
return Math.max(3, Math.min((screenSpaceAvailable / 18) - 3, RS.INSTANCE.config.maxRowsStretch));
case NetworkNodeGrid.SIZE_SMALL:
return 3;
case NetworkNodeGrid.SIZE_MEDIUM:
return 5;
case NetworkNodeGrid.SIZE_LARGE:
return 8;
default:
return 3;
}
}
private boolean isOverSlotWithItem() {

View File

@@ -0,0 +1,43 @@
package com.raoulvdberge.refinedstorage.gui.sidebutton;
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 {
private IGrid grid;
public SideButtonGridSize(GuiBase gui, IGrid grid) {
super(gui);
this.grid = grid;
}
@Override
public String getTooltip() {
return TextFormatting.YELLOW + GuiBase.t("sidebutton.refinedstorage:grid.size") + TextFormatting.RESET + "\n" + GuiBase.t("sidebutton.refinedstorage:grid.size." + grid.getSize());
}
@Override
protected void drawButtonIcon(int x, int y) {
}
@Override
public void actionPerformed() {
int size = grid.getSize();
if (size == NetworkNodeGrid.SIZE_STRETCH) {
size = NetworkNodeGrid.SIZE_SMALL;
} else if (size == NetworkNodeGrid.SIZE_SMALL) {
size = NetworkNodeGrid.SIZE_MEDIUM;
} else if (size == NetworkNodeGrid.SIZE_MEDIUM) {
size = NetworkNodeGrid.SIZE_LARGE;
} else if (size == NetworkNodeGrid.SIZE_LARGE) {
size = NetworkNodeGrid.SIZE_STRETCH;
}
grid.onSizeChanged(size);
}
}

View File

@@ -20,14 +20,16 @@ public class ItemWirelessFluidGrid extends ItemNetworkItem {
tag.setInteger(NetworkNodeGrid.NBT_SORTING_DIRECTION, NetworkNodeGrid.SORTING_DIRECTION_DESCENDING);
tag.setInteger(NetworkNodeGrid.NBT_SORTING_TYPE, NetworkNodeGrid.SORTING_TYPE_QUANTITY);
tag.setInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE, NetworkNodeGrid.SEARCH_BOX_MODE_NORMAL);
tag.setInteger(NetworkNodeGrid.NBT_SIZE, NetworkNodeGrid.SIZE_STRETCH);
}
@Override
public boolean isValid(ItemStack stack) {
return super.isValid(stack)
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_DIRECTION)
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_TYPE)
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SEARCH_BOX_MODE);
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_DIRECTION)
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_TYPE)
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SEARCH_BOX_MODE)
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SIZE);
}
@Override
@@ -46,4 +48,8 @@ public class ItemWirelessFluidGrid extends ItemNetworkItem {
public static int getSearchBoxMode(ItemStack stack) {
return stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE);
}
public static int getSize(ItemStack stack) {
return stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SIZE);
}
}

View File

@@ -21,6 +21,7 @@ public class ItemWirelessGrid extends ItemNetworkItem {
tag.setInteger(NetworkNodeGrid.NBT_SORTING_DIRECTION, NetworkNodeGrid.SORTING_DIRECTION_DESCENDING);
tag.setInteger(NetworkNodeGrid.NBT_SORTING_TYPE, NetworkNodeGrid.SORTING_TYPE_QUANTITY);
tag.setInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE, NetworkNodeGrid.SEARCH_BOX_MODE_NORMAL);
tag.setInteger(NetworkNodeGrid.NBT_SIZE, NetworkNodeGrid.SIZE_STRETCH);
tag.setInteger(NetworkNodeGrid.NBT_TAB_SELECTED, -1);
}
@@ -57,4 +58,8 @@ public class ItemWirelessGrid extends ItemNetworkItem {
public static int getTabSelected(ItemStack stack) {
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_TAB_SELECTED)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_TAB_SELECTED) : -1;
}
public static int getSize(ItemStack stack) {
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SIZE)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SIZE) : NetworkNodeGrid.SIZE_STRETCH;
}
}

View File

@@ -13,14 +13,16 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
private int sortingDirection;
private int sortingType;
private int searchBoxMode;
private int size;
public MessageWirelessFluidGridSettingsUpdate() {
}
public MessageWirelessFluidGridSettingsUpdate(int sortingDirection, int sortingType, int searchBoxMode) {
public MessageWirelessFluidGridSettingsUpdate(int sortingDirection, int sortingType, int searchBoxMode, int size) {
this.sortingDirection = sortingDirection;
this.sortingType = sortingType;
this.searchBoxMode = searchBoxMode;
this.size = size;
}
@Override
@@ -28,6 +30,7 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
sortingDirection = buf.readInt();
sortingType = buf.readInt();
searchBoxMode = buf.readInt();
size = buf.readInt();
}
@Override
@@ -35,6 +38,7 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
buf.writeInt(sortingDirection);
buf.writeInt(sortingType);
buf.writeInt(searchBoxMode);
buf.writeInt(size);
}
@Override
@@ -56,6 +60,10 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
if (NetworkNodeGrid.isValidSearchBoxMode(message.searchBoxMode)) {
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE, message.searchBoxMode);
}
if (NetworkNodeGrid.isValidSize(message.size)) {
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_SIZE, message.size);
}
}
}
}

View File

@@ -14,16 +14,18 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
private int sortingDirection;
private int sortingType;
private int searchBoxMode;
private int size;
private int tabSelected;
public MessageWirelessGridSettingsUpdate() {
}
public MessageWirelessGridSettingsUpdate(int viewType, int sortingDirection, int sortingType, int searchBoxMode, int tabSelected) {
public MessageWirelessGridSettingsUpdate(int viewType, int sortingDirection, int sortingType, int searchBoxMode, int size, int tabSelected) {
this.viewType = viewType;
this.sortingDirection = sortingDirection;
this.sortingType = sortingType;
this.searchBoxMode = searchBoxMode;
this.size = size;
this.tabSelected = tabSelected;
}
@@ -33,6 +35,7 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
sortingDirection = buf.readInt();
sortingType = buf.readInt();
searchBoxMode = buf.readInt();
size = buf.readInt();
tabSelected = buf.readInt();
}
@@ -42,6 +45,7 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
buf.writeInt(sortingDirection);
buf.writeInt(sortingType);
buf.writeInt(searchBoxMode);
buf.writeInt(size);
buf.writeInt(tabSelected);
}
@@ -69,6 +73,10 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE, message.searchBoxMode);
}
if (NetworkNodeGrid.isValidSize(message.size)) {
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_SIZE, message.size);
}
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_TAB_SELECTED, message.tabSelected);
}
}

View File

@@ -32,6 +32,8 @@ public interface IGrid {
int getTabSelected();
int getSize();
void onViewTypeChanged(int type);
void onSortingTypeChanged(int type);
@@ -40,6 +42,8 @@ public interface IGrid {
void onSearchBoxModeChanged(int searchBoxMode);
void onSizeChanged(int size);
void onTabSelectionChanged(int tab);
List<GridFilter> getFilteredItems();

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.tile.grid;
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
import com.raoulvdberge.refinedstorage.tile.TileNode;
@@ -77,6 +76,25 @@ public class TileGrid extends TileNode<NetworkNodeGrid> {
}
});
public static final TileDataParameter<Integer> SIZE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
@Override
public Integer getValue(TileGrid tile) {
return tile.getNode().getSize();
}
}, new ITileDataConsumer<Integer, TileGrid>() {
@Override
public void setValue(TileGrid tile, Integer value) {
if (NetworkNodeGrid.isValidSize(value)) {
tile.getNode().setSize(value);
tile.getNode().markDirty();
}
}
}, parameter -> {
if (Minecraft.getMinecraft().currentScreen != null) {
Minecraft.getMinecraft().currentScreen.initGui();
}
});
public static final TileDataParameter<Integer> TAB_SELECTED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
@Override
public Integer getValue(TileGrid tile) {
@@ -118,6 +136,7 @@ public class TileGrid extends TileNode<NetworkNodeGrid> {
dataManager.addWatchedParameter(SEARCH_BOX_MODE);
dataManager.addWatchedParameter(TAB_SELECTED);
dataManager.addWatchedParameter(OREDICT_PATTERN);
dataManager.addWatchedParameter(SIZE);
}
@Override

View File

@@ -11,6 +11,7 @@ import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
import com.raoulvdberge.refinedstorage.item.ItemWirelessFluidGrid;
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;
import net.minecraft.inventory.InventoryCrafting;
@@ -33,6 +34,7 @@ public class WirelessFluidGrid implements IGrid {
private int sortingType;
private int sortingDirection;
private int searchBoxMode;
private int size;
public WirelessFluidGrid(int controllerDimension, ItemStack stack) {
this.controllerDimension = controllerDimension;
@@ -43,6 +45,7 @@ public class WirelessFluidGrid implements IGrid {
this.sortingType = ItemWirelessFluidGrid.getSortingType(stack);
this.sortingDirection = ItemWirelessFluidGrid.getSortingDirection(stack);
this.searchBoxMode = ItemWirelessFluidGrid.getSearchBoxMode(stack);
this.size = ItemWirelessFluidGrid.getSize(stack);
}
public ItemStack getStack() {
@@ -98,6 +101,11 @@ public class WirelessFluidGrid implements IGrid {
return 0;
}
@Override
public int getSize() {
return size;
}
@Override
public void onViewTypeChanged(int type) {
// NO OP
@@ -105,7 +113,7 @@ public class WirelessFluidGrid implements IGrid {
@Override
public void onSortingTypeChanged(int type) {
RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), type, getSearchBoxMode()));
RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), type, getSearchBoxMode(), getSize()));
this.sortingType = type;
@@ -114,7 +122,7 @@ public class WirelessFluidGrid implements IGrid {
@Override
public void onSortingDirectionChanged(int direction) {
RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(direction, getSortingType(), getSearchBoxMode()));
RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(direction, getSortingType(), getSearchBoxMode(), getSize()));
this.sortingDirection = direction;
@@ -123,11 +131,22 @@ public class WirelessFluidGrid implements IGrid {
@Override
public void onSearchBoxModeChanged(int searchBoxMode) {
RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), getSortingType(), searchBoxMode));
RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), getSortingType(), searchBoxMode, getSize()));
this.searchBoxMode = searchBoxMode;
}
@Override
public void onSizeChanged(int size) {
RS.INSTANCE.network.sendToServer(new MessageWirelessFluidGridSettingsUpdate(getSortingDirection(), getSortingType(), getSearchBoxMode(), size));
this.size = size;
if (Minecraft.getMinecraft().currentScreen != null) {
Minecraft.getMinecraft().currentScreen.initGui();
}
}
@Override
public void onTabSelectionChanged(int tab) {
// NO OP

View File

@@ -12,6 +12,7 @@ import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilterInGrid;
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
import com.raoulvdberge.refinedstorage.network.MessageWirelessGridSettingsUpdate;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.InventoryCraftResult;
import net.minecraft.inventory.InventoryCrafting;
@@ -37,6 +38,7 @@ public class WirelessGrid implements IGrid {
private int sortingDirection;
private int searchBoxMode;
private int tabSelected;
private int size;
private List<GridFilter> filteredItems = new ArrayList<>();
private List<GridTab> tabs = new ArrayList<>();
@@ -64,6 +66,7 @@ public class WirelessGrid implements IGrid {
this.sortingDirection = ItemWirelessGrid.getSortingDirection(stack);
this.searchBoxMode = ItemWirelessGrid.getSearchBoxMode(stack);
this.tabSelected = ItemWirelessGrid.getTabSelected(stack);
this.size = ItemWirelessGrid.getSize(stack);
if (stack.hasTagCompound()) {
for (int i = 0; i < 4; ++i) {
@@ -125,9 +128,14 @@ public class WirelessGrid implements IGrid {
return tabSelected;
}
@Override
public int getSize() {
return size;
}
@Override
public void onViewTypeChanged(int type) {
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(type, getSortingDirection(), getSortingType(), getSearchBoxMode(), tabSelected));
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(type, getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), getTabSelected()));
this.viewType = type;
@@ -136,7 +144,7 @@ public class WirelessGrid implements IGrid {
@Override
public void onSortingTypeChanged(int type) {
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), type, getSearchBoxMode(), tabSelected));
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), type, getSearchBoxMode(), getSize(), getTabSelected()));
this.sortingType = type;
@@ -145,7 +153,7 @@ public class WirelessGrid implements IGrid {
@Override
public void onSortingDirectionChanged(int direction) {
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), direction, getSortingType(), getSearchBoxMode(), tabSelected));
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), direction, getSortingType(), getSearchBoxMode(), getSize(), getTabSelected()));
this.sortingDirection = direction;
@@ -154,16 +162,27 @@ public class WirelessGrid implements IGrid {
@Override
public void onSearchBoxModeChanged(int searchBoxMode) {
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), getSortingType(), searchBoxMode, tabSelected));
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), getSortingType(), searchBoxMode, getSize(), getTabSelected()));
this.searchBoxMode = searchBoxMode;
}
@Override
public void onSizeChanged(int size) {
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), size, getTabSelected()));
this.size = size;
if (Minecraft.getMinecraft().currentScreen != null) {
Minecraft.getMinecraft().currentScreen.initGui();
}
}
@Override
public void onTabSelectionChanged(int tab) {
this.tabSelected = tab == tabSelected ? -1 : tab;
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), getSortingType(), searchBoxMode, tabSelected));
RS.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), getSortingType(), getSearchBoxMode(), getSize(), tabSelected));
GuiGrid.markForSorting();
}

View File

@@ -128,6 +128,11 @@ sidebutton.refinedstorage:grid.search_box_mode.0=Normal
sidebutton.refinedstorage:grid.search_box_mode.1=Normal (autoselected)
sidebutton.refinedstorage:grid.search_box_mode.2=JEI synchronized
sidebutton.refinedstorage:grid.search_box_mode.3=JEI synchronized (autoselected)
sidebutton.refinedstorage:grid.size=Size
sidebutton.refinedstorage:grid.size.0=Stretch
sidebutton.refinedstorage:grid.size.1=Small
sidebutton.refinedstorage:grid.size.2=Medium
sidebutton.refinedstorage:grid.size.3=Large
sidebutton.refinedstorage:mode=Mode
sidebutton.refinedstorage:mode.whitelist=Whitelist