@@ -6,7 +6,7 @@ import defaultLogger from 'lib/logger'
66import { gridToWorld } from 'lib/decentraland/parcels/gridToWorld'
77
88import { store } from 'shared/store/isolatedStore'
9- import { getRealmAdapter } from 'shared/realm/selectors'
9+ import { getRealmAdapter , isWorldLoaderActive } from 'shared/realm/selectors'
1010import { Parcel } from 'shared/dao/types'
1111import { urlWithProtocol } from 'shared/realm/resolver'
1212import { trackTeleportTriggered } from 'shared/loading/types'
@@ -17,6 +17,7 @@ import { lastPlayerPosition } from 'shared/world/positionThings'
1717import { homePointKey } from 'shared/atlas/utils'
1818import { getFromPersistentStorage } from 'lib/browser/persistentStorage'
1919import { changeToMostPopulatedRealm } from '../dao'
20+ import { ensureRealmAdapter } from '../realm/ensureRealmAdapter'
2021
2122const descriptiveValidWorldRanges = getWorld ( )
2223 . validWorldRanges . map ( ( range ) => `(X from ${ range . xMin } to ${ range . xMax } , and Y from ${ range . yMin } to ${ range . yMax } )` )
@@ -94,9 +95,12 @@ export class TeleportController {
9495 teleportMessage ?: string
9596 ) : Promise < { message : string ; success : boolean } > {
9697 const tpMessage : string = teleportMessage ? teleportMessage : `Teleporting to ${ x } , ${ y } ...`
98+ const realmAdapter = await ensureRealmAdapter ( )
99+ const isWorld = isWorldLoaderActive ( realmAdapter )
100+
97101 if ( isInsideWorldLimits ( x , y ) ) {
98102 try {
99- if ( goToMostPopulatedRealm ) await changeToMostPopulatedRealm ( )
103+ if ( goToMostPopulatedRealm && ! isWorld ) await changeToMostPopulatedRealm ( )
100104
101105 store . dispatch ( trackTeleportTriggered ( tpMessage ) )
102106 store . dispatch ( teleportToAction ( { position : gridToWorld ( x , y ) } ) )
0 commit comments