package com.amadornes.framez.client.gui; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import uk.co.qmunity.lib.client.gui.GuiBase; import uk.co.qmunity.lib.client.gui.widget.IGuiWidget; import uk.co.qmunity.lib.client.gui.widget.WidgetMode; import com.amadornes.framez.config.Config; import com.amadornes.framez.ref.ModInfo; public class GuiSettings extends GuiBase { private static ResourceLocation resLoc = new ResourceLocation(ModInfo.MODID, "textures/gui/settings.png"); public GuiSettings() { super(resLoc, 228, 120, "Settings"); } @Override public void initGui() { super.initGui(); int x_ = (width - xSize) / 2; int y_ = (height - ySize) / 2; WidgetMode click_through_frames = new WidgetMode(0, x_ + 8, y_ + 20, xSize, 2, ModInfo.MODID + ":textures/gui/settings.png"); click_through_frames.value = Config.click_through_frames ? 1 : 0; addWidget(click_through_frames); WidgetMode simple_frames = new WidgetMode(1, x_ + 8, y_ + 36, xSize, 2, ModInfo.MODID + ":textures/gui/settings.png"); simple_frames.value = Config.simple_frames ? 1 : 0; addWidget(simple_frames); } @Override public boolean doesGuiPauseGame() { return false; } @Override public void drawScreen(int x, int y, float partialTick) { super.drawScreen(x, y, partialTick); int x_ = (width - xSize) / 2; int y_ = (height - ySize) / 2; drawString(fontRendererObj, I18n.format("gui." + ModInfo.MODID + ":click_through_frames"), x_ + 8 + 16, y_ + 20 + 3, COLOR_TEXT); drawString(fontRendererObj, I18n.format("gui." + ModInfo.MODID + ":simple_frames"), x_ + 8 + 16, y_ + 36 + 3, COLOR_TEXT); } @Override public void actionPerformed(IGuiWidget widget) { super.actionPerformed(widget); if (widget.getID() == 0) Config.click_through_frames = ((WidgetMode) widget).value != 0; if (widget.getID() == 1) Config.simple_frames = ((WidgetMode) widget).value != 0; if (widget.getID() == 0 || widget.getID() == 1) { Minecraft mc = Minecraft.getMinecraft(); if (mc == null || mc.thePlayer == null || mc.theWorld == null) return; EntityPlayer player = mc.thePlayer; if (player == null) return; int x = (int) player.posX; int y = (int) player.posY; int z = (int) player.posZ; int range = 16 * 16; mc.theWorld.markBlockRangeForRenderUpdate(x - range, y - range, z - range, x + range, y + range, z + range); } } }