HookSuperiorSkyblock.java 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package xyz.spaceio.hooks;
  2. import java.util.List;
  3. import java.util.Optional;
  4. import java.util.UUID;
  5. import org.bukkit.Location;
  6. import org.bukkit.World;
  7. import org.bukkit.block.Block;
  8. import com.bgsoftware.superiorskyblock.api.SuperiorSkyblockAPI;
  9. public class HookSuperiorSkyblock implements SkyblockAPIHook {
  10. public HookSuperiorSkyblock() {
  11. }
  12. @Override
  13. public int getIslandLevel(UUID uuid, String world) {
  14. if(SuperiorSkyblockAPI.getPlayer(uuid) == null || SuperiorSkyblockAPI.getPlayer(uuid).getIsland() == null) {
  15. return 0;
  16. }else {
  17. return SuperiorSkyblockAPI.getPlayer(uuid).getIsland().getIslandLevel().intValue();
  18. }
  19. }
  20. @Override
  21. public Optional<UUID> getIslandOwner(Location loc) {
  22. if(SuperiorSkyblockAPI.getIslandAt(loc) != null && SuperiorSkyblockAPI.getIslandAt(loc).getOwner() != null) {
  23. return Optional.of(SuperiorSkyblockAPI.getIslandAt(loc).getOwner().getUniqueId());
  24. }else {
  25. return Optional.empty();
  26. }
  27. }
  28. @Override
  29. public String[] getSkyBlockWorldNames() {
  30. List<World> worlds = SuperiorSkyblockAPI.getGrid().getRegisteredWorlds();
  31. worlds.add(SuperiorSkyblockAPI.getSpawnIsland().getVisitorsLocation().getWorld());
  32. return worlds.stream().map(w -> w.getName()).toArray(String[]::new);
  33. }
  34. @Override
  35. public void sendBlockAcknowledge(Block block) {
  36. if(SuperiorSkyblockAPI.getIslandAt(block.getLocation()) != null) {
  37. SuperiorSkyblockAPI.getIslandAt(block.getLocation()).handleBlockPlace(block);
  38. }
  39. }
  40. }