diff options
| author | shedaniel <daniel@shedaniel.me> | 2024-04-16 01:51:04 +0900 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2024-04-16 01:51:04 +0900 |
| commit | 5f61d89501a4eadd99c805c973b1ef49a3a3aaee (patch) | |
| tree | e5dff8a4b5c22a32e66cc4d9f15caedc2fc86a0f | |
| parent | 9bdb9cb7c0a03accb6f86bcedff4b22f38f1346f (diff) | |
| download | RoughlyEnoughItems-5f61d89501a4eadd99c805c973b1ef49a3a3aaee.tar.gz RoughlyEnoughItems-5f61d89501a4eadd99c805c973b1ef49a3a3aaee.tar.bz2 RoughlyEnoughItems-5f61d89501a4eadd99c805c973b1ef49a3a3aaee.zip | |
Fix merge conflicts
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<REIClientPlugin> { * @since 8.4 */ @ApiStatus.Experimental - default <T extends Recipe<?>, D extends Display> void registerRecipesFiller(Class<T> typeClass, RecipeType<? super T> recipeType, Function<? extends T, @Nullable Collection<? extends D>> filler) { + default <T extends Recipe<?>, D extends Display> void registerRecipesFiller(Class<T> typeClass, RecipeType<? super T> recipeType, Function<? extends RecipeHolder<T>, @Nullable Collection<? extends D>> filler) { registerRecipesFiller(typeClass, type -> Objects.equals(recipeType, type), filler); } @@ -269,7 +269,7 @@ public interface DisplayRegistry extends RecipeManagerContext<REIClientPlugin> { * @since 8.4 */ @ApiStatus.Experimental - default <T extends Recipe<?>, D extends Display> void registerRecipesFiller(Class<T> typeClass, Predicate<RecipeType<? super T>> recipeType, Function<? extends T, @Nullable Collection<? extends D>> filler) { + default <T extends Recipe<?>, D extends Display> void registerRecipesFiller(Class<T> typeClass, Predicate<RecipeType<? super T>> recipeType, Function<? extends RecipeHolder<T>, @Nullable Collection<? extends D>> filler) { registerRecipesFiller(typeClass, recipeType, Predicates.alwaysTrue(), filler); } @@ -305,8 +305,12 @@ public interface DisplayRegistry extends RecipeManagerContext<REIClientPlugin> { * @since 8.4 */ @ApiStatus.Experimental - default <T extends Recipe<?>, D extends Display> void registerRecipesFiller(Class<T> typeClass, Predicate<RecipeType<? super T>> recipeType, Predicate<? extends T> predicate, Function<? extends T, @Nullable Collection<? extends D>> filler) { - registerDisplaysFiller(typeClass, recipe -> recipeType.test((RecipeType<? super T>) recipe.getType()) && ((Predicate<T>) predicate).test(recipe), filler); + default <T extends Recipe<?>, D extends Display> void registerRecipesFiller(Class<T> typeClass, Predicate<RecipeType<? super T>> recipeType, Predicate<? extends RecipeHolder<T>> predicate, Function<? extends RecipeHolder<T>, @Nullable Collection<? extends D>> filler) { + registerDisplaysFiller(RecipeHolder.class, recipe -> { + return typeClass.isInstance(recipe.value()) + && recipeType.test((RecipeType<? super T>) recipe.value().getType()) + && ((Predicate<RecipeHolder<T>>) 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<ArmorDyeRecipe> { @Override - public Collection<Display> apply(ArmorDyeRecipe recipe) { + public Collection<Display> apply(RecipeHolder<ArmorDyeRecipe> recipe) { List<Display> displays = new ArrayList<>(); List<EntryStack<?>> toDye = EntryRegistry.getInstance().getEntryStacks().filter(entry -> entry.getValueType() == ItemStack.class && entry.<ItemStack>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<BannerDuplicateRecipe> { @Override - public Collection<Display> apply(BannerDuplicateRecipe recipe) { + public Collection<Display> apply(RecipeHolder<BannerDuplicateRecipe> recipe) { List<Display> displays = new ArrayList<>(); Map<DyeColor, Pair<EntryIngredient.Builder, EntryStack<?>>> 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<BookCloning }; @Override - public Collection<Display> apply(BookCloningRecipe recipe) { + public Collection<Display> apply(RecipeHolder<BookCloningRecipe> recipe) { List<Display> 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<T extends CraftingRecipe> extends Function<T, Collection<Display>> { +public interface CraftingRecipeFiller<T extends CraftingRecipe> extends Function<RecipeHolder<T>, Collection<Display>> { 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<FireworkRocketRecipe> { @Override - public Collection<Display> apply(FireworkRocketRecipe recipe) { + public Collection<Display> apply(RecipeHolder<FireworkRocketRecipe> recipe) { List<Display> 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<MapCloningRecipe> { @Override - public Collection<Display> apply(MapCloningRecipe recipe) { + public Collection<Display> apply(RecipeHolder<MapCloningRecipe> recipe) { List<Display> 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<MapExtendingRecipe> { @Override - public Collection<Display> apply(MapExtendingRecipe recipe) { + public Collection<Display> apply(RecipeHolder<MapExtendingRecipe> recipe) { List<Display> 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<Shield } @Override - public Collection<Display> apply(ShieldDecorationRecipe recipe) { + public Collection<Display> apply(RecipeHolder<ShieldDecorationRecipe> recipe) { List<Display> 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<ShulkerBoxColoring> { @Override - public Collection<Display> apply(ShulkerBoxColoring recipe) { + public Collection<Display> apply(RecipeHolder<ShulkerBoxColoring> recipe) { List<Display> 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<SuspiciousStewRecipe> { @Override - public Collection<Display> apply(SuspiciousStewRecipe recipe) { + public Collection<Display> apply(RecipeHolder<SuspiciousStewRecipe> recipe) { List<Display> 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<TippedArrowRecipe> { @Override - public Collection<Display> apply(TippedArrowRecipe recipe) { + public Collection<Display> apply(RecipeHolder<TippedArrowRecipe> recipe) { EntryIngredient arrowStack = EntryIngredient.of(EntryStacks.of(Items.ARROW)); ReferenceSet<Potion> registeredPotions = new ReferenceOpenHashSet<>(); List<Display> 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 |
