Fix grid sorting issues
This commit is contained in:
@@ -12,7 +12,7 @@ buildscript {
|
|||||||
}
|
}
|
||||||
apply plugin: 'net.minecraftforge.gradle.forge'
|
apply plugin: 'net.minecraftforge.gradle.forge'
|
||||||
|
|
||||||
version = "0.8.16-rc1"
|
version = "0.8.16"
|
||||||
group = "refinedstorage"
|
group = "refinedstorage"
|
||||||
archivesBaseName = "refinedstorage"
|
archivesBaseName = "refinedstorage"
|
||||||
|
|
||||||
|
@@ -18,7 +18,7 @@ import refinedstorage.proxy.CommonProxy;
|
|||||||
@Mod(modid = RefinedStorage.ID, version = RefinedStorage.VERSION, dependencies = RefinedStorage.DEPENDENCIES)
|
@Mod(modid = RefinedStorage.ID, version = RefinedStorage.VERSION, dependencies = RefinedStorage.DEPENDENCIES)
|
||||||
public final class RefinedStorage {
|
public final class RefinedStorage {
|
||||||
public static final String ID = "refinedstorage";
|
public static final String ID = "refinedstorage";
|
||||||
public static final String VERSION = "0.8.16-rc1";
|
public static final String VERSION = "0.8.16";
|
||||||
public static final String DEPENDENCIES = "required-after:mcmultipart";
|
public static final String DEPENDENCIES = "required-after:mcmultipart";
|
||||||
|
|
||||||
@SidedProxy(clientSide = "refinedstorage.proxy.ClientProxy", serverSide = "refinedstorage.proxy.ServerProxy")
|
@SidedProxy(clientSide = "refinedstorage.proxy.ClientProxy", serverSide = "refinedstorage.proxy.ServerProxy")
|
||||||
|
@@ -103,14 +103,14 @@ public class GuiGrid extends GuiBase {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SORTED_ITEMS.clear();
|
List<ClientStack> sortedItems = new ArrayList<>();
|
||||||
|
|
||||||
if (gui.getGrid().isConnected()) {
|
if (gui.getGrid().isConnected()) {
|
||||||
SORTED_ITEMS.addAll(ITEMS);
|
sortedItems.addAll(ITEMS);
|
||||||
|
|
||||||
String query = gui.searchField.getText().trim().toLowerCase();
|
String query = gui.searchField.getText().trim().toLowerCase();
|
||||||
|
|
||||||
Iterator<ClientStack> t = SORTED_ITEMS.iterator();
|
Iterator<ClientStack> t = sortedItems.iterator();
|
||||||
|
|
||||||
while (t.hasNext()) {
|
while (t.hasNext()) {
|
||||||
ClientStack stack = t.next();
|
ClientStack stack = t.next();
|
||||||
@@ -174,13 +174,15 @@ public class GuiGrid extends GuiBase {
|
|||||||
SORTING_NAME.setSortingDirection(gui.getGrid().getSortingDirection());
|
SORTING_NAME.setSortingDirection(gui.getGrid().getSortingDirection());
|
||||||
SORTING_QUANTITY.setSortingDirection(gui.getGrid().getSortingDirection());
|
SORTING_QUANTITY.setSortingDirection(gui.getGrid().getSortingDirection());
|
||||||
|
|
||||||
Collections.sort(SORTED_ITEMS, SORTING_NAME);
|
Collections.sort(sortedItems, SORTING_NAME);
|
||||||
|
|
||||||
if (gui.getGrid().getSortingType() == TileGrid.SORTING_TYPE_QUANTITY) {
|
if (gui.getGrid().getSortingType() == TileGrid.SORTING_TYPE_QUANTITY) {
|
||||||
Collections.sort(SORTED_ITEMS, SORTING_QUANTITY);
|
Collections.sort(sortedItems, SORTING_QUANTITY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SORTED_ITEMS = sortedItems;
|
||||||
|
|
||||||
gui.getScrollbar().setCanScroll(gui.getRows() > gui.getVisibleRows());
|
gui.getScrollbar().setCanScroll(gui.getRows() > gui.getVisibleRows());
|
||||||
gui.getScrollbar().setScrollDelta((float) gui.getScrollbar().getScrollbarHeight() / (float) gui.getRows());
|
gui.getScrollbar().setScrollDelta((float) gui.getScrollbar().getScrollbarHeight() / (float) gui.getRows());
|
||||||
}
|
}
|
||||||
|
@@ -9,8 +9,6 @@ import net.minecraft.item.crafting.CraftingManager;
|
|||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.network.datasync.DataSerializers;
|
import net.minecraft.network.datasync.DataSerializers;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
|
||||||
import net.minecraftforge.items.IItemHandler;
|
import net.minecraftforge.items.IItemHandler;
|
||||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||||
import net.minecraftforge.items.wrapper.InvWrapper;
|
import net.minecraftforge.items.wrapper.InvWrapper;
|
||||||
@@ -53,7 +51,7 @@ public class TileGrid extends TileNode implements IGrid {
|
|||||||
tile.markDirty();
|
tile.markDirty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
}, parameter -> GuiGrid.sortItems());
|
||||||
|
|
||||||
public static final TileDataParameter<Integer> SORTING_DIRECTION = TileDataManager.createParameter(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
|
public static final TileDataParameter<Integer> SORTING_DIRECTION = TileDataManager.createParameter(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -69,7 +67,7 @@ public class TileGrid extends TileNode implements IGrid {
|
|||||||
tile.markDirty();
|
tile.markDirty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
}, parameter -> GuiGrid.sortItems());
|
||||||
|
|
||||||
public static final TileDataParameter<Integer> SORTING_TYPE = TileDataManager.createParameter(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
|
public static final TileDataParameter<Integer> SORTING_TYPE = TileDataManager.createParameter(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -85,7 +83,7 @@ public class TileGrid extends TileNode implements IGrid {
|
|||||||
tile.markDirty();
|
tile.markDirty();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
}, parameter -> GuiGrid.sortItems());
|
||||||
|
|
||||||
public static final TileDataParameter<Integer> SEARCH_BOX_MODE = TileDataManager.createParameter(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
|
public static final TileDataParameter<Integer> SEARCH_BOX_MODE = TileDataManager.createParameter(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileGrid>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -102,7 +100,7 @@ public class TileGrid extends TileNode implements IGrid {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, parameter -> {
|
}, parameter -> {
|
||||||
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT && Minecraft.getMinecraft().currentScreen instanceof GuiGrid) {
|
if (Minecraft.getMinecraft().currentScreen instanceof GuiGrid) {
|
||||||
((GuiGrid) Minecraft.getMinecraft().currentScreen).updateSearchFieldFocus(parameter.getValue());
|
((GuiGrid) Minecraft.getMinecraft().currentScreen).updateSearchFieldFocus(parameter.getValue());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@@ -10,6 +10,7 @@ import refinedstorage.RefinedStorage;
|
|||||||
import refinedstorage.api.network.IGridHandler;
|
import refinedstorage.api.network.IGridHandler;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
import refinedstorage.gui.grid.GridFilteredItem;
|
import refinedstorage.gui.grid.GridFilteredItem;
|
||||||
|
import refinedstorage.gui.grid.GuiGrid;
|
||||||
import refinedstorage.inventory.ItemHandlerBasic;
|
import refinedstorage.inventory.ItemHandlerBasic;
|
||||||
import refinedstorage.inventory.ItemHandlerGridFilterInGrid;
|
import refinedstorage.inventory.ItemHandlerGridFilterInGrid;
|
||||||
import refinedstorage.item.ItemWirelessGrid;
|
import refinedstorage.item.ItemWirelessGrid;
|
||||||
@@ -114,6 +115,8 @@ public class WirelessGrid implements IGrid {
|
|||||||
RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(type, getSortingDirection(), getSortingType(), getSearchBoxMode()));
|
RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(type, getSortingDirection(), getSortingType(), getSearchBoxMode()));
|
||||||
|
|
||||||
this.viewType = type;
|
this.viewType = type;
|
||||||
|
|
||||||
|
GuiGrid.sortItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -121,6 +124,8 @@ public class WirelessGrid implements IGrid {
|
|||||||
RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), type, getSearchBoxMode()));
|
RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), getSortingDirection(), type, getSearchBoxMode()));
|
||||||
|
|
||||||
this.sortingType = type;
|
this.sortingType = type;
|
||||||
|
|
||||||
|
GuiGrid.sortItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -128,6 +133,8 @@ public class WirelessGrid implements IGrid {
|
|||||||
RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), direction, getSortingType(), getSearchBoxMode()));
|
RefinedStorage.INSTANCE.network.sendToServer(new MessageWirelessGridSettingsUpdate(getViewType(), direction, getSortingType(), getSearchBoxMode()));
|
||||||
|
|
||||||
this.sortingDirection = direction;
|
this.sortingDirection = direction;
|
||||||
|
|
||||||
|
GuiGrid.sortItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
"modid": "refinedstorage",
|
"modid": "refinedstorage",
|
||||||
"name": "Refined Storage",
|
"name": "Refined Storage",
|
||||||
"description": "A Minecraft mod all about storage.",
|
"description": "A Minecraft mod all about storage.",
|
||||||
"version": "0.8.16-rc1",
|
"version": "0.8.16",
|
||||||
"mcversion": "1.10.2",
|
"mcversion": "1.10.2",
|
||||||
"url": "",
|
"url": "",
|
||||||
"updateUrl": "",
|
"updateUrl": "",
|
||||||
|
Reference in New Issue
Block a user