From 298365f58810d55d5dfad5101f14b5f3f7d494b5 Mon Sep 17 00:00:00 2001 From: Julian Krings Date: Thu, 18 Dec 2025 11:06:09 +0100 Subject: [PATCH] fix studio open not working when not in spectator --- core/src/main/java/com/volmit/iris/Iris.java | 3 ++- .../com/volmit/iris/core/commands/CommandStudio.java | 10 ++++++++-- .../java/com/volmit/iris/core/project/IrisProject.java | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/com/volmit/iris/Iris.java b/core/src/main/java/com/volmit/iris/Iris.java index 9b782a5ed..dea2b4d3b 100644 --- a/core/src/main/java/com/volmit/iris/Iris.java +++ b/core/src/main/java/com/volmit/iris/Iris.java @@ -529,9 +529,10 @@ public class Iris extends VolmitPlugin implements Listener { Player r = new KList<>(getServer().getOnlinePlayers()).getRandom(); Iris.service(StudioSVC.class).open(r != null ? new VolmitSender(r) : getSender(), 1337, IrisSettings.get().getGenerator().getDefaultWorldType(), (w) -> { J.s(() -> { + var spawn = w.getSpawnLocation(); for (Player i : getServer().getOnlinePlayers()) { i.setGameMode(GameMode.SPECTATOR); - i.teleport(new Location(w, 0, 200, 0)); + i.teleport(spawn); } }); }); diff --git a/core/src/main/java/com/volmit/iris/core/commands/CommandStudio.java b/core/src/main/java/com/volmit/iris/core/commands/CommandStudio.java index 9adbd9591..467427681 100644 --- a/core/src/main/java/com/volmit/iris/core/commands/CommandStudio.java +++ b/core/src/main/java/com/volmit/iris/core/commands/CommandStudio.java @@ -688,8 +688,14 @@ public class CommandStudio implements DecreeExecutor { } sender().sendMessage(C.GREEN + "Sending you to the studio world!"); - player().teleport(Iris.service(StudioSVC.class).getActiveProject().getActiveProvider().getTarget().getWorld().spawnLocation()); - player().setGameMode(GameMode.SPECTATOR); + var player = player(); + PaperLib.teleportAsync(player(), Iris.service(StudioSVC.class) + .getActiveProject() + .getActiveProvider() + .getTarget() + .getWorld() + .spawnLocation() + ).thenRun(() -> player.setGameMode(GameMode.SPECTATOR)); } @Decree(description = "Update your dimension projects VSCode workspace") diff --git a/core/src/main/java/com/volmit/iris/core/project/IrisProject.java b/core/src/main/java/com/volmit/iris/core/project/IrisProject.java index 7e753f5c0..ec9578b24 100644 --- a/core/src/main/java/com/volmit/iris/core/project/IrisProject.java +++ b/core/src/main/java/com/volmit/iris/core/project/IrisProject.java @@ -225,7 +225,7 @@ public class IrisProject { sender.sendMessage("Can't find dimension: " + getName()); return; } else if (sender.isPlayer()) { - sender.player().setGameMode(GameMode.SPECTATOR); + J.s(() -> sender.player().setGameMode(GameMode.SPECTATOR)); } try {