Added GriefDefender support

This commit is contained in:
SuperRonanCraft 2021-04-01 13:12:06 -04:00
parent a6c88e1c00
commit 6d8abaf420
5 changed files with 63 additions and 20 deletions

11
pom.xml
View File

@ -7,7 +7,7 @@
<groupId>me.SuperRonanCraft</groupId> <groupId>me.SuperRonanCraft</groupId>
<artifactId>BetterRTP</artifactId> <artifactId>BetterRTP</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<version>3.0.6</version> <version>3.1.0</version>
<properties> <properties>
<maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.source>1.8</maven.compiler.source>
@ -241,13 +241,20 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!-- ClaimAPI for Pandomim on Discord --> <!-- ClaimAPI for Pandomim on Discord (https://www.spigotmc.org/resources/hclaims.90540/) -->
<dependency> <dependency>
<groupId>com.hakan</groupId> <groupId>com.hakan</groupId>
<artifactId>claimapi</artifactId> <artifactId>claimapi</artifactId>
<version>LATEST</version> <version>LATEST</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<!-- GriefDefender (https://www.spigotmc.org/resources/griefdefender.68900/) -->
<dependency>
<groupId>com.github.bloodmc</groupId>
<artifactId>GriefDefenderApi</artifactId>
<version>920a610</version>
<scope>provided</scope>
</dependency>
<!-- Particles Library --> <!-- Particles Library -->
<dependency> <dependency>
<groupId>xyz.xenondevs</groupId> <groupId>xyz.xenondevs</groupId>

View File

@ -2,7 +2,8 @@ package me.SuperRonanCraft.BetterRTP.player.rtp;
import br.net.fabiozumbi12.RedProtect.Bukkit.RedProtect; import br.net.fabiozumbi12.RedProtect.Bukkit.RedProtect;
import com.bekvon.bukkit.residence.Residence; 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.hakan.claimsystem.api.ClaimAPI;
import com.massivecraft.factions.Board; import com.massivecraft.factions.Board;
import com.massivecraft.factions.FLocation; import com.massivecraft.factions.FLocation;
@ -11,7 +12,6 @@ import com.palmergames.bukkit.towny.TownyAPI;
import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldguard.WorldGuard; import com.sk89q.worldguard.WorldGuard;
import com.sk89q.worldguard.protection.ApplicableRegionSet; 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.RegionContainer;
import com.sk89q.worldguard.protection.regions.RegionQuery; import com.sk89q.worldguard.protection.regions.RegionQuery;
import me.SuperRonanCraft.BetterRTP.BetterRTP; 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_lands = getLands(loc);
boolean plugin_residence = getResidence(loc); boolean plugin_residence = getResidence(loc);
boolean plugin_kingdomsx = getKingdomsx(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 return plugin_worldguard
&& plugin_griefPrevention && plugin_griefPrevention
&& plugin_towny && plugin_towny
@ -39,7 +40,8 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende
&& plugin_lands && plugin_lands
&& plugin_residence && plugin_residence
&& plugin_kingdomsx && plugin_kingdomsx
&& plugin_claims_pandomim; && plugin_hClaims
&& plugin_griefDefender;
} }
// TESTED (v2.12.3) // TESTED (v2.12.3)
@ -162,12 +164,12 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende
return result; return result;
} }
// NOT TESTED (3.0.5) // NOT TESTED (3.1.0)
// hClaims (v1.1.1) // hClaims (v1.1.1)
// https://github.com/pixelnw/claimapi (Local Repo) // https://www.spigotmc.org/resources/hclaims.90540/ (Local Repo)
private boolean getClaimAPIPandomim(Location loc) { private boolean gethClaims(Location loc) {
boolean result = true; boolean result = true;
if (getPl().getSettings().getsDepends().isClaimAPIPandomim()) if (getPl().getSettings().getsDepends().ishClaims())
try { try {
result = ClaimAPI.isClaimed(loc); result = ClaimAPI.isClaimed(loc);
} catch (Exception e) { } catch (Exception e) {
@ -176,6 +178,23 @@ public class RTPPluginValidation { //Safe locations depending on enabled depende
return result; 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() { private BetterRTP getPl() {
return BetterRTP.getInstance(); return BetterRTP.getInstance();
} }

View File

@ -16,7 +16,8 @@ public class SoftDepends {
private boolean respect_lands = false; private boolean respect_lands = false;
private boolean respect_residence = false; private boolean respect_residence = false;
private boolean respect_kingdomsx = false; private boolean respect_kingdomsx = false;
private boolean respect_claimAPIPandomim = false; private boolean respect_hClaims = false;
private boolean respect_griefDefender = false;
//RETURNABLES //RETURNABLES
private boolean worldguard = false; private boolean worldguard = false;
private boolean griefprevention = false; private boolean griefprevention = false;
@ -26,7 +27,8 @@ public class SoftDepends {
private boolean lands = false; private boolean lands = false;
private boolean residence = false; private boolean residence = false;
private boolean kingdomsx = false; private boolean kingdomsx = false;
private boolean claimAPIPandomim = false; private boolean hClaims = false;
private boolean griefDefender = false;
public boolean isWorldguard() { public boolean isWorldguard() {
return worldguard; return worldguard;
@ -60,8 +62,12 @@ public class SoftDepends {
return kingdomsx; return kingdomsx;
} }
public boolean isClaimAPIPandomim() { public boolean ishClaims() {
return claimAPIPandomim; return hClaims;
}
public boolean isGriefDefender() {
return griefDefender;
} }
void load() { void load() {
@ -75,7 +81,8 @@ public class SoftDepends {
respect_lands = config.getBoolean( pre + "Lands"); respect_lands = config.getBoolean( pre + "Lands");
respect_residence = config.getBoolean( pre + "Residence"); respect_residence = config.getBoolean( pre + "Residence");
respect_kingdomsx = config.getBoolean( pre + "KingdomsX"); 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(); registerWorldguard();
registerGriefPrevention(); registerGriefPrevention();
registerTowny(); registerTowny();
@ -85,6 +92,7 @@ public class SoftDepends {
registerResidence(); registerResidence();
registerKingdomsX(); registerKingdomsX();
registerClaimAPIPandomim(); registerClaimAPIPandomim();
registerGriefDefender();
} }
public void registerWorldguard() { public void registerWorldguard() {
@ -136,9 +144,15 @@ public class SoftDepends {
} }
public void registerClaimAPIPandomim() { public void registerClaimAPIPandomim() {
claimAPIPandomim = respect_claimAPIPandomim && Bukkit.getPluginManager().isPluginEnabled("hClaim"); hClaims = respect_hClaims && Bukkit.getPluginManager().isPluginEnabled("hClaim");
if (respect_claimAPIPandomim) if (respect_hClaims)
debug("Respecting `hClaims` was " + (claimAPIPandomim ? "SUCCESSFULLY" : "NOT") + " registered"); 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) { private void debug(String str) {

View File

@ -21,8 +21,10 @@ Settings:
Residence: false Residence: false
## Respect KingdomsX areas (https://www.spigotmc.org/resources/kingdomsx.77670/) ## Respect KingdomsX areas (https://www.spigotmc.org/resources/kingdomsx.77670/)
KingdomsX: false KingdomsX: false
## Respect hClaims areas (https://github.com/pixelnw/claimapi) ## Respect hClaims areas (https://www.spigotmc.org/resources/hclaims.90540/)
hClaims: false hClaims: false
## Respect GriefDefender areas (https://www.spigotmc.org/resources/griefdefender.68900/)
GriefDefender: false
## Output to console some debugging info ## Output to console some debugging info
Debugger: false Debugger: false
## Amount of chunks to preload around a safe location ## Amount of chunks to preload around a safe location

View File

@ -1,5 +1,5 @@
main: me.SuperRonanCraft.BetterRTP.BetterRTP main: me.SuperRonanCraft.BetterRTP.BetterRTP
version: '3.0.6' version: '3.1.0'
name: BetterRTP name: BetterRTP
author: SuperRonanCraft author: SuperRonanCraft
softdepend: softdepend:
@ -14,6 +14,7 @@ softdepend:
- ProtocolLib - ProtocolLib
- Kingdoms - Kingdoms
- hClaims - hClaims
- GriefDefender
api-version: '1.13' api-version: '1.13'
commands: commands: