diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-01-24 21:14:16 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-01-24 21:14:16 +0800 |
| commit | 2738af5ebb9a96896ae6130ec8aa123de52a3fa1 (patch) | |
| tree | 2f4359acdef3bc24170d5aecc16c9db4a6546f03 | |
| parent | 2cf32b838dbba903fdb66a80ec6cb964c75a5ad3 (diff) | |
| download | RoughlyEnoughItems-2.1.0.44.tar.gz RoughlyEnoughItems-2.1.0.44.tar.bz2 RoughlyEnoughItems-2.1.0.44.zip | |
Fixed Searchv2.1.0.44
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; |
