From 5f61d89501a4eadd99c805c973b1ef49a3a3aaee Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 16 Apr 2024 01:51:04 +0900 Subject: Fix merge conflicts --- .../rei/api/client/registry/display/DisplayRegistry.java | 12 ++++++++---- .../categories/crafting/filler/ArmorDyeRecipeFiller.java | 3 ++- .../crafting/filler/BannerDuplicateRecipeFiller.java | 3 ++- .../categories/crafting/filler/BookCloningRecipeFiller.java | 3 ++- .../categories/crafting/filler/CraftingRecipeFiller.java | 3 ++- .../crafting/filler/FireworkRocketRecipeFiller.java | 3 ++- .../categories/crafting/filler/MapCloningRecipeFiller.java | 3 ++- .../categories/crafting/filler/MapExtendingRecipeFiller.java | 3 ++- .../crafting/filler/ShieldDecorationRecipeFiller.java | 3 ++- .../categories/crafting/filler/ShulkerBoxColoringFiller.java | 3 ++- .../crafting/filler/SuspiciousStewRecipeFiller.java | 3 ++- .../categories/crafting/filler/TippedArrowRecipeFiller.java | 3 ++- .../rei/impl/client/gui/config/REIConfigScreen.java | 8 ++++---- .../options/configure/PanelBoundariesConfiguration.java | 3 +-- .../client/gui/config/options/preview/TooltipPreviewer.java | 2 +- .../gui/screen/collapsible/CollapsibleEntriesScreen.java | 12 ++++++------ .../gui/screen/collapsible/CollapsibleEntryWidget.java | 8 ++++---- .../selection/CustomCollapsibleEntrySelectionScreen.java | 8 ++++---- .../rei/impl/client/gui/widget/MergedWidgetWithBounds.java | 4 ++-- .../rei/impl/client/gui/widget/ScrollableViewWidget.java | 8 ++++---- 20 files changed, 56 insertions(+), 42 deletions(-) diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java index 50e05be85..9e309c943 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java @@ -237,7 +237,7 @@ public interface DisplayRegistry extends RecipeManagerContext { * @since 8.4 */ @ApiStatus.Experimental - default , D extends Display> void registerRecipesFiller(Class typeClass, RecipeType recipeType, Function> filler) { + default , D extends Display> void registerRecipesFiller(Class typeClass, RecipeType recipeType, Function, @Nullable Collection> filler) { registerRecipesFiller(typeClass, type -> Objects.equals(recipeType, type), filler); } @@ -269,7 +269,7 @@ public interface DisplayRegistry extends RecipeManagerContext { * @since 8.4 */ @ApiStatus.Experimental - default , D extends Display> void registerRecipesFiller(Class typeClass, Predicate> recipeType, Function> filler) { + default , D extends Display> void registerRecipesFiller(Class typeClass, Predicate> recipeType, Function, @Nullable Collection> filler) { registerRecipesFiller(typeClass, recipeType, Predicates.alwaysTrue(), filler); } @@ -305,8 +305,12 @@ public interface DisplayRegistry extends RecipeManagerContext { * @since 8.4 */ @ApiStatus.Experimental - default , D extends Display> void registerRecipesFiller(Class typeClass, Predicate> recipeType, Predicate predicate, Function> filler) { - registerDisplaysFiller(typeClass, recipe -> recipeType.test((RecipeType) recipe.getType()) && ((Predicate) predicate).test(recipe), filler); + default , D extends Display> void registerRecipesFiller(Class typeClass, Predicate> recipeType, Predicate> predicate, Function, @Nullable Collection> filler) { + registerDisplaysFiller(RecipeHolder.class, recipe -> { + return typeClass.isInstance(recipe.value()) + && recipeType.test((RecipeType) recipe.value().getType()) + && ((Predicate>) predicate).test(recipe); + }, filler); } /** diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ArmorDyeRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ArmorDyeRecipeFiller.java index 2582beb51..73aa38bb5 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ArmorDyeRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ArmorDyeRecipeFiller.java @@ -34,6 +34,7 @@ import net.minecraft.world.item.DyeItem; import net.minecraft.world.item.DyeableLeatherItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.ArmorDyeRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import java.util.ArrayList; import java.util.Collection; @@ -42,7 +43,7 @@ import java.util.Random; public class ArmorDyeRecipeFiller implements CraftingRecipeFiller { @Override - public Collection apply(ArmorDyeRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); List> toDye = EntryRegistry.getInstance().getEntryStacks().filter(entry -> entry.getValueType() == ItemStack.class && entry.castValue().getItem() instanceof DyeableLeatherItem).toList(); DyeColor[] colors = DyeColor.values(); diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BannerDuplicateRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BannerDuplicateRecipeFiller.java index 127355293..f28eb8f43 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BannerDuplicateRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BannerDuplicateRecipeFiller.java @@ -35,12 +35,13 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.BannerDuplicateRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import java.util.*; public class BannerDuplicateRecipeFiller implements CraftingRecipeFiller { @Override - public Collection apply(BannerDuplicateRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); Map>> displayMap = new HashMap<>(); diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BookCloningRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BookCloningRecipeFiller.java index 74b3c0101..cab460f70 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BookCloningRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BookCloningRecipeFiller.java @@ -34,6 +34,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.WrittenBookItem; import net.minecraft.world.item.crafting.BookCloningRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import java.util.ArrayList; import java.util.Collection; @@ -60,7 +61,7 @@ public class BookCloningRecipeFiller implements CraftingRecipeFiller apply(BookCloningRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); for (int i = 1; i <= 8; i++) { diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/CraftingRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/CraftingRecipeFiller.java index ac575045b..8670ed6fc 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/CraftingRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/CraftingRecipeFiller.java @@ -37,13 +37,14 @@ import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCraftingDisplay; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.crafting.CraftingRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.RecipeType; import java.util.Collection; import java.util.List; import java.util.function.Function; -public interface CraftingRecipeFiller extends Function> { +public interface CraftingRecipeFiller extends Function, Collection> { default void registerCategories(CategoryRegistry registry) { } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/FireworkRocketRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/FireworkRocketRecipeFiller.java index d4a689df1..3a9f04b0f 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/FireworkRocketRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/FireworkRocketRecipeFiller.java @@ -35,6 +35,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.FireworkRocketRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import java.util.ArrayList; import java.util.Collection; @@ -42,7 +43,7 @@ import java.util.List; public class FireworkRocketRecipeFiller implements CraftingRecipeFiller { @Override - public Collection apply(FireworkRocketRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); { EntryIngredient[] inputs = new EntryIngredient[4]; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapCloningRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapCloningRecipeFiller.java index e36a6fd8f..e692668ca 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapCloningRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapCloningRecipeFiller.java @@ -28,6 +28,7 @@ import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCustomShapelessDisplay; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.MapCloningRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import java.util.ArrayList; import java.util.Collection; @@ -35,7 +36,7 @@ import java.util.List; public class MapCloningRecipeFiller implements CraftingRecipeFiller { @Override - public Collection apply(MapCloningRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); displays.add(new DefaultCustomShapelessDisplay(recipe, diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapExtendingRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapExtendingRecipeFiller.java index f5771ce5b..b01b45c4c 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapExtendingRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapExtendingRecipeFiller.java @@ -33,6 +33,7 @@ import net.minecraft.client.resources.language.I18n; import net.minecraft.network.chat.Component; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.MapExtendingRecipe; +import net.minecraft.world.item.crafting.RecipeHolder; import java.util.ArrayList; import java.util.Collection; @@ -40,7 +41,7 @@ import java.util.List; public class MapExtendingRecipeFiller implements CraftingRecipeFiller { @Override - public Collection apply(MapExtendingRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); for (int i = 0; i < 4; i++) { diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShieldDecorationRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShieldDecorationRecipeFiller.java index 38de05515..54272d078 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShieldDecorationRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShieldDecorationRecipeFiller.java @@ -36,6 +36,7 @@ import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.*; +import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.ShieldDecorationRecipe; import net.minecraft.world.level.block.entity.BannerPattern; import net.minecraft.world.level.block.entity.BlockEntityType; @@ -72,7 +73,7 @@ public class ShieldDecorationRecipeFiller implements CraftingRecipeFiller apply(ShieldDecorationRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); EntryIngredient shield = EntryIngredients.of(Items.SHIELD); EntryIngredient.Builder inputsBuilder = EntryIngredient.builder(); diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShulkerBoxColoringFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShulkerBoxColoringFiller.java index 1a1240925..a61c868f8 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShulkerBoxColoringFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShulkerBoxColoringFiller.java @@ -30,6 +30,7 @@ import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCustomShapelessDi import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.DyeItem; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.ShulkerBoxColoring; import net.minecraft.world.level.block.ShulkerBoxBlock; @@ -39,7 +40,7 @@ import java.util.List; public class ShulkerBoxColoringFiller implements CraftingRecipeFiller { @Override - public Collection apply(ShulkerBoxColoring recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); EntryIngredient shulkerBox = EntryIngredients.of(Items.SHULKER_BOX); diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/SuspiciousStewRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/SuspiciousStewRecipeFiller.java index fab4e4e70..c86ff4a63 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/SuspiciousStewRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/SuspiciousStewRecipeFiller.java @@ -30,6 +30,7 @@ import me.shedaniel.rei.plugin.common.displays.crafting.DefaultCustomShapelessDi import net.minecraft.network.chat.Component; import net.minecraft.tags.ItemTags; import net.minecraft.world.item.Items; +import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.SuspiciousStewRecipe; import java.util.ArrayList; @@ -38,7 +39,7 @@ import java.util.List; public class SuspiciousStewRecipeFiller implements CraftingRecipeFiller { @Override - public Collection apply(SuspiciousStewRecipe recipe) { + public Collection apply(RecipeHolder recipe) { List displays = new ArrayList<>(); displays.add(new DefaultCustomShapelessDisplay(recipe, diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/TippedArrowRecipeFiller.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/TippedArrowRecipeFiller.java index e0d62e357..f544ae1e8 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/TippedArrowRecipeFiller.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/TippedArrowRecipeFiller.java @@ -35,6 +35,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionUtils; +import net.minecraft.world.item.crafting.RecipeHolder; import net.minecraft.world.item.crafting.TippedArrowRecipe; import java.util.ArrayList; @@ -43,7 +44,7 @@ import java.util.List; public class TippedArrowRecipeFiller implements CraftingRecipeFiller { @Override - public Collection apply(TippedArrowRecipe recipe) { + public Collection apply(RecipeHolder recipe) { EntryIngredient arrowStack = EntryIngredient.of(EntryStacks.of(Items.ARROW)); ReferenceSet registeredPotions = new ReferenceOpenHashSet<>(); List displays = new ArrayList<>(); diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/REIConfigScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/REIConfigScreen.java index d1cdccd00..cdc5c8c88 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/REIConfigScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/REIConfigScreen.java @@ -321,13 +321,13 @@ public class REIConfigScreen extends Screen implements ConfigAccess { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - if (menu != null && menu.mouseScrolled(mouseX, mouseY, amount)) + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + if (menu != null && menu.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; for (GuiEventListener listener : children()) - if (listener.mouseScrolled(mouseX, mouseY, amount)) + if (listener.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/config/options/configure/PanelBoundariesConfiguration.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/configure/PanelBoundariesConfiguration.java index 0530ba503..9c040f00e 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/configure/PanelBoundariesConfiguration.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/configure/PanelBoundariesConfiguration.java @@ -271,7 +271,7 @@ public enum PanelBoundariesConfiguration implements OptionValueEntry.Configurato public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) { this.innerAlphaAnimator.setTarget(this.innerAlphaAnimator.target() + (1.0F - this.innerAlphaAnimator.target()) * 0.06F); this.innerAlphaAnimator.update(delta); - this.renderBackground(graphics); + super.render(graphics, mouseX, mouseY, delta); Rectangle panelBounds = new Rectangle(this.width * 3 / 10, this.height * 4 / 40, this.width * 4 / 10, this.height * 32 / 40); Widgets.createCategoryBase(panelBounds).render(graphics, mouseX, mouseY, delta); int y = panelBounds.y + 6; @@ -304,7 +304,6 @@ public enum PanelBoundariesConfiguration implements OptionValueEntry.Configurato this.verticalAlignmentSlider.setY(y); this.verticalAlignmentSlider.setWidth(panelBounds.width - 12); - super.render(graphics, mouseX, mouseY, delta); renderPreview(graphics, panelBounds, delta); } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/preview/TooltipPreviewer.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/preview/TooltipPreviewer.java index f3f4d6820..cfe3386aa 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/preview/TooltipPreviewer.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/preview/TooltipPreviewer.java @@ -42,9 +42,9 @@ import net.minecraft.client.resources.language.I18n; import net.minecraft.util.FormattedCharSequence; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; +import org.jetbrains.annotations.Nullable; import org.joml.Matrix4f; -import javax.annotation.Nullable; import java.util.ArrayList; import java.util.List; import java.util.function.IntSupplier; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntriesScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntriesScreen.java index c072e84e3..f46a7c29b 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntriesScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntriesScreen.java @@ -200,8 +200,8 @@ public class CollapsibleEntriesScreen extends Screen { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - return this.listWidget.mouseScrolled(mouseX, mouseY, amount) || super.mouseScrolled(mouseX, mouseY, amount); + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + return this.listWidget.mouseScrolled(mouseX, mouseY, amountX, amountY) || super.mouseScrolled(mouseX, mouseY, amountX, amountY); } @Override @@ -302,14 +302,14 @@ public class CollapsibleEntriesScreen extends Screen { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { for (CollapsibleEntryWidget widget : children) { - if (widget.mouseScrolled(mouseX, mouseY, amount)) { + if (widget.mouseScrolled(mouseX, mouseY, amountX, amountY)) { return true; } } - if (mouseY > this.top) { - this.scroller.offset(ClothConfigInitializer.getScrollStep() * -amount, true); + if (mouseY > this.top && amountY != 0) { + this.scroller.offset(ClothConfigInitializer.getScrollStep() * -amountY, true); return true; } else { return false; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntryWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntryWidget.java index e93d5d733..fda57ba57 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntryWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntryWidget.java @@ -296,10 +296,10 @@ public class CollapsibleEntryWidget extends WidgetWithBounds { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - if (this.scroller.getMaxScroll() > 0 && this.scroller.getBounds().contains(mouseX, mouseY)) { - if ((amount < 0 || this.scroller.scrollAmountInt() != 0) && (amount > 0 || this.scroller.scrollAmountInt() != this.scroller.getMaxScroll())) { - this.scroller.offset(ClothConfigInitializer.getScrollStep() * -amount, true); + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + if (this.scroller.getMaxScroll() > 0 && this.scroller.getBounds().contains(mouseX, mouseY) && amountY != 0) { + if ((amountY < 0 || this.scroller.scrollAmountInt() != 0) && (amountY > 0 || this.scroller.scrollAmountInt() != this.scroller.getMaxScroll())) { + this.scroller.offset(ClothConfigInitializer.getScrollStep() * -amountY, true); return true; } } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/selection/CustomCollapsibleEntrySelectionScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/selection/CustomCollapsibleEntrySelectionScreen.java index 2d5c3bd27..23ea8e6b1 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/selection/CustomCollapsibleEntrySelectionScreen.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/selection/CustomCollapsibleEntrySelectionScreen.java @@ -453,13 +453,13 @@ public class CustomCollapsibleEntrySelectionScreen extends Screen { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - if (getBounds().contains(mouseX, mouseY)) { - scrolling.offset(ClothConfigInitializer.getScrollStep() * -amount, true); + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + if (getBounds().contains(mouseX, mouseY) && amountY != 0) { + scrolling.offset(ClothConfigInitializer.getScrollStep() * -amountY, true); return true; } - super.mouseScrolled(mouseX, mouseY, amount); + super.mouseScrolled(mouseX, mouseY, amountX, amountY); return true; } diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/MergedWidgetWithBounds.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/MergedWidgetWithBounds.java index a5b5b1a09..23eb26c90 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/MergedWidgetWithBounds.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/MergedWidgetWithBounds.java @@ -56,9 +56,9 @@ public class MergedWidgetWithBounds extends WidgetWithBounds { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { for (Widget widget : this.widgets) { - if (widget.mouseScrolled(mouseX, mouseY, amount)) + if (widget.mouseScrolled(mouseX, mouseY, amountX, amountY)) return true; } return false; diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ScrollableViewWidget.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ScrollableViewWidget.java index 4f3524c42..126576f49 100644 --- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ScrollableViewWidget.java +++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ScrollableViewWidget.java @@ -99,13 +99,13 @@ public class ScrollableViewWidget { } @Override - public boolean mouseScrolled(double mouseX, double mouseY, double amount) { - if (bounds.contains(mouseX, mouseY)) { - scrolling.offset(ClothConfigInitializer.getScrollStep() * -amount, true); + public boolean mouseScrolled(double mouseX, double mouseY, double amountX, double amountY) { + if (bounds.contains(mouseX, mouseY) && amountY != 0) { + scrolling.offset(ClothConfigInitializer.getScrollStep() * -amountY, true); return true; } - return super.mouseScrolled(mouseX, mouseY, amount); + return super.mouseScrolled(mouseX, mouseY, amountX, amountY); } }; } -- cgit