ActuallyAdditions/src/main/java/de/ellpeck/actuallyadditions/mod/booklet/page/PageButton.java

47 lines
1.5 KiB
Java

/*
* This file ("PageButton.java") is part of the Actually Additions mod for Minecraft.
* It is created and owned by Ellpeck and distributed
* under the Actually Additions License to be found at
* http://ellpeck.de/actaddlicense
* View the source code at https://github.com/Ellpeck/ActuallyAdditions
*
* © 2015-2016 Ellpeck
*/
package de.ellpeck.actuallyadditions.mod.booklet.page;
import de.ellpeck.actuallyadditions.api.internal.IBookletGui;
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton;
public abstract class PageButton extends PageTextOnly{
private GuiButton button;
public PageButton(int id){
super(id);
}
@Override
public void onOpened(IBookletGui gui){
String text = StringUtil.localize("booklet."+ModUtil.MOD_ID+".chapter."+this.chapter.getIdentifier()+".page."+this.localizationKey+".button");
int width = Minecraft.getMinecraft().fontRendererObj.getStringWidth(text);
this.button = new GuiButton(-1239, gui.getGuiLeft()+gui.getXSize()/2-width/2-8, gui.getGuiTop()+gui.getYSize()-40, width+15, 20, text);
gui.getButtonList().add(this.button);
}
@Override
public void onClosed(IBookletGui gui){
gui.getButtonList().remove(this.button);
}
@Override
public boolean onActionPerformed(IBookletGui gui, GuiButton button){
return button == this.button && this.onAction();
}
public abstract boolean onAction();
}