/******************************************************************************* * AbyssalCraft * Copyright (c) 2012 - 2017 Shinoow. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Lesser Public License v3 * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/lgpl-3.0.txt * * Contributors: * Shinoow - implementation ******************************************************************************/ package com.shinoow.abyssalcraft.client.gui.necronomicon; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.resources.I18n; import org.lwjgl.input.Keyboard; import com.shinoow.abyssalcraft.api.AbyssalCraftAPI; import com.shinoow.abyssalcraft.api.item.ACItems; import com.shinoow.abyssalcraft.client.gui.necronomicon.buttons.ButtonCategory; import com.shinoow.abyssalcraft.client.gui.necronomicon.buttons.ButtonNextPage; import com.shinoow.abyssalcraft.lib.NecronomiconText; public class GuiNecronomiconRituals extends GuiNecronomicon { private ButtonNextPage buttonPreviousPage; private GuiButton buttonDone; private ButtonCategory info, ritual0, ritual1, ritual2, ritual3, ritual4; public GuiNecronomiconRituals(int bookType){ super(bookType); } @Override @SuppressWarnings("unchecked") public void initGui() { buttonList.clear(); Keyboard.enableRepeatEvents(true); buttonList.add(buttonDone = new GuiButton(0, width / 2 - 100, 4 + guiHeight, 200, 20, I18n.format("gui.done", new Object[0]))); int i = (width - guiWidth) / 2; byte b0 = 2; buttonList.add(buttonPreviousPage = new ButtonNextPage(1, i + 18, b0 + 154, false)); buttonList.add(info = new ButtonCategory(2, i + 14, b0 + 24, this, NecronomiconText.LABEL_INFO, ACItems.necronomicon)); buttonList.add(ritual0 = new ButtonCategory(3, i + 14, b0 + 41, this, NecronomiconText.LABEL_NORMAL, ACItems.necronomicon)); if(getBookType() >= 1) buttonList.add(ritual1 = new ButtonCategory(4, i + 14, b0 + 58, this, NecronomiconText.LABEL_INFORMATION_ABYSSAL_WASTELAND, ACItems.abyssal_wasteland_necronomicon)); if(getBookType() >= 2) buttonList.add(ritual2 = new ButtonCategory(5, i + 14, b0 + 75, this, NecronomiconText.LABEL_INFORMATION_DREADLANDS, ACItems.dreadlands_necronomicon)); if(getBookType() >= 3) buttonList.add(ritual3 = new ButtonCategory(6, i + 14, b0 + 92, this, NecronomiconText.LABEL_INFORMATION_OMOTHOL, ACItems.omothol_necronomicon)); if(getBookType() == 4) buttonList.add(ritual4 = new ButtonCategory(7, i + 14, b0 + 109, this, ACItems.abyssalnomicon.getUnlocalizedName() + ".name", ACItems.abyssalnomicon)); updateButtons(); } private void updateButtons() { buttonPreviousPage.visible = true; buttonDone.visible = true; info.visible = true; ritual0.visible = true; if(getBookType() >= 1) ritual1.visible = true; if(getBookType() >= 2) ritual2.visible = true; if(getBookType() >= 3) ritual3.visible = true; if(getBookType() == 4) ritual4.visible = true; } @Override protected void actionPerformed(GuiButton button) { if (button.enabled) { if(button.id == 0) mc.displayGuiScreen((GuiScreen)null); else if(button.id == 1) mc.displayGuiScreen(new GuiNecronomicon(getBookType())); else if(button.id == 2) mc.displayGuiScreen(new GuiNecronomiconEntry(getBookType(), AbyssalCraftAPI.getInternalNDHandler().getInternalNecroData("rituals"), this, ACItems.necronomicon)); else if(button.id == 3) mc.displayGuiScreen(new GuiNecronomiconRitualEntry(getBookType(), this, 0)); else if(button.id == 4) mc.displayGuiScreen(new GuiNecronomiconRitualEntry(getBookType(), this, 1)); else if(button.id == 5) mc.displayGuiScreen(new GuiNecronomiconRitualEntry(getBookType(), this, 2)); else if(button.id == 6) mc.displayGuiScreen(new GuiNecronomiconRitualEntry(getBookType(), this, 3)); else if(button.id == 7) mc.displayGuiScreen(new GuiNecronomiconRitualEntry(getBookType(), this, 4)); updateButtons(); } } @Override protected void drawIndexText(){ int k = (width - guiWidth) / 2; byte b0 = 2; String stuff; stuff = localize(NecronomiconText.LABEL_RITUALS); fontRendererObj.drawSplitString(stuff, k + 20, b0 + 16, 116, 0xC40000); writeText(2, NecronomiconText.RITUAL_INFO); } }