From e623a76d60c108989129e6aa2a82327527d76575 Mon Sep 17 00:00:00 2001 From: raoulvdberge Date: Tue, 14 Feb 2017 22:07:35 +0100 Subject: [PATCH] Fixed OPs not having global permissions on secured storage systems --- CHANGELOG.md | 1 + .../apiimpl/network/security/SecurityManager.java | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17a7ad1e3..9292f46ae 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - Fixed network nodes not respecting redstone mode (raoulvdberge) - Fixed "Clear" and "Create Pattern" buttons not working correctly when using Grid Filter tabs (raoulvdberge) - Fixed Wrench in Dismantling Mode voiding Storage Block contents (raoulvdberge) +- Fixed OPs not having global permissions on secured storage systems (raoulvdberge) ### 1.4 - Added Security Manager (raoulvdberge) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java index f0d225cf5..c16727296 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java @@ -7,6 +7,8 @@ import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCardContain import com.raoulvdberge.refinedstorage.api.network.security.ISecurityManager; import com.raoulvdberge.refinedstorage.api.network.security.Permission; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.server.management.UserListOps; +import net.minecraftforge.fml.common.FMLCommonHandler; import java.util.HashMap; import java.util.Map; @@ -22,7 +24,9 @@ public class SecurityManager implements ISecurityManager { @Override public boolean hasPermission(Permission permission, EntityPlayer player) { - if (cards.isEmpty()) { + UserListOps ops = FMLCommonHandler.instance().getMinecraftServerInstance().getPlayerList().getOppedPlayers(); + + if (cards.isEmpty() || ops.getEntry(player.getGameProfile()) != null) { return true; }