hytopia 0.1.76 → 0.1.77

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -103,7 +103,7 @@ startServer(world => {
103
103
  * instance.
104
104
  */
105
105
  world.onPlayerLeave = player => {
106
- world.entityManager.getAllPlayerEntities(player).forEach(entity => entity.despawn());
106
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
107
107
  };
108
108
 
109
109
  /**
@@ -111,7 +111,7 @@ startServer(world => {
111
111
  * "/rocket" in the game, they'll get launched into the air!
112
112
  */
113
113
  world.chatManager.registerCommand('/rocket', player => {
114
- world.entityManager.getAllPlayerEntities(player).forEach(entity => {
114
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => {
115
115
  entity.applyImpulse({ x: 0, y: 20, z: 0 });
116
116
  });
117
117
  });
@@ -4,52 +4,16 @@
4
4
 
5
5
  ## EntityManager.getAllPlayerEntities() method
6
6
 
7
- Gets all spawned entities in the world assigned to a player.
7
+ Gets all spawned player entities in the world.
8
8
 
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- getAllPlayerEntities(player: Player): PlayerEntity[];
12
+ getAllPlayerEntities(): PlayerEntity[];
13
13
  ```
14
-
15
- ## Parameters
16
-
17
- <table><thead><tr><th>
18
-
19
- Parameter
20
-
21
-
22
- </th><th>
23
-
24
- Type
25
-
26
-
27
- </th><th>
28
-
29
- Description
30
-
31
-
32
- </th></tr></thead>
33
- <tbody><tr><td>
34
-
35
- player
36
-
37
-
38
- </td><td>
39
-
40
- [Player](./server.player.md)
41
-
42
-
43
- </td><td>
44
-
45
- The player to get the entities for.
46
-
47
-
48
- </td></tr>
49
- </tbody></table>
50
14
  **Returns:**
51
15
 
52
16
  [PlayerEntity](./server.playerentity.md)<!-- -->\[\]
53
17
 
54
- All spawned entities in the world assigned to the player.
18
+ All spawned player entities in the world.
55
19
 
@@ -0,0 +1,55 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [EntityManager](./server.entitymanager.md) &gt; [getPlayerEntitiesByPlayer](./server.entitymanager.getplayerentitiesbyplayer.md)
4
+
5
+ ## EntityManager.getPlayerEntitiesByPlayer() method
6
+
7
+ Gets all spawned entities in the world assigned to the provided player.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ getPlayerEntitiesByPlayer(player: Player): PlayerEntity[];
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ player
36
+
37
+
38
+ </td><td>
39
+
40
+ [Player](./server.player.md)
41
+
42
+
43
+ </td><td>
44
+
45
+ The player to get the entities for.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ [PlayerEntity](./server.playerentity.md)<!-- -->\[\]
53
+
54
+ All spawned entities in the world assigned to the player.
55
+
@@ -107,7 +107,7 @@ Gets all spawned entities in the world.
107
107
  </td></tr>
108
108
  <tr><td>
109
109
 
110
- [getAllPlayerEntities(player)](./server.entitymanager.getallplayerentities.md)
110
+ [getAllPlayerEntities()](./server.entitymanager.getallplayerentities.md)
111
111
 
112
112
 
113
113
  </td><td>
@@ -115,7 +115,7 @@ Gets all spawned entities in the world.
115
115
 
116
116
  </td><td>
117
117
 
118
- Gets all spawned entities in the world assigned to a player.
118
+ Gets all spawned player entities in the world.
119
119
 
120
120
 
121
121
  </td></tr>
@@ -160,5 +160,19 @@ Gets all spawned entities in the world with a tag that includes a specific subst
160
160
  Gets a spawned entity in the world by its id.
161
161
 
162
162
 
163
+ </td></tr>
164
+ <tr><td>
165
+
166
+ [getPlayerEntitiesByPlayer(player)](./server.entitymanager.getplayerentitiesbyplayer.md)
167
+
168
+
169
+ </td><td>
170
+
171
+
172
+ </td><td>
173
+
174
+ Gets all spawned entities in the world assigned to the provided player.
175
+
176
+
163
177
  </td></tr>
164
178
  </tbody></table>
@@ -0,0 +1,55 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [PlayerManager](./server.playermanager.md) &gt; [getConnectedPlayersByWorld](./server.playermanager.getconnectedplayersbyworld.md)
4
+
5
+ ## PlayerManager.getConnectedPlayersByWorld() method
6
+
7
+ Get all connected players in a specific world.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ getConnectedPlayersByWorld(world: World): Player[];
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ world
36
+
37
+
38
+ </td><td>
39
+
40
+ [World](./server.world.md)
41
+
42
+
43
+ </td><td>
44
+
45
+ The world to get connected players for.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ [Player](./server.player.md)<!-- -->\[\]
53
+
54
+ An array of all connected players in the world.
55
+
@@ -121,5 +121,19 @@ Get a connected player by their username (case insensitive).
121
121
  Get all connected players.
122
122
 
123
123
 
124
+ </td></tr>
125
+ <tr><td>
126
+
127
+ [getConnectedPlayersByWorld(world)](./server.playermanager.getconnectedplayersbyworld.md)
128
+
129
+
130
+ </td><td>
131
+
132
+
133
+ </td><td>
134
+
135
+ Get all connected players in a specific world.
136
+
137
+
124
138
  </td></tr>
125
139
  </tbody></table>
@@ -0,0 +1,55 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [SceneUIManager](./server.sceneuimanager.md) &gt; [getSceneUIById](./server.sceneuimanager.getsceneuibyid.md)
4
+
5
+ ## SceneUIManager.getSceneUIById() method
6
+
7
+ Retrieves a SceneUI instance by its unique identifier (id).
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ getSceneUIById(id: number): SceneUI | undefined;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Parameter
20
+
21
+
22
+ </th><th>
23
+
24
+ Type
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ id
36
+
37
+
38
+ </td><td>
39
+
40
+ number
41
+
42
+
43
+ </td><td>
44
+
45
+ The unique identifier (id) of the SceneUI to retrieve.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ [SceneUI](./server.sceneui.md) \| undefined
53
+
54
+ The SceneUI instance if found, otherwise undefined.
55
+
@@ -109,6 +109,20 @@ Retrieves all loaded SceneUI instances attached to a specific entity.
109
109
  Retrieves all loaded SceneUI instances for the world.
110
110
 
111
111
 
112
+ </td></tr>
113
+ <tr><td>
114
+
115
+ [getSceneUIById(id)](./server.sceneuimanager.getsceneuibyid.md)
116
+
117
+
118
+ </td><td>
119
+
120
+
121
+ </td><td>
122
+
123
+ Retrieves a SceneUI instance by its unique identifier (id).
124
+
125
+
112
126
  </td></tr>
113
127
  <tr><td>
114
128
 
@@ -36,6 +36,6 @@ startServer(world => {
36
36
 
37
37
  // Despawn all player entities when a player leaves the game.
38
38
  world.onPlayerLeave = player => {
39
- world.entityManager.getAllPlayerEntities(player).forEach(entity => entity.despawn());
39
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
40
40
  };
41
41
  });
@@ -30,7 +30,7 @@ startServer(world => {
30
30
  };
31
31
 
32
32
  world.onPlayerLeave = player => {
33
- world.entityManager.getAllPlayerEntities(player).forEach(entity => entity.despawn());
33
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
34
34
  };
35
35
 
36
36
  /**
@@ -41,7 +41,7 @@ startServer(world => {
41
41
  blockHalfExtents: { x: 1, y: 0.5, z: 1 },
42
42
  rigidBodyOptions: {
43
43
  type: RigidBodyType.KINEMATIC_VELOCITY, // Kinematic means platform won't be effected by external physics, including gravity
44
- linearVelocity: { x: 0, y: 0, z: 3 }, // A starting velocity that won't change because it's kinematic
44
+ linearVelocity: { x: 0, y: 0, z: 3 }, // A starting velocity that won't change until we change it, because it's kinematic
45
45
  },
46
46
  });
47
47
 
@@ -162,7 +162,7 @@ startServer(world => {
162
162
  const targetPlayer = connectedPlayers[Math.floor(Math.random() * connectedPlayers.length)];
163
163
 
164
164
  // get the player's entity
165
- const targetPlayerEntity = world.entityManager.getAllPlayerEntities(targetPlayer)[0];
165
+ const targetPlayerEntity = world.entityManager.getPlayerEntitiesByPlayer(targetPlayer)[0];
166
166
 
167
167
  if (!targetPlayerEntity) { return; } // if the player doesn't have an entity, don't pathfind.
168
168
 
@@ -51,7 +51,7 @@ startServer(world => {
51
51
  };
52
52
 
53
53
  world.onPlayerLeave = player => {
54
- world.entityManager.getAllPlayerEntities(player).forEach(entity => entity.despawn());
54
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
55
55
  // Remove the player entity from our map for our list.
56
56
  playerEntityMap.delete(player);
57
57
  };
@@ -33,6 +33,6 @@ startServer(world => {
33
33
  };
34
34
 
35
35
  world.onPlayerLeave = player => {
36
- world.entityManager.getAllPlayerEntities(player).forEach(entity => entity.despawn());
36
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
37
37
  };
38
38
  });
@@ -80,6 +80,6 @@ function setup(world: World) {
80
80
 
81
81
  // Despawn all player entities when a player leaves the game.
82
82
  world.onPlayerLeave = player => {
83
- world.entityManager.getAllPlayerEntities(player).forEach(entity => entity.despawn());
83
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
84
84
  };
85
85
  }
@@ -115,7 +115,7 @@ function onPlayerJoin(world: World, player: Player) {
115
115
  }
116
116
 
117
117
  function onPlayerLeave(world: World, player: Player) {
118
- world.entityManager.getAllPlayerEntities(player).forEach(entity => {
118
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => {
119
119
  removePlayerFromQueue(entity);
120
120
  killPlayer(entity);
121
121
  entity.despawn();
@@ -109,7 +109,7 @@ startServer(world => {
109
109
 
110
110
  // Despawn all player entities when a player leaves the game.
111
111
  world.onPlayerLeave = player => {
112
- world.entityManager.getAllPlayerEntities(player).forEach(entity => entity.despawn());
112
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
113
113
  };
114
114
 
115
115
  // Play some music on game start
@@ -151,7 +151,7 @@ startServer(world => { // Perform our game setup logic in the startServer init c
151
151
  // We apply a translation prior to despawn because of a bug in the RAPIER
152
152
  // physics engine we use where entities despawned to not trigger a collision
153
153
  // event for leaving a sensor. This is a workaround till a better solution is found.
154
- world.entityManager.getAllPlayerEntities(player).forEach(entity => {
154
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => {
155
155
  entity.setPosition({ x: 0, y: 100, z: 0 });
156
156
  setTimeout(() => entity.despawn(), 50); // Despawn after a short delay so we step the physics after translating it so leaving the sensor registers.
157
157
  });
@@ -277,7 +277,7 @@ function onPlayerJoin(world: World, player: Player) {
277
277
  * cleanup when they leave the game.
278
278
  */
279
279
  function onPlayerLeave(world: World, player: Player) {
280
- world.entityManager.getAllPlayerEntities(player).forEach(entity => {
280
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => {
281
281
  endGame(entity); // explicitly end their game if they leave
282
282
  entity.despawn(); // despawn their entity
283
283
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hytopia",
3
- "version": "0.1.76",
3
+ "version": "0.1.77",
4
4
  "description": "The HYTOPIA SDK makes it easy for developers to create massively multiplayer games using JavaScript or TypeScript.",
5
5
  "main": "server.js",
6
6
  "bin": {
package/server.api.json CHANGED
@@ -12080,20 +12080,11 @@
12080
12080
  {
12081
12081
  "kind": "Method",
12082
12082
  "canonicalReference": "server!EntityManager#getAllPlayerEntities:member(1)",
12083
- "docComment": "/**\n * Gets all spawned entities in the world assigned to a player.\n *\n * @param player - The player to get the entities for.\n *\n * @returns All spawned entities in the world assigned to the player.\n */\n",
12083
+ "docComment": "/**\n * Gets all spawned player entities in the world.\n *\n * @returns All spawned player entities in the world.\n */\n",
12084
12084
  "excerptTokens": [
12085
12085
  {
12086
12086
  "kind": "Content",
12087
- "text": "getAllPlayerEntities(player: "
12088
- },
12089
- {
12090
- "kind": "Reference",
12091
- "text": "Player",
12092
- "canonicalReference": "server!Player:class"
12093
- },
12094
- {
12095
- "kind": "Content",
12096
- "text": "): "
12087
+ "text": "getAllPlayerEntities(): "
12097
12088
  },
12098
12089
  {
12099
12090
  "kind": "Reference",
@@ -12111,22 +12102,13 @@
12111
12102
  ],
12112
12103
  "isStatic": false,
12113
12104
  "returnTypeTokenRange": {
12114
- "startIndex": 3,
12115
- "endIndex": 5
12105
+ "startIndex": 1,
12106
+ "endIndex": 3
12116
12107
  },
12117
12108
  "releaseTag": "Public",
12118
12109
  "isProtected": false,
12119
12110
  "overloadIndex": 1,
12120
- "parameters": [
12121
- {
12122
- "parameterName": "player",
12123
- "parameterTypeTokenRange": {
12124
- "startIndex": 1,
12125
- "endIndex": 2
12126
- },
12127
- "isOptional": false
12128
- }
12129
- ],
12111
+ "parameters": [],
12130
12112
  "isOptional": false,
12131
12113
  "isAbstract": false,
12132
12114
  "name": "getAllPlayerEntities"
@@ -12307,6 +12289,60 @@
12307
12289
  "isAbstract": false,
12308
12290
  "name": "getEntity"
12309
12291
  },
12292
+ {
12293
+ "kind": "Method",
12294
+ "canonicalReference": "server!EntityManager#getPlayerEntitiesByPlayer:member(1)",
12295
+ "docComment": "/**\n * Gets all spawned entities in the world assigned to the provided player.\n *\n * @param player - The player to get the entities for.\n *\n * @returns All spawned entities in the world assigned to the player.\n */\n",
12296
+ "excerptTokens": [
12297
+ {
12298
+ "kind": "Content",
12299
+ "text": "getPlayerEntitiesByPlayer(player: "
12300
+ },
12301
+ {
12302
+ "kind": "Reference",
12303
+ "text": "Player",
12304
+ "canonicalReference": "server!Player:class"
12305
+ },
12306
+ {
12307
+ "kind": "Content",
12308
+ "text": "): "
12309
+ },
12310
+ {
12311
+ "kind": "Reference",
12312
+ "text": "PlayerEntity",
12313
+ "canonicalReference": "server!PlayerEntity:class"
12314
+ },
12315
+ {
12316
+ "kind": "Content",
12317
+ "text": "[]"
12318
+ },
12319
+ {
12320
+ "kind": "Content",
12321
+ "text": ";"
12322
+ }
12323
+ ],
12324
+ "isStatic": false,
12325
+ "returnTypeTokenRange": {
12326
+ "startIndex": 3,
12327
+ "endIndex": 5
12328
+ },
12329
+ "releaseTag": "Public",
12330
+ "isProtected": false,
12331
+ "overloadIndex": 1,
12332
+ "parameters": [
12333
+ {
12334
+ "parameterName": "player",
12335
+ "parameterTypeTokenRange": {
12336
+ "startIndex": 1,
12337
+ "endIndex": 2
12338
+ },
12339
+ "isOptional": false
12340
+ }
12341
+ ],
12342
+ "isOptional": false,
12343
+ "isAbstract": false,
12344
+ "name": "getPlayerEntitiesByPlayer"
12345
+ },
12310
12346
  {
12311
12347
  "kind": "Property",
12312
12348
  "canonicalReference": "server!EntityManager#world:member",
@@ -21212,6 +21248,60 @@
21212
21248
  "isAbstract": false,
21213
21249
  "name": "getConnectedPlayers"
21214
21250
  },
21251
+ {
21252
+ "kind": "Method",
21253
+ "canonicalReference": "server!PlayerManager#getConnectedPlayersByWorld:member(1)",
21254
+ "docComment": "/**\n * Get all connected players in a specific world.\n *\n * @param world - The world to get connected players for.\n *\n * @returns An array of all connected players in the world.\n */\n",
21255
+ "excerptTokens": [
21256
+ {
21257
+ "kind": "Content",
21258
+ "text": "getConnectedPlayersByWorld(world: "
21259
+ },
21260
+ {
21261
+ "kind": "Reference",
21262
+ "text": "World",
21263
+ "canonicalReference": "server!World:class"
21264
+ },
21265
+ {
21266
+ "kind": "Content",
21267
+ "text": "): "
21268
+ },
21269
+ {
21270
+ "kind": "Reference",
21271
+ "text": "Player",
21272
+ "canonicalReference": "server!Player:class"
21273
+ },
21274
+ {
21275
+ "kind": "Content",
21276
+ "text": "[]"
21277
+ },
21278
+ {
21279
+ "kind": "Content",
21280
+ "text": ";"
21281
+ }
21282
+ ],
21283
+ "isStatic": false,
21284
+ "returnTypeTokenRange": {
21285
+ "startIndex": 3,
21286
+ "endIndex": 5
21287
+ },
21288
+ "releaseTag": "Public",
21289
+ "isProtected": false,
21290
+ "overloadIndex": 1,
21291
+ "parameters": [
21292
+ {
21293
+ "parameterName": "world",
21294
+ "parameterTypeTokenRange": {
21295
+ "startIndex": 1,
21296
+ "endIndex": 2
21297
+ },
21298
+ "isOptional": false
21299
+ }
21300
+ ],
21301
+ "isOptional": false,
21302
+ "isAbstract": false,
21303
+ "name": "getConnectedPlayersByWorld"
21304
+ },
21215
21305
  {
21216
21306
  "kind": "Property",
21217
21307
  "canonicalReference": "server!PlayerManager.instance:member",
@@ -28037,6 +28127,59 @@
28037
28127
  "isAbstract": false,
28038
28128
  "name": "getAllSceneUIs"
28039
28129
  },
28130
+ {
28131
+ "kind": "Method",
28132
+ "canonicalReference": "server!SceneUIManager#getSceneUIById:member(1)",
28133
+ "docComment": "/**\n * Retrieves a SceneUI instance by its unique identifier (id).\n *\n * @param id - The unique identifier (id) of the SceneUI to retrieve.\n *\n * @returns The SceneUI instance if found, otherwise undefined.\n */\n",
28134
+ "excerptTokens": [
28135
+ {
28136
+ "kind": "Content",
28137
+ "text": "getSceneUIById(id: "
28138
+ },
28139
+ {
28140
+ "kind": "Content",
28141
+ "text": "number"
28142
+ },
28143
+ {
28144
+ "kind": "Content",
28145
+ "text": "): "
28146
+ },
28147
+ {
28148
+ "kind": "Reference",
28149
+ "text": "SceneUI",
28150
+ "canonicalReference": "server!SceneUI:class"
28151
+ },
28152
+ {
28153
+ "kind": "Content",
28154
+ "text": " | undefined"
28155
+ },
28156
+ {
28157
+ "kind": "Content",
28158
+ "text": ";"
28159
+ }
28160
+ ],
28161
+ "isStatic": false,
28162
+ "returnTypeTokenRange": {
28163
+ "startIndex": 3,
28164
+ "endIndex": 5
28165
+ },
28166
+ "releaseTag": "Public",
28167
+ "isProtected": false,
28168
+ "overloadIndex": 1,
28169
+ "parameters": [
28170
+ {
28171
+ "parameterName": "id",
28172
+ "parameterTypeTokenRange": {
28173
+ "startIndex": 1,
28174
+ "endIndex": 2
28175
+ },
28176
+ "isOptional": false
28177
+ }
28178
+ ],
28179
+ "isOptional": false,
28180
+ "isAbstract": false,
28181
+ "name": "getSceneUIById"
28182
+ },
28040
28183
  {
28041
28184
  "kind": "Method",
28042
28185
  "canonicalReference": "server!SceneUIManager#unloadEntityAttachedSceneUIs:member(1)",