Code/net/minecraft/client/gui/screens/inventory/tooltip/ClientTooltipComponent.java

42 lines
1.6 KiB
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.client.gui.screens.inventory.tooltip;
import net.minecraft.client.gui.Font;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.util.FormattedCharSequence;
import net.minecraft.world.inventory.tooltip.BundleTooltip;
import net.minecraft.world.inventory.tooltip.TooltipComponent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.joml.Matrix4f;
@OnlyIn(Dist.CLIENT)
public interface ClientTooltipComponent {
static ClientTooltipComponent create(FormattedCharSequence p_169949_) {
return new ClientTextTooltip(p_169949_);
}
static ClientTooltipComponent create(TooltipComponent p_169951_) {
return (ClientTooltipComponent)(switch (p_169951_) {
case BundleTooltip bundletooltip -> new ClientBundleTooltip(bundletooltip.contents());
case ClientActivePlayersTooltip.ActivePlayersTooltip clientactiveplayerstooltip$activeplayerstooltip -> new ClientActivePlayersTooltip(
clientactiveplayerstooltip$activeplayerstooltip
);
default -> throw new IllegalArgumentException("Unknown TooltipComponent");
});
}
int getHeight(Font p_361819_);
int getWidth(Font p_169952_);
default boolean showTooltipWithItemInHand() {
return false;
}
default void renderText(Font p_169953_, int p_169954_, int p_169955_, Matrix4f p_253692_, MultiBufferSource.BufferSource p_169957_) {
}
default void renderImage(Font p_194048_, int p_194049_, int p_194050_, int p_362269_, int p_363564_, GuiGraphics p_283459_) {
}
}