diff options
Diffstat (limited to 'runtime/src/main')
33 files changed, 127 insertions, 124 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java index de49c9a29..408227e16 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java @@ -358,9 +358,9 @@ public class RoughlyEnoughItemsCoreClient { ((ScreenRegistryImpl) ScreenRegistry.getInstance()).getLastRendererProvider(screen); } if (ConfigObject.getInstance().doesDisableRecipeBook() && screen instanceof AbstractContainerScreen) { - access.getRenderables().removeIf(widget -> widget instanceof ImageButton button && button.resourceLocation.equals(recipeButtonTex)); - access.getNarratables().removeIf(widget -> widget instanceof ImageButton button && button.resourceLocation.equals(recipeButtonTex)); - screen.children().removeIf(widget -> widget instanceof ImageButton button && button.resourceLocation.equals(recipeButtonTex)); + access.getRenderables().removeIf(widget -> widget instanceof ImageButton button && button.sprites.enabled().equals(recipeButtonTex)); + access.getNarratables().removeIf(widget -> widget instanceof ImageButton button && button.sprites.enabled().equals(recipeButtonTex)); + screen.children().removeIf(widget -> widget instanceof ImageButton button && button.sprites.enabled().equals(recipeButtonTex)); } }); ClientScreenInputEvent.MOUSE_CLICKED_PRE.register((minecraftClient, screen, mouseX, mouseY, button) -> { @@ -388,11 +388,11 @@ public class RoughlyEnoughItemsCoreClient { } return EventResult.pass(); }); - ClientScreenInputEvent.MOUSE_SCROLLED_PRE.register((minecraftClient, screen, mouseX, mouseY, amount) -> { + ClientScreenInputEvent.MOUSE_SCROLLED_PRE.register((minecraftClient, screen, mouseX, mouseY, amountX, amountY) -> { if (shouldReturn(screen) || screen instanceof DisplayScreen) return EventResult.pass(); resetFocused(screen); - if (REIRuntime.getInstance().isOverlayVisible() && getOverlay().mouseScrolled(mouseX, mouseY, amount) + if (REIRuntime.getInstance().isOverlayVisible() && getOverlay().mouseScrolled(mouseX, mouseY, amountX, amountY) && resetFocused(screen)) return EventResult.interruptFalse(); return EventResult.pass(); diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index b9d79cf83..58b4cd21a 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -138,7 +138,7 @@ public class RoughlyEnoughItemsNetwork { try { boolean shift = packetByteBuf.readBoolean(); try { - LegacyInputSlotCrafter<AbstractContainerMenu, Container, Display> crafter = LegacyInputSlotCrafter.start(category, container, player, packetByteBuf.readAnySizeNbt(), shift); + LegacyInputSlotCrafter<AbstractContainerMenu, Container, Display> crafter = LegacyInputSlotCrafter.start(category, container, player, packetByteBuf.readNbt(), shift); } catch (InputSlotCrafter.NotEnoughMaterialsException e) { if (!(container instanceof RecipeBookMenu)) { return; @@ -171,7 +171,7 @@ public class RoughlyEnoughItemsNetwork { try { boolean shift = packetByteBuf.readBoolean(); try { - CompoundTag nbt = packetByteBuf.readAnySizeNbt(); + CompoundTag nbt = packetByteBuf.readNbt(); int version = nbt.getInt("Version"); if (version != 1) throw new IllegalStateException("Server and client REI protocol version mismatch! Server: 1, Client: " + version); List<InputIngredient<ItemStack>> inputs = readInputs(nbt.getList("Inputs", Tag.TAG_COMPOUND)); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java index 6f7253e0c..7e1c9f1e7 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java @@ -450,12 +450,12 @@ public class FilteringScreen extends Screen { } @Override - public boolean mouseScrolled(double double_1, double double_2, double double_3) { - if (getBounds().contains(double_1, double_2)) { - scrolling.offset(ClothConfigInitializer.getScrollStep() * -double_3, true); + public boolean mouseScrolled(double double_1, double double_2, double amountX, double amountY) { + if (getBounds().contains(double_1, double_2) && amountY != 0) { + scrolling.offset(ClothConfigInitializer.getScrollStep() * -amountY, true); return true; } - super.mouseScrolled(double_1, double_2, double_3); + super.mouseScrolled(double_1, double_2, amountX, amountY); return true; } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java index c147f4b7c..8b85d4255 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ScreenOverlayImpl.java @@ -349,25 +349,25 @@ public abstract class ScreenOverlayImpl extends ScreenOverlay { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { if (!REIRuntime.getInstance().isOverlayVisible()) return false; - if (menuHolder.mouseScrolled(mouseX, mouseY, amount)) + if (menuHolder.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; - if (hintsWidget.mouseScrolled(mouseX, mouseY, amount)) + if (hintsWidget.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; - if (isInside(mouseX, mouseY) && getEntryListWidget().mouseScrolled(mouseX, mouseY, amount)) { + if (isInside(mouseX, mouseY) && getEntryListWidget().mouseScrolled(mouseX, mouseY, amountX, amountY)) { return true; } if (isNotInExclusionZones(PointHelper.getMouseX(), PointHelper.getMouseY())) { - if (favoritesListWidget != null && favoritesListWidget.mouseScrolled(mouseX, mouseY, amount)) + if (favoritesListWidget != null && favoritesListWidget.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; } for (Widget widget : widgets) if (widget != getEntryListWidget() && (favoritesListWidget == null || widget != favoritesListWidget) && widget != menuHolder.widget() && widget != hintsWidget - && widget.mouseScrolled(mouseX, mouseY, amount)) + && widget.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; return false; } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java index 76afc126b..b8bb723c3 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/credits/CreditsScreen.java @@ -145,10 +145,10 @@ public class CreditsScreen extends Screen { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - if (entryListWidget.mouseScrolled(mouseX, mouseY, amount)) + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + if (entryListWidget.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; - return super.mouseScrolled(mouseX, mouseY, amount); + return super.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java index 7edfe11b2..b90d83052 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsEntryListWidget.java @@ -251,9 +251,9 @@ public class ErrorsEntryListWidget extends DynamicSmoothScrollingEntryListWidget } @Override - public boolean mouseScrolled(double d, double e, double f) { + public boolean mouseScrolled(double d, double e, double amountX, double amountY) { Vector4f mouse = transformMouse(d, e); - return super.mouseScrolled(mouse.x(), mouse.y(), f); + return super.mouseScrolled(mouse.x(), mouse.y(), amountX, amountY); } @Nullable diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java index 072a98eed..c61a18724 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/error/ErrorsScreen.java @@ -88,23 +88,22 @@ public class ErrorsScreen extends Screen { private void exit() { boolean localServer = this.minecraft.isLocalServer(); - boolean connectedToRealms = this.minecraft.isConnectedToRealms(); this.minecraft.level.disconnect(); if (localServer) { - this.minecraft.clearLevel(new GenericDirtMessageScreen(Component.translatable("menu.savingLevel"))); + this.minecraft.disconnect(new GenericDirtMessageScreen(Component.translatable("menu.savingLevel"))); } else { - this.minecraft.clearLevel(); + this.minecraft.disconnect(); } System.exit(-1); } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - if (listWidget.mouseScrolled(mouseX, mouseY, amount)) + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + if (listWidget.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; - return super.mouseScrolled(mouseX, mouseY, amount); + return super.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/Menu.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/Menu.java index 518f3db71..efd149981 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/Menu.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/Menu.java @@ -191,18 +191,18 @@ public class Menu extends WidgetWithBounds implements LateRenderable { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { if (getInnerBounds().contains(mouseX, mouseY)) { - scrolling.offset(ClothConfigInitializer.getScrollStep() * -amount, true); + scrolling.offset(ClothConfigInitializer.getScrollStep() * -amountY, true); return true; } for (FavoriteMenuEntry child : children()) { if (child instanceof SubMenuEntry) { - if (child.mouseScrolled(mouseX, mouseY, amount)) + if (child.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; } } - return super.mouseScrolled(mouseX, mouseY, amount); + return super.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/MenuHolder.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/MenuHolder.java index 61fe51bc5..efd93ab7d 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/MenuHolder.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/MenuHolder.java @@ -116,8 +116,8 @@ public class MenuHolder implements MenuAccess { } } - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - return menu != null && menu.wrappedMenu.mouseScrolled(mouseX, mouseY, amount); + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + return menu != null && menu.wrappedMenu.mouseScrolled(mouseX, mouseY, amountX, amountY); } private static class OverlayMenu { diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/SubMenuEntry.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/SubMenuEntry.java index 3621b2f61..c986d2e2f 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/SubMenuEntry.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/SubMenuEntry.java @@ -151,8 +151,8 @@ public class SubMenuEntry extends AbstractMenuEntry { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - return childMenu != null && !childMenu.children().isEmpty() && isSelected() && childMenu.mouseScrolled(mouseX, mouseY, amount); + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + return childMenu != null && !childMenu.children().isEmpty() && isSelected() && childMenu.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java index 437a544bc..92e29de79 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java @@ -474,8 +474,8 @@ public abstract class AbstractDisplayViewingScreen extends Screen implements Dis } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - return super.mouseScrolled(mouseX, mouseY, amount) || (getOverlay().mouseScrolled(mouseX, mouseY, amount) && handleFocuses()); + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + return super.mouseScrolled(mouseX, mouseY, amountX, amountY) || (getOverlay().mouseScrolled(mouseX, mouseY, amountX, amountY) && handleFocuses()); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java index 323cc0df0..512a26436 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java @@ -230,10 +230,10 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { double height = scrolling.getMaxScrollHeight(); - if (scrollListBounds.contains(mouseX, mouseY) && height > scrollListBounds.height - 2) { - scrolling.offset(ClothConfigInitializer.getScrollStep() * -amount, true); + if (scrollListBounds.contains(mouseX, mouseY) && height > scrollListBounds.height - 2 && amountY != 0) { + scrolling.offset(ClothConfigInitializer.getScrollStep() * -amountY, true); if (scrollBarAlphaFuture == 0) scrollBarAlphaFuture = 1f; if (System.currentTimeMillis() - scrollBarAlphaFutureTime > 300f) @@ -242,14 +242,14 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen } REIRuntimeImpl.isWithinRecipeViewingScreen = true; for (GuiEventListener listener : children()) { - if (listener.mouseScrolled(mouseX, mouseY, amount)) { + if (listener.mouseScrolled(mouseX, mouseY, amountX, amountY)) { REIRuntimeImpl.isWithinRecipeViewingScreen = false; return true; } } REIRuntimeImpl.isWithinRecipeViewingScreen = false; - if (bounds.contains(PointHelper.ofMouse())) { - if (amount < 0 && categoryMap.get(categories.get(selectedCategoryIndex)).size() > 1) { + if (bounds.contains(PointHelper.ofMouse()) && amountY != 0) { + if (amountY < 0 && categoryMap.get(categories.get(selectedCategoryIndex)).size() > 1) { selectedRecipeIndex++; if (selectedRecipeIndex >= categoryMap.get(categories.get(selectedCategoryIndex)).size()) selectedRecipeIndex = 0; @@ -263,7 +263,7 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen return true; } } - return super.mouseScrolled(mouseX, mouseY, amount); + return super.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override @@ -292,9 +292,8 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen } } scrolling.updatePosition(delta); - renderBackground(graphics); - getOverlay().render(graphics, mouseX, mouseY, delta); super.render(graphics, mouseX, mouseY, delta); + getOverlay().render(graphics, mouseX, mouseY, delta); for (Widget widget : widgets) { RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); widget.render(graphics, mouseX, mouseY, delta); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java index edb30f51b..c90fffa69 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java @@ -329,7 +329,6 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { @Override public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { darkStripesColor.update(delta); - renderBackground(graphics); super.render(graphics, mouseX, mouseY, delta); getOverlay().render(graphics, mouseX, mouseY, delta); for (Widget widget : widgets()) { @@ -460,22 +459,22 @@ public class DefaultDisplayViewingScreen extends AbstractDisplayViewingScreen { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { REIRuntimeImpl.isWithinRecipeViewingScreen = true; for (GuiEventListener listener : children()) { - if (listener.mouseScrolled(mouseX, mouseY, amount)) { + if (listener.mouseScrolled(mouseX, mouseY, amountX, amountY)) { REIRuntimeImpl.isWithinRecipeViewingScreen = false; return true; } } REIRuntimeImpl.isWithinRecipeViewingScreen = false; if (getBounds().contains(PointHelper.ofMouse())) { - if (amount > 0 && recipeBack.isEnabled()) + if (amountY > 0 && recipeBack.isEnabled()) recipeBack.onClick(); - else if (amount < 0 && recipeNext.isEnabled()) + else if (amountY < 0 && recipeNext.isEnabled()) recipeNext.onClick(); } - return super.mouseScrolled(mouseX, mouseY, amount); + return super.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java index f72927df9..fcc830323 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java @@ -127,11 +127,7 @@ public class UncertainDisplayViewingScreen extends Screen { @Override public void render(GuiGraphics graphics, int int_1, int int_2, float float_1) { - if (this.minecraft.level != null) { - renderBackground(graphics); - } else { - graphics.fillGradient(0, 0, this.width, this.height, -16777216, -16777216); - } + super.render(graphics, int_1, int_2, float_1); graphics.drawCenteredString(this.font, Component.translatable("text.rei.recipe_screen_type.selection"), this.width / 2, 20, 16777215); ScissorsHandler.INSTANCE.scissor(new Rectangle(0, 20 + font.lineHeight + 2, width, height - 42)); if (showTips) { @@ -141,7 +137,6 @@ public class UncertainDisplayViewingScreen extends Screen { i += 10; } } - super.render(graphics, int_1, int_2, float_1); for (Widget widget : widgets) { widget.render(graphics, int_1, int_2, float_1); } @@ -160,6 +155,15 @@ public class UncertainDisplayViewingScreen extends Screen { button.render(graphics, int_1, int_2, float_1); } + @Override + public void renderBackground(GuiGraphics graphics, int i, int j, float f) { + if (this.minecraft.level != null) { + super.renderBackground(graphics, i, j, f); + } else { + graphics.fillGradient(0, 0, this.width, this.height, -16777216, -16777216); + } + } + private void updateFramePosition(float delta) { target = clamp(target); if (!DynamicNewSmoothScrollingEntryListWidget.Precision.almostEquals(frame, target, DynamicNewSmoothScrollingEntryListWidget.Precision.FLOAT_EPSILON)) diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java index 4b8d4d152..78821df17 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/WarningAndErrorScreen.java @@ -127,8 +127,8 @@ public class WarningAndErrorScreen extends Screen { } @Override - public boolean mouseScrolled(double double_1, double double_2, double double_3) { - return listWidget.mouseScrolled(double_1, double_2, double_3) || super.mouseScrolled(double_1, double_2, double_3); + public boolean mouseScrolled(double double_1, double double_2, double amountX, double amountY) { + return listWidget.mouseScrolled(double_1, double_2, amountX, amountY) || super.mouseScrolled(double_1, double_2, amountX, amountY); } @Override @@ -191,7 +191,7 @@ public class WarningAndErrorScreen extends Screen { private static class EmptyItem extends StringItem { @Override |
