aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java7
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java6
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java4
-rw-r--r--src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java3
-rw-r--r--src/main/java/me/shedaniel/rei/impl/SearchArgument.java30
-rw-r--r--src/main/java/me/shedaniel/rei/tests/plugin/REITestPlugin.java5
7 files changed, 43 insertions, 16 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index f007f5008..04f5e9bbf 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -219,8 +219,13 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
loadTestPlugins();
}
+ @ApiStatus.Internal
+ public static boolean isDebugModeEnabled() {
+ return System.getProperty("rei.test", "false").equals("true");
+ }
+
private void loadTestPlugins() {
- if (System.getProperty("rei.test", "false").equals("true")) {
+ if (isDebugModeEnabled()) {
registerPlugin(new REITestPlugin());
}
}
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index c23d382b0..54568aa1c 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -130,7 +130,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
ENTRY_LIST_WIDGET.previousPage();
if (ENTRY_LIST_WIDGET.getPage() < 0)
ENTRY_LIST_WIDGET.setPage(ENTRY_LIST_WIDGET.getTotalPages() - 1);
- ENTRY_LIST_WIDGET.updateSearch(ScreenHelper.getSearchField().getText());
+ ENTRY_LIST_WIDGET.updateEntriesPosition();
}
@Override
@@ -144,7 +144,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
ENTRY_LIST_WIDGET.nextPage();
if (ENTRY_LIST_WIDGET.getPage() >= ENTRY_LIST_WIDGET.getTotalPages())
ENTRY_LIST_WIDGET.setPage(0);
- ENTRY_LIST_WIDGET.updateSearch(ScreenHelper.getSearchField().getText());
+ ENTRY_LIST_WIDGET.updateEntriesPosition();
}
@Override
@@ -265,7 +265,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
public void onLabelClicked() {
MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
ENTRY_LIST_WIDGET.setPage(0);
- ENTRY_LIST_WIDGET.updateSearch(ScreenHelper.getSearchField().getText());
+ ENTRY_LIST_WIDGET.updateEntriesPosition();
}
@Override
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java
index 395896e51..7ff453dc0 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java
@@ -239,8 +239,10 @@ public class EntryWidget extends WidgetWithBounds {
ConfigManager.getInstance().getFavorites().remove(entry);
else if (!CollectionUtils.anyMatchEqualsAll(ConfigManager.getInstance().getFavorites(), entry))
ConfigManager.getInstance().getFavorites().add(entry);
- ContainerScreenOverlay.getEntryListWidget().updateSearch(ScreenHelper.getSearchField().getText());
ConfigManager.getInstance().saveConfig();
+ FavoritesListWidget favoritesListWidget = ContainerScreenOverlay.getFavoritesListWidget();
+ if (favoritesListWidget != null)
+ favoritesListWidget.updateSearch(ContainerScreenOverlay.getEntryListWidget(), ScreenHelper.getSearchField().getText());
minecraft.getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
return true;
}
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java
index 957c76c52..17d961d06 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java
@@ -235,7 +235,7 @@ public class FavoritesListWidget extends WidgetWithBounds {
List<EntryStack> workingItems = checkCraftable ? RecipeHelper.getInstance().findCraftableEntriesByItems(CollectionUtils.map(ScreenHelper.inventoryStacks, EntryStack::create)) : null;
for (EntryStack stack : ConfigManager.getInstance().getFavorites()) {
if (listWidget.canLastSearchTermsBeAppliedTo(stack)) {
- if (workingItems != null && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null)
+ if (checkCraftable && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null)
continue;
list.add(stack.copy().setting(EntryStack.Settings.RENDER_COUNTS, EntryStack.Settings.FALSE).setting(EntryStack.Settings.Item.RENDER_ENCHANTMENT_GLINT, RENDER_ENCHANTMENT_GLINT));
}
@@ -253,7 +253,7 @@ public class FavoritesListWidget extends WidgetWithBounds {
boolean checkCraftable = ConfigManager.getInstance().isCraftableOnlyEnabled() && !ScreenHelper.inventoryStacks.isEmpty();
List<EntryStack> workingItems = checkCraftable ? RecipeHelper.getInstance().findCraftableEntriesByItems(CollectionUtils.map(ScreenHelper.inventoryStacks, EntryStack::create)) : null;
for (EntryStack stack : ConfigManager.getInstance().getFavorites()) {
- if (workingItems != null && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null)
+ if (checkCraftable && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null)
continue;
list.add(stack.copy().setting(EntryStack.Settings.RENDER_COUNTS, EntryStack.Settings.FALSE).setting(EntryStack.Settings.Item.RENDER_ENCHANTMENT_GLINT, RENDER_ENCHANTMENT_GLINT));
}
diff --git a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
index b85502626..cdd4d486b 100644
--- a/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
+++ b/src/main/java/me/shedaniel/rei/impl/ConfigManagerImpl.java
@@ -45,7 +45,6 @@ import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.client.util.InputUtil;
import net.minecraft.client.util.Window;
-import net.minecraft.text.LiteralText;
import net.minecraft.util.math.MathHelper;
import org.jetbrains.annotations.ApiStatus;
@@ -179,6 +178,8 @@ public class ConfigManagerImpl implements ConfigManager {
@Override
public void saveConfig() {
+ if (getFavorites() != null)
+ getFavorites().removeIf(EntryStack::isEmpty);
((me.sargunvohra.mcmods.autoconfig1u.ConfigManager<ConfigObjectImpl>) AutoConfig.getConfigHolder(ConfigObjectImpl.class)).save();
}
diff --git a/src/main/java/me/shedaniel/rei/impl/SearchArgument.java b/src/main/java/me/shedaniel/rei/impl/SearchArgument.java
index 97b640861..e3ebd48aa 100644
--- a/src/main/java/me/shedaniel/rei/impl/SearchArgument.java
+++ b/src/main/java/me/shedaniel/rei/impl/SearchArgument.java
@@ -47,7 +47,6 @@ public class SearchArgument {
this.include = include;
}
- @ApiStatus.Internal
public static String tryGetEntryStackName(EntryStack stack) {
if (stack.getType() == EntryStack.Type.ITEM)
return tryGetItemStackName(stack.getItemStack());
@@ -56,7 +55,14 @@ public class SearchArgument {
return "";
}
- @ApiStatus.Internal
+ public static String tryGetEntryStackNameNoFormatting(EntryStack stack) {
+ if (stack.getType() == EntryStack.Type.ITEM)
+ return tryGetItemStackNameNoFormatting(stack.getItemStack());
+ else if (stack.getType() == EntryStack.Type.FLUID)
+ return tryGetFluidName(stack.getFluid());
+ return "";
+ }
+
public static String tryGetEntryStackTooltip(EntryStack stack) {
QueuedTooltip tooltip = stack.getTooltip(0, 0);
if (tooltip != null)
@@ -64,7 +70,6 @@ public class SearchArgument {
return "";
}
- @ApiStatus.Internal
public static String tryGetFluidName(Fluid fluid) {
Identifier id = Registry.FLUID.getId(fluid);
if (I18n.hasTranslation("block." + id.toString().replaceFirst(":", ".")))
@@ -72,7 +77,6 @@ public class SearchArgument {
return CollectionUtils.mapAndJoinToString(id.getPath().split("_"), StringUtils::capitalize, " ");
}
- @ApiStatus.Internal
public static List<String> tryGetItemStackToolTip(ItemStack itemStack, boolean careAboutAdvanced) {
if (!searchBlacklisted.contains(itemStack.getItem()))
try {
@@ -84,7 +88,6 @@ public class SearchArgument {
return Collections.singletonList(tryGetItemStackName(itemStack));
}
- @ApiStatus.Internal
public static String tryGetItemStackName(ItemStack stack) {
if (!searchBlacklisted.contains(stack.getItem()))
try {
@@ -101,6 +104,22 @@ public class SearchArgument {
return "ERROR";
}
+ public static String tryGetItemStackNameNoFormatting(ItemStack stack) {
+ if (!searchBlacklisted.contains(stack.getItem()))
+ try {
+ return stack.getName().asString();
+ } catch (Throwable e) {
+ e.printStackTrace();
+ searchBlacklisted.add(stack.getItem());
+ }
+ try {
+ return I18n.translate("item." + Registry.ITEM.getId(stack.getItem()).toString().replace(":", "."));
+ } catch (Throwable e) {
+ e.printStackTrace();
+ }
+ return "ERROR";
+ }
+
public Function<String, Boolean> getFunction(boolean include) {
return include ? INCLUDE : NOT_INCLUDE;
}
@@ -130,7 +149,6 @@ public class SearchArgument {
ALWAYS
}
- @ApiStatus.Internal
public static class SearchArguments {
public static final SearchArguments ALWAYS = new SearchArguments(new SearchArgument[]{SearchArgument.ALWAYS});
private SearchArgument[] arguments;
diff --git a/src/main/java/me/shedaniel/rei/tests/plugin/REITestPlugin.java b/src/main/java/me/shedaniel/rei/tests/plugin/REITestPlugin.java
index 24d35e4d7..643952573 100644
--- a/src/main/java/me/shedaniel/rei/tests/plugin/REITestPlugin.java
+++ b/src/main/java/me/shedaniel/rei/tests/plugin/REITestPlugin.java
@@ -35,12 +35,13 @@ public class REITestPlugin implements REIPluginV0 {
@Override
public void registerEntries(EntryRegistry entryRegistry) {
+ int times = 100;
for (Item item : Registry.ITEM) {
- for (int i = 0; i < 5; i++)
+ for (int i = 0; i < times; i++)
entryRegistry.queueRegisterEntryAfter(EntryStack.create(item), Collections.singleton(transformStack(EntryStack.create(item))));
try {
for (ItemStack stack : entryRegistry.appendStacksForItem(item)) {
- for (int i = 0; i < 15; i++)
+ for (int i = 0; i < times; i++)
entryRegistry.registerEntry(transformStack(EntryStack.create(stack)));
}
} catch (Exception ignored) {