Skip to content

Commit

Permalink
Fixed broken button highliting
Browse files Browse the repository at this point in the history
  • Loading branch information
Povstalec committed Jun 28, 2023
1 parent 2d0b1c0 commit dfb5116
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,15 @@ else if(p_93668_)
}

@Override
public void render(PoseStack p_93676_, int p_93677_, int p_93678_, float p_93679_) {
public void render(PoseStack p_93676_, int x, int y, float p_93679_)
{
this.isHovered = x >= this.getX() && y >= this.getY() && x < this.getX() + this.width && y < this.getY() + this.height;
Minecraft minecraft = Minecraft.getInstance();
Font font = minecraft.font;
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.setShaderTexture(0, WIDGETS_LOCATION);
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, this.alpha);
int i = this.getYImage(this.isHoveredOrFocused());
int i = this.getYImage(this.isHovered);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
Expand Down
23 changes: 20 additions & 3 deletions src/main/java/net/povstalec/sgjourney/client/DHDButton.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,31 @@ public DHDButton(int x, int y, AbstractDHDMenu menu, int i)
super(x, y, 16, 16, symbol(menu.symbolsType, i), (n) -> {menu.engageChevron(i);}, Button.DEFAULT_NARRATION);
}

protected int getYImage(boolean p_93668_)
{
int i = 1;
if (!this.active)
{
i = 0;
}
else if(p_93668_)
{
i = 2;
}

return i;
}

@Override
public void render(PoseStack p_93676_, int p_93677_, int p_93678_, float p_93679_) {
Minecraft minecraft = Minecraft.getInstance();
public void render(PoseStack p_93676_, int x, int y, float p_93679_)
{
this.isHovered = x >= this.getX() && y >= this.getY() && x < this.getX() + this.width && y < this.getY() + this.height;
Minecraft minecraft = Minecraft.getInstance();
Font font = minecraft.font;
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.setShaderTexture(0, WIDGETS_LOCATION);
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, this.alpha);
int i = 0/*this.getYImage(this.isHoveredOrFocused())*/;
int i = this.getYImage(this.isHovered);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
Expand Down
21 changes: 19 additions & 2 deletions src/main/java/net/povstalec/sgjourney/client/RingPanelButton.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,31 @@ public RingPanelButton(int x, int y, Component component, OnPress press)
super(x, y, 32, 16, component, press, Button.DEFAULT_NARRATION);
}

protected int getYImage(boolean p_93668_)
{
int i = 1;
if (!this.active)
{
i = 0;
}
else if(p_93668_)
{
i = 2;
}

return i;
}

@Override
public void render(PoseStack p_93676_, int p_93677_, int p_93678_, float p_93679_) {
public void render(PoseStack p_93676_, int x, int y, float p_93679_)
{
this.isHovered = x >= this.getX() && y >= this.getY() && x < this.getX() + this.width && y < this.getY() + this.height;
Minecraft minecraft = Minecraft.getInstance();
Font font = minecraft.font;
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.setShaderTexture(0, WIDGETS_LOCATION);
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, this.alpha);
int i = 0/*this.getYImage(this.isHoveredOrFocused())*/;
int i = this.getYImage(this.isHovered);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
Expand Down

0 comments on commit dfb5116

Please sign in to comment.