Update Kingdoms & Use Residence public build (#189)

* Remove refernece to org.kingdoms in CmdWorld

* Remove unused imports

* Update Kingdoms API

* Use public build of Residence instead of reflection
This commit is contained in:
TechnicallyCoded
2024-01-04 17:44:01 +01:00
committed by GitHub
parent 7923c3b223
commit 6cc8eb7d4c
4 changed files with 13 additions and 20 deletions

View File

@@ -15,7 +15,6 @@ import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
import org.kingdoms.commands.general.misc.CommandTeleport;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,13 +1,11 @@
package me.SuperRonanCraft.BetterRTP.references.depends.regionPlugins;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.settings.SoftDepends;
import org.bukkit.Location;
public class RTP_KingdomsX implements RegionPluginCheck {
// NOT TESTED (3.0.2)
// KingdomsX (v1.10.5.2)
// NOT TESTED (3.6.12)
// KingdomsX (v1.16.8.1.1)
// https://www.spigotmc.org/resources/kingdomsx.77670/
public boolean check(Location loc) {
boolean result = true;

View File

@@ -4,18 +4,16 @@ import org.bukkit.Location;
public class RTP_Residence implements RegionPluginCheck {
// NOT TESTED (2.14.3)
// Residence (v4.9.1.9)
// NOT TESTED (3.6.12)
// Residence (v5.1.4.1)
// https://www.spigotmc.org/resources/residence.11480/
public boolean check(Location loc) {
boolean result = true;
if (REGIONPLUGINS.RESIDENCE.isEnabled())
try {
// Using reflection
Class<?> residenceClass = Class.forName("com.bekvon.bukkit.residence.api.ResidenceApi");
Object residenceManager = residenceClass.getMethod("getResidenceManager").invoke(null);
Class<?> residenceManagerClass = residenceManager.getClass();
Object claim = residenceManagerClass.getMethod("getByLoc", Location.class).invoke(residenceManager, loc);
// Don't import to avoid class loader issues
com.bekvon.bukkit.residence.Residence instance = com.bekvon.bukkit.residence.Residence.getInstance();
com.bekvon.bukkit.residence.protection.ClaimedResidence claim = instance.getResidenceManagerAPI().getByLoc(loc);
result = claim == null;
} catch (Exception e) {
e.printStackTrace();