HookPlotSquared.java 1.5 KB

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