diff options
| author | shedaniel <daniel@shedaniel.me> | 2022-06-11 00:18:06 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2022-06-11 00:18:06 +0800 |
| commit | 4a8a83a1bfc68eeb80581cde55ef23d16e59f52c (patch) | |
| tree | c571a004ac6f2d34547a0cbed1ae6950a625783f /api/src/main/java/me/shedaniel/rei | |
| parent | 0ec9d4ad3ab50e7ec7c0f6ce2ab65bd7596ee771 (diff) | |
| download | RoughlyEnoughItems-4a8a83a1bfc68eeb80581cde55ef23d16e59f52c.tar.gz RoughlyEnoughItems-4a8a83a1bfc68eeb80581cde55ef23d16e59f52c.tar.bz2 RoughlyEnoughItems-4a8a83a1bfc68eeb80581cde55ef23d16e59f52c.zip | |
Add TransferHandler.Result.tooltip()
Diffstat (limited to 'api/src/main/java/me/shedaniel/rei')
| -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 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<TransferHandler> { @ApiStatus.Experimental Result overrideTooltipRenderer(BiConsumer<Point, TooltipSink> renderer); + Result tooltip(Component component); + /** * @return whether this handler has successfully handled the transfer. */ @@ -229,6 +232,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; @@ -290,6 +294,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; } @@ -330,8 +340,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()); + } } } } |
