From d5b7de6e960f900aff4de88cc054ac1884afc247 Mon Sep 17 00:00:00 2001 From: Brokkonaut Date: Sat, 24 Nov 2018 03:49:13 +0100 Subject: [PATCH] Update to latest LWC changes (will work with older LWC builds too) --- .../Plugins/LightweightChestProtection.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/Acrobot/ChestShop/Plugins/LightweightChestProtection.java b/src/main/java/com/Acrobot/ChestShop/Plugins/LightweightChestProtection.java index 617ab7b44..6a4ba8dda 100644 --- a/src/main/java/com/Acrobot/ChestShop/Plugins/LightweightChestProtection.java +++ b/src/main/java/com/Acrobot/ChestShop/Plugins/LightweightChestProtection.java @@ -61,8 +61,15 @@ public void onProtectionCheck(ProtectionCheckEvent event) { return; } - if (protection.getType() == Protection.Type.DONATION ? !lwc.canAdminProtection(player, protection) : !lwc.canAccessProtection(player, protection)) { - event.setResult(Event.Result.DENY); + try { + if (!lwc.canAccessProtectionContents(player, protection)) { + event.setResult(Event.Result.DENY); + } + } catch (NoSuchMethodError e) { + // use old method as fallback + if (protection.getType() == Protection.Type.DONATION ? !lwc.canAdminProtection(player, protection) : !lwc.canAccessProtection(player, protection)) { + event.setResult(Event.Result.DENY); + } } } @@ -79,13 +86,7 @@ public void onBlockProtect(ProtectBlockEvent event) { return; } - int x = block.getX(); - int y = block.getY(); - int z = block.getZ(); - - String worldName = block.getWorld().getName(); - - Protection existingProtection = lwc.getPhysicalDatabase().loadProtection(worldName, x, y, z); + Protection existingProtection = lwc.findProtection(block); if (existingProtection != null) { event.setProtected(true); @@ -99,6 +100,10 @@ public void onBlockProtect(ProtectBlockEvent event) { return; } + int x = block.getX(); + int y = block.getY(); + int z = block.getZ(); + String worldName = block.getWorld().getName(); Protection protection = lwc.getPhysicalDatabase().registerProtection(block.getType(), Protection.Type.PRIVATE, worldName, player.getUniqueId().toString(), "", x, y, z); if (protection != null) {