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 f1b03d1ca..34c06b359 100755 Binary files a/src/main/resources/assets/refinedstorage/textures/gui/security_manager.png and b/src/main/resources/assets/refinedstorage/textures/gui/security_manager.png differ