From 9d3ef44db76a663bfac794094f5f9cd90bd6697a Mon Sep 17 00:00:00 2001 From: 0xSeb Date: Thu, 19 Nov 2015 15:15:39 +0100 Subject: [PATCH] Finished gui work. Nearly release ready! --- README.md | 10 +++- .../skate702/craftingkeys/CraftingKeys.java | 11 +++-- .../craftingkeys/config/GuiConfig.java | 43 +++++++++++++----- .../manager/InventoryManager.java | 2 + .../craftingkeys/textures/gui/symbols.pdn | Bin 0 -> 53011 bytes .../craftingkeys/textures/gui/symbols.png | Bin 0 -> 20087 bytes .../assets/craftingkeys/textures/gui/test.png | Bin 794 -> 1020 bytes 7 files changed, 50 insertions(+), 16 deletions(-) create mode 100644 src/main/resources/assets/craftingkeys/textures/gui/symbols.pdn create mode 100644 src/main/resources/assets/craftingkeys/textures/gui/symbols.png diff --git a/README.md b/README.md index fc6a8fd..07813ba 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,15 @@ Crafting Keys is a modification which adds a lot of new key bindings to minecraf ##Development Progress The whole project had been refactored and is now almost ready to be release. Still missing: -- Fixing the last bugs +- Full support for numPad +- BETA Build (1.7.10) +- 1.8 Port + Inventory/Gui Fix +- BETA Build (1.8) + +Optional: + +- Logic incremental feature +- API ## More Information diff --git a/src/main/java/de/skate702/craftingkeys/CraftingKeys.java b/src/main/java/de/skate702/craftingkeys/CraftingKeys.java index c8909d1..432c1b6 100644 --- a/src/main/java/de/skate702/craftingkeys/CraftingKeys.java +++ b/src/main/java/de/skate702/craftingkeys/CraftingKeys.java @@ -21,7 +21,10 @@ 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.*; +import net.minecraft.client.gui.GuiEnchantment; +import net.minecraft.client.gui.GuiMerchant; +import net.minecraft.client.gui.GuiRepair; +import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.inventory.*; import net.minecraftforge.client.event.GuiOpenEvent; import net.minecraftforge.common.MinecraftForge; @@ -121,9 +124,9 @@ public class CraftingKeys { */ @SubscribeEvent public void onGuiOpened(GuiOpenEvent event) { - if (event.gui instanceof GuiMainMenu) { - event.gui = new GuiConfig(); // (Only for testing) - } + //if (event.gui instanceof GuiMainMenu) { + //event.gui = new GuiConfig(); // (Only for testing) + //} } /** diff --git a/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java b/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java index 0d62294..aafd931 100644 --- a/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java +++ b/src/main/java/de/skate702/craftingkeys/config/GuiConfig.java @@ -198,15 +198,17 @@ public class GuiConfig extends GuiScreen { GL11.glColor4f(1F, 1F, 1F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/crafting_table.png")); drawTexturedModalRect(guiBasePosition - 86, height / 2 - 100, 1, 0, 174, 80); - drawString(fontRendererObj, "Crafting Table", guiBasePosition - 33, height / 2 - 100 + 3, lightGray.getRGB()); } private void genFurnaceInfo() { + GL11.glColor4f(0.5F, 0.5F, 0.5F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/furnace.png")); drawTexturedModalRect(guiShowBasePosX - 86, guiShowBasePosY, 1, 0, 174, 80); - drawString(fontRendererObj, "Furnace", guiShowBasePosX - 15, guiShowBasePosY + 3, lightGray.getRGB()); + GL11.glColor4f(1F, 1F, 1F, 1F); + mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/symbols.png")); + drawTexturedModalRect(guiShowBasePosX + 105, guiShowBasePosY + 17, 0, 100, 50, 50); drawInfoString(1, 63, 21); drawInfoString(4, 63, 57); @@ -215,10 +217,13 @@ public class GuiConfig extends GuiScreen { private void genBrewingStandInfo() { + GL11.glColor4f(0.5F, 0.5F, 0.5F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/brewing_stand.png")); drawTexturedModalRect(guiShowBasePosX - 86, guiShowBasePosY, 1, 0, 174, 80); - drawString(fontRendererObj, "Brewing Stand", guiShowBasePosX - 33, guiShowBasePosY + 3, lightGray.getRGB()); + GL11.glColor4f(1F, 1F, 1F, 1F); + mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/symbols.png")); + drawTexturedModalRect(guiShowBasePosX + 105, guiShowBasePosY + 17, 200, 0, 50, 50); drawInfoString(1, 86, 21); drawInfoString(4, 86, 58); @@ -228,9 +233,13 @@ public class GuiConfig extends GuiScreen { private void genEnchantmentInfo() { + GL11.glColor4f(0.5F, 0.5F, 0.5F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/enchanting_table.png")); drawTexturedModalRect(guiShowBasePosX - 86, guiShowBasePosY, 1, 0, 174, 80); - drawString(fontRendererObj, "Enchanting", guiShowBasePosX - 20, guiShowBasePosY + 3, lightGray.getRGB()); + + GL11.glColor4f(1F, 1F, 1F, 1F); + mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/symbols.png")); + drawTexturedModalRect(guiShowBasePosX + 105, guiShowBasePosY + 17, 150, 50, 50, 50); drawInfoString(1, 32, 51); // TODO: 1.8 Enchantment Table @@ -239,15 +248,15 @@ public class GuiConfig extends GuiScreen { private void genAnvilInfo() { + GL11.glColor4f(0.5F, 0.5F, 0.5F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/anvil.png")); drawTexturedModalRect(guiShowBasePosX - 86, guiShowBasePosY, 1, 0, 174, 80); - drawString(fontRendererObj, "Anvil", guiShowBasePosX - 17, guiShowBasePosY + 3, lightGray.getRGB()); - drawRect(guiShowBasePosX + -30, guiShowBasePosY + 20, guiShowBasePosX + 83, guiShowBasePosY + 36, Color.black.getRGB()); + drawRect(guiShowBasePosX + -30, guiShowBasePosY + 17, guiShowBasePosX + 83, guiShowBasePosY + 36, Color.black.getRGB()); GL11.glColor4f(1F, 1F, 1F, 1F); - mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/test.png")); - drawTexturedModalRect(guiShowBasePosX - 50, guiShowBasePosY, 0, 0, 100, 100); + mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/symbols.png")); + drawTexturedModalRect(guiShowBasePosX + 105, guiShowBasePosY + 17, 100, 0, 50, 50); drawInfoString(4, 34, 51); drawInfoString(5, 83, 51); @@ -256,9 +265,13 @@ public class GuiConfig extends GuiScreen { private void genVillagerInfo() { + GL11.glColor4f(0.5F, 0.5F, 0.5F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/villager.png")); drawTexturedModalRect(guiShowBasePosX - 86, guiShowBasePosY, 1, 0, 174, 80); - drawString(fontRendererObj, "Villager", guiShowBasePosX - 17, guiShowBasePosY + 3, lightGray.getRGB()); + + GL11.glColor4f(1F, 1F, 1F, 1F); + mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/symbols.png")); + drawTexturedModalRect(guiShowBasePosX + 105, guiShowBasePosY + 17, 100, 100, 50, 50); drawInfoString(4, 43, 57); drawInfoString(5, 69, 57); @@ -267,9 +280,13 @@ public class GuiConfig extends GuiScreen { private void genInventoryInfo() { + GL11.glColor4f(0.5F, 0.5F, 0.5F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/inventory.png")); drawTexturedModalRect(guiShowBasePosX - 86, guiShowBasePosY, 1, 0, 174, 80); - drawString(fontRendererObj, "Inventory", guiShowBasePosX - 20, guiShowBasePosY + 3, lightGray.getRGB()); + + GL11.glColor4f(1F, 1F, 1F, 1F); + mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/symbols.png")); + drawTexturedModalRect(guiShowBasePosX + 105, guiShowBasePosY + 17, 0, 0, 50, 50); drawInfoString(1, 95, 30); drawInfoString(2, 113, 30); @@ -280,9 +297,13 @@ public class GuiConfig extends GuiScreen { private void genDispenserInfo() { + GL11.glColor4f(0.5F, 0.5F, 0.5F, 1F); mc.renderEngine.bindTexture(new ResourceLocation("textures/gui/container/dispenser.png")); drawTexturedModalRect(guiShowBasePosX - 86, guiShowBasePosY, 1, 0, 174, 80); - drawString(fontRendererObj, "Dispenser", guiShowBasePosX - 23, guiShowBasePosY + 3, lightGray.getRGB()); + + GL11.glColor4f(1F, 1F, 1F, 1F); + mc.renderEngine.bindTexture(new ResourceLocation(CraftingKeys.MODID, "textures/gui/symbols.png")); + drawTexturedModalRect(guiShowBasePosX + 105, guiShowBasePosY + 17, 50, 50, 50, 50); drawInfoString(0, 69, 21); drawInfoString(1, 87, 21); diff --git a/src/main/java/de/skate702/craftingkeys/manager/InventoryManager.java b/src/main/java/de/skate702/craftingkeys/manager/InventoryManager.java index 2cdc779..45a1de1 100644 --- a/src/main/java/de/skate702/craftingkeys/manager/InventoryManager.java +++ b/src/main/java/de/skate702/craftingkeys/manager/InventoryManager.java @@ -45,6 +45,8 @@ public class InventoryManager extends ContainerManager { return 9; } + // TODO: 1.8 Fix inventory slot bug + @Override protected int getInteractionSlotIndex() { return 0; diff --git a/src/main/resources/assets/craftingkeys/textures/gui/symbols.pdn b/src/main/resources/assets/craftingkeys/textures/gui/symbols.pdn new file mode 100644 index 0000000000000000000000000000000000000000..0fc002cf186a0e07438146aed3c7b26c5c0c0910 GIT binary patch literal 53011 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%0Dn3{m_FBeX82p8mU@gAixWn||Tk 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/craftingkeys/textures/gui/symbols.png b/src/main/resources/assets/craftingkeys/textures/gui/symbols.png new file mode 100644 index 0000000000000000000000000000000000000000..90951690e31d094634e9be2875d4972cb75657ea GIT binary patch literal 20087 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 RZSRG^bJ*U6Tx&~D`VaiO^Hl%< literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/craftingkeys/textures/gui/test.png b/src/main/resources/assets/craftingkeys/textures/gui/test.png index f17947a63f37dbcff7ec2d10c56172f548c20f04..440723da47fba7e8a8ee754f8a48e3441e521971 100644 GIT binary patch literal 1020 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911L)MWvCLm;J)>=ES4z)+>iz|hdl!0_`w zkbcR)P-?)y@G60U!DwVVYWk;M!Qd=ES4z)+>iz|hdl!0_`w zkbcR)P-?)y@G60U!DwVVYWk;M!Qd