diff --git a/bukkit/src/main/java/com/griefdefender/GDPlayerData.java b/bukkit/src/main/java/com/griefdefender/GDPlayerData.java index 3f22c66..ca96cde 100644 --- a/bukkit/src/main/java/com/griefdefender/GDPlayerData.java +++ b/bukkit/src/main/java/com/griefdefender/GDPlayerData.java @@ -782,6 +782,10 @@ public class GDPlayerData implements PlayerData { } public int getPvpCombatTimeRemaining() { + return this.getPvpCombatTimeRemaining(null); + } + + public int getPvpCombatTimeRemaining(GDClaim claim) { final Player player = this.getSubject().getOnlinePlayer(); if (this.lastPvpTimestamp == null || player == null) { return 0; @@ -790,7 +794,7 @@ public class GDPlayerData implements PlayerData { final Instant now = Instant.now(); int combatTimeout = 0; if (GDOptions.isOptionEnabled(Options.PVP_COMBAT_TIMEOUT)) { - combatTimeout = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Integer.class), player, Options.PVP_COMBAT_TIMEOUT); + combatTimeout = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Integer.class), player, Options.PVP_COMBAT_TIMEOUT, claim); } if (combatTimeout <= 0) { return 0; diff --git a/bukkit/src/main/java/com/griefdefender/listener/CommandEventHandler.java b/bukkit/src/main/java/com/griefdefender/listener/CommandEventHandler.java index d27acc9..c9eb81d 100644 --- a/bukkit/src/main/java/com/griefdefender/listener/CommandEventHandler.java +++ b/bukkit/src/main/java/com/griefdefender/listener/CommandEventHandler.java @@ -177,10 +177,10 @@ public class CommandEventHandler implements Listener { return; } - final int combatTimeRemaining = playerData.getPvpCombatTimeRemaining(); + final int combatTimeRemaining = playerData.getPvpCombatTimeRemaining(claim); final boolean inPvpCombat = combatTimeRemaining > 0; if (GDOptions.isOptionEnabled(Options.PVP_COMBAT_COMMAND)) { - final boolean pvpCombatCommand = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Boolean.class), player, Options.PVP_COMBAT_COMMAND); + final boolean pvpCombatCommand = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Boolean.class), player, Options.PVP_COMBAT_COMMAND, claim); if (!pvpCombatCommand && inPvpCombat) { final Component denyMessage = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PVP_IN_COMBAT_NOT_ALLOWED, ImmutableMap.of( diff --git a/sponge/src/main/java/com/griefdefender/GDPlayerData.java b/sponge/src/main/java/com/griefdefender/GDPlayerData.java index 9635bc5..0240276 100644 --- a/sponge/src/main/java/com/griefdefender/GDPlayerData.java +++ b/sponge/src/main/java/com/griefdefender/GDPlayerData.java @@ -787,6 +787,10 @@ public class GDPlayerData implements PlayerData { } public int getPvpCombatTimeRemaining() { + return this.getPvpCombatTimeRemaining(null); + } + + public int getPvpCombatTimeRemaining(GDClaim claim) { final Player player = this.getSubject().getOnlinePlayer(); if (this.lastPvpTimestamp == null || player == null) { return 0; @@ -795,7 +799,7 @@ public class GDPlayerData implements PlayerData { final Instant now = Instant.now(); int combatTimeout = 0; if (GDOptions.isOptionEnabled(Options.PVP_COMBAT_TIMEOUT)) { - combatTimeout = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Integer.class), player, Options.PVP_COMBAT_TIMEOUT); + combatTimeout = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Integer.class), player, Options.PVP_COMBAT_TIMEOUT, claim); } if (combatTimeout <= 0) { return 0; diff --git a/sponge/src/main/java/com/griefdefender/listener/PlayerEventHandler.java b/sponge/src/main/java/com/griefdefender/listener/PlayerEventHandler.java index 76a5151..63dd45a 100644 --- a/sponge/src/main/java/com/griefdefender/listener/PlayerEventHandler.java +++ b/sponge/src/main/java/com/griefdefender/listener/PlayerEventHandler.java @@ -346,10 +346,10 @@ public class PlayerEventHandler { return; } - final int combatTimeRemaining = playerData.getPvpCombatTimeRemaining(); + final int combatTimeRemaining = playerData.getPvpCombatTimeRemaining(claim); final boolean inPvpCombat = combatTimeRemaining > 0; if (GDOptions.isOptionEnabled(Options.PVP_COMBAT_COMMAND)) { - final boolean pvpCombatCommand = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Boolean.class), player, Options.PVP_COMBAT_COMMAND); + final boolean pvpCombatCommand = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Boolean.class), player, Options.PVP_COMBAT_COMMAND, claim); if (!pvpCombatCommand && inPvpCombat) { final Component denyMessage = GriefDefenderPlugin.getInstance().messageData.getMessage(MessageStorage.PVP_IN_COMBAT_NOT_ALLOWED, ImmutableMap.of(