diff --git a/pom.xml b/pom.xml index 9ad2a63..ee8b828 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ me.SuperRonanCraft BetterRTP jar - 3.0.6 + 3.1.0 1.8 @@ -241,13 +241,20 @@ - + com.hakan claimapi LATEST provided + + + com.github.bloodmc + GriefDefenderApi + 920a610 + provided + xyz.xenondevs diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java index 76d4b60..8129e80 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPluginValidation.java @@ -2,7 +2,8 @@ package me.SuperRonanCraft.BetterRTP.player.rtp; import br.net.fabiozumbi12.RedProtect.Bukkit.RedProtect; import com.bekvon.bukkit.residence.Residence; -import com.bekvon.bukkit.residence.commands.set; +import com.griefdefender.api.GriefDefender; +import com.griefdefender.api.claim.Claim; import com.hakan.claimsystem.api.ClaimAPI; import com.massivecraft.factions.Board; import com.massivecraft.factions.FLocation; @@ -11,7 +12,6 @@ import com.palmergames.bukkit.towny.TownyAPI; import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldguard.WorldGuard; import com.sk89q.worldguard.protection.ApplicableRegionSet; -import com.sk89q.worldguard.protection.regions.ProtectedRegion; import com.sk89q.worldguard.protection.regions.RegionContainer; import com.sk89q.worldguard.protection.regions.RegionQuery; import me.SuperRonanCraft.BetterRTP.BetterRTP; @@ -30,7 +30,8 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende boolean plugin_lands = getLands(loc); boolean plugin_residence = getResidence(loc); boolean plugin_kingdomsx = getKingdomsx(loc); - boolean plugin_claims_pandomim = getClaimAPIPandomim(loc); + boolean plugin_hClaims = gethClaims(loc); + boolean plugin_griefDefender = getGriefDefender(loc); return plugin_worldguard && plugin_griefPrevention && plugin_towny @@ -39,7 +40,8 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende && plugin_lands && plugin_residence && plugin_kingdomsx - && plugin_claims_pandomim; + && plugin_hClaims + && plugin_griefDefender; } // TESTED (v2.12.3) @@ -162,12 +164,12 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende return result; } - // NOT TESTED (3.0.5) + // NOT TESTED (3.1.0) // hClaims (v1.1.1) - // https://github.com/pixelnw/claimapi (Local Repo) - private boolean getClaimAPIPandomim(Location loc) { + // https://www.spigotmc.org/resources/hclaims.90540/ (Local Repo) + private boolean gethClaims(Location loc) { boolean result = true; - if (getPl().getSettings().getsDepends().isClaimAPIPandomim()) + if (getPl().getSettings().getsDepends().ishClaims()) try { result = ClaimAPI.isClaimed(loc); } catch (Exception e) { @@ -176,6 +178,23 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende return result; } + // NOT TESTED (3.1.0) + // GriefDefender (v1.5.10) + // https://www.spigotmc.org/resources/griefdefender.68900/ + private boolean getGriefDefender(Location loc) { + boolean result = true; + if (getPl().getSettings().getsDepends().isGriefDefender()) + try { + for (Claim claim : GriefDefender.getCore().getAllClaims()) + if (claim.contains(loc.getBlockX(), loc.getBlockY(), loc.getBlockZ())) + return false; + } catch (Exception e) { + e.printStackTrace(); + } + return result; + } + + private BetterRTP getPl() { return BetterRTP.getInstance(); } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java index fd7fc3f..9a84cb3 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/settings/SoftDepends.java @@ -16,7 +16,8 @@ public class SoftDepends { private boolean respect_lands = false; private boolean respect_residence = false; private boolean respect_kingdomsx = false; - private boolean respect_claimAPIPandomim = false; + private boolean respect_hClaims = false; + private boolean respect_griefDefender = false; //RETURNABLES private boolean worldguard = false; private boolean griefprevention = false; @@ -26,7 +27,8 @@ public class SoftDepends { private boolean lands = false; private boolean residence = false; private boolean kingdomsx = false; - private boolean claimAPIPandomim = false; + private boolean hClaims = false; + private boolean griefDefender = false; public boolean isWorldguard() { return worldguard; @@ -60,8 +62,12 @@ public class SoftDepends { return kingdomsx; } - public boolean isClaimAPIPandomim() { - return claimAPIPandomim; + public boolean ishClaims() { + return hClaims; + } + + public boolean isGriefDefender() { + return griefDefender; } void load() { @@ -75,7 +81,8 @@ public class SoftDepends { respect_lands = config.getBoolean( pre + "Lands"); respect_residence = config.getBoolean( pre + "Residence"); respect_kingdomsx = config.getBoolean( pre + "KingdomsX"); - respect_claimAPIPandomim = config.getBoolean( pre + "hClaims"); + respect_hClaims = config.getBoolean( pre + "hClaims"); + respect_griefDefender = config.getBoolean( pre + "GriefDefender"); registerWorldguard(); registerGriefPrevention(); registerTowny(); @@ -85,6 +92,7 @@ public class SoftDepends { registerResidence(); registerKingdomsX(); registerClaimAPIPandomim(); + registerGriefDefender(); } public void registerWorldguard() { @@ -136,9 +144,15 @@ public class SoftDepends { } public void registerClaimAPIPandomim() { - claimAPIPandomim = respect_claimAPIPandomim && Bukkit.getPluginManager().isPluginEnabled("hClaim"); - if (respect_claimAPIPandomim) - debug("Respecting `hClaims` was " + (claimAPIPandomim ? "SUCCESSFULLY" : "NOT") + " registered"); + hClaims = respect_hClaims && Bukkit.getPluginManager().isPluginEnabled("hClaim"); + if (respect_hClaims) + debug("Respecting `hClaims` was " + (hClaims ? "SUCCESSFULLY" : "NOT") + " registered"); + } + + public void registerGriefDefender() { + griefDefender = respect_griefDefender && Bukkit.getPluginManager().isPluginEnabled("GriefDefender"); + if (respect_griefDefender) + debug("Respecting `GriefDefender` was " + (griefDefender ? "SUCCESSFULLY" : "NOT") + " registered"); } private void debug(String str) { diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 55d4bac..de6eacd 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -21,8 +21,10 @@ Settings: Residence: false ## Respect KingdomsX areas (https://www.spigotmc.org/resources/kingdomsx.77670/) KingdomsX: false - ## Respect hClaims areas (https://github.com/pixelnw/claimapi) + ## Respect hClaims areas (https://www.spigotmc.org/resources/hclaims.90540/) hClaims: false + ## Respect GriefDefender areas (https://www.spigotmc.org/resources/griefdefender.68900/) + GriefDefender: false ## Output to console some debugging info Debugger: false ## Amount of chunks to preload around a safe location diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index ebcde32..368d81a 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ main: me.SuperRonanCraft.BetterRTP.BetterRTP -version: '3.0.6' +version: '3.1.0' name: BetterRTP author: SuperRonanCraft softdepend: @@ -14,6 +14,7 @@ softdepend: - ProtocolLib - Kingdoms - hClaims + - GriefDefender api-version: '1.13' commands: