package joshie.harvest.core.base.gui;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.util.ResourceLocation;
import javax.annotation.Nonnull;
public abstract class ButtonTextured extends GuiButton {
public ButtonTextured(int id, int x, int y, int width, int height) {
super(id, x, y, "");
this.width = width;
this.height = height;
}
public abstract ResourceLocation getResource();
public abstract int getPositionX();
public abstract int getPositionY();
@Override
public void drawButton(@Nonnull Minecraft mc, int mouseX, int mouseY) {
if (visible) {
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
hovered = mouseX >= xPosition && mouseY >= yPosition && mouseX < xPosition + width && mouseY < yPosition + height;
GlStateManager.enableBlend();
GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
GlStateManager.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
mc.getTextureManager().bindTexture(getResource());
drawTexturedModalRect(xPosition, yPosition, getPositionX(), getPositionY(), width, height);
mouseDragged(mc, mouseX, mouseY);
}
}
}