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>
<artifactId>BetterRTP</artifactId>
<packaging>jar</packaging>
<version>3.0.6</version>
<version>3.1.0</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
@ -241,13 +241,20 @@
</exclusion>
</exclusions>
</dependency>
<!-- ClaimAPI for Pandomim on Discord -->
<!-- ClaimAPI for Pandomim on Discord (https://www.spigotmc.org/resources/hclaims.90540/) -->
<dependency>
<groupId>com.hakan</groupId>
<artifactId>claimapi</artifactId>
<version>LATEST</version>
<scope>provided</scope>
</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 -->
<dependency>
<groupId>xyz.xenondevs</groupId>

View File

@ -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();
}

View File

@ -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) {

View File

@ -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

View File

@ -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: