package net.blay09.mods.eirairc.client.gui; import net.blay09.mods.eirairc.client.gui.base.GuiLabel; import net.blay09.mods.eirairc.util.Globals; import net.blay09.mods.eirairc.util.I19n; import net.blay09.mods.eirairc.util.Utils; import net.minecraft.client.gui.GuiButton; import java.io.PrintWriter; import java.io.StringWriter; public class GuiErrorScreen extends EiraGuiScreen { private final String errorLangKey; private final Exception exception; private GuiButton btnClipboard; public GuiErrorScreen(String errorLangKey, Exception exception) { this.errorLangKey = errorLangKey; this.exception = exception; } @Override public void initGui() { labelList.add(new GuiLabel(I19n.format("eirairc:gui.error"), width / 2 - 90, height / 2 - 90, Globals.TEXT_COLOR)); labelList.add(new GuiLabel(I19n.format(errorLangKey), width / 2 - 90, height / 2 - 70, Globals.TEXT_COLOR)); btnClipboard = new GuiButton(0, width / 2 - 50, height / 2 + 50, I19n.format("eirairc:gui.error.toClipboard")); buttonList.add(btnClipboard); } @Override protected void actionPerformed(GuiButton button) { if(button == btnClipboard) { StringWriter sw = new StringWriter(); PrintWriter writer = new PrintWriter(sw); exception.printStackTrace(writer); Utils.setClipboardString(sw.toString()); writer.close(); } } @Override public void drawScreen(int mouseX, int mouseY, float par3) { drawLightBackground(menuX, menuY, menuWidth, menuHeight); super.drawScreen(mouseX, mouseY, par3); } }