From 2c1707c72f0534319a8f06dcb6f039ca46affef8 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Sun, 10 Apr 2016 15:34:12 +0200 Subject: [PATCH] Crafting settings gui --- .../gui/GuiCraftingSettings.java | 36 ++++++++++++++++++ src/main/java/refinedstorage/gui/GuiGrid.java | 31 ++++++++------- .../textures/gui/crafting_settings.png | Bin 0 -> 1725 bytes .../textures/gui/pattern_grid.png | Bin 0 -> 2129 bytes 4 files changed, 54 insertions(+), 13 deletions(-) create mode 100755 src/main/java/refinedstorage/gui/GuiCraftingSettings.java create mode 100755 src/main/resources/assets/refinedstorage/textures/gui/crafting_settings.png create mode 100755 src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png diff --git a/src/main/java/refinedstorage/gui/GuiCraftingSettings.java b/src/main/java/refinedstorage/gui/GuiCraftingSettings.java new file mode 100755 index 000000000..87bdcd37d --- /dev/null +++ b/src/main/java/refinedstorage/gui/GuiCraftingSettings.java @@ -0,0 +1,36 @@ +package refinedstorage.gui; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.Container; + +public class GuiCraftingSettings extends GuiBase { + public GuiCraftingSettings() { + super(new Container() { + @Override + public boolean canInteractWith(EntityPlayer player) { + return false; + } + }, 143, 61); + } + + @Override + public void init(int x, int y) { + addButton(x + 56, y + 38, 50, 50, "Craft"); + } + + @Override + public void update(int x, int y) { + } + + @Override + public void drawBackground(int x, int y, int mouseX, int mouseY) { + bindTexture("gui/crafting_settings.png"); + + drawTexture(x, y, 0, 0, width, height); + } + + @Override + public void drawForeground(int mouseX, int mouseY) { + drawString(55, 7, "Crafting"); + } +} diff --git a/src/main/java/refinedstorage/gui/GuiGrid.java b/src/main/java/refinedstorage/gui/GuiGrid.java index 2c954148b..dc08ee09a 100755 --- a/src/main/java/refinedstorage/gui/GuiGrid.java +++ b/src/main/java/refinedstorage/gui/GuiGrid.java @@ -7,6 +7,7 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.init.SoundEvents; import net.minecraft.inventory.Slot; +import net.minecraftforge.fml.common.FMLCommonHandler; import refinedstorage.RefinedStorage; import refinedstorage.block.EnumGridType; import refinedstorage.container.ContainerGrid; @@ -266,21 +267,25 @@ public class GuiGrid extends GuiBase { if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null && (clickedButton == 0 || clickedButton == 1)) { grid.onItemPush(-1, clickedButton == 1); } else if (isHoveringOverItemInSlot() && container.getPlayer().inventory.getItemStack() == null) { - int flags = 0; + if (items.get(hoveringSlot).getQuantity() == 0) { + FMLCommonHandler.instance().showGuiScreen(new GuiCraftingSettings()); + } else { + int flags = 0; - if (clickedButton == 1) { - flags |= GridPullFlags.PULL_HALF; + if (clickedButton == 1) { + flags |= GridPullFlags.PULL_HALF; + } + + if (GuiScreen.isShiftKeyDown()) { + flags |= GridPullFlags.PULL_SHIFT; + } + + if (clickedButton == 2) { + flags |= GridPullFlags.PULL_ONE; + } + + grid.onItemPull(hoveringItemId, flags); } - - if (GuiScreen.isShiftKeyDown()) { - flags |= GridPullFlags.PULL_SHIFT; - } - - if (clickedButton == 2) { - flags |= GridPullFlags.PULL_ONE; - } - - grid.onItemPull(hoveringItemId, flags); } else if (clickedClear) { RefinedStorage.NETWORK.sendToServer(new MessageGridCraftingClear((TileGrid) grid)); } else { diff --git a/src/main/resources/assets/refinedstorage/textures/gui/crafting_settings.png b/src/main/resources/assets/refinedstorage/textures/gui/crafting_settings.png new file mode 100755 index 0000000000000000000000000000000000000000..6004ea1372daf0f4f45618bc52ffd6cd7a4fab53 GIT binary patch literal 1725 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5Fo{p?&#~tz_78O`%fY(0|PTd zfKP}kP&_m=w7a|e*s){(|NjSaN5NKav4M@OO4qV9awC zctjR6F!1dHVMfvYW|x41>?NMQuI%?%B!o1K_@1^^1BE0?Tq84D>8>jO+Xu7?=b+T^vIy;@;lgn0LrQgf&q5$N%`U0vp{W3~%#HjJry# z?-kwZcx$mO)k4X&gD+wf~RTHXYDEP&@Hk?Vbai2Y&u!6>wm%$&O)U0n&5k z$1^ap9N2tJ)B!~QEPosS^4RjdS*Z=T&40ZPLX~4Z5dLFLJx{^zf7L%TYi_L;W0MF* zQGwU!pEnu5Su)(NteC3CVDsN%pM!9nZFSt9x*fZnuFq~Wd;Bbj^*|PP!&Nbc)w&E} u(F|+0F+}7tZn(viuys@dOOSY3_sKH`bzI@?Ii3kBVLV;^T-G@yGywo6jr=MA literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png b/src/main/resources/assets/refinedstorage/textures/gui/pattern_grid.png new file mode 100755 index 0000000000000000000000000000000000000000..1ab9ccd7dcab43bd02644684677e9847dca38108 GIT binary patch literal 2129 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K58911MRQ8&P5D>38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&di49pAxJ|V6^adUI?(9qEC?(Sp9j{X1tA1E>kMnhnPgh10{aTQRmDGBlm z1}6TI3>bpHv#SE5owL9rvY3H^?=T269?xHq0u+=eag8Vm&QB{TPb^AhC`ioAE78kK zEm1JhGtjflF|P9i7AUJcT^vIy;@;lvF1lqP(vrx2=(oL*YlU{=nll=YbT(et|F-9@ z^QzP4UK;INV%J?yeGn6Wt|(TI`FUw$>Wjbe`{KoRFxT+UzWg$@k!8U_w=*9Z{MOAe zJ!rGk$AU!>pSXau?54ezZ>xD&B}^E6_zGt6CH!@tCT}d> zVD@)H_;-7mhJW#mGP#TG4>M-mO$7Vw!V6{=28JAlD)D_wzS{o&I`!q>yT4Clv`zZW zw~gg?xAw*TnI z-&+{27~ficfZsuw@d|4i(+Vyh)&Sud+zXTpBoD+rn9TU)fLWDJx>ZAZ<4cAw5$DvI zb2isasS7lcYwA zUx4?kVoAnh9H3Y%Z3p>`!C^7K0El|c$IZa71{`EBe>0cp8iw6rcxC;>#MI?pBs{r* z!T}Dx)Yc!c)=p#i8tc`wS2osrmR26a+$}PX6W^_dtBER)fU_BD=FVBsCFxK*T_`!< z{raS3UD6Kfx`-48RM>D$Rt%v&UR`}v5}SlFL}J>1hF5#1N&MaoNt;#MP8!-R{2B^Z z4)ZTqU|(Kd$Wa~xHwK1;yoSlF37(JnCRa4v_V2ZI5@UC;VqKgPTN1PGdcEG-4Zqg8 RXi0-KdAj