From ed6ba3ac8d0f882395433eaf10be4d593aab6fdf Mon Sep 17 00:00:00 2001 From: games647 Date: Sun, 3 Jul 2016 17:31:13 +0200 Subject: [PATCH] Restore the inventory on disabling inventoryProtect on reload (Fixes #818) --- .../listener/protocollib/ProtocolLibService.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java b/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java index d0db2664..af32d7eb 100644 --- a/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java +++ b/src/main/java/fr/xephi/authme/listener/protocollib/ProtocolLibService.java @@ -2,6 +2,7 @@ package fr.xephi.authme.listener.protocollib; import fr.xephi.authme.AuthMe; import fr.xephi.authme.ConsoleLogger; +import fr.xephi.authme.cache.auth.PlayerCache; import fr.xephi.authme.initialization.SettingsDependent; import fr.xephi.authme.settings.NewSetting; import fr.xephi.authme.settings.properties.RestrictionSettings; @@ -107,7 +108,18 @@ public class ProtocolLibService implements SettingsDependent { @Override public void loadSettings(NewSetting settings) { + boolean oldProtectInventory = this.protectInvBeforeLogin; + this.protectInvBeforeLogin = settings.getProperty(RestrictionSettings.PROTECT_INVENTORY_BEFORE_LOGIN); this.denyTabCompleteBeforeLogin = settings.getProperty(RestrictionSettings.DENY_TABCOMPLETE_BEFORE_LOGIN); + + //it was true and will be deactivated now, so we need to restore the inventory for every player + if (oldProtectInventory && !protectInvBeforeLogin) { + for (Player onlinePlayer : bukkitService.getOnlinePlayers()) { + if (!PlayerCache.getInstance().isAuthenticated(onlinePlayer.getName())) { + sendInventoryPacket(onlinePlayer); + } + } + } } }