Remove use of private dependencies (use reflection instead), (#137)

Add comments for people that want to use the private repo locally
This commit is contained in:
TechnicallyCoded
2023-05-24 15:10:15 +02:00
committed by GitHub
parent ea8f998c83
commit b6cfe1e1c4
3 changed files with 23 additions and 16 deletions

17
pom.xml
View File

@@ -90,11 +90,12 @@
</build>
<repositories>
<repository>
<!-- CAN BE UNCOMMENTED IF YOU HAVE ACCESS TO THE REPO -->
<!--<repository>
<id>ronanplugins-private</id>
<name>RonanPlugins Repository</name>
<url>https://repo.ronanplugins.com/private</url>
</repository>
</repository>-->
<!-- GitHub based Repos -->
<repository>
<id>jitpack.io</id>
@@ -343,22 +344,26 @@
<version>0.2.3-legacy-support</version>
<scope>compile</scope>
</dependency>
<!-- CAN BE UNCOMMENTED IF YOU HAVE ACCESS TO THE PLUGIN -->
<!-- Private Repoed -->
<!-- This is uploaded to our private repo on https://repo.ronanplugins.com -->
<!-- hClaims (https://www.spigotmc.org/resources/90540/) -->
<dependency>
<!--<dependency>
<groupId>com.ronanplugins</groupId>
<artifactId>hClaims</artifactId>
<version>2.5.3</version>
<scope>provided</scope>
</dependency>
<optional>true</optional>
</dependency>-->
<!-- CAN BE UNCOMMENTED IF YOU HAVE ACCESS TO THE PLUGIN -->
<!-- Private Repoed -->
<!-- This is uploaded to our private repo on https://repo.ronanplugins.com -->
<dependency>
<!--<dependency>
<groupId>com.ronanplugins</groupId>
<artifactId>Residence</artifactId>
<version>4.9.1.9</version>
<scope>provided</scope>
</dependency>
<optional>true</optional>
</dependency>-->
</dependencies>
</project>

View File

@@ -1,12 +1,5 @@
package me.SuperRonanCraft.BetterRTP.references.depends.regionPlugins;
import com.bekvon.bukkit.residence.Residence;
import com.griefdefender.api.GriefDefender;
import com.griefdefender.api.claim.Claim;
import com.songoda.ultimateclaims.UltimateClaims;
import me.RonanCraft.Pueblos.Pueblos;
import me.SuperRonanCraft.BetterRTP.BetterRTP;
import me.SuperRonanCraft.BetterRTP.references.settings.SoftDepends;
import org.bukkit.Location;
public class RTP_Residence implements RegionPluginCheck {
@@ -18,7 +11,13 @@ public class RTP_Residence implements RegionPluginCheck {
boolean result = true;
if (REGIONPLUGINS.RESIDENCE.isEnabled())
try {
result = Residence.getInstance().getResidenceManager().getByLoc(loc) == null;
// Using reflection
Class<?> residenceClass = Class.forName("com.bekvon.bukkit.residence.Residence");
Object residence = residenceClass.getMethod("getInstance").invoke(null);
Object residenceManager = residenceClass.getMethod("getResidenceManager").invoke(residence);
Class<?> residenceManagerClass = residenceManager.getClass();
Object claim = residenceManagerClass.getMethod("getByLoc", Location.class).invoke(residenceManager, loc);
result = claim == null;
} catch (Exception e) {
e.printStackTrace();
}

View File

@@ -1,8 +1,9 @@
package me.SuperRonanCraft.BetterRTP.references.depends.regionPlugins;
import com.hakan.claim.api.ClaimHandler;
import org.bukkit.Location;
import java.lang.reflect.Method;
public class RTP_hClaims implements RegionPluginCheck {
// NOT TESTED (3.1.0)
@@ -12,7 +13,9 @@ public class RTP_hClaims implements RegionPluginCheck {
boolean result = true;
if (REGIONPLUGINS.HCLAIMS.isEnabled())
try {
result = ClaimHandler.has(loc);
Class<?> claimHandlerClass = Class.forName("com.hakan.claim.api.ClaimHandler");
Method hasMethod = claimHandlerClass.getDeclaredMethod("has", Location.class);
result = (boolean) hasMethod.invoke(null, loc);
} catch (Exception e) {
e.printStackTrace();
}