From 31d8f25cc4e2932b5e5a8efaabbcfe40abb5d9eb Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Fri, 16 Dec 2016 23:07:51 +0100 Subject: [PATCH] Further tweak security manager GUI --- .../container/ContainerSecurityManager.java | 2 +- .../refinedstorage/gui/GuiBase.java | 3 +- .../gui/GuiSecurityManager.java | 28 ++++++++++++++++-- .../assets/refinedstorage/lang/en_US.lang | 10 +++++++ .../textures/gui/security_manager.png | Bin 1859 -> 1858 bytes 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java index 44ab0f542..162d9d140 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/ContainerSecurityManager.java @@ -26,7 +26,7 @@ public class ContainerSecurityManager extends ContainerBase { addSlotToContainer(new SlotItemHandler(tile.getEditCard(), 0, 80, 70)); - addPlayerInventory(8, 127); + addPlayerInventory(8, 152); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiBase.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiBase.java index b2d3f9e97..65eaa03e7 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiBase.java @@ -16,6 +16,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fml.client.config.GuiCheckBox; +import net.minecraftforge.fml.client.config.GuiUtils; import net.minecraftforge.items.SlotItemHandler; import org.lwjgl.input.Mouse; @@ -298,7 +299,7 @@ public abstract class GuiBase extends GuiContainer { public void drawTooltip(int x, int y, List lines) { GlStateManager.disableLighting(); - drawHoveringText(lines, x, y); + GuiUtils.drawHoveringText(null, lines, x, y, width - guiLeft, height, -1, fontRendererObj); GlStateManager.enableLighting(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java index e2c85f4ed..337357be2 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/gui/GuiSecurityManager.java @@ -1,14 +1,30 @@ package com.raoulvdberge.refinedstorage.gui; +import com.raoulvdberge.refinedstorage.api.network.Permission; import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager; +import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode; +import com.raoulvdberge.refinedstorage.tile.TileSecurityManager; +import net.minecraft.client.resources.I18n; +import net.minecraftforge.fml.client.config.GuiCheckBox; public class GuiSecurityManager extends GuiBase { + private GuiCheckBox[] permissions = new GuiCheckBox[Permission.values().length]; + public GuiSecurityManager(ContainerSecurityManager container) { - super(container, 176, 209); + super(container, 176, 234); } @Override public void init(int x, int y) { + addSideButton(new SideButtonRedstoneMode(this, TileSecurityManager.REDSTONE_MODE)); + + int padding = 15; + + permissions[0] = addCheckBox(x + 7, y + 93, I18n.format("gui.refinedstorage:security_manager.permission.0"), false); + permissions[1] = addCheckBox(permissions[0].xPosition, permissions[0].yPosition + padding, I18n.format("gui.refinedstorage:security_manager.permission.1"), false); + permissions[2] = addCheckBox(permissions[1].xPosition, permissions[1].yPosition + padding, I18n.format("gui.refinedstorage:security_manager.permission.2"), false); + permissions[3] = addCheckBox(permissions[0].xPosition + 80, permissions[0].yPosition, I18n.format("gui.refinedstorage:security_manager.permission.3"), false); + permissions[4] = addCheckBox(permissions[3].xPosition, permissions[3].yPosition + padding, I18n.format("gui.refinedstorage:security_manager.permission.4"), false); } @Override @@ -26,6 +42,14 @@ public class GuiSecurityManager extends GuiBase { public void drawForeground(int mouseX, int mouseY) { drawString(7, 7, t("gui.refinedstorage:security_manager")); drawString(7, 59, t("gui.refinedstorage:security_manager.configure")); - drawString(7, 115, t("container.inventory")); + drawString(7, 140, t("container.inventory")); + + for (int i = 0; i < permissions.length; ++i) { + GuiCheckBox permission = permissions[i]; + + if (inBounds(permission.xPosition - guiLeft, permission.yPosition - guiTop, permission.width, permission.height, mouseX, mouseY)) { + drawTooltip(mouseX, mouseY, I18n.format("gui.refinedstorage:security_manager.permission." + i + ".tooltip")); + } + } } } diff --git a/src/main/resources/assets/refinedstorage/lang/en_US.lang b/src/main/resources/assets/refinedstorage/lang/en_US.lang index 528e6be82..14db5de0c 100755 --- a/src/main/resources/assets/refinedstorage/lang/en_US.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_US.lang @@ -58,6 +58,16 @@ gui.refinedstorage:reader=Reader gui.refinedstorage:writer=Writer gui.refinedstorage:security_manager=Security Manager gui.refinedstorage:security_manager.configure=Configure +gui.refinedstorage:security_manager.permission.0=Insert +gui.refinedstorage:security_manager.permission.0.tooltip=Inserting items to the network +gui.refinedstorage:security_manager.permission.1=Extract +gui.refinedstorage:security_manager.permission.1.tooltip=Extracting items from the network +gui.refinedstorage:security_manager.permission.2=Autocraft +gui.refinedstorage:security_manager.permission.2.tooltip=Starting and cancelling crafting tasks +gui.refinedstorage:security_manager.permission.3=Modify +gui.refinedstorage:security_manager.permission.3.tooltip=Opening GUIs, adding or removing blocks from the network +gui.refinedstorage:security_manager.permission.4=Security +gui.refinedstorage:security_manager.permission.4.tooltip=Ability to change security options misc.refinedstorage:energy_stored=%d / %d RS misc.refinedstorage:energy_usage=Usage: %d RS/t diff --git a/src/main/resources/assets/refinedstorage/textures/gui/security_manager.png b/src/main/resources/assets/refinedstorage/textures/gui/security_manager.png index f1b03d1ca357b22c38cbba95b04b63fba7fa83da..34c06b35989d6d1733d0b575a686b67b9b0e8b42 100755 GIT binary patch literal 1858 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+=iag8Vm&QB{TPb^AhC`ioAE78kK zEm1JhGte_Ma%RbX!@$5a%hSa%q$2L^-G^Dyh61e@*UIkyue^I}@ouh#_B}HfN|x9$ zF|i)`u_0lCbIqOi$LGBJD*OGh*>bkVe60QFURkI*hi7`+Ff9w-t1Zu3E}7s46gY7w6;zfw_{j?Z zDWmd828Jt4PcHwt`nmY;Dm8{D{~oRRQUa8LxQIbv`E(YA^}l%>>H>uj>i_%(DrRH& z!UpufnOHHP1jCarj6ic0il+mMUj_!tS_dGB#V(-7FSE0dq3wf()&Kv6SAX1{7#Xhr zwuJeKecT+=y2xYI)*$38$lZxy-8q?;Kn_c~qpu?a z!^VE@KZ&di49pAxJ|V6^adUI?(9qEC?(Sp9j{X1tA1E>kMnhnPgh10{aTQRmDGBlm z1}6TI3>bpHv#SE5owL9rvY3H^?=T269?xHq0u+=iag8Vm&QB{TPb^AhC`ioAE78kK zEm1JhGte_Ma%RbX!@$5a+tbA{q$2L^orhV{h61e@*UIkyue^I}@ouh#_B}Hf3KrWj zF>`VJ+>kIqSpNI(jsD+%_5Ciqy_~HvdHMDF-z&r`m}=f!dK#qnf#JkEX%+^ChB>=+ zK9?km7}0o)V( zKZl<`|8?~(MuqR<=}UJ5%UPI}o2oq-KJ7Zs@I+h{s1GdK5YM!u;f3 z>eY(vlXq5SE|pgBzZLoT@Sl6wf@;BgwdGk$B^AEwtv{|FeXE-xn(FYSgRrNvt~cT&gxjxd+*aA0lfQc300Fk%y;MvnmwlFc=+YqZXC%{dfNP W0}tY)Ulq!OT;l2K=d#Wzp$PyYGa1kT