aboutsummaryrefslogtreecommitdiff
path: root/api/src
diff options
context:
space:
mode:
Diffstat (limited to 'api/src')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteMenuEntry.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/SystemFavoriteEntryProvider.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/config/SearchFieldLocation.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java1
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/plugins/REIClientPlugin.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/entry/CollapsibleEntryRegistry.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java32
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandlerRenderer.java1
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/search/method/CharacterUnpackingInputMethod.java34
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java43
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/subsets/SubsetsRegistry.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/display/Display.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/display/SimpleGridMenuDisplay.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/entry/EntryIngredient.java6
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java9
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/util/Animator.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java12
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java70
-rw-r--r--api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java12
22 files changed, 158 insertions, 89 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java
index 47642d98b..35108e577 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java
@@ -89,7 +89,7 @@ public interface FavoriteEntryType<T extends FavoriteEntry> {
/**
* @deprecated {@link FavoriteEntryType.Section#add(boolean, FavoriteEntry...)}
*/
- @Deprecated(forRemoval = true)
+ @Deprecated
<A extends FavoriteEntry> void registerSystemFavorites(SystemFavoriteEntryProvider<A> provider);
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteMenuEntry.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteMenuEntry.java
index 71c1ae86d..82a208d7c 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteMenuEntry.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteMenuEntry.java
@@ -23,7 +23,7 @@
package me.shedaniel.rei.api.client.favorites;
-import dev.architectury.utils.value.BooleanValue;
+import me.shedaniel.architectury.utils.BooleanValue;
import me.shedaniel.rei.api.client.gui.widgets.Widget;
import me.shedaniel.rei.impl.ClientInternals;
import net.fabricmc.api.EnvType;
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/favorites/SystemFavoriteEntryProvider.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/SystemFavoriteEntryProvider.java
index 86bd2d395..6da4d1ebe 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/favorites/SystemFavoriteEntryProvider.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/favorites/SystemFavoriteEntryProvider.java
@@ -29,7 +29,7 @@ import java.util.List;
* @deprecated {@link FavoriteEntryType.Section#add(boolean, FavoriteEntry...)}
*/
@FunctionalInterface
-@Deprecated(forRemoval = true)
+@Deprecated
public interface SystemFavoriteEntryProvider<T extends FavoriteEntry> {
List<T> provide();
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/config/SearchFieldLocation.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/config/SearchFieldLocation.java
index f80cb4f1b..fe3044c95 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/config/SearchFieldLocation.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/config/SearchFieldLocation.java
@@ -37,6 +37,6 @@ public enum SearchFieldLocation {
@Override
public String toString() {
- return I18n.get("config.roughlyenoughitems.layout.searchFieldLocation.%s".formatted(name().toLowerCase(Locale.ROOT)));
+ return I18n.get(String.format("config.roughlyenoughitems.layout.searchFieldLocation.%s", name().toLowerCase(Locale.ROOT)));
}
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java
index b33f33f0f..4aa0685f2 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/DelegateWidget.java
@@ -55,7 +55,7 @@ public class DelegateWidget extends WidgetWithBounds {
@Override
public Rectangle getBounds() {
- return delegate() instanceof WidgetWithBounds withBounds ? withBounds.getBounds() : EMPTY;
+ return delegate() instanceof WidgetWithBounds ? ((WidgetWithBounds) delegate()).getBounds() : EMPTY;
}
@Override
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java
index d6f3db95e..9fe7aa2b0 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Tooltip.java
@@ -31,7 +31,6 @@ import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.impl.ClientInternals;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
-import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
import net.minecraft.network.chat.Component;
import org.jetbrains.annotations.Nullable;
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/plugins/REIClientPlugin.java b/api/src/main/java/me/shedaniel/rei/api/client/plugins/REIClientPlugin.java
index 0ba7c730c..6b3fd490b 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/plugins/REIClientPlugin.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/plugins/REIClientPlugin.java
@@ -132,7 +132,7 @@ public interface REIClientPlugin extends REIPlugin<REIClientPlugin> {
* @param registry the registry
*/
@ApiStatus.OverrideOnly
- @Deprecated(forRemoval = true)
+ @Deprecated
default void registerSubsets(SubsetsRegistry registry) {
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/CollapsibleEntryRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/CollapsibleEntryRegistry.java
index e3102b9de..8087ecf15 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/CollapsibleEntryRegistry.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/CollapsibleEntryRegistry.java
@@ -30,7 +30,6 @@ import me.shedaniel.rei.api.common.plugins.PluginManager;
import me.shedaniel.rei.api.common.registry.Reloadable;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
-import net.minecraft.tags.TagKey;
import org.jetbrains.annotations.ApiStatus;
import java.util.Arrays;
@@ -40,7 +39,7 @@ import java.util.function.Predicate;
/**
* Registry for grouping and collapsing {@link EntryStack}s.
* <p>
- * The easiest way to use this is to use the {@link me.shedaniel.rei.api.common.util.EntryIngredients#ofItemTag(TagKey)}
+ * The easiest way to use this is to use the {@link me.shedaniel.rei.api.common.util.EntryIngredients#ofItemTag(ResourceLocation)}
* and collect tags together.
*/
@ApiStatus.Experimental
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java
index 7baa009e0..55d19baaf 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java
@@ -29,7 +29,6 @@ import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.client.registry.display.TransferDisplayCategory;
import me.shedaniel.rei.api.common.display.Display;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
-import me.shedaniel.rei.impl.ClientInternals;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
@@ -37,7 +36,6 @@ import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.network.chat.Component;
import net.minecraft.world.inventory.AbstractContainerMenu;
-import net.minecraft.world.inventory.tooltip.TooltipComponent;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
@@ -213,16 +211,6 @@ public interface TransferHandler extends Comparable<TransferHandler> {
Result tooltip(Component component);
/**
- * Adds a line of tooltip to the result.
- *
- * @param component the component to add
- * @return the result
- * @since 8.3
- */
- @ApiStatus.Experimental
- Result tooltip(TooltipComponent component);
-
- /**
* Adds a tooltip component for the missing items.
*
* @param stacks the missing stacks
@@ -270,7 +258,7 @@ public interface TransferHandler extends Comparable<TransferHandler> {
BiConsumer<Point, TooltipSink> getTooltipRenderer();
@ApiStatus.Internal
- void fillTooltip(List<Tooltip.Entry> entries);
+ void fillTooltip(List<Component> entries);
@FunctionalInterface
interface TooltipSink {
@@ -318,7 +306,7 @@ public interface TransferHandler extends Comparable<TransferHandler> {
final class ResultImpl implements Result {
private boolean successful, applicable, returningToScreen, blocking;
private Component error;
- private List<Tooltip.Entry> tooltips = new ArrayList<>();
+ private List<Component> tooltips = new ArrayList<>();
private Object errorRenderer;
private BiConsumer<Point, TooltipSink> tooltipRenderer;
private int color;
@@ -381,19 +369,15 @@ public interface TransferHandler extends Comparable<TransferHandler> {
@Override
public Result tooltip(Component component) {
- this.tooltips.add(Tooltip.entry(component));
- return this;
- }
-
- @Override
- public Result tooltip(TooltipComponent component) {
- this.tooltips.add(Tooltip.entry(component));
+ this.tooltips.add(component);
return this;
}
@Override
public Result tooltipMissing(List<EntryIngredient> ingredients) {
- return tooltip(ClientInternals.createMissingTooltip(ingredients));
+ // TODO: 1.16.5 missing tooltip
+ // return tooltip(ClientInternals.createMissingTooltip(ingredients));
+ return this;
}
@Override
@@ -436,10 +420,10 @@ public interface TransferHandler extends Comparable<TransferHandler> {
}
@Override
- public void fillTooltip(List<Tooltip.Entry> entries) {
+ public void fillTooltip(List<Component> entries) {
if (isApplicable()) {
if (!isSuccessful()) {
- entries.add(Tooltip.entry(getError()));
+ entries.add(getError());
}
entries.addAll(tooltips);
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandlerRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandlerRenderer.java
index d916c41d0..2261d3fa8 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandlerRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandlerRenderer.java
@@ -31,6 +31,7 @@ import me.shedaniel.rei.api.client.registry.category.CategoryRegistry;
import me.shedaniel.rei.api.client.registry.display.DisplayCategory;
import me.shedaniel.rei.api.client.registry.display.TransferDisplayCategory;
import me.shedaniel.rei.api.common.display.Display;
+import org.jetbrains.annotations.ApiStatus;
import java.util.List;
import java.util.Objects;
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/search/method/CharacterUnpackingInputMethod.java b/api/src/main/java/me/shedaniel/rei/api/client/search/method/CharacterUnpackingInputMethod.java
index a3a309f8b..da27cf696 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/search/method/CharacterUnpackingInputMethod.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/search/method/CharacterUnpackingInputMethod.java
@@ -29,6 +29,7 @@ import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
@ApiStatus.Experimental
@@ -49,7 +50,7 @@ public interface CharacterUnpackingInputMethod extends InputMethod<IntList> {
if (chars.isEmpty()) return ((char) c) + "";
int i = Mth.floor((System.currentTimeMillis() / 1000L % (double) chars.size()));
String result = chars.get(i).phonemes().stream()
- .flatMap(integers -> integers.intStream().mapToObj(value -> ((char) value) + ""))
+ .flatMap(integers -> integers.stream().map(value -> ((char) value.intValue()) + ""))
.collect(Collectors.joining());
if (result.codePointCount(0, result.length()) == 1 && result.codePointAt(0) == c) {
return result;
@@ -58,5 +59,34 @@ public interface CharacterUnpackingInputMethod extends InputMethod<IntList> {
}).collect(Collectors.joining()).trim().replace(" ", " ");
}
- record ExpendedChar(List<IntList> phonemes) {}
+ static final class ExpendedChar {
+ private final List<IntList> phonemes;
+
+ public ExpendedChar(List<IntList> phonemes) {
+ this.phonemes = phonemes;
+ }
+
+ public List<IntList> phonemes() {
+ return phonemes;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) return true;
+ if (obj == null || obj.getClass() != this.getClass()) return false;
+ ExpendedChar that = (ExpendedChar) obj;
+ return Objects.equals(this.phonemes, that.phonemes);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(phonemes);
+ }
+
+ @Override
+ public String toString() {
+ return "ExpendedChar[" +
+ "phonemes=" + phonemes + ']';
+ }
+ }
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java b/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java
index 9a76edd64..77a0d973f 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java
@@ -32,7 +32,9 @@ import net.minecraft.network.chat.TextComponent;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
+import java.util.Collections;
import java.util.List;
+import java.util.Objects;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
@@ -159,10 +161,47 @@ public interface InputMethod<T> {
* @return the list of menu entries that will be used as options
*/
default List<FavoriteMenuEntry> getOptionsMenuEntries() {
- return List.of();
+ return Collections.emptyList();
}
- record Locale(String code, Component name) {}
+ static final class Locale {
+ private final String code;
+ private final Component name;
+
+ public Locale(String code, Component name) {
+ this.code = code;
+ this.name = name;
+ }
+
+ public String code() {
+ return code;
+ }
+
+ public Component name() {
+ return name;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) return true;
+ if (obj == null || obj.getClass() != this.getClass()) return false;
+ Locale that = (Locale) obj;
+ return Objects.equals(this.code, that.code) &&
+ Objects.equals(this.name, that.name);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(code, name);
+ }
+
+ @Override
+ public String toString() {
+ return "Locale[" +
+ "code=" + code + ", " +
+ "name=" + name + ']';
+ }
+ }
@FunctionalInterface
interface ProgressCallback {
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/subsets/SubsetsRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/subsets/SubsetsRegistry.java
index 6073d925a..22aebeb56 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/subsets/SubsetsRegistry.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/subsets/SubsetsRegistry.java
@@ -37,7 +37,7 @@ import java.util.List;
import java.util.Set;
@Environment(EnvType.CLIENT)
-@Deprecated(forRemoval = true)
+@Deprecated
public interface SubsetsRegistry extends Reloadable<REIClientPlugin> {
static SubsetsRegistry getInstance() {
return PluginManager.getClientInstance().get(SubsetsRegistry.class);
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java b/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java
index ec1518c37..63949f48f 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java
@@ -35,7 +35,7 @@ public class MatrixUtils {
public static Matrix4f inverse(Matrix4f matrix) {
Transformation transformation = new Transformation(matrix);
Transformation inverse = transformation.inverse();
- if (inverse != null) inverse.getScale(); // This has a side effect
+ if (inverse != null) inverse.getLeftRotation(); // This has a side effect
return inverse == null ? Transformation.identity().getMatrix() : inverse.getMatrix();
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/display/Display.java b/api/src/main/java/me/shedaniel/rei/api/common/display/Display.java
index 9fdda7940..7f1d0982c 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/display/Display.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/display/Display.java
@@ -55,7 +55,7 @@ public interface Display extends DisplaySpec {
*/
List<EntryIngredient> getInputEntries();
- @Deprecated(forRemoval = true)
+ @Deprecated
default List<EntryIngredient> getInputEntries(MenuSerializationContext<?, ?, ?> context, MenuInfo<?, ?> info, boolean fill) {
return getInputEntries();
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/display/SimpleGridMenuDisplay.java b/api/src/main/java/me/shedaniel/rei/api/common/display/SimpleGridMenuDisplay.java
index bd7b47688..bdd6b2302 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/display/SimpleGridMenuDisplay.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/display/SimpleGridMenuDisplay.java
@@ -50,7 +50,7 @@ public interface SimpleGridMenuDisplay extends Display {
* @return the input width of the input entries
* @deprecated use {@link #getInputWidth(int, int)} instead
*/
- @Deprecated(forRemoval = true)
+ @Deprecated
default int getInputWidth() {
return getWidth();
}
@@ -61,7 +61,7 @@ public interface SimpleGridMenuDisplay extends Display {
* @return the input height of the input entries
* @deprecated use {@link #getInputHeight(int, int)} instead
*/
- @Deprecated(forRemoval = true)
+ @Deprecated
default int getInputHeight() {
return getHeight();
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryIngredient.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryIngredient.java
index 262d343dc..62c452475 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryIngredient.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryIngredient.java
@@ -32,6 +32,8 @@ import org.jetbrains.annotations.ApiStatus;
import java.util.List;
import java.util.function.Predicate;
import java.util.function.UnaryOperator;
+import java.util.stream.Collector;
+import java.util.stream.Collectors;
/**
* An immutable representation of a list of {@link EntryStack}.
@@ -154,7 +156,7 @@ public interface EntryIngredient extends List<EntryStack<?>> {
* @see EntryStack#saveStack()
* @deprecated use {@link #saveIngredient()} instead
*/
- @Deprecated(forRemoval = true)
+ @Deprecated
ListTag save();
/**
@@ -164,7 +166,7 @@ public interface EntryIngredient extends List<EntryStack<?>> {
* @return the casted list of {@link EntryStack}
* @deprecated use {@link #castAsList()} instead
*/
- @Deprecated(forRemoval = true)
+ @Deprecated
default <T> List<EntryStack<T>> cast() {
return castAsList();
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java
index 26b5e6bf1..cc35d1d02 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/entry/EntryStack.java
@@ -49,10 +49,7 @@ import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+import java.util.*;
import java.util.function.BiFunction;
import java.util.function.Function;
@@ -163,7 +160,7 @@ public interface EntryStack<T> extends TextRepresentable, Renderer {
* @deprecated use {@link #saveStack()} instead
*/
@Nullable
- @Deprecated(forRemoval = true)
+ @Deprecated
default CompoundTag save() {
if (supportSaving()) {
CompoundTag tag = getDefinition().getSerializer().save(this, getValue());
@@ -202,7 +199,7 @@ public interface EntryStack<T> extends TextRepresentable, Renderer {
*/
@Nullable
@Environment(EnvType.CLIENT)
- @Deprecated(forRemoval = true)
+ @Deprecated
default Tooltip getTooltip(Point mouse, boolean appendModName) {
return getTooltip(TooltipContext.of(mouse), appendModName);
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/Animator.java b/api/src/main/java/me/shedaniel/rei/api/common/util/Animator.java
index 2d7eb56cd..2a4a0dde2 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/util/Animator.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/util/Animator.java
@@ -1,6 +1,6 @@
/*
* This file is licensed under the MIT License, part of Roughly Enough Items.
- * Copyright (c) 2018, 2019, 2020, 2021, 2022 shedaniel
+ * Copyright (c) 2018, 2019, 2020, 2021, 2022, 2023 shedaniel
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java b/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java
index befbb2708..eaf73327e 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/util/CollectionUtils.java
@@ -389,7 +389,7 @@ public class CollectionUtils {
}
public static <T> Iterable<List<T>> partition(List<T> list, int size) {
- return () -> new UnmodifiableIterator<>() {
+ return () -> new UnmodifiableIterator<List<T>>() {
int i = 0;
int partitionSize = Mth.ceil(list.size() / (float) size);
@@ -402,7 +402,7 @@ public class CollectionUtils {
public List<T> next() {
int cursor = i++ * size;
int realSize = Math.min(list.size() - cursor, size);
- return new AbstractList<>() {
+ return new AbstractList<T>() {
@Override
public T get(int index) {
if (index < 0 || index >= realSize)
@@ -443,7 +443,7 @@ public class CollectionUtils {
}
public static <T> Iterable<Iterator<T>> partitionIterator(Iterator<T> iterator, int iteratorSize, int size) {
- return partitionCollection(new AbstractCollection<>() {
+ return partitionCollection(new AbstractCollection<T>() {
@Override
public Iterator<T> iterator() {
@@ -462,7 +462,7 @@ public class CollectionUtils {
return Iterables.transform(partition((List<T>) collection, size), List::iterator);
}
- return () -> new Iterator<>() {
+ return () -> new Iterator<Iterator<T>>() {
int i = 0;
int partitionSize = Mth.ceil(collection.size() / (float) size);
int advanced = 0;
@@ -490,7 +490,7 @@ public class CollectionUtils {
advanced = cursor;
}
- return new Iterator<>() {
+ return new Iterator<T>() {
@Override
public boolean hasNext() {
return iterator.hasNext() && advanced < cursor + realSize;
@@ -534,7 +534,7 @@ public class CollectionUtils {
public E get(int ix) {
int localIx = ix;
for (List<? extends E> l : lists) {
- if (localIx < 0) throw new IndexOutOfBoundsException(ix);
+ if (localIx < 0) throw new IndexOutOfBoundsException("Index out of range: " + ix);
if (localIx < l.size()) return l.get(localIx);
localIx -= l.size();
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java
index e9668ed83..bfcd71c9b 100644
--- a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java
+++ b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java
@@ -25,22 +25,24 @@ package me.shedaniel.rei.api.common.util;
import com.google.common.collect.ImmutableList;
import me.shedaniel.architectury.fluid.FluidStack;
+import me.shedaniel.architectury.hooks.TagHooks;
+import me.shedaniel.architectury.mixin.FluidTagsAccessor;
import me.shedaniel.architectury.utils.Fraction;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.type.EntryDefinition;
import me.shedaniel.rei.api.common.entry.type.EntryType;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
-import net.minecraft.core.Holder;
-import net.minecraft.core.HolderSet;
-import net.minecraft.core.Registry;
import net.minecraft.nbt.ListTag;
import net.minecraft.nbt.Tag;
-import net.minecraft.resources.ResourceKey;
-import net.minecraft.tags.TagKey;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.tags.BlockTags;
+import net.minecraft.tags.ItemTags;
+import net.minecraft.tags.TagCollection;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.ItemLike;
+import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.material.Fluid;
import java.util.ArrayList;
@@ -50,7 +52,8 @@ import java.util.List;
import java.util.function.Function;
public final class EntryIngredients {
- private EntryIngredients() {}
+ private EntryIngredients() {
+ }
public static EntryIngredient of(ItemLike stack) {
return EntryIngredient.of(EntryStacks.of(stack));
@@ -140,12 +143,12 @@ public final class EntryIngredients {
return ImmutableList.copyOf(result);
}
- public static <S, T> EntryIngredient ofTag(TagKey<S> tagKey, Function<Holder<S>, EntryStack<T>> mapper) {
- Registry<S> registry = ((Registry<Registry<S>>) Registry.REGISTRY).get((ResourceKey<Registry<S>>) tagKey.registry());
- HolderSet.Named<S> holders = registry.getTag(tagKey).orElse(null);
+ public static <S, T> EntryIngredient ofTag(TagCollection<S> tagCollection, ResourceLocation tagKey, Function<S, EntryStack<T>> mapper) {
+ net.minecraft.tags.Tag.Named<S> holders = TagHooks.getOptional(tagKey, () -> tagCollection);
if (holders == null) return EntryIngredient.empty();
- EntryIngredient.Builder result = EntryIngredient.builder(holders.size