From ea265e50a853a9d94ee809fdf595294223e76e43 Mon Sep 17 00:00:00 2001 From: tosta3000 Date: Thu, 5 Nov 2015 17:05:16 +0100 Subject: [PATCH] Added autoswitching gui --- .../craftingkeys/config/GuiConfig.java | 53 +++++++++++++++++-- 1 file changed, 49 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java b/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java index 02050f1..0b45e30 100644 --- a/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java +++ b/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java @@ -2,9 +2,12 @@ package de.skate702.craftingkeys.config; import de.skate702.craftingkeys.util.LanguageLocalizer; import de.skate702.craftingkeys.util.Logger; +import de.skate702.craftingkeys.util.Util; +import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Timer; import org.lwjgl.opengl.GL11; import java.awt.*; @@ -22,6 +25,10 @@ public class GuiConfig extends GuiScreen { private int guiShowBaseHeight; private GuiType guiShowType; + private int guiShowState; + private long lastTime = 0; + private long currentTime; + //TODO:Give all buttons the name you think are good for the eventhandling private int buttonSaveID = 901; private int buttonAbortID = 902; @@ -47,9 +54,11 @@ public class GuiConfig extends GuiScreen { guiShowBaseHeight = height / 2 + 35; guiShowType = GuiType.FURNACE; - + guiShowState = 0; //Button Init addStandardButtons(); + lastTime = Util.client.getSystemTime(); + currentTime = Util.client.getSystemTime(); } @Override @@ -72,6 +81,12 @@ public class GuiConfig extends GuiScreen { drawCraftingTable(); // Insert Gui by selected Type + currentTime = Util.client.getSystemTime(); + if(currentTime - lastTime > 2000){ + nextShowGui(); + lastTime = Util.client.getSystemTime(); + currentTime = Util.client.getSystemTime(); + } switch (guiShowType) { @@ -100,7 +115,6 @@ public class GuiConfig extends GuiScreen { //Draw line to let it look better drawHorizontalLine(guiShowBasePosition - 86, guiShowBasePosition + 85, guiShowBaseHeight + 80, lightGray.getRGB()); - super.drawScreen(mouseX, mouseY, partialTicks); } @@ -204,7 +218,6 @@ public class GuiConfig extends GuiScreen { // Add control buttons buttonList.add((new GuiButton(buttonAbortID, width - 53, 3, 50, 20, LanguageLocalizer.localize("craftingkeys.config.button.abort")))); buttonList.add((new GuiButton(buttonSaveID, width - 53, 26, 50, 20, LanguageLocalizer.localize("craftingkeys.config.button.save")))); - //I don't know if you want to change those for every gui buttonList.add((new GuiButton(buttonStackID, guiBasePosition + 105, height / 2 - 84, 50, 20, "Shift"))); buttonList.add((new GuiButton(buttonDropID, guiBasePosition + 105, height / 2 - 46, 50, 20, "Space"))); //Add Switch Buttons @@ -215,7 +228,6 @@ public class GuiConfig extends GuiScreen { buttonList.add((new GuiButton(buttonVillagerID, guiShowBasePosition + 86 + 5, guiShowBaseHeight + 20 + 1, 70, 20, "Villager"))); buttonList.add((new GuiButton(buttonEnchantmentID, guiShowBasePosition + 86 + 5, guiShowBaseHeight + 2 * 20 + 2, 70, 20, "Enchanting"))); buttonList.add((new GuiButton(buttonAnvilID, guiShowBasePosition - 86 - 70 - 5, guiShowBaseHeight + 3 * 20 + 3, 70, 20, "Anvil"))); - //Adding Crafting Buttons addCraftingButtons(); } @@ -233,6 +245,39 @@ public class GuiConfig extends GuiScreen { buttonList.add((new GuiButton(9, guiBasePosition + 34, height / 2 - 67, 22, 20, "Ctrl"))); } + public void nextShowGui(){ + switch(guiShowState){ + case 0: + guiShowType = GuiType.FURNACE; + break; + case 1: + guiShowType = GuiType.BREWINGSTAND; + break; + case 2: + guiShowType = GuiType.INVENTORY; + break; + case 3: + guiShowType = GuiType.ENCHANTMENT; + break; + case 4: + guiShowType = GuiType.DISPENSER; + break; + case 5: + guiShowType = GuiType.VILAGER; + break; + case 6: + guiShowType = GuiType.ANVIL; + break; + } + if(guiShowState >= 6){ + guiShowState = 0; + }else{ + guiShowState++; + } + + + } + public enum GuiType { ANVIL, FURNACE,