2 Commits 2068eb2f5d ... d7f3a0515e

Author SHA1 Message Date
  mastercake10 d7f3a0515e increment minor version 10 months ago
  mastercake10 f8e6887284 remove reflection 10 months ago
2 changed files with 8 additions and 16 deletions
  1. 1 1
      pom.xml
  2. 7 15
      src/main/java/xyz/spaceio/hooks/HookBentoBox.java

+ 1 - 1
pom.xml

@@ -4,7 +4,7 @@
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>xyz.spaceio</groupId>
 	<artifactId>CustomOreGen</artifactId>
-	<version>1.3.36-SNAPSHOT</version>
+	<version>1.3.37-SNAPSHOT</version>
 	<repositories>
 		<!-- Spigot repository -->
 		<repository>

+ 7 - 15
src/main/java/xyz/spaceio/hooks/HookBentoBox.java

@@ -13,6 +13,7 @@ import org.bukkit.block.Block;
 
 import world.bentobox.bentobox.BentoBox;
 import world.bentobox.bentobox.database.objects.Island;
+import world.bentobox.level.Level;
 
 public class HookBentoBox implements SkyblockAPIHook{
 	
@@ -24,21 +25,12 @@ public class HookBentoBox implements SkyblockAPIHook{
 
 	@Override
 	public int getIslandLevel(UUID uuid, String onWorld) {
-		int level[] = new int[]{0};
-		
-		// TODO: Access the API instead of using reflection
-		
-		api.getAddonsManager().getAddonByName("Level").ifPresent(addon -> {
-			try {
-				Method method = addon.getClass().getMethod("getIslandLevel", World.class, UUID.class);
-				long rawLevel = (long) method.invoke(addon, Bukkit.getWorld(onWorld), uuid);
-				level[0] = Math.toIntExact(rawLevel);
-			} catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		});
-		return level[0];
+		if(api.getAddonsManager().getAddonByName("Level").isPresent()) {
+			Level levelAddon = (Level) api.getAddonsManager().getAddonByName("Level").get();
+
+			return (int) levelAddon.getIslandLevel(Bukkit.getWorld(onWorld), uuid);
+		}
+		return 0;
 	}
 
 	@Override