aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md4
-rwxr-xr-xbuild.gradle24
-rw-r--r--gradle.properties3
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java22
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java11
-rwxr-xr-xsrc/main/resources/fabric.mod.json5
6 files changed, 36 insertions, 33 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 14d9c94d5..c6fa009c5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,8 @@
View full changelog [here](https://github.com/shedaniel/RoughlyEnoughItems/blob/1.14/CHANGELOG.md).
+## v2.8.0+build.100
+- Fixed [#76](https://github.com/shedaniel/RoughlyEnoughItems/issues/76): Laggy Changing Pages
+- New: Better Server Support (You can now drop REI into server mods)
+- New: Better Cheat Mode Button
## v2.7.11.97
- Fixed [#72](https://github.com/shedaniel/RoughlyEnoughItems/issues/72): Crash on clicking craftable items filter
- New: Load REI Plugins via entry points, old way works too but support will be dropped
diff --git a/build.gradle b/build.gradle
index 66ca0e783..a9a04feed 100755
--- a/build.gradle
+++ b/build.gradle
@@ -50,21 +50,21 @@ dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_version}"
modCompile "net.fabricmc:fabric-loader:${project.fabricloader_version}"
-// modCompile "net.fabricmc:fabric:${project.fabric_version}"
- modCompile "net.fabricmc.fabric-api:fabric-keybindings:${project.fabric_keybindings}"
- modCompile "net.fabricmc.fabric-api:fabric-lib:${project.fabric_lib}"
- modCompile "net.fabricmc.fabric-api:fabric-networking:${project.fabric_networking}"
- modCompile "net.fabricmc.fabric-api:fabric-events-lifecycle:${project.fabric_events_lifecycle}"
- modCompile "net.fabricmc.fabric-api:fabric-resource-loader:${project.fabric_resource_loader}"
+ modCompile "net.fabricmc:fabric:${project.fabric_version}"
+// modCompile "net.fabricmc.fabric-api:fabric-keybindings:${project.fabric_keybindings}"
+// modCompile "net.fabricmc.fabric-api:fabric-lib:${project.fabric_lib}"
+// modCompile "net.fabricmc.fabric-api:fabric-networking:${project.fabric_networking}"
+// modCompile "net.fabricmc.fabric-api:fabric-events-lifecycle:${project.fabric_events_lifecycle}"
+// modCompile "net.fabricmc.fabric-api:fabric-resource-loader:${project.fabric_resource_loader}"
modCompile "cloth:ClothEvents:${cloth_events_version}"
modCompile "cloth-config:ClothConfig:${cloth_config_version}"
if (includeDep) {
-// include "net.fabricmc:fabric:${project.fabric_version}"
- include "net.fabricmc.fabric-api:fabric-keybindings:${project.fabric_keybindings}"
- include "net.fabricmc.fabric-api:fabric-lib:${project.fabric_lib}"
- include "net.fabricmc.fabric-api:fabric-networking:${project.fabric_networking}"
- include "net.fabricmc.fabric-api:fabric-events-lifecycle:${project.fabric_events_lifecycle}"
- include "net.fabricmc.fabric-api:fabric-resource-loader:${project.fabric_resource_loader}"
+ include "net.fabricmc:fabric:${project.fabric_version}"
+// include "net.fabricmc.fabric-api:fabric-keybindings:${project.fabric_keybindings}"
+// include "net.fabricmc.fabric-api:fabric-lib:${project.fabric_lib}"
+// include "net.fabricmc.fabric-api:fabric-networking:${project.fabric_networking}"
+// include "net.fabricmc.fabric-api:fabric-events-lifecycle:${project.fabric_events_lifecycle}"
+// include "net.fabricmc.fabric-api:fabric-resource-loader:${project.fabric_resource_loader}"
include "cloth:ClothEvents:${cloth_events_version}"
include "cloth-config:ClothConfig:${cloth_config_version}"
}
diff --git a/gradle.properties b/gradle.properties
index f8a766fa7..74d86497a 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,4 +1,4 @@
-mod_version=2.8.0+build.99
+mod_version=2.8.0+build.100
minecraft_version=1.14
yarn_version=1.14+build.5
fabricloader_version=0.4.6+build.141
@@ -6,6 +6,7 @@ jankson_version=1.1.0
cloth_events_version=0.3.1.23
cloth_config_version=0.2.1.14
modmenu_version=1.4.0-71
+fabric_version=0.2.7+build.127
fabric_keybindings=0.1.0
fabric_lib=0.1.0
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index 577f0fc72..41bd9b9ec 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -61,7 +61,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
this.rectangle = RoughlyEnoughItemsCore.getConfigManager().getConfig().mirrorItemPanel ? boundsHandler.getLeftBounds(MinecraftClient.getInstance().currentScreen) : boundsHandler.getRightBounds(MinecraftClient.getInstance().currentScreen);
this.lastLeft = getLeft();
widgets.add(itemListOverlay = new ItemListOverlay(page));
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
widgets.add(buttonLeft = new ButtonWidget(rectangle.x, rectangle.y + 5, 16, 16, new TranslatableTextComponent("text.rei.left_arrow")) {
@Override
@@ -69,7 +69,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
page--;
if (page < 0)
page = getTotalPage();
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
@Override
@@ -88,7 +88,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
page++;
if (page > getTotalPage())
page = 0;
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
@Override
@@ -216,7 +216,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
public void onLabelClicked() {
MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
page = 0;
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
@Override
@@ -227,19 +227,19 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
buttonLeft.enabled = buttonRight.enabled = getTotalPage() > 0;
if (ScreenHelper.searchField == null)
ScreenHelper.searchField = new SearchFieldWidget(0, 0, 0, 0);
- ScreenHelper.searchField.setChangedListener(s -> {
- searchTerm = s;
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
- });
ScreenHelper.searchField.getBounds().setBounds(getTextFieldArea());
this.widgets.add(ScreenHelper.searchField);
ScreenHelper.searchField.setText(searchTerm);
+ ScreenHelper.searchField.setChangedListener(s -> {
+ searchTerm = s;
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
+ });
if (RoughlyEnoughItemsCore.getConfigManager().getConfig().enableCraftableOnlyButton)
this.widgets.add(toggleButtonWidget = new CraftableToggleButtonWidget(getCraftableToggleArea()) {
@Override
public void onPressed() {
RoughlyEnoughItemsCore.getConfigManager().toggleCraftableOnly();
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
@Override
@@ -250,7 +250,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
});
else
toggleButtonWidget = null;
- this.itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ this.itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
private Weather getNextWeather() {
@@ -332,7 +332,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
else if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && (!hasSameListContent(new LinkedList<>(ScreenHelper.inventoryStacks), currentStacks) || (currentStacks.size() != ScreenHelper.inventoryStacks.size()))) {
ScreenHelper.inventoryStacks = ClientHelper.getInventoryItemsTypes();
DisplayHelper.DisplayBoundsHandler boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
GuiLighting.disable();
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
index 7b8e3b353..345342ef0 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
@@ -34,10 +34,10 @@ import java.util.stream.Collectors;
public class ItemListOverlay extends Widget {
private static List<Item> searchBlacklisted = Lists.newArrayList();
+ private final List<ItemStack> currentDisplayed;
private List<Widget> widgets;
private int width, height, page;
private Rectangle rectangle, listArea;
- private List<ItemStack> currentDisplayed;
public ItemListOverlay(int page) {
this.currentDisplayed = Lists.newArrayList();
@@ -86,12 +86,15 @@ public class ItemListOverlay extends Widget {
ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(I18n.translate("text.rei.delete_items")));
}
- public void updateList(DisplayHelper.DisplayBoundsHandler boundsHandler, Rectangle rectangle, int page, String searchTerm) {
+ public void updateList(DisplayHelper.DisplayBoundsHandler boundsHandler, Rectangle rectangle, int page, String searchTerm, boolean processSearchTerm) {
this.rectangle = rectangle;
this.page = page;
this.widgets = Lists.newLinkedList();
calculateListSize(rectangle);
- currentDisplayed = processSearchTerm(searchTerm, RoughlyEnoughItemsCore.getItemRegisterer().getItemList(), ScreenHelper.inventoryStacks);
+ if (currentDisplayed.isEmpty() || processSearchTerm) {
+ currentDisplayed.clear();
+ currentDisplayed.addAll(processSearchTerm(searchTerm, RoughlyEnoughItemsCore.getItemRegisterer().getItemList(), ScreenHelper.inventoryStacks));
+ }
int startX = (int) rectangle.getCenterX() - width * 9;
int startY = (int) rectangle.getCenterY() - height * 9;
this.listArea = new Rectangle((int) startX, (int) startY, width * 18, height * 18);
@@ -182,7 +185,7 @@ public class ItemListOverlay extends Widget {
}
private List<ItemStack> processSearchTerm(String searchTerm, List<ItemStack> ol, List<ItemStack> inventoryItems) {
- List<ItemStack> os = new LinkedList<>(ol), stacks = Lists.newArrayList(), finalStacks = Lists.newArrayList();
+ List<ItemStack> os = Lists.newArrayList(ol), stacks = Lists.newArrayList(), finalStacks = Lists.newArrayList();
List<ItemGroup> itemGroups = Lists.newArrayList(ItemGroup.GROUPS);
itemGroups.add(null);
ItemListOrdering ordering = RoughlyEnoughItemsCore.getConfigManager().getConfig().itemListOrdering;
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
index 26b041cc6..df2c2d1bb 100755
--- a/src/main/resources/fabric.mod.json
+++ b/src/main/resources/fabric.mod.json
@@ -32,14 +32,9 @@
},
"requires": {
"fabricloader": ">=0.4.0",
- "fabric-keybindings": ">=0.1.0",
- "fabric-lib": ">=0.1.0",
- "fabric-networking": ">=0.1.0",
- "fabric-events-lifecycle": ">=0.1.0",
"cloth": "*"
},
"recommends": {
- "fabric-resource-loader": ">=0.1.0",
"cloth-config": ">=0.1.0"
},
"mixins": [