From 0ec9d4ad3ab50e7ec7c0f6ce2ab65bd7596ee771 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 11 Jun 2022 00:12:55 +0800 Subject: Add default favorite entries --- .../me/shedaniel/rei/api/client/config/ConfigObject.java | 2 +- .../rei/api/client/favorites/FavoriteEntryType.java | 14 +++++++++++++- .../api/client/favorites/SystemFavoriteEntryProvider.java | 4 ++++ 3 files changed, 18 insertions(+), 2 deletions(-) (limited to 'api') 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 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 { Iterable
sections(); + /** + * @deprecated {@link FavoriteEntryType.Section#add(boolean, FavoriteEntry...)} + */ + @Deprecated(forRemoval = true) void registerSystemFavorites(SystemFavoriteEntryProvider 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 getEntries(); + + @ApiStatus.Experimental + List 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 { List provide(); -- cgit From 4a8a83a1bfc68eeb80581cde55ef23d16e59f52c Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sat, 11 Jun 2022 00:18:06 +0800 Subject: Add TransferHandler.Result.tooltip() --- .../api/client/registry/transfer/TransferHandler.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'api') 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 ad79d1d92..d379c381c 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; @@ -143,6 +144,8 @@ public interface TransferHandler extends Comparable { @ApiStatus.Experimental Result overrideTooltipRenderer(BiConsumer renderer); + Result tooltip(Component component); + /** * @return whether this handler has successfully handled the transfer. */ @@ -229,6 +232,7 @@ public interface TransferHandler extends Comparable { final class ResultImpl implements Result { private boolean successful, applicable, returningToScreen, blocking; private Component error; + private List tooltips = new ArrayList<>(); private Object errorRenderer; private BiConsumer tooltipRenderer; private int color; @@ -289,6 +293,12 @@ public interface TransferHandler extends Comparable { return this; } + @Override + public Result tooltip(Component component) { + this.tooltips.add(component); + return this; + } + @Override public boolean isSuccessful() { return successful; @@ -330,8 +340,12 @@ public interface TransferHandler extends Comparable { @Override public void fillTooltip(List components) { - if (!isSuccessful() && isApplicable()) { - components.add(getError()); + if (isApplicable()) { + if (isSuccessful()) { + components.addAll(tooltips); + } else { + components.add(getError()); + } } } } -- cgit