aboutsummaryrefslogtreecommitdiff
path: root/runtime/src
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java41
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringAddRuleScreen.java30
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesEntry.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringCategoriesScreen.java30
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRuleOptionsScreen.java30
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java44
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java113
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringCategoriesEntry.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/NoFilteringEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/RecipeScreenTypeEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ReloadPluginsEntry.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/SearchFilterSyntaxHighlightingEntry.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsEntryListWidget.java40
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java5
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java59
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/PerformanceScreen.java5
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/PerformanceEntry.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/performance/entry/SubCategoryListEntry.java9
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java17
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/ConfigReloadingScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java19
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/SearchFilterSyntaxHighlightingScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java11
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java40
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CachedEntryListRender.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ConfigButtonWidget.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/CraftableFilterButtonWidget.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DelegateWidgetWithTranslate.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DisplayTooltipComponent.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DynamicErrorFreeEntryListWidget.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/InternalWidgets.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/OverflowWidget.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/PaddedCenterWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/PaddedWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/VanillaWrappedWidget.java14
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ButtonWidget.java20
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/FillRectangleDrawableConsumer.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/LabelWidget.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/PanelWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TextFieldWidget.java24
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TexturedDrawableConsumer.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/CachingEntryRenderer.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/CollapsedEntriesTooltip.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/EntryListSearchManager.java16
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/entrylist/PaginatedEntryListWidget.java14
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayEntry.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/history/DisplayHistoryWidget.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/favorites/panel/FavoritesTogglePanelButton.java5
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/hint/HintWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionEntryWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/region/RegionRenderingDebugger.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/search/OverlaySearchField.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/transfer/MissingStacksTooltip.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryImpl.java27
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/entry/type/EntryRegistryListImpl.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java36
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/DefaultClientRuntimePlugin.java10
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/runtime/HideIngredientsFromTagsPlugin.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/test/REITestPlugin.java18
70 files changed, 390 insertions, 561 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java
index 5d5d53d8f..3698aed64 100644
--- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java
+++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java
@@ -151,7 +151,7 @@ public class RoughlyEnoughItemsCoreClient {
String type = object.getString(FavoriteEntry.TYPE_KEY);
ResourceLocation id = new ResourceLocation(type);
FavoriteEntryType<FavoriteEntry> entryType = FavoriteEntryType.registry().get(id);
- if (entryType == null) return DataResult.error("Unknown favorite type: " + id + ", json: " + object);
+ if (entryType == null) return DataResult.error(() -> "Unknown favorite type: " + id + ", json: " + object);
return entryType.read(object);
}, "favoriteEntryFromJson");
ClientInternals.attachInstance((BiFunction<@Nullable Point, Collection<Tooltip.Entry>, Tooltip>) QueuedTooltip::impl, "tooltipProvider");
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
index 64a433dbe..1844edf1e 100644
--- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
+++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
@@ -88,7 +88,7 @@ public class RoughlyEnoughItemsNetwork {
AbstractContainerMenu menu = player.containerMenu;
ItemStack itemStack = buf.readItem();
ItemStack stack = itemStack.copy();
- if (!menu.getCarried().isEmpty() && ItemStack.isSameIgnoreDurability(menu.getCarried(), stack) && ItemStack.tagMatches(menu.getCarried(), stack)) {
+ if (!menu.getCarried().isEmpty() && ItemStack.isSameItemSameTags(menu.getCarried(), stack)) {
stack.setCount(Mth.clamp(stack.getCount() + menu.getCarried().getCount(), 1, stack.getMaxStackSize()));
} else if (!menu.getCarried().isEmpty()) {
return;
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
index c4a63617e..88496cef3 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
@@ -70,7 +70,6 @@ import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
-import java.lang.reflect.InvocationTargetException;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Supplier;
@@ -227,13 +226,7 @@ public class ClientHelperImpl implements ClientHelper {
madeUpCommand = og.replaceAll("\\{player_name}", Minecraft.getInstance().player.getScoreboardName()).replaceAll("\\{item_name}", identifier.getPath()).replaceAll("\\{item_identifier}", identifier.toString()).replaceAll("\\{nbt}", "").replaceAll("\\{count}", String.valueOf(cheatedStack.getCount()));
Minecraft.getInstance().player.displayClientMessage(Component.translatable("text.rei.too_long_nbt"), false);
}
- try {
- Class.forName("me.shedaniel.rei.impl.client.%s.CommandSenderImpl".formatted(Platform.isForge() ? "forge" : "fabric"))
- .getDeclaredMethod("sendCommand", String.class)
- .invoke(null, StringUtils.removeStart(madeUpCommand, "/"));
- } catch (IllegalAccessException | ClassNotFoundException | NoSuchMethodException | InvocationTargetException e) {
- throw new RuntimeException(e);
- }
+ Minecraft.getInstance().player.connection.sendCommand(StringUtils.removeStart(madeUpCommand, "/"));
return true;
}
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
index d9205e392..1786bbaee 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
@@ -93,6 +93,7 @@ import org.jetbrains.annotations.ApiStatus;
import java.util.*;
import java.util.function.Consumer;
+import java.util.function.Supplier;
import static me.shedaniel.autoconfig.util.Utils.getUnsafely;
import static me.shedaniel.autoconfig.util.Utils.setUnsafely;
@@ -446,7 +447,7 @@ public class ConfigManagerImpl implements ConfigManager {
ScreenHooks.addRenderableWidget(screen, new Button(screen.width - 104, 4, 100, 20, Component.translatable("text.rei.credits"), button -> {
CreditsScreen creditsScreen = new CreditsScreen(screen);
Minecraft.getInstance().setScreen(creditsScreen);
- }));
+ }, Supplier::get) {});
}).setSavingRunnable(() -> {
saveConfig();
EntryRegistry.getInstance().refilter();
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java
index 25342ee31..c98745dcd 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/addon/ConfigAddonsScreen.java
@@ -30,17 +30,21 @@ import me.shedaniel.rei.api.client.config.addon.ConfigAddon;
import me.shedaniel.rei.api.client.config.addon.ConfigAddonRegistry;
import me.shedaniel.rei.impl.client.gui.InternalTextures;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.ComponentPath;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.components.events.GuiEventListener;
import net.minecraft.client.gui.narration.NarratableEntry;
+import net.minecraft.client.gui.navigation.FocusNavigationEvent;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.locale.Language;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.FormattedText;
import net.minecraft.resources.ResourceLocation;
+import org.jetbrains.annotations.Nullable;
import java.util.Collections;
import java.util.List;
+import java.util.function.Supplier;
public class ConfigAddonsScreen extends Screen {
private AddonsList rulesList;
@@ -56,9 +60,9 @@ public class ConfigAddonsScreen extends Screen {
super.init();
{
Component backText = Component.literal("↩ ").append(Component.translatable("gui.back"));
- addRenderableWidget(new Button(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20, backText, button -> {
+ addRenderableWidget(Button.builder(backText, button -> {
minecraft.setScreen(parent);
- }));
+ }).bounds(4, 4, Minecraft.getInstance().font.width(backText) + 10, 20).build());
}
rulesList = addWidget(new AddonsList(minecraft, width, height, 30, height, BACKGROUND_LOCATION));
ConfigAddonRegistryImpl addonRegistry = (ConfigAddonRegistryImpl) ConfigAddonRegistry.getInstance();
@@ -82,22 +86,6 @@ public class ConfigAddonsScreen extends Screen {
}
@Override
- public boolean changeFocus(boolean lookForwards) {
- if (!this.inFocus && this.getItemCount() == 0) {
- return false;
- } else {
- this.inFocus = !this.inFocus;
- if (this.inFocus && this.getSelectedItem() == null && this.getItemCount() > 0) {
- this.moveSelection(1);
- } else if (this.inFocus && this.getSelectedItem() != null) {
- this.getSelectedItem();
- }
-
- return this.inFocus;
- }
- }
-
- @Override
protected boolean isSelected(int index) {
return false;
}
@@ -125,8 +113,9 @@ public class ConfigAddonsScreen extends Screen {
}
@Override
- public boolean changeFocus(boolean lookForwards) {
- return false;
+ @Nullable
+ public ComponentPath nextFocusPath(FocusNavigationEvent focusNavigationEvent) {
+ return null;
}
}
@@ -138,12 +127,12 @@ public class ConfigAddonsScreen extends Screen {
this.addon = addon;
this.configureButton = new Button(0, 0, 20, 20, Component.nullToEmpty(null), button -> {
Minecraft.getInstance().setScreen(this.addon.createScreen(Minecraft.getInstance().screen));
- }) {
+ }, Supplier::get) {
@Override
- protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) {
- super.renderBg(matrices, client, mouseX, mouseY);
+ public void render(PoseStack matrices, int mouseX, int mouseY, float delta) {
+ super.render(matrices, mouseX, mouseY, delta);
RenderSystem.setShaderTexture(0, InternalTextures.CHEST_GUI_TEXTURE);
- blit(matrices, x + 3, y + 3, 0, 0, 14, 14);
+ blit(matrices, getX() + 3, getY() + 3, 0, 0, 14, 14);
}
};
}
@@ -171,8 +160,8 @@ public class ConfigAddonsScreen extends Screen {
client.font.drawShadow(matrices, subtitle.getVisualOrderText(), x + 2, y + 12, 8421504);
}
}
- configureButton.x = x + entryWidth - 25;
- configureButton.y = y + 1;
+ configureButton.setX(x + entryWidth - 25);
+ configureButton.setY(y + 1);
configureButton.render(matrices, mouseX, mouseY, delta);
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/ConfigAddonsEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/c