HookPlotSquared.java 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package xyz.spaceio.hooks;
  2. import java.util.Optional;
  3. import java.util.Set;
  4. import java.util.UUID;
  5. import org.bukkit.Location;
  6. import org.bukkit.block.Block;
  7. import com.plotsquared.core.PlotAPI;
  8. public class HookPlotSquared implements SkyblockAPIHook {
  9. private PlotAPI api;
  10. public HookPlotSquared() {
  11. api = new PlotAPI();
  12. }
  13. @Override
  14. public int getIslandLevel(UUID uuid, String world) {
  15. return 0;
  16. }
  17. @Override
  18. public Optional<UUID> getIslandOwner(Location loc) {
  19. Optional<UUID> optional = Optional.empty();
  20. if(api.getPlotSquared().getPlotAreaManager().getApplicablePlotArea(getPSLocation(loc)).getPlotCount() > 0) {
  21. Set<UUID> owners = api.getPlotSquared().getPlotAreaManager().getApplicablePlotArea(getPSLocation(loc)).getPlots().iterator().next().getOwners();
  22. if(!owners.isEmpty()) {
  23. Optional.of(owners.iterator().next());
  24. }
  25. }
  26. return optional;
  27. }
  28. @Override
  29. public String[] getSkyBlockWorldNames() {
  30. return api.getPlotSquared().getWorldConfiguration().getConfigurationSection("worlds").getKeys(false).stream().toArray(String[]::new);
  31. }
  32. private com.plotsquared.core.location.Location getPSLocation(Location bukkitLoc) {
  33. return com.plotsquared.core.location.Location.at(bukkitLoc.getWorld().getName(), bukkitLoc.getBlockX(), bukkitLoc.getBlockY(), bukkitLoc.getBlockZ());
  34. }
  35. @Override
  36. public void sendBlockAcknowledge(Block block) {
  37. // TODO Auto-generated method stub
  38. }
  39. }