aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2024-04-16 01:51:04 +0900
committershedaniel <daniel@shedaniel.me>2024-04-16 01:51:04 +0900
commit5f61d89501a4eadd99c805c973b1ef49a3a3aaee (patch)
treee5dff8a4b5c22a32e66cc4d9f15caedc2fc86a0f
parent9bdb9cb7c0a03accb6f86bcedff4b22f38f1346f (diff)
downloadRoughlyEnoughItems-5f61d89501a4eadd99c805c973b1ef49a3a3aaee.tar.gz
RoughlyEnoughItems-5f61d89501a4eadd99c805c973b1ef49a3a3aaee.tar.bz2
RoughlyEnoughItems-5f61d89501a4eadd99c805c973b1ef49a3a3aaee.zip
Fix merge conflicts
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/display/DisplayRegistry.java12
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ArmorDyeRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BannerDuplicateRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/BookCloningRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/CraftingRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/FireworkRocketRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapCloningRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/MapExtendingRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShieldDecorationRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/ShulkerBoxColoringFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/SuspiciousStewRecipeFiller.java3
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/client/categories/crafting/filler/TippedArrowRecipeFiller.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/REIConfigScreen.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/configure/PanelBoundariesConfiguration.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/config/options/preview/TooltipPreviewer.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntriesScreen.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/CollapsibleEntryWidget.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/collapsible/selection/CustomCollapsibleEntrySelectionScreen.java8
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/MergedWidgetWithBounds.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/ScrollableViewWidget.java8
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