diff options
| author | shedaniel <daniel@shedaniel.me> | 2023-08-08 22:04:05 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2023-08-08 22:04:05 +0800 |
| commit | 76ebe3362a41e15308e8221b802e8a2bd3b74f4e (patch) | |
| tree | 1ea993c188608ca7976aa128e7fdcf321c72a025 /runtime/src/main/java/me | |
| parent | 5403cbd3f70594c901d2ba1ff80ac33a40f898a1 (diff) | |
| download | RoughlyEnoughItems-76ebe3362a41e15308e8221b802e8a2bd3b74f4e.tar.gz RoughlyEnoughItems-76ebe3362a41e15308e8221b802e8a2bd3b74f4e.tar.bz2 RoughlyEnoughItems-76ebe3362a41e15308e8221b802e8a2bd3b74f4e.zip | |
Update to 23w31a
Diffstat (limited to 'runtime/src/main/java/me')
30 files changed, 119 insertions, 117 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java index 3698aed64..bbf4e5308 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCoreClient.java @@ -356,9 +356,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) -> { @@ -386,11 +386,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 1844edf1e..f796dc637 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -122,7 +122,7 @@ public class RoughlyEnoughItemsNetwork { try { boolean shift = packetByteBuf.readBoolean(); try { - InputSlotCrafter<AbstractContainerMenu, Container, Display> crafter = InputSlotCrafter.start(category, container, player, packetByteBuf.readAnySizeNbt(), shift); + InputSlotCrafter<AbstractContainerMenu, Container, Display> crafter = InputSlotCrafter.start(category, container, player, packetByteBuf.readNbt(), shift); } catch (InputSlotCrafter.NotEnoughMaterialsException e) { if (!(container instanceof RecipeBookMenu)) { return; 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 b10232ac5..b0501c7ba 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 @@ -445,12 +445,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 b05ede98f..6cedb1bb8 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 @@ -350,25 +350,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 585fedf10..393e4de4e 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 @@ -182,18 +182,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 c72b66b9b..023d14f4a 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 @@ -141,8 +141,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 1a5c9f7be..c7ab8e3dc 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 @@ -411,8 +411,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 949c5c241..c584230ce 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 @@ -229,10 +229,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) @@ -241,14 +241,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; @@ -262,7 +262,7 @@ public class CompositeDisplayViewingScreen extends AbstractDisplayViewingScreen return true; } } - return super.mouseScrolled(mouseX, mouseY, amount); + return super.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override @@ -291,9 +291,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 3d9a308ba..074cee7d4 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 @@ -328,7 +328,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()) { @@ -458,22 +457,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 e8200b050..91b19e070 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 @@ -161,7 +161,7 @@ public class UncertainDisplayViewingScreen extends Screen { @Override protected void applyValue() { - + } }))); this._children().addAll(widgets); @@ -178,11 +178,7 @@ public class UncertainDisplayViewingScreen extends Screen { @Override public void render(GuiGraphics graphics, int int_1, int int_2, float float_1) { scroll.update(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); if (scroll.target() == 0) { graphics.drawCenteredString(this.font, Component.translatable("text.rei.recipe_screen_type.selection"), this.width / 2, 20, 16777215); } else { @@ -210,7 +206,6 @@ public class UncertainDisplayViewingScreen extends Screen { graphics.pose().popPose(); } } - super.render(graphics, int_1, int_2, float_1); for (Widget widget : widgets) { widget.render(graphics, int_1, int_2, float_1); } @@ -230,6 +225,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 @@ |
