diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-06-11 00:18:06 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2023-05-29 20:54:19 +0800 |
| commit | 4c509726b9814a5f6e451bc147024e833633a1fb (patch) | |
| tree | 572ebea4cdf4f91fe080d1d1f7dbaefa6d7e08cc /api/src/main/java | |
| parent | 68bbe0fa3c663d58599c3c1ebaa7ef2924ede6b6 (diff) | |
| download | RoughlyEnoughItems-4c509726b9814a5f6e451bc147024e833633a1fb.tar.gz RoughlyEnoughItems-4c509726b9814a5f6e451bc147024e833633a1fb.tar.bz2 RoughlyEnoughItems-4c509726b9814a5f6e451bc147024e833633a1fb.zip | |
Add TransferHandler.Result.tooltip()
Diffstat (limited to 'api/src/main/java')
| -rw-r--r-- | api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/TransferHandler.java | 18 |
1 files changed, 16 insertions, 2 deletions
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 26a18110a..46b11547a 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 @@ -38,6 +38,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; @@ -171,6 +172,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. */ @@ -257,6 +260,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 Object errorRenderer; private BiConsumer<Point, TooltipSink> tooltipRenderer; private int color; @@ -318,6 +322,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; } @@ -358,8 +368,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()); + } } } } |
