diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftLocation.java b/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftLocation.java index 644e7019c4c4..0d2c434287e8 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftLocation.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/util/CraftLocation.java @@ -2,11 +2,14 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Vec3i; +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.Level; import net.minecraft.world.level.pathfinder.Node; import net.minecraft.world.phys.Vec3; import org.bukkit.Location; import org.bukkit.World; +import org.jspecify.annotations.Nullable; public final class CraftLocation { @@ -65,8 +68,9 @@ public static net.minecraft.core.GlobalPos toGlobalPos(Location loc) { return net.minecraft.core.GlobalPos.of(((org.bukkit.craftbukkit.CraftWorld) loc.getWorld()).getHandle().dimension(), toBlockPosition(loc)); } - public static Location fromGlobalPos(net.minecraft.core.GlobalPos globalPos) { - return CraftLocation.toBukkit(globalPos.pos(), net.minecraft.server.MinecraftServer.getServer().getLevel(globalPos.dimension())); + public static @Nullable Location fromGlobalPos(net.minecraft.core.GlobalPos globalPos) { + ServerLevel level = MinecraftServer.getServer().getLevel(globalPos.dimension()); + return level != null ? CraftLocation.toBukkit(globalPos.pos(), level) : null; } public static Vec3 toVec3(Location loc) {