aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbuild.gradle2
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java46
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java6
4 files changed, 29 insertions, 27 deletions
diff --git a/build.gradle b/build.gradle
index 381484a59..a55c016c2 100755
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ sourceCompatibility = 1.8
targetCompatibility = 1.8
archivesBaseName = "RoughlyEnoughItems"
-version = "2.1.0.43"
+version = "2.1.0.44"
def minecraftVersion = "19w03c"
def yarnVersion = "19w03c.4"
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index 6abfb8972..3097f9930 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -55,7 +55,7 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer, ModInitiali
public static IRecipePlugin registerPlugin(Identifier identifier, IRecipePlugin plugin) {
plugins.put(identifier, plugin);
- RoughlyEnoughItemsCore.LOGGER.info("REI: Registered plugin %s from %s", identifier.toString(), plugin.getClass());
+ RoughlyEnoughItemsCore.LOGGER.info("REI: Registered plugin %s from %s", identifier.toString(), plugin.getClass().getSimpleName());
return plugin;
}
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 4fe65f372..7db52a27d 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
@@ -9,12 +9,12 @@ import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Drawable;
import net.minecraft.client.item.TooltipOptions;
import net.minecraft.client.network.ClientPlayerEntity;
-import net.minecraft.client.render.GuiLighting;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.text.TextComponent;
import net.minecraft.util.math.MathHelper;
+import org.apache.commons.lang3.StringUtils;
import java.awt.*;
import java.util.*;
@@ -68,8 +68,7 @@ public class ItemListOverlay extends Drawable implements IWidget {
int j = i + page * getTotalSlotsPerPage();
if (j >= currentDisplayed.size())
break;
- widgets.add(new ItemSlotWidget((int) (startX + (i % width) * 18), (int) (startY + MathHelper.floor(i / width) * 18),
- currentDisplayed.get(j), false, true, containerGui) {
+ widgets.add(new ItemSlotWidget((int) (startX + (i % width) * 18), (int) (startY + MathHelper.floor(i / width) * 18), currentDisplayed.get(j), false, true, containerGui) {
@Override
protected void drawToolTip(ItemStack itemStack) {
ClientPlayerEntity player = MinecraftClient.getInstance().player;
@@ -118,24 +117,27 @@ public class ItemListOverlay extends Drawable implements IWidget {
});
if (!RoughlyEnoughItemsCore.getConfigHelper().isAscending())
Collections.reverse(os);
- Arrays.stream(searchTerm.split("\\|")).forEachOrdered(s -> {
- List<SearchArgument> arguments = new ArrayList<>();
- while (s.startsWith(" ")) s = s.substring(1);
- while (s.endsWith(" ")) s = s.substring(0, s.length());
- if (s.startsWith("@-") || s.startsWith("-@"))
- arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s.substring(2), false));
- else if (s.startsWith("@"))
- arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s.substring(1), true));
- else if (s.startsWith("#-") || s.startsWith("-#"))
- arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s.substring(2), false));
- else if (s.startsWith("#"))
- arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s.substring(1), true));
- else if (s.startsWith("-"))
- arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s.substring(1), false));
- else
- arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s, true));
- os.stream().filter(itemStack -> filterItem(itemStack, arguments)).forEachOrdered(stacks::add);
+ String[] splitSearchTerm = StringUtils.splitByWholeSeparatorPreserveAllTokens(searchTerm, "|");
+ Arrays.stream(splitSearchTerm).forEachOrdered(s -> {
+ List<SearchArgument> arguments = Lists.newArrayList();
+ Arrays.stream(StringUtils.split(s)).forEachOrdered(s1 -> {
+ if (s1.startsWith("@-") || s1.startsWith("-@"))
+ arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s1.substring(2), false));
+ else if (s1.startsWith("@"))
+ arguments.add(new SearchArgument(SearchArgument.ArgumentType.MOD, s1.substring(1), true));
+ else if (s1.startsWith("#-") || s1.startsWith("-#"))
+ arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s1.substring(2), false));
+ else if (s1.startsWith("#"))
+ arguments.add(new SearchArgument(SearchArgument.ArgumentType.TOOLTIP, s1.substring(1), true));
+ else if (s1.startsWith("-"))
+ arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s1.substring(1), false));
+ else
+ arguments.add(new SearchArgument(SearchArgument.ArgumentType.TEXT, s1, true));
+ });
+ os.stream().filter(itemStack -> arguments.isEmpty() || filterItem(itemStack, arguments)).forEachOrdered(stacks::add);
});
+ if (splitSearchTerm.length == 0)
+ stacks.addAll(os);
List<ItemStack> workingItems = RoughlyEnoughItemsCore.getConfigHelper().craftableOnly() && inventoryItems.size() > 0 ? new ArrayList<>() : new LinkedList<>(ol);
if (RoughlyEnoughItemsCore.getConfigHelper().craftableOnly()) {
RecipeHelper.findCraftableByItems(inventoryItems).forEach(workingItems::add);
@@ -185,9 +187,7 @@ public class ItemListOverlay extends Drawable implements IWidget {
private List<String> getStackTooltip(ItemStack itemStack) {
MinecraftClient client = MinecraftClient.getInstance();
- return itemStack.getTooltipText(client.player, client.options.advancedItemTooltips ?
- TooltipOptions.Instance.ADVANCED : TooltipOptions.Instance.NORMAL).stream().map(
- TextComponent::getFormattedText).collect(Collectors.toList());
+ return itemStack.getTooltipText(client.player, client.options.advancedItemTooltips ? TooltipOptions.Instance.ADVANCED : TooltipOptions.Instance.NORMAL).stream().map(TextComponent::getFormattedText).collect(Collectors.toList());
}
private void calculateListSize(Rectangle rect) {
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
index 3aa94c8fc..3b9f54e67 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemSlotWidget.java
@@ -88,9 +88,11 @@ public class ItemSlotWidget extends Drawable implements HighlightableWidget {
final String modString = "§9§o" + ClientHelper.getModFromItemStack(itemStack);
MinecraftClient mc = MinecraftClient.getInstance();
List<String> toolTip = Lists.newArrayList();
- if (containerGui != null)
+ try {
toolTip = containerGui.getContainerGui().getStackTooltip(itemStack).stream().filter(s -> !s.equals(modString)).collect(Collectors.toList());
- else toolTip.add(itemStack.getDisplayName().getFormattedText());
+ } catch (Exception e) {
+ toolTip.add(itemStack.getDisplayName().getFormattedText());
+ }
toolTip.addAll(getExtraToolTips(itemStack));
toolTip.add(modString);
return toolTip;