hytopia 0.1.79 → 0.1.80

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.
@@ -0,0 +1 @@
1
+ {"asset":{"version":"2.0","generator":"Blockbench 4.11.2 glTF exporter"},"scenes":[{"nodes":[6],"name":"blockbench_export"}],"scene":0,"nodes":[{"translation":[0.015625,-0.0859375,0.03125],"name":"cube","mesh":0},{"translation":[-2.7755575615628914e-17,-0.8125,0],"name":"cube","mesh":1},{"translation":[0.031249999999999972,-0.34218749999999987,0],"name":"cube","mesh":2},{"translation":[-2.7755575610105143e-17,1.71875,-3.4694469961437686e-18],"name":"cube","mesh":3},{"translation":[-0.17187500001243847,0.45468750000000013,0.046875],"name":"cube","mesh":4},{"rotation":[0,7.960590520106338e-10,0,1],"translation":[2.7755575615628914e-17,0.4375,0],"name":"sword","children":[0,1,2,3,4]},{"children":[5]}],"bufferViews":[{"buffer":0,"byteOffset":0,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":288,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":576,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":768,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":840,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1128,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1416,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":1608,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":1680,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":1968,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2256,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":2448,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":2520,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":2808,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3096,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":3288,"byteLength":72,"target":34963},{"buffer":0,"byteOffset":3360,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3648,"byteLength":288,"target":34962,"byteStride":12},{"buffer":0,"byteOffset":3936,"byteLength":192,"target":34962,"byteStride":8},{"buffer":0,"byteOffset":4128,"byteLength":72,"target":34963}],"buffers":[{"byteLength":4200,"uri":"data:application/octet-stream;base64,AAAQPgAA2z8AAAA9AAAQPgAA2z8AAMC9AAAQPgAABj8AAAA9AAAQPgAABj8AAMC9AAAwvgAA2z8AAMC9AAAwvgAA2z8AAAA9AAAwvgAABj8AAMC9AAAwvgAABj8AAAA9AAAwvgAA2z8AAMC9AAAQPgAA2z8AAMC9AAAwvgAA2z8AAAA9AAAQPgAA2z8AAAA9AAAwvgAABj8AAAA9AAAQPgAABj8AAAA9AAAwvgAABj8AAMC9AAAQPgAABj8AAMC9AAAwvgAA2z8AAAA9AAAQPgAA2z8AAAA9AAAwvgAABj8AAAA9AAAQPgAABj8AAAA9AAAQPgAA2z8AAMC9AAAwvgAA2z8AAMC9AAAQPgAABj8AAMC9AAAwvgAABj8AAMC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAOgAAgT0AAH49AACBPQAAADoA4Cc/AAB+PQDgJz8AgGA+AACBPQDAjz4AAIE9AIBgPgDgJz8AwI8+AOAnPwCAXz4AAH49AACBPQAAfj0AgF8+AAAAOgAAgT0AAAA6AMC/PgAAADoAgGA+AAAAOgDAvz4AAH49AIBgPgAAfj0AQJA+AACBPQDA3z4AAIE9AECQPgDgJz8AwN8+AOAnPwAAgT0AAIE9AIBfPgAAgT0AAIE9AOAnPwCAXz4A4Cc/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAACAPQAAiD8AAIA9AACAPQAAiD8AAIC9AACAPQAAID8AAIA9AACAPQAAID8AAIC9AACAvQAAiD8AAIC9AACAvQAAiD8AAIA9AACAvQAAID8AAIC9AACAvQAAID8AAIA9AACAvQAAiD8AAIC9AACAPQAAiD8AAIC9AACAvQAAiD8AAIA9AACAPQAAiD8AAIA9AACAvQAAID8AAIA9AACAPQAAID8AAIA9AACAvQAAID8AAIC9AACAPQAAID8AAIC9AACAvQAAiD8AAIA9AACAPQAAiD8AAIA9AACAvQAAID8AAIA9AACAPQAAID8AAIA9AACAPQAAiD8AAIC9AACAvQAAiD8AAIC9AACAPQAAID8AAIC9AACAvQAAID8AAIC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDwPgBA4D4A4Ac/AEDgPgBA8D4A4Cc/AOAHPwDgJz8AIBg/AEDgPgDgJz8AQOA+ACAYPwDgJz8A4Cc/AOAnPwDgFz8AwN8+ACAIPwDA3z4A4Bc/AEDAPgAgCD8AQMA+AOAnPwBAwD4AIBg/AEDAPgDgJz8AwN8+ACAYPwDA3z4AICg/AEDgPgDgNz8AQOA+ACAoPwDgJz8A4Dc/AOAnPwAgCD8AQOA+AOAXPwBA4D4AIAg/AOAnPwDgFz8A4Cc/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAADAPQAAID4AAMA9AADAPQAAID4AAMC9AADAPQAAwL0AAMA9AADAPQAAwL0AAMC9AAAgvgAAID4AAMC9AAAgvgAAID4AAMA9AAAgvgAAwL0AAMC9AAAgvgAAwL0AAMA9AAAgvgAAID4AAMC9AADAPQAAID4AAMC9AAAgvgAAID4AAMA9AADAPQAAID4AAMA9AAAgvgAAwL0AAMA9AADAPQAAwL0AAMA9AAAgvgAAwL0AAMC9AADAPQAAwL0AAMC9AAAgvgAAID4AAMA9AADAPQAAID4AAMA9AAAgvgAAwL0AAMA9AADAPQAAwL0AAMA9AADAPQAAID4AAMC9AAAgvgAAID4AAMC9AADAPQAAwL0AAMC9AAAgvgAAwL0AAMC9AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDgPgAAwT0A4Ac/AADBPQBA4D4AgF8+AOAHPwCAXz4AICg/AADBPQDgPz8AAME9ACAoPwCAXz4A4D8/AIBfPgDgJz8AAL89ACAIPwAAvz0A4Cc/AAAAOgAgCD8AAAA6AOBHPwAAADoAICg/AAAAOgDgRz8AAL89ACAoPwAAvz0AIEA/AADBPQDgXz8AAME9ACBAPwCAXz4A4F8/AIBfPgAgCD8AAME9AOAnPwAAwT0AIAg/AIBfPgDgJz8AgF8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAgPgAAwD1vEoM4AAAgPgAAwD0AAIAiAAAgPgAAwL1vEoM4AAAgPgAAwL0AAIAiAAAgvgAAwD0AAIAiAAAgvgAAwD1vEoM4AAAgvgAAwL0AAIAiAAAgvgAAwL1vEoM4AAAgvgAAwD0AAIAiAAAgPgAAwD0AAIAiAAAgvgAAwD1vEoM4AAAgPgAAwD1vEoM4AAAgvgAAwL1vEoM4AAAgPgAAwL1vEoM4AAAgvgAAwL0AAIAiAAAgPgAAwL0AAIAiAAAgvgAAwD1vEoM4AAAgPgAAwD1vEoM4AAAgvgAAwL1vEoM4AAAgPgAAwL1vEoM4AAAgPgAAwD0AAIAiAAAgvgAAwD0AAIAiAAAgPgAAwL0AAIAiAAAgvgAAwL0AAIAiAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AEDgPgCAYD4AwN8+AIBgPgBA4D4AwJ8+AMDfPgDAnz4AIBg/AIBgPgDgFz8AgGA+ACAYPwDAnz4A4Bc/AMCfPgDgFz8AgGA+AEDgPgCAYD4A4Bc/AIBfPgBA4D4AgF8+AOA/PwCAYD4AIBg/AIBgPgDgPz8AgF8+ACAYPwCAXz4AIBg/AIBgPgDgPz8AgGA+ACAYPwDAnz4A4D8/AMCfPgBA4D4AgGA+AOAXPwCAYD4AQOA+AMCfPgDgFz8AwJ8+AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUAAAAEP83MjLwAAEA9AAAEP83MjLwAABC+AAAEP5qZUb4AAEA9AAAEP5qZUb4AABC+AAAwvs3MjLwAABC+AAAwvs3MjLwAAEA9AAAwvpqZUb4AABC+AAAwvpqZUb4AAEA9AAAwvs3MjLwAABC+AAAEP83MjLwAABC+AAAwvs3MjLwAAEA9AAAEP83MjLwAAEA9AAAwvpqZUb4AAEA9AAAEP5qZUb4AAEA9AAAwvpqZUb4AABC+AAAEP5qZUb4AABC+AAAwvs3MjLwAAEA9AAAEP83MjLwAAEA9AAAwvpqZUb4AAEA9AAAEP5qZUb4AAEA9AAAEP83MjLwAABC+AAAwvs3MjLwAABC+AAAEP5qZUb4AABC+AAAwvpqZUb4AABC+AACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAPwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAACAvwAAAAAAAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAgL8AAAAAAAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIA/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AAAAAAAAAAAAAIC/AOAHPwAgQD8AQOA+ACBAPwDgBz8A4Fc/AEDgPgDgVz8AAL89ACBAPwAAADoAIEA/AAC/PQDgVz8AAAA6AOBXPwAAwT0A4D8/AMDfPgDgPz8AAME9ACAoPwDA3z4AICg/AEDgPgAgKD8A4Ec/ACAoPwBA4D4A4D8/AOBHPwDgPz8A4F8/ACBAPwAgCD8AIEA/AOBfPwDgVz8AIAg/AOBXPwDA3z4AIEA/AADBPQAgQD8AwN8+AOBXPwAAwT0A4Fc/AAACAAEAAgADAAEABAAGAAUABgAHAAUACAAKAAkACgALAAkADAAOAA0ADgAPAA0AEAASABEAEgATABEAFAAWABUAFgAXABUA"}],"accessors":[{"bufferView":0,"componentType":5126,"count":24,"max":[0.140625,1.7109375,0.03125],"min":[-0.171875,0.5234375,-0.09375],"type":"VEC3"},{"bufferView":1,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":2,"componentType":5126,"count":24,"max":[0.43701171875,0.65576171875],"min":[0.00048828125,0.00048828125],"type":"VEC2"},{"bufferView":3,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":24,"max":[0.0625,1.0625,0.0625],"min":[-0.0625,0.625,-0.0625],"type":"VEC3"},{"bufferView":5,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":6,"componentType":5126,"count":24,"max":[0.71826171875,0.65576171875],"min":[0.46923828125,0.37548828125],"type":"VEC2"},{"bufferView":7,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":8,"componentType":5126,"count":24,"max":[0.09375,0.15625,0.09375],"min":[-0.15625,-0.09375,-0.09375],"type":"VEC3"},{"bufferView":9,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":10,"componentType":5126,"count":24,"max":[0.87451171875,0.21826171875],"min":[0.43798828125,0.00048828125],"type":"VEC2"},{"bufferView":11,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":12,"componentType":5126,"count":24,"max":[0.15625,0.09375,0.0000625000029685907],"min":[-0.15625,-0.09375,3.469446951953614e-18],"type":"VEC3"},{"bufferView":13,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":14,"componentType":5126,"count":24,"max":[0.74951171875,0.31201171875],"min":[0.43701171875,0.21826171875],"type":"VEC2"},{"bufferView":15,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"},{"bufferView":16,"componentType":5126,"count":24,"max":[0.515625,-0.01718750037252903,0.046875],"min":[-0.171875,-0.20468750596046448,-0.140625],"type":"VEC3"},{"bufferView":17,"componentType":5126,"count":24,"max":[1,1,1],"min":[-1,-1,-1],"type":"VEC3"},{"bufferView":18,"componentType":5126,"count":24,"max":[0.87451171875,0.84326171875],"min":[0.00048828125,0.65673828125],"type":"VEC2"},{"bufferView":19,"componentType":5123,"count":36,"max":[23],"min":[0],"type":"SCALAR"}],"materials":[{"pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":1,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.05,"doubleSided":true}],"textures":[{"sampler":0,"source":0,"name":"sword.png"}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071}],"images":[{"mimeType":"image/png","uri":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAUtJREFUWEdjZICCc5dW/QcxVaRVGRZs3AkTxqDzkioY0QU/vT0P1gsDd57eRlFipBeGoQemAC4xYA6AWQxzEb4QSPB3Z4D5DtlXFIUAuQ4AOZQcwCdsiBIdjOQ6AN3yI2fugYVsTJQw3IUsh54eho8DiI0OqoUAzCBQFOLLZoQcRnYUgCwFWQ5KjKCcQa4jyHYAerYFJT5yHEG2A8ixDFt0DA8HpFoZodQFs4+dw1n2o4cCVUJgwByAbjG674gJCYpCYG9mMErQozvAefpaglExtB2AHAVaAtwoAXDtw1eG0SggKg1MmteBkpBARSqs/kZPVMhyoLYhVaIA2RJsjRNcDU10RyI3RNDlsDVkMRqlIIGR6QB0XyNHCXLDE72tj6+hgU8fRosIPREiGwxrhhPqrKA7Bp8+9PTAOOAOINRmo7U8wcpi1AHDPgQAgqx2MAXdOiQAAAAASUVORK5CYII="}],"meshes":[{"primitives":[{"mode":4,"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":8,"NORMAL":9,"TEXCOORD_0":10},"indices":11,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":12,"NORMAL":13,"TEXCOORD_0":14},"indices":15,"material":0}]},{"primitives":[{"mode":4,"attributes":{"POSITION":16,"NORMAL":17,"TEXCOORD_0":18},"indices":19,"material":0}]}]}
@@ -0,0 +1,42 @@
1
+ import {
2
+ startServer,
3
+ Entity,
4
+ PlayerEntity,
5
+ } from 'hytopia';
6
+
7
+ import worldMap from './assets/map.json';
8
+
9
+ startServer(world => {
10
+ world.loadMap(worldMap);
11
+
12
+ // Spawn a player entity when a player joins the game.
13
+ world.onPlayerJoin = player => {
14
+ const playerEntity = new PlayerEntity({
15
+ player,
16
+ name: 'Player',
17
+ modelUri: 'models/player.gltf',
18
+ modelLoopedAnimations: [ 'idle' ],
19
+ modelScale: 0.5,
20
+ });
21
+
22
+ playerEntity.spawn(world, { x: 0, y: 10, z: 0 });
23
+
24
+ // Spawn a sword entity as a child of the player entity.
25
+ const swordChildEntity = new Entity({
26
+ name: 'sword',
27
+ modelUri: 'models/sword.gltf',
28
+ parent: playerEntity,
29
+ parentNodeName: 'hand_right_anchor',
30
+ });
31
+
32
+ swordChildEntity.spawn(
33
+ world,
34
+ { x: 0, y: 0.3, z: 0.5 }, // spawn with a position relative to the parent node
35
+ { x: -Math.PI / 3, y: 0, z: 0, w: 1 } // spawn with a rotation so it looks correct in the hand
36
+ );
37
+ };
38
+
39
+ world.onPlayerLeave = player => {
40
+ world.entityManager.getPlayerEntitiesByPlayer(player).forEach(entity => entity.despawn());
41
+ };
42
+ });
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "child-entity",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "keywords": [],
10
+ "author": "",
11
+ "license": "ISC",
12
+ "dependencies": {
13
+ "hytopia": "latest",
14
+ "@hytopia.com/assets": "latest"
15
+ }
16
+ }
@@ -144,7 +144,7 @@ export default class MyEntityController extends BaseEntityController {
144
144
  collidesWith: [ CollisionGroup.BLOCK, CollisionGroup.ENTITY ],
145
145
  },
146
146
  isSensor: true,
147
- position: { x: 0, y: -0.75, z: 0 },
147
+ relativePosition: { x: 0, y: -0.75, z: 0 },
148
148
  tag: 'groundSensor',
149
149
  onCollision: (_other: BlockType | Entity, started: boolean) => {
150
150
  // Ground contact
@@ -206,20 +206,23 @@ export default class MyEntityController extends BaseEntityController {
206
206
  // Temporary, animations
207
207
  if (this.isGrounded && (w || a || s || d)) {
208
208
  if (isRunning) {
209
- entity.stopModelAnimations(Array.from(entity.modelLoopedAnimations).filter(v => v !== 'run'));
210
- entity.startModelLoopedAnimations([ 'run' ]);
211
- this._stepAudio?.setPlaybackRate(0.83);
209
+ const runAnimations = [ 'run_upper', 'run_lower' ];
210
+ entity.stopModelAnimations(Array.from(entity.modelLoopedAnimations).filter(v => !runAnimations.includes(v)));
211
+ entity.startModelLoopedAnimations(runAnimations);
212
+ this._stepAudio?.setPlaybackRate(0.81);
212
213
  } else {
213
- entity.stopModelAnimations(Array.from(entity.modelLoopedAnimations).filter(v => v !== 'walk'));
214
- entity.startModelLoopedAnimations([ 'walk' ]);
215
- this._stepAudio?.setPlaybackRate(0.5);
214
+ const walkAnimations = [ 'walk_upper', 'walk_lower' ];
215
+ entity.stopModelAnimations(Array.from(entity.modelLoopedAnimations).filter(v => !walkAnimations.includes(v)));
216
+ entity.startModelLoopedAnimations(walkAnimations);
217
+ this._stepAudio?.setPlaybackRate(0.55);
216
218
  }
217
219
 
218
220
  this._stepAudio?.play(entity.world, !this._stepAudio?.isPlaying);
219
221
  } else {
220
222
  this._stepAudio?.pause();
221
- entity.stopModelAnimations(Array.from(entity.modelLoopedAnimations).filter(v => v !== 'idle'));
222
- entity.startModelLoopedAnimations([ 'idle' ]);
223
+ const idleAnimations = [ 'idle_upper', 'idle_lower' ];
224
+ entity.stopModelAnimations(Array.from(entity.modelLoopedAnimations).filter(v => !idleAnimations.includes(v)));
225
+ entity.startModelLoopedAnimations(idleAnimations);
223
226
  }
224
227
 
225
228
  if (ml) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hytopia",
3
- "version": "0.1.79",
3
+ "version": "0.1.80",
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": {