diff --git a/plugin/src/main/java/com/alttd/cometskyblock/request/VisitRequest.java b/plugin/src/main/java/com/alttd/cometskyblock/request/VisitRequest.java index ed431af..8f40239 100644 --- a/plugin/src/main/java/com/alttd/cometskyblock/request/VisitRequest.java +++ b/plugin/src/main/java/com/alttd/cometskyblock/request/VisitRequest.java @@ -1,7 +1,9 @@ package com.alttd.cometskyblock.request; import com.alttd.cometskyblock.CometSkyBlockPlugin; +import com.alttd.cometskyblock.island.Island; import com.alttd.cometskyblock.island.IslandPlayer; +import org.bukkit.World; import org.bukkit.entity.Player; public class VisitRequest extends Request { @@ -26,7 +28,18 @@ public class VisitRequest extends Request { return; } target().sendRichMessage(requests().visit().targetAccept(), placeholders()); + IslandPlayer islandPlayer = IslandPlayer.getIslandPlayer(target().getUniqueId()); + if (islandPlayer == null) { + requester().sendRichMessage("You requested a teleport to a player who does not exist"); + return; + } + Island island = Island.getIsland(islandPlayer.islandUUID()); + if (island == null) { + requester().sendRichMessage("The player who's island you requested to teleport to does not have an island"); + return; + } requester().sendRichMessage(requests().visit().requesterAccept(), placeholders()); + requester().teleportAsync(plugin.worldGenerator().loadIslandWorld(island.worldName()).getSpawnLocation()); super.accept(); }