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();
}