Show tooltip when focused on side buttons
This commit is contained in:
@@ -172,8 +172,8 @@ public abstract class BaseScreen<T extends AbstractContainerMenu> extends Abstra
|
||||
renderForeground(matrixStack, mouseX, mouseY);
|
||||
|
||||
for (Widget button : this.renderables) {
|
||||
if (button instanceof SideButton && ((SideButton) button).isHoveredOrFocused()) {
|
||||
renderTooltip(matrixStack, mouseX, mouseY, ((SideButton) button).getTooltip());
|
||||
if (button instanceof SideButton sideButton) {
|
||||
sideButton.renderTooltip(matrixStack, mouseX, mouseY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ public class AccessTypeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.access_type") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.access_type." + parameter.getValue().getId());
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class ConstructorDropSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.constructor.drop") + "\n" + ChatFormatting.GRAY + I18n.get(Boolean.TRUE.equals(ConstructorTile.DROP.getValue()) ? "gui.yes" : "gui.no");
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ public class CrafterModeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.crafter_mode") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.crafter_mode." + CrafterTile.MODE.getValue());
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class DestructorPickupSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.destructor.pickup") + "\n" + ChatFormatting.GRAY + I18n.get(Boolean.TRUE.equals(DestructorTile.PICKUP.getValue()) ? "gui.yes" : "gui.no");
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ public class DetectorModeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.detector.mode") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.detector.mode." + DetectorTile.MODE.getValue());
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ public class ExactModeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
String tooltip = I18n.get("sidebutton.refinedstorage.exact_mode") + "\n" + ChatFormatting.GRAY;
|
||||
|
||||
if ((parameter.getValue() & MASK) == MASK) {
|
||||
|
||||
@@ -16,7 +16,7 @@ public class FilterTypeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.type") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.type." + filterScreen.getType());
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ public class GridSizeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.grid.size") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.grid.size." + this.sizeSupplier.get());
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ public class GridSortingDirectionSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.grid.sorting.direction") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.grid.sorting.direction." + grid.getSortingDirection());
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ public class GridSortingTypeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.grid.sorting.type") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.grid.sorting.type." + grid.getSortingType());
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ public class GridViewTypeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.grid.view_type") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.grid.view_type." + grid.getViewType());
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ public class IoModeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.iomode") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.iomode." + (DiskManipulatorTile.IO_MODE.getValue() == DiskManipulatorNetworkNode.IO_MODE_INSERT ? "insert" : "extract"));
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ public class RedstoneModeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.redstone_mode") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.redstone_mode." + parameter.getValue());
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ public abstract class SearchBoxModeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.grid.search_box_mode") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.grid.search_box_mode." + getSearchBoxMode());
|
||||
}
|
||||
|
||||
|
||||
@@ -24,10 +24,18 @@ public abstract class SideButton extends Button {
|
||||
this.screen = screen;
|
||||
}
|
||||
|
||||
public void renderTooltip(PoseStack matrixStack, int mouseX, int mouseY) {
|
||||
boolean isFocused = isFocused();
|
||||
if (isHovered || isFocused) {
|
||||
int x = isHovered ? mouseX : (this.x - screen.getGuiLeft()) + width;
|
||||
int y = isHovered ? mouseY : (this.y - screen.getGuiTop()) + (height / 2);
|
||||
screen.renderTooltip(matrixStack, x, y, getTooltip());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renderButton(PoseStack matrixStack, int mouseX, int mouseY, float partialTicks) {
|
||||
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
// TODO RenderSystem.enableAlphaTest();
|
||||
|
||||
isHovered = RenderUtils.inBounds(x, y, width, height, mouseX, mouseY);
|
||||
|
||||
@@ -36,7 +44,7 @@ public abstract class SideButton extends Button {
|
||||
|
||||
renderButtonIcon(matrixStack, x + 1, y + 1);
|
||||
|
||||
if (isHovered) {
|
||||
if (isHoveredOrFocused()) {
|
||||
RenderSystem.enableBlend();
|
||||
RenderSystem.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
|
||||
RenderSystem.setShaderColor(1.0f, 1.0f, 1.0f, 0.5f);
|
||||
@@ -51,5 +59,5 @@ public abstract class SideButton extends Button {
|
||||
|
||||
protected abstract void renderButtonIcon(PoseStack matrixStack, int x, int y);
|
||||
|
||||
public abstract String getTooltip();
|
||||
protected abstract String getTooltip();
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ public class TypeSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.type") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.type." + type.getValue());
|
||||
}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ public class WhitelistBlacklistSideButton extends SideButton {
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
protected String getTooltip() {
|
||||
return I18n.get("sidebutton.refinedstorage.mode") + "\n" + ChatFormatting.GRAY + I18n.get("sidebutton.refinedstorage.mode." + (parameter.getValue() == IWhitelistBlacklist.WHITELIST ? "whitelist" : "blacklist"));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user