2 Angajamente 2068eb2f5d ... d7f3a0515e

Autor SHA1 Permisiunea de a trimite mesaje. Dacă este dezactivată, utilizatorul nu va putea trimite nici un fel de mesaj Data
  mastercake10 d7f3a0515e increment minor version 11 luni în urmă
  mastercake10 f8e6887284 remove reflection 11 luni în urmă
2 a modificat fișierele cu 8 adăugiri și 16 ștergeri
  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