aboutsummaryrefslogtreecommitdiff
path: root/api/src/main/java/me/shedaniel
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2022-06-11 01:13:58 +0800
committershedaniel <daniel@shedaniel.me>2022-06-11 01:13:58 +0800
commit92a438eef6f217d7b2d3ee21c6efb68ac2498d0a (patch)
treead45925f49339f39494455a62e991ae2573fd817 /api/src/main/java/me/shedaniel
parentb99ba98ffeaff540a15dd7b188a9793539fd2bb7 (diff)
parent0e2a66156d69bb6d8d37a1c05f59abde42d62ebc (diff)
downloadRoughlyEnoughItems-92a438eef6f217d7b2d3ee21c6efb68ac2498d0a.tar.gz
RoughlyEnoughItems-92a438eef6f217d7b2d3ee21c6efb68ac2498d0a.tar.bz2
RoughlyEnoughItems-92a438eef6f217d7b2d3ee21c6efb68ac2498d0a.zip
Merge remote-tracking branch 'origin/8.x-1.18.2' into 9.x-1.19
# Conflicts: # api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java # default-plugin/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientPlugin.java # fabric/src/main/java/me/shedaniel/rei/impl/client/gui/fabric/ScreenOverlayImplImpl.java # runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/AbstractDisplayViewingScreen.java # runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/AutoCraftingEvaluator.java # runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/QueuedTooltip.java
Diffstat (limited to 'api/src/main/java/me/shedaniel')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/FavoriteEntryType.java14
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/SystemFavoriteEntryProvider.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java18
4 files changed, 34 insertions, 4 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java b/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java
index 27707d21a..efbe5aca1 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/config/ConfigObject.java
@@ -157,7 +157,7 @@ public interface ConfigObject {
boolean isLowerConfigButton();
- @ApiStatus.Experimental
+ @Deprecated(forRemoval = true)
List<FavoriteEntry> getFavoriteEntries();
@ApiStatus.Experimental
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 d3e54425f..35a5e8f96 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
@@ -68,15 +68,27 @@ public interface FavoriteEntryType<T extends FavoriteEntry> {
Iterable<Section> sections();
+ /**
+ * @deprecated {@link FavoriteEntryType.Section#add(boolean, FavoriteEntry...)}
+ */
+ @Deprecated(forRemoval = true)
<A extends FavoriteEntry> void registerSystemFavorites(SystemFavoriteEntryProvider<A> provider);
}
@ApiStatus.NonExtendable
interface Section {
- void add(FavoriteEntry... entries);
+ default void add(FavoriteEntry... entries) {
+ add(false, entries);
+ }
+
+ @ApiStatus.Experimental
+ void add(boolean defaultFavorited, FavoriteEntry... entries);
Component getText();
List<FavoriteEntry> getEntries();
+
+ @ApiStatus.Experimental
+ List<FavoriteEntry> getDefaultEntries();
}
}
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 bc450317a..2d2dffea3 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
@@ -27,8 +27,12 @@ import org.jetbrains.annotations.ApiStatus;
import java.util.List;
+/**
+ * @deprecated {@link FavoriteEntryType.Section#add(boolean, FavoriteEntry...)}
+ */
@FunctionalInterface
@ApiStatus.Experimental
+@Deprecated(forRemoval = true)
public interface SystemFavoriteEntryProvider<T extends FavoriteEntry> {
List<T> provide();
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 bfb63808d..55f50e2b3 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
@@ -36,6 +36,7 @@ import net.minecraft.world.inventory.AbstractContainerMenu;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
+import java.util.ArrayList;
import java.util.List;
import java.util.function.BiConsumer;
import java.util.function.Supplier;
@@ -129,6 +130,8 @@ public interface TransferHandler extends Comparable<TransferHandler> {
@ApiStatus.Experimental
Result overrideTooltipRenderer(BiConsumer<Point, TooltipSink> renderer);
+ Result tooltip(Component component);
+
/**
* @return whether this handler has successfully handled the transfer.
*/
@@ -209,6 +212,7 @@ public interface TransferHandler extends Comparable<TransferHandler> {
final class ResultImpl implements Result {
private boolean successful, applicable, returningToScreen, blocking;
private Component error;
+ private List<Component> tooltips = new ArrayList<>();
private TransferHandlerRenderer renderer;
private BiConsumer<Point, TooltipSink> tooltipRenderer;
private int color;
@@ -264,6 +268,12 @@ public interface TransferHandler extends Comparable<TransferHandler> {
}
@Override
+ public Result tooltip(Component component) {
+ this.tooltips.add(component);
+ return this;
+ }
+
+ @Override
public boolean isSuccessful() {
return successful;
}
@@ -300,8 +310,12 @@ public interface TransferHandler extends Comparable<TransferHandler> {
@Override
public void fillTooltip(List<Component> components) {
- if (!isSuccessful() && isApplicable()) {
- components.add(getError());
+ if (isApplicable()) {
+ if (isSuccessful()) {
+ components.addAll(tooltips);
+ } else {
+ components.add(getError());
+ }
}
}
}