diff --git a/src/main/java/de/skate702/craftingkeys/CraftingKeys.java b/src/main/java/de/skate702/craftingkeys/CraftingKeys.java index 31d166d..3956de1 100644 --- a/src/main/java/de/skate702/craftingkeys/CraftingKeys.java +++ b/src/main/java/de/skate702/craftingkeys/CraftingKeys.java @@ -11,15 +11,21 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.network.NetworkRegistry; import de.skate702.craftingkeys.config.Config; +import de.skate702.craftingkeys.config.GuiConfig; +import de.skate702.craftingkeys.config.GuiConfigHandler; import de.skate702.craftingkeys.manager.*; import de.skate702.craftingkeys.proxies.CraftingKeysProxy; import de.skate702.craftingkeys.util.Logger; import de.skate702.craftingkeys.util.Util; import net.minecraft.client.gui.GuiEnchantment; +import net.minecraft.client.gui.GuiMainMenu; import net.minecraft.client.gui.GuiMerchant; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.inventory.*; +import net.minecraftforge.client.event.GuiOpenEvent; +import net.minecraftforge.common.MinecraftForge; /** * The Main Class of the Mod with the important onTick-Method. Some Methods are @@ -69,8 +75,9 @@ public class CraftingKeys { public void load(FMLInitializationEvent event) { // Registering - proxy.registerRenderers(); FMLCommonHandler.instance().bus().register(this); + MinecraftForge.EVENT_BUS.register(this); + NetworkRegistry.INSTANCE.registerGuiHandler(instance, new GuiConfigHandler()); Logger.info("load(e)", "Registered Mod."); } @@ -84,6 +91,11 @@ public class CraftingKeys { public void postInit(FMLPostInitializationEvent event) { } + /** + * This method will be executed when the Config is changed. Update! + * + * @param eventArgs Input event from FML + */ @SubscribeEvent public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent eventArgs) { if (eventArgs.modID.equals(MODID)) { @@ -92,6 +104,18 @@ public class CraftingKeys { } } + /** + * This method listens on GUIs open. Just to test my own gui! + * + * @param event Some Forge input event + */ + @SubscribeEvent + public void onGuiOpened(GuiOpenEvent event) { + if (event.gui instanceof GuiMainMenu) { + event.gui = new GuiConfig(); // Delete this! + } + } + /** * This method will be executed every Ingame Tick. * @@ -100,6 +124,10 @@ public class CraftingKeys { @SubscribeEvent public void onTick(TickEvent.ClientTickEvent tick) { + if (Util.client.currentScreen == null) { + // Util.client.thePlayer.openGui(instance, 702, Util.client.theWorld, 0, 0, 0); + } + // Get current Screen, then test GuiScreen currentScreen = Util.client.currentScreen; diff --git a/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java b/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java index a647b2b..5a19500 100644 --- a/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java +++ b/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java @@ -1,6 +1,46 @@ package de.skate702.craftingkeys.config; +import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiScreen; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.util.ResourceLocation; + +import java.awt.*; public class GuiConfig extends GuiScreen { + + public static final int GuiID = 702; + private GuiTextField testText; + + @Override + public void initGui() { + + buttonList.add((new GuiButton(0, width / 2 - 58, height / 2 - 84, 19, 18, "Q"))); + + } + + @Override + public void drawScreen(int mouseX, int mouseY, float partialTicks) { + + //GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + //GL11.glTranslatef(0.0f, 0.0f, -1.0f); + + Color pureWhite = new Color(255, 255, 255, 255); + //drawWorldBackground(0); + drawDefaultBackground(); + + drawCenteredString(fontRendererObj, "Crafting Keys Config", width / 2, height / 2 - 115, pureWhite.getRGB()); + + mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/crafting_table.png")); + drawTexturedModalRect(width / 2 - 86, height / 2 - 100, 1, 0, 174, 80); + + drawHorizontalLine(width / 2 - 110, width / 2 + 110, height / 2 - 20, pureWhite.getRGB()); + + drawCenteredString(fontRendererObj, "Configure your keys here. Click \"Save\" when finished!", width / 2, height / 2 - 10, pureWhite.getRGB()); + + //drawRect(width / 2 - 100, width / 2 + 100, height / 2 - 5, height / 2 + 5, pureWhite.getRGB()); + + super.drawScreen(mouseX, mouseY, partialTicks); + } + } diff --git a/src/main/java/de/skate702/craftingkeys/config/GuiConfigHandler.java b/src/main/java/de/skate702/craftingkeys/config/GuiConfigHandler.java new file mode 100644 index 0000000..5de57c7 --- /dev/null +++ b/src/main/java/de/skate702/craftingkeys/config/GuiConfigHandler.java @@ -0,0 +1,22 @@ +package de.skate702.craftingkeys.config; + +import cpw.mods.fml.common.network.IGuiHandler; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.world.World; + +public class GuiConfigHandler implements IGuiHandler { + + @Override + public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + return null; + } + + @Override + public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { + if (ID == GuiConfig.GuiID) { + return new GuiConfig(); + } + + return null; + } +} diff --git a/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysClientProxy.java b/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysClientProxy.java index 9cd9dab..372991f 100644 --- a/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysClientProxy.java +++ b/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysClientProxy.java @@ -10,11 +10,6 @@ import net.minecraft.entity.player.EntityPlayer; */ public class CraftingKeysClientProxy extends CraftingKeysProxy { - @Override - public void registerRenderers() { - - } - @Override public void sendSlotClick(PlayerControllerMP controller, int windowId, int slot, int rightClick, int action, EntityPlayer player) { diff --git a/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysProxy.java b/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysProxy.java index 539d947..cce9803 100644 --- a/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysProxy.java +++ b/src/main/java/de/skate702/craftingkeys/proxies/CraftingKeysProxy.java @@ -12,13 +12,6 @@ import net.minecraft.entity.player.EntityPlayer; */ public class CraftingKeysProxy { - /** - * Register Renderers (not needed here). - */ - public void registerRenderers() { - - } - /** * The Minecraft call to send a mouse click to a GUI. [Based on INVTW] *