Added grid size toggle. Fixes #794
This commit is contained in:
@@ -56,7 +56,7 @@ public final class RSConfig {
|
|||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region Grid
|
//region Grid
|
||||||
public int maxRows;
|
public int maxRowsStretch;
|
||||||
public boolean largeFont;
|
public boolean largeFont;
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@ public final class RSConfig {
|
|||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
//region Grid
|
//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");
|
largeFont = config.getBoolean("largeFont", GRID, false, "Whether the controller should use a large font for stack quantity display");
|
||||||
//endregion
|
//endregion
|
||||||
|
|
||||||
|
|||||||
@@ -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_SEARCH_BOX_MODE = "SearchBoxMode";
|
||||||
public static final String NBT_OREDICT_PATTERN = "OredictPattern";
|
public static final String NBT_OREDICT_PATTERN = "OredictPattern";
|
||||||
public static final String NBT_TAB_SELECTED = "TabSelected";
|
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_ASCENDING = 0;
|
||||||
public static final int SORTING_DIRECTION_DESCENDING = 1;
|
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_NON_CRAFTABLES = 1;
|
||||||
public static final int VIEW_TYPE_CRAFTABLES = 2;
|
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() {
|
private Container craftingContainer = new Container() {
|
||||||
@Override
|
@Override
|
||||||
public boolean canInteractWith(EntityPlayer player) {
|
public boolean canInteractWith(EntityPlayer player) {
|
||||||
@@ -85,6 +91,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
|||||||
private int sortingDirection = SORTING_DIRECTION_DESCENDING;
|
private int sortingDirection = SORTING_DIRECTION_DESCENDING;
|
||||||
private int sortingType = SORTING_TYPE_QUANTITY;
|
private int sortingType = SORTING_TYPE_QUANTITY;
|
||||||
private int searchBoxMode = SEARCH_BOX_MODE_NORMAL;
|
private int searchBoxMode = SEARCH_BOX_MODE_NORMAL;
|
||||||
|
private int size = SIZE_STRETCH;
|
||||||
|
|
||||||
private int tabSelected = -1;
|
private int tabSelected = -1;
|
||||||
|
|
||||||
@@ -130,6 +137,10 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
|||||||
this.tabSelected = tabSelected;
|
this.tabSelected = tabSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setSize(int size) {
|
||||||
|
this.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isOredictPattern() {
|
public boolean isOredictPattern() {
|
||||||
return oredictPattern;
|
return oredictPattern;
|
||||||
}
|
}
|
||||||
@@ -393,6 +404,11 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
|||||||
return holder.world().isRemote ? TileGrid.SEARCH_BOX_MODE.getValue() : searchBoxMode;
|
return holder.world().isRemote ? TileGrid.SEARCH_BOX_MODE.getValue() : searchBoxMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSize() {
|
||||||
|
return holder.world().isRemote ? TileGrid.SIZE.getValue() : size;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getTabSelected() {
|
public int getTabSelected() {
|
||||||
return holder.world().isRemote ? TileGrid.TAB_SELECTED.getValue() : tabSelected;
|
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);
|
TileDataManager.setParameter(TileGrid.SEARCH_BOX_MODE, searchBoxMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onSizeChanged(int size) {
|
||||||
|
TileDataManager.setParameter(TileGrid.SIZE, size);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onTabSelectionChanged(int tab) {
|
public void onTabSelectionChanged(int tab) {
|
||||||
TileDataManager.setParameter(TileGrid.TAB_SELECTED, 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_DIRECTION, sortingDirection);
|
||||||
tag.setInteger(NBT_SORTING_TYPE, sortingType);
|
tag.setInteger(NBT_SORTING_TYPE, sortingType);
|
||||||
tag.setInteger(NBT_SEARCH_BOX_MODE, searchBoxMode);
|
tag.setInteger(NBT_SEARCH_BOX_MODE, searchBoxMode);
|
||||||
|
tag.setInteger(NBT_SIZE, size);
|
||||||
|
|
||||||
tag.setBoolean(NBT_OREDICT_PATTERN, oredictPattern);
|
tag.setBoolean(NBT_OREDICT_PATTERN, oredictPattern);
|
||||||
|
|
||||||
@@ -498,6 +520,10 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
|||||||
searchBoxMode = tag.getInteger(NBT_SEARCH_BOX_MODE);
|
searchBoxMode = tag.getInteger(NBT_SEARCH_BOX_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (tag.hasKey(NBT_SIZE)) {
|
||||||
|
size = tag.getInteger(NBT_SIZE);
|
||||||
|
}
|
||||||
|
|
||||||
if (tag.hasKey(NBT_OREDICT_PATTERN)) {
|
if (tag.hasKey(NBT_OREDICT_PATTERN)) {
|
||||||
oredictPattern = tag.getBoolean(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) {
|
public static boolean isValidViewType(int type) {
|
||||||
return type == VIEW_TYPE_NORMAL ||
|
return type == VIEW_TYPE_NORMAL ||
|
||||||
type == VIEW_TYPE_CRAFTABLES ||
|
type == VIEW_TYPE_CRAFTABLES ||
|
||||||
type == VIEW_TYPE_NON_CRAFTABLES;
|
type == VIEW_TYPE_NON_CRAFTABLES;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isValidSearchBoxMode(int mode) {
|
public static boolean isValidSearchBoxMode(int mode) {
|
||||||
return mode == SEARCH_BOX_MODE_NORMAL ||
|
return mode == SEARCH_BOX_MODE_NORMAL ||
|
||||||
mode == SEARCH_BOX_MODE_NORMAL_AUTOSELECTED ||
|
mode == SEARCH_BOX_MODE_NORMAL_AUTOSELECTED ||
|
||||||
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED ||
|
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED ||
|
||||||
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED_AUTOSELECTED;
|
mode == SEARCH_BOX_MODE_JEI_SYNCHRONIZED_AUTOSELECTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isSearchBoxModeWithAutoselection(int mode) {
|
public static boolean isSearchBoxModeWithAutoselection(int mode) {
|
||||||
@@ -539,4 +565,11 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
|||||||
public static boolean isValidSortingDirection(int direction) {
|
public static boolean isValidSortingDirection(int direction) {
|
||||||
return direction == SORTING_DIRECTION_ASCENDING || direction == SORTING_DIRECTION_DESCENDING;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,6 +144,7 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
|||||||
addSideButton(new SideButtonGridSortingDirection(this, grid));
|
addSideButton(new SideButtonGridSortingDirection(this, grid));
|
||||||
addSideButton(new SideButtonGridSortingType(this, grid));
|
addSideButton(new SideButtonGridSortingType(this, grid));
|
||||||
addSideButton(new SideButtonGridSearchBoxMode(this));
|
addSideButton(new SideButtonGridSearchBoxMode(this));
|
||||||
|
addSideButton(new SideButtonGridSize(this, grid));
|
||||||
|
|
||||||
sortItems();
|
sortItems();
|
||||||
}
|
}
|
||||||
@@ -259,9 +260,20 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getVisibleRows() {
|
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() {
|
private boolean isOverSlotWithItem() {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,14 +20,16 @@ public class ItemWirelessFluidGrid extends ItemNetworkItem {
|
|||||||
tag.setInteger(NetworkNodeGrid.NBT_SORTING_DIRECTION, NetworkNodeGrid.SORTING_DIRECTION_DESCENDING);
|
tag.setInteger(NetworkNodeGrid.NBT_SORTING_DIRECTION, NetworkNodeGrid.SORTING_DIRECTION_DESCENDING);
|
||||||
tag.setInteger(NetworkNodeGrid.NBT_SORTING_TYPE, NetworkNodeGrid.SORTING_TYPE_QUANTITY);
|
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_SEARCH_BOX_MODE, NetworkNodeGrid.SEARCH_BOX_MODE_NORMAL);
|
||||||
|
tag.setInteger(NetworkNodeGrid.NBT_SIZE, NetworkNodeGrid.SIZE_STRETCH);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isValid(ItemStack stack) {
|
public boolean isValid(ItemStack stack) {
|
||||||
return super.isValid(stack)
|
return super.isValid(stack)
|
||||||
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_DIRECTION)
|
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_DIRECTION)
|
||||||
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_TYPE)
|
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SORTING_TYPE)
|
||||||
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SEARCH_BOX_MODE);
|
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SEARCH_BOX_MODE)
|
||||||
|
&& stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -46,4 +48,8 @@ public class ItemWirelessFluidGrid extends ItemNetworkItem {
|
|||||||
public static int getSearchBoxMode(ItemStack stack) {
|
public static int getSearchBoxMode(ItemStack stack) {
|
||||||
return stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE);
|
return stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int getSize(ItemStack stack) {
|
||||||
|
return stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_SIZE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ public class ItemWirelessGrid extends ItemNetworkItem {
|
|||||||
tag.setInteger(NetworkNodeGrid.NBT_SORTING_DIRECTION, NetworkNodeGrid.SORTING_DIRECTION_DESCENDING);
|
tag.setInteger(NetworkNodeGrid.NBT_SORTING_DIRECTION, NetworkNodeGrid.SORTING_DIRECTION_DESCENDING);
|
||||||
tag.setInteger(NetworkNodeGrid.NBT_SORTING_TYPE, NetworkNodeGrid.SORTING_TYPE_QUANTITY);
|
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_SEARCH_BOX_MODE, NetworkNodeGrid.SEARCH_BOX_MODE_NORMAL);
|
||||||
|
tag.setInteger(NetworkNodeGrid.NBT_SIZE, NetworkNodeGrid.SIZE_STRETCH);
|
||||||
tag.setInteger(NetworkNodeGrid.NBT_TAB_SELECTED, -1);
|
tag.setInteger(NetworkNodeGrid.NBT_TAB_SELECTED, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,4 +58,8 @@ public class ItemWirelessGrid extends ItemNetworkItem {
|
|||||||
public static int getTabSelected(ItemStack stack) {
|
public static int getTabSelected(ItemStack stack) {
|
||||||
return (stack.hasTagCompound() && stack.getTagCompound().hasKey(NetworkNodeGrid.NBT_TAB_SELECTED)) ? stack.getTagCompound().getInteger(NetworkNodeGrid.NBT_TAB_SELECTED) : -1;
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,14 +13,16 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
|
|||||||
private int sortingDirection;
|
private int sortingDirection;
|
||||||
private int sortingType;
|
private int sortingType;
|
||||||
private int searchBoxMode;
|
private int searchBoxMode;
|
||||||
|
private int size;
|
||||||
|
|
||||||
public MessageWirelessFluidGridSettingsUpdate() {
|
public MessageWirelessFluidGridSettingsUpdate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
public MessageWirelessFluidGridSettingsUpdate(int sortingDirection, int sortingType, int searchBoxMode) {
|
public MessageWirelessFluidGridSettingsUpdate(int sortingDirection, int sortingType, int searchBoxMode, int size) {
|
||||||
this.sortingDirection = sortingDirection;
|
this.sortingDirection = sortingDirection;
|
||||||
this.sortingType = sortingType;
|
this.sortingType = sortingType;
|
||||||
this.searchBoxMode = searchBoxMode;
|
this.searchBoxMode = searchBoxMode;
|
||||||
|
this.size = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -28,6 +30,7 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
|
|||||||
sortingDirection = buf.readInt();
|
sortingDirection = buf.readInt();
|
||||||
sortingType = buf.readInt();
|
sortingType = buf.readInt();
|
||||||
searchBoxMode = buf.readInt();
|
searchBoxMode = buf.readInt();
|
||||||
|
size = buf.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -35,6 +38,7 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
|
|||||||
buf.writeInt(sortingDirection);
|
buf.writeInt(sortingDirection);
|
||||||
buf.writeInt(sortingType);
|
buf.writeInt(sortingType);
|
||||||
buf.writeInt(searchBoxMode);
|
buf.writeInt(searchBoxMode);
|
||||||
|
buf.writeInt(size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -56,6 +60,10 @@ public class MessageWirelessFluidGridSettingsUpdate extends MessageHandlerPlayer
|
|||||||
if (NetworkNodeGrid.isValidSearchBoxMode(message.searchBoxMode)) {
|
if (NetworkNodeGrid.isValidSearchBoxMode(message.searchBoxMode)) {
|
||||||
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE, 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,16 +14,18 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
|
|||||||
private int sortingDirection;
|
private int sortingDirection;
|
||||||
private int sortingType;
|
private int sortingType;
|
||||||
private int searchBoxMode;
|
private int searchBoxMode;
|
||||||
|
private int size;
|
||||||
private int tabSelected;
|
private int tabSelected;
|
||||||
|
|
||||||
public MessageWirelessGridSettingsUpdate() {
|
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.viewType = viewType;
|
||||||
this.sortingDirection = sortingDirection;
|
this.sortingDirection = sortingDirection;
|
||||||
this.sortingType = sortingType;
|
this.sortingType = sortingType;
|
||||||
this.searchBoxMode = searchBoxMode;
|
this.searchBoxMode = searchBoxMode;
|
||||||
|
this.size = size;
|
||||||
this.tabSelected = tabSelected;
|
this.tabSelected = tabSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,6 +35,7 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
|
|||||||
sortingDirection = buf.readInt();
|
sortingDirection = buf.readInt();
|
||||||
sortingType = buf.readInt();
|
sortingType = buf.readInt();
|
||||||
searchBoxMode = buf.readInt();
|
searchBoxMode = buf.readInt();
|
||||||
|
size = buf.readInt();
|
||||||
tabSelected = buf.readInt();
|
tabSelected = buf.readInt();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,6 +45,7 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
|
|||||||
buf.writeInt(sortingDirection);
|
buf.writeInt(sortingDirection);
|
||||||
buf.writeInt(sortingType);
|
buf.writeInt(sortingType);
|
||||||
buf.writeInt(searchBoxMode);
|
buf.writeInt(searchBoxMode);
|
||||||
|
buf.writeInt(size);
|
||||||
buf.writeInt(tabSelected);
|
buf.writeInt(tabSelected);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,6 +73,10 @@ public class MessageWirelessGridSettingsUpdate extends MessageHandlerPlayerToSer
|
|||||||
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_SEARCH_BOX_MODE, 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);
|
||||||
|
}
|
||||||
|
|
||||||
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_TAB_SELECTED, message.tabSelected);
|
stack.getTagCompound().setInteger(NetworkNodeGrid.NBT_TAB_SELECTED, message.tabSelected);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ public interface IGrid {
|
|||||||
|
|
||||||
int getTabSelected();
|
int getTabSelected();
|
||||||
|
|
||||||
|
int getSize();
|
||||||
|
|
||||||
void onViewTypeChanged(int type);
|
void onViewTypeChanged(int type);
|
||||||
|
|
||||||
void onSortingTypeChanged(int type);
|
void onSortingTypeChanged(int type);
|
||||||
@@ -40,6 +42,8 @@ public interface IGrid {
|
|||||||
|
|
||||||
void onSearchBoxModeChanged(int searchBoxMode);
|
void onSearchBoxModeChanged(int searchBoxMode);
|
||||||
|
|
||||||
|
void onSizeChanged(int size);
|
||||||
|
|
||||||
void onTabSelectionChanged(int tab);
|
void onTabSelectionChanged(int tab);
|
||||||
|
|
||||||
List<GridFilter> getFilteredItems();
|
List<GridFilter> getFilteredItems();
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile.grid;
|
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.apiimpl.network.node.NetworkNodeGrid;
|
||||||
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid;
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileNode;
|
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>() {
|
public static final TileDataParameter<Integer> TAB_SELECTED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
|
||||||
@Override
|
@Override
|
||||||
public Integer getValue(TileGrid tile) {
|
public Integer getValue(TileGrid tile) {
|
||||||
@@ -118,6 +136,7 @@ public class TileGrid extends TileNode<NetworkNodeGrid> {
|
|||||||
dataManager.addWatchedParameter(SEARCH_BOX_MODE);
|
dataManager.addWatchedParameter(SEARCH_BOX_MODE);
|
||||||
dataManager.addWatchedParameter(TAB_SELECTED);
|
dataManager.addWatchedParameter(TAB_SELECTED);
|
||||||
dataManager.addWatchedParameter(OREDICT_PATTERN);
|
dataManager.addWatchedParameter(OREDICT_PATTERN);
|
||||||
|
dataManager.addWatchedParameter(SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic;
|
|||||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessFluidGrid;
|
import com.raoulvdberge.refinedstorage.item.ItemWirelessFluidGrid;
|
||||||
import com.raoulvdberge.refinedstorage.network.MessageWirelessFluidGridSettingsUpdate;
|
import com.raoulvdberge.refinedstorage.network.MessageWirelessFluidGridSettingsUpdate;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.inventory.InventoryCraftResult;
|
import net.minecraft.inventory.InventoryCraftResult;
|
||||||
import net.minecraft.inventory.InventoryCrafting;
|
import net.minecraft.inventory.InventoryCrafting;
|
||||||
@@ -33,6 +34,7 @@ public class WirelessFluidGrid implements IGrid {
|
|||||||
private int sortingType;
|
private int sortingType;
|
||||||
private int sortingDirection;
|
private int sortingDirection;
|
||||||
private int searchBoxMode;
|
private int searchBoxMode;
|
||||||
|
private int size;
|
||||||
|
|
||||||
public WirelessFluidGrid(int controllerDimension, ItemStack stack) {
|
public WirelessFluidGrid(int controllerDimension, ItemStack stack) {
|
||||||
this.controllerDimension = controllerDimension;
|
this.controllerDimension = controllerDimension;
|
||||||
@@ -43,6 +45,7 @@ public class WirelessFluidGrid implements IGrid {
|
|||||||
this.sortingType = ItemWirelessFluidGrid.getSortingType(stack);
|
this.sortingType = ItemWirelessFluidGrid.getSortingType(stack);
|
||||||
this.sortingDirection = ItemWirelessFluidGrid.getSortingDirection(stack);
|
this.sortingDirection = ItemWirelessFluidGrid.getSortingDirection(stack);
|
||||||
this.searchBoxMode = ItemWirelessFluidGrid.getSearchBoxMode(stack);
|
this.searchBoxMode = ItemWirelessFluidGrid.getSearchBoxMode(stack);
|
||||||
|
this.size = ItemWirelessFluidGrid.getSize(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ItemStack getStack() {
|
public ItemStack getStack() {
|
||||||
@@ -98,6 +101,11 @@ public class WirelessFluidGrid implements IGrid {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSize() {
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewTypeChanged(int type) {
|
public void onViewTypeChanged(int type) {
|
||||||
// NO OP
|
// NO OP
|
||||||
@@ -105,7 +113,7 @@ public class WirelessFluidGrid implements IGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingTypeChanged(int type) {
|
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;
|
this.sortingType = type;
|
||||||
|
|
||||||
@@ -114,7 +122,7 @@ public class WirelessFluidGrid implements IGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingDirectionChanged(int direction) {
|
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;
|
this.sortingDirection = direction;
|
||||||
|
|
||||||
@@ -123,11 +131,22 @@ public class WirelessFluidGrid implements IGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSearchBoxModeChanged(int searchBoxMode) {
|
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;
|
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
|
@Override
|
||||||
public void onTabSelectionChanged(int tab) {
|
public void onTabSelectionChanged(int tab) {
|
||||||
// NO OP
|
// NO OP
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import com.raoulvdberge.refinedstorage.inventory.ItemHandlerGridFilterInGrid;
|
|||||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
||||||
import com.raoulvdberge.refinedstorage.network.MessageWirelessGridSettingsUpdate;
|
import com.raoulvdberge.refinedstorage.network.MessageWirelessGridSettingsUpdate;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
import net.minecraft.inventory.InventoryCraftResult;
|
import net.minecraft.inventory.InventoryCraftResult;
|
||||||
import net.minecraft.inventory.InventoryCrafting;
|
import net.minecraft.inventory.InventoryCrafting;
|
||||||
@@ -37,6 +38,7 @@ public class WirelessGrid implements IGrid {
|
|||||||
private int sortingDirection;
|
private int sortingDirection;
|
||||||
private int searchBoxMode;
|
private int searchBoxMode;
|
||||||
private int tabSelected;
|
private int tabSelected;
|
||||||
|
private int size;
|
||||||
|
|
||||||
private List<GridFilter> filteredItems = new ArrayList<>();
|
private List<GridFilter> filteredItems = new ArrayList<>();
|
||||||
private List<GridTab> tabs = new ArrayList<>();
|
private List<GridTab> tabs = new ArrayList<>();
|
||||||
@@ -64,6 +66,7 @@ public class WirelessGrid implements IGrid {
|
|||||||
this.sortingDirection = ItemWirelessGrid.getSortingDirection(stack);
|
this.sortingDirection = ItemWirelessGrid.getSortingDirection(stack);
|
||||||
this.searchBoxMode = ItemWirelessGrid.getSearchBoxMode(stack);
|
this.searchBoxMode = ItemWirelessGrid.getSearchBoxMode(stack);
|
||||||
this.tabSelected = ItemWirelessGrid.getTabSelected(stack);
|
this.tabSelected = ItemWirelessGrid.getTabSelected(stack);
|
||||||
|
this.size = ItemWirelessGrid.getSize(stack);
|
||||||
|
|
||||||
if (stack.hasTagCompound()) {
|
if (stack.hasTagCompound()) {
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
@@ -125,9 +128,14 @@ public class WirelessGrid implements IGrid {
|
|||||||
return tabSelected;
|
return tabSelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getSize() {
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onViewTypeChanged(int type) {
|
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;
|
this.viewType = type;
|
||||||
|
|
||||||
@@ -136,7 +144,7 @@ public class WirelessGrid implements IGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingTypeChanged(int type) {
|
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;
|
this.sortingType = type;
|
||||||
|
|
||||||
@@ -145,7 +153,7 @@ public class WirelessGrid implements IGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSortingDirectionChanged(int direction) {
|
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;
|
this.sortingDirection = direction;
|
||||||
|
|
||||||
@@ -154,16 +162,27 @@ public class WirelessGrid implements IGrid {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSearchBoxModeChanged(int searchBoxMode) {
|
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;
|
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
|
@Override
|
||||||
public void onTabSelectionChanged(int tab) {
|
public void onTabSelectionChanged(int tab) {
|
||||||
this.tabSelected = tab == tabSelected ? -1 : 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();
|
GuiGrid.markForSorting();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.1=Normal (autoselected)
|
||||||
sidebutton.refinedstorage:grid.search_box_mode.2=JEI synchronized
|
sidebutton.refinedstorage:grid.search_box_mode.2=JEI synchronized
|
||||||
sidebutton.refinedstorage:grid.search_box_mode.3=JEI synchronized (autoselected)
|
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=Mode
|
||||||
sidebutton.refinedstorage:mode.whitelist=Whitelist
|
sidebutton.refinedstorage:mode.whitelist=Whitelist
|
||||||
|
|||||||
Reference in New Issue
Block a user