diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-06-20 23:20:05 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-06-20 23:20:05 +0800 |
| commit | 2cc2cfa70062efac58335d62ad8e47105c15fdd7 (patch) | |
| tree | b60bbd87e913080c95f82a0b2d38a8da2a89c332 /runtime/src/main/java/me/shedaniel/rei/plugin/client | |
| parent | 06c695df2c1ae92ddd71dfa23491d7554387156c (diff) | |
| download | RoughlyEnoughItems-2cc2cfa70062efac58335d62ad8e47105c15fdd7.tar.gz RoughlyEnoughItems-2cc2cfa70062efac58335d62ad8e47105c15fdd7.tar.bz2 RoughlyEnoughItems-2cc2cfa70062efac58335d62ad8e47105c15fdd7.zip | |
Properly implement tooltip rendering for bundles
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/plugin/client')
| -rw-r--r-- | runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java index ba5e0c08f..95dc8b3e4 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java @@ -51,6 +51,7 @@ import net.fabricmc.api.Environment; import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.model.ItemTransforms; import net.minecraft.client.renderer.texture.OverlayTexture; @@ -63,6 +64,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagCollection; import net.minecraft.tags.TagContainer; +import net.minecraft.world.inventory.tooltip.TooltipComponent; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -71,6 +73,7 @@ import org.jetbrains.annotations.Nullable; import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Optional; public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySerializer<ItemStack> { @Environment(EnvType.CLIENT) @@ -326,7 +329,17 @@ public class ItemEntryDefinition implements EntryDefinition<ItemStack>, EntrySer public Tooltip getTooltip(EntryStack<ItemStack> entry, Point mouse) { if (entry.isEmpty()) return null; - return Tooltip.create(tryGetItemStackToolTip(entry, entry.getValue(), true)); + Tooltip tooltip = Tooltip.create(); + Optional<TooltipComponent> component = entry.getValue().getTooltipImage(); + List<Component> components = tryGetItemStackToolTip(entry, entry.getValue(), true); + if (!components.isEmpty()) { + tooltip.add(components.get(0)); + } + component.ifPresent(tooltipComponent -> tooltip.add(ClientTooltipComponent.create(tooltipComponent))); + for (int i = 1; i < components.size(); i++) { + tooltip.add(components.get(i)); + } + return tooltip; } } } |
