TurnBasedMinecraftMod/src/main/java/com/burnedkirby/TurnBasedMinecraft/client/ItemSelectionButton.java

45 lines
1.6 KiB
Java
Raw Normal View History

2019-11-25 06:29:25 +00:00
package com.burnedkirby.TurnBasedMinecraft.client;
import com.mojang.blaze3d.vertex.PoseStack;
2023-03-31 05:22:58 +00:00
import net.minecraft.client.gui.components.AbstractButton;
import net.minecraft.client.gui.narration.NarratedElementType;
import net.minecraft.client.gui.narration.NarrationElementOutput;
import net.minecraft.network.chat.Component;
2023-03-31 05:22:58 +00:00
public class ItemSelectionButton extends AbstractButton {
TBMButtonPress onPress;
2019-10-21 07:13:11 +00:00
private int itemStackID;
2023-03-31 05:22:58 +00:00
public ItemSelectionButton(int x, int y, int widthIn, int heightIn, String buttonText, int itemStackID, TBMButtonPress onPress) {
super(x, y, widthIn, heightIn, Component.literal(buttonText));
this.onPress = onPress;
this.itemStackID = itemStackID;
}
2020-11-12 08:10:01 +00:00
2019-10-21 07:13:11 +00:00
public int getID() {
2020-11-12 08:10:01 +00:00
return itemStackID;
}
@Override
public void renderButton(PoseStack poseStack, int mouseX, int mouseY, float partialTicks) {
2021-05-21 05:44:31 +00:00
if (visible) {
2020-11-12 08:10:01 +00:00
boolean hovered = mouseX >= getX() && mouseY >= getY() && mouseX < getX() + getWidth() && mouseY < getY() + getHeight();
if (hovered) {
fill(poseStack, getX(), getY(), getX() + getWidth(), getY() + getHeight(), 0x80FFFFFF);
2019-10-21 07:13:11 +00:00
} else {
fill(poseStack, getX(), getY(), getX() + getWidth(), getY() + getHeight(), 0x20707070);
}
}
}
2020-11-12 08:10:01 +00:00
2023-03-31 05:22:58 +00:00
@Override
protected void updateWidgetNarration(NarrationElementOutput p_259858_) {
p_259858_.add(NarratedElementType.HINT, "Item " + this.itemStackID);
2020-11-12 08:10:01 +00:00
}
2023-03-31 05:22:58 +00:00
@Override
public void onPress() {
onPress.onPress(this);
2020-11-12 08:10:01 +00:00
}
2021-05-21 05:44:31 +00:00
}