hytopia 0.1.38 → 0.1.41

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.
Files changed (331) hide show
  1. package/bin/scripts.js +10 -1
  2. package/docs/server.basecharactercontroller.createcolliders.md +19 -0
  3. package/docs/server.basecharactercontroller.md +2 -2
  4. package/docs/server.blocktype.md +1 -1
  5. package/docs/server.blocktype.onentitycollision.md +6 -1
  6. package/docs/server.blocktype.onentitycontactforce.md +5 -0
  7. package/docs/server.coefficientcombinerule.md +89 -0
  8. package/docs/server.collider.getbouncinesscombinerule.md +19 -0
  9. package/docs/server.collider.getfrictioncombinerule.md +19 -0
  10. package/docs/server.collider.md +56 -0
  11. package/docs/server.collider.setbouncinesscombinerule.md +53 -0
  12. package/docs/server.collider.setfrictioncombinerule.md +53 -0
  13. package/docs/server.collideroptions.bouncinesscombinerule.md +13 -0
  14. package/docs/server.collideroptions.frictioncombinerule.md +13 -0
  15. package/docs/server.collideroptions.indices.md +13 -0
  16. package/docs/server.collideroptions.md +76 -0
  17. package/docs/server.collideroptions.vertices.md +13 -0
  18. package/docs/server.collidershape.md +14 -0
  19. package/docs/server.collisioncallback.md +1 -1
  20. package/docs/{server.defaultcharactercontroller.createsensorcolliders.md → server.defaultcharactercontroller.createcolliders.md} +4 -4
  21. package/docs/server.defaultcharactercontroller.md +2 -2
  22. package/docs/server.entity.isblockentity.md +13 -0
  23. package/docs/server.entity.ismodelentity.md +13 -0
  24. package/docs/server.entity.md +44 -2
  25. package/docs/server.entity.onblockcollision.md +6 -1
  26. package/docs/server.entity.onblockcontactforce.md +5 -0
  27. package/docs/server.entity.onentitycollision.md +6 -1
  28. package/docs/server.entity.onentitycontactforce.md +5 -0
  29. package/docs/server.entity.startmodelloopedanimations.md +4 -0
  30. package/docs/server.entity.startmodeloneshotanimations.md +4 -0
  31. package/docs/server.entity.stopmodelanimations.md +4 -0
  32. package/docs/server.hytopia.basecharactercontroller.createcolliders.md +19 -0
  33. package/docs/server.hytopia.basecharactercontroller.md +2 -2
  34. package/docs/server.hytopia.blocktype.md +1 -1
  35. package/docs/server.hytopia.blocktype.onentitycollision.md +6 -1
  36. package/docs/server.hytopia.blocktype.onentitycontactforce.md +5 -0
  37. package/docs/server.hytopia.coefficientcombinerule.md +89 -0
  38. package/docs/server.hytopia.collider.getbouncinesscombinerule.md +19 -0
  39. package/docs/server.hytopia.collider.getfrictioncombinerule.md +19 -0
  40. package/docs/server.hytopia.collider.md +56 -0
  41. package/docs/server.hytopia.collider.setbouncinesscombinerule.md +53 -0
  42. package/docs/server.hytopia.collider.setfrictioncombinerule.md +53 -0
  43. package/docs/server.hytopia.collideroptions.bouncinesscombinerule.md +13 -0
  44. package/docs/server.hytopia.collideroptions.frictioncombinerule.md +13 -0
  45. package/docs/server.hytopia.collideroptions.indices.md +13 -0
  46. package/docs/server.hytopia.collideroptions.md +76 -0
  47. package/docs/server.hytopia.collideroptions.vertices.md +13 -0
  48. package/docs/server.hytopia.collidershape.md +14 -0
  49. package/docs/server.hytopia.collisioncallback.md +1 -1
  50. package/docs/server.hytopia.defaultcharactercontroller.createcolliders.md +19 -0
  51. package/docs/server.hytopia.defaultcharactercontroller.md +2 -2
  52. package/docs/server.hytopia.entity.isblockentity.md +13 -0
  53. package/docs/server.hytopia.entity.ismodelentity.md +13 -0
  54. package/docs/server.hytopia.entity.md +44 -2
  55. package/docs/server.hytopia.entity.onblockcollision.md +6 -1
  56. package/docs/server.hytopia.entity.onblockcontactforce.md +5 -0
  57. package/docs/server.hytopia.entity.onentitycollision.md +6 -1
  58. package/docs/server.hytopia.entity.onentitycontactforce.md +5 -0
  59. package/docs/server.hytopia.entity.startmodelloopedanimations.md +4 -0
  60. package/docs/server.hytopia.entity.startmodeloneshotanimations.md +4 -0
  61. package/docs/server.hytopia.entity.stopmodelanimations.md +4 -0
  62. package/docs/server.hytopia.md +11 -0
  63. package/docs/server.hytopia.simulation.getcontactmanifolds.md +75 -0
  64. package/docs/server.hytopia.simulation.md +14 -0
  65. package/docs/server.md +11 -0
  66. package/docs/server.simulation.getcontactmanifolds.md +75 -0
  67. package/docs/server.simulation.md +14 -0
  68. package/examples/big-world/README.md +15 -0
  69. package/examples/big-world/index.ts +41 -0
  70. package/examples/block-entity/index.ts +4 -1
  71. package/examples/character-controller/MyCharacterController.ts +25 -5
  72. package/examples/character-controller/index.ts +3 -1
  73. package/examples/entity-spawn/index.ts +3 -1
  74. package/examples/payload-game/index.ts +2 -2
  75. package/package.json +1 -1
  76. package/server.api.json +1256 -58
  77. package/server.d.ts +120 -14
  78. package/server.js +79 -79
  79. package/boilerplate/assets/audio/music/cave.mp3 +0 -0
  80. package/boilerplate/assets/audio/music/desert.mp3 +0 -0
  81. package/boilerplate/assets/audio/music/end.mp3 +0 -0
  82. package/boilerplate/assets/audio/music/jungle.mp3 +0 -0
  83. package/boilerplate/assets/audio/music/nether.mp3 +0 -0
  84. package/boilerplate/assets/audio/music/night.mp3 +0 -0
  85. package/boilerplate/assets/audio/music/night2.mp3 +0 -0
  86. package/boilerplate/assets/audio/music/overworld.mp3 +0 -0
  87. package/boilerplate/assets/audio/music/snow.mp3 +0 -0
  88. package/boilerplate/assets/audio/sfx/damage.wav +0 -0
  89. package/boilerplate/assets/audio/sfx/step.wav +0 -0
  90. package/boilerplate/assets/certs/README.md +0 -10
  91. package/boilerplate/assets/certs/localhost.crt +0 -20
  92. package/boilerplate/assets/certs/localhost.key +0 -27
  93. package/boilerplate/assets/cubemaps/skybox/+x.png +0 -0
  94. package/boilerplate/assets/cubemaps/skybox/+y.png +0 -0
  95. package/boilerplate/assets/cubemaps/skybox/+z.png +0 -0
  96. package/boilerplate/assets/cubemaps/skybox/-x.png +0 -0
  97. package/boilerplate/assets/cubemaps/skybox/-y.png +0 -0
  98. package/boilerplate/assets/cubemaps/skybox/-z.png +0 -0
  99. package/boilerplate/assets/map.json +0 -2623
  100. package/boilerplate/assets/models/bat.gltf +0 -1
  101. package/boilerplate/assets/models/chicken.gltf +0 -1
  102. package/boilerplate/assets/models/cow.gltf +0 -1
  103. package/boilerplate/assets/models/donkey.gltf +0 -1
  104. package/boilerplate/assets/models/horse.gltf +0 -1
  105. package/boilerplate/assets/models/mindflayer.gltf +0 -1
  106. package/boilerplate/assets/models/pig.gltf +0 -1
  107. package/boilerplate/assets/models/player.gltf +0 -1
  108. package/boilerplate/assets/models/rabbit.gltf +0 -1
  109. package/boilerplate/assets/models/sheep.gltf +0 -1
  110. package/boilerplate/assets/models/skeleton.gltf +0 -1
  111. package/boilerplate/assets/models/spider.gltf +0 -1
  112. package/boilerplate/assets/models/squid.gltf +0 -1
  113. package/boilerplate/assets/models/stalker.gltf +0 -1
  114. package/boilerplate/assets/models/zombie.gltf +0 -1
  115. package/boilerplate/assets/textures/bricks.png +0 -0
  116. package/boilerplate/assets/textures/clay.png +0 -0
  117. package/boilerplate/assets/textures/cobblestone.png +0 -0
  118. package/boilerplate/assets/textures/diamond_ore.png +0 -0
  119. package/boilerplate/assets/textures/dirt.png +0 -0
  120. package/boilerplate/assets/textures/dragons_stone.png +0 -0
  121. package/boilerplate/assets/textures/emerald_ore.png +0 -0
  122. package/boilerplate/assets/textures/glass.png +0 -0
  123. package/boilerplate/assets/textures/gold_ore.png +0 -0
  124. package/boilerplate/assets/textures/grass/+x.png +0 -0
  125. package/boilerplate/assets/textures/grass/+y.png +0 -0
  126. package/boilerplate/assets/textures/grass/+z.png +0 -0
  127. package/boilerplate/assets/textures/grass/-x.png +0 -0
  128. package/boilerplate/assets/textures/grass/-y.png +0 -0
  129. package/boilerplate/assets/textures/grass/-z.png +0 -0
  130. package/boilerplate/assets/textures/gravel.png +0 -0
  131. package/boilerplate/assets/textures/ice.png +0 -0
  132. package/boilerplate/assets/textures/infected_shadowrock.png +0 -0
  133. package/boilerplate/assets/textures/iron_ore.png +0 -0
  134. package/boilerplate/assets/textures/lava.png +0 -0
  135. package/boilerplate/assets/textures/log_side.png +0 -0
  136. package/boilerplate/assets/textures/log_top.png +0 -0
  137. package/boilerplate/assets/textures/mossy_coblestone.png +0 -0
  138. package/boilerplate/assets/textures/nuit.png +0 -0
  139. package/boilerplate/assets/textures/oak_leaves.png +0 -0
  140. package/boilerplate/assets/textures/oak_planks.png +0 -0
  141. package/boilerplate/assets/textures/sand.png +0 -0
  142. package/boilerplate/assets/textures/sandstone.png +0 -0
  143. package/boilerplate/assets/textures/shadowrock.png +0 -0
  144. package/boilerplate/assets/textures/snow.png +0 -0
  145. package/boilerplate/assets/textures/stone.png +0 -0
  146. package/boilerplate/assets/textures/stone_bricks.png +0 -0
  147. package/boilerplate/assets/textures/void_grass/+x.png +0 -0
  148. package/boilerplate/assets/textures/void_grass/+y.png +0 -0
  149. package/boilerplate/assets/textures/void_grass/+z.png +0 -0
  150. package/boilerplate/assets/textures/void_grass/-x.png +0 -0
  151. package/boilerplate/assets/textures/void_grass/-y.png +0 -0
  152. package/boilerplate/assets/textures/void_grass/-z.png +0 -0
  153. package/boilerplate/assets/textures/void_sand.png +0 -0
  154. package/boilerplate/assets/textures/water.png +0 -0
  155. package/docs/server.basecharactercontroller.createsensorcolliders.md +0 -19
  156. package/docs/server.hytopia.basecharactercontroller.createsensorcolliders.md +0 -19
  157. package/docs/server.hytopia.defaultcharactercontroller.createsensorcolliders.md +0 -19
  158. package/examples/block-entity/assets/audio/music/cave.mp3 +0 -0
  159. package/examples/block-entity/assets/audio/music/desert.mp3 +0 -0
  160. package/examples/block-entity/assets/audio/music/end.mp3 +0 -0
  161. package/examples/block-entity/assets/audio/music/jungle.mp3 +0 -0
  162. package/examples/block-entity/assets/audio/music/nether.mp3 +0 -0
  163. package/examples/block-entity/assets/audio/music/night.mp3 +0 -0
  164. package/examples/block-entity/assets/audio/music/night2.mp3 +0 -0
  165. package/examples/block-entity/assets/audio/music/overworld.mp3 +0 -0
  166. package/examples/block-entity/assets/audio/music/snow.mp3 +0 -0
  167. package/examples/block-entity/assets/audio/sfx/damage.wav +0 -0
  168. package/examples/block-entity/assets/audio/sfx/step.wav +0 -0
  169. package/examples/block-entity/assets/certs/README.md +0 -10
  170. package/examples/block-entity/assets/certs/localhost.crt +0 -20
  171. package/examples/block-entity/assets/certs/localhost.key +0 -27
  172. package/examples/block-entity/assets/cubemaps/skybox/+x.png +0 -0
  173. package/examples/block-entity/assets/cubemaps/skybox/+y.png +0 -0
  174. package/examples/block-entity/assets/cubemaps/skybox/+z.png +0 -0
  175. package/examples/block-entity/assets/cubemaps/skybox/-x.png +0 -0
  176. package/examples/block-entity/assets/cubemaps/skybox/-y.png +0 -0
  177. package/examples/block-entity/assets/cubemaps/skybox/-z.png +0 -0
  178. package/examples/block-entity/assets/map.json +0 -2623
  179. package/examples/block-entity/assets/models/bat.gltf +0 -1
  180. package/examples/block-entity/assets/models/chicken.gltf +0 -1
  181. package/examples/block-entity/assets/models/cow.gltf +0 -1
  182. package/examples/block-entity/assets/models/donkey.gltf +0 -1
  183. package/examples/block-entity/assets/models/horse.gltf +0 -1
  184. package/examples/block-entity/assets/models/mindflayer.gltf +0 -1
  185. package/examples/block-entity/assets/models/pig.gltf +0 -1
  186. package/examples/block-entity/assets/models/player.gltf +0 -1
  187. package/examples/block-entity/assets/models/rabbit.gltf +0 -1
  188. package/examples/block-entity/assets/models/sheep.gltf +0 -1
  189. package/examples/block-entity/assets/models/skeleton.gltf +0 -1
  190. package/examples/block-entity/assets/models/spider.gltf +0 -1
  191. package/examples/block-entity/assets/models/squid.gltf +0 -1
  192. package/examples/block-entity/assets/models/stalker.gltf +0 -1
  193. package/examples/block-entity/assets/models/zombie.gltf +0 -1
  194. package/examples/block-entity/assets/textures/bricks.png +0 -0
  195. package/examples/block-entity/assets/textures/clay.png +0 -0
  196. package/examples/block-entity/assets/textures/cobblestone.png +0 -0
  197. package/examples/block-entity/assets/textures/diamond_ore.png +0 -0
  198. package/examples/block-entity/assets/textures/dirt.png +0 -0
  199. package/examples/block-entity/assets/textures/dragons_stone.png +0 -0
  200. package/examples/block-entity/assets/textures/emerald_ore.png +0 -0
  201. package/examples/block-entity/assets/textures/glass.png +0 -0
  202. package/examples/block-entity/assets/textures/gold_ore.png +0 -0
  203. package/examples/block-entity/assets/textures/grass/+x.png +0 -0
  204. package/examples/block-entity/assets/textures/grass/+y.png +0 -0
  205. package/examples/block-entity/assets/textures/grass/+z.png +0 -0
  206. package/examples/block-entity/assets/textures/grass/-x.png +0 -0
  207. package/examples/block-entity/assets/textures/grass/-y.png +0 -0
  208. package/examples/block-entity/assets/textures/grass/-z.png +0 -0
  209. package/examples/block-entity/assets/textures/gravel.png +0 -0
  210. package/examples/block-entity/assets/textures/ice.png +0 -0
  211. package/examples/block-entity/assets/textures/infected_shadowrock.png +0 -0
  212. package/examples/block-entity/assets/textures/iron_ore.png +0 -0
  213. package/examples/block-entity/assets/textures/lava.png +0 -0
  214. package/examples/block-entity/assets/textures/log_side.png +0 -0
  215. package/examples/block-entity/assets/textures/log_top.png +0 -0
  216. package/examples/block-entity/assets/textures/mossy_coblestone.png +0 -0
  217. package/examples/block-entity/assets/textures/nuit.png +0 -0
  218. package/examples/block-entity/assets/textures/oak_leaves.png +0 -0
  219. package/examples/block-entity/assets/textures/oak_planks.png +0 -0
  220. package/examples/block-entity/assets/textures/sand.png +0 -0
  221. package/examples/block-entity/assets/textures/sandstone.png +0 -0
  222. package/examples/block-entity/assets/textures/shadowrock.png +0 -0
  223. package/examples/block-entity/assets/textures/snow.png +0 -0
  224. package/examples/block-entity/assets/textures/stone.png +0 -0
  225. package/examples/block-entity/assets/textures/stone_bricks.png +0 -0
  226. package/examples/block-entity/assets/textures/void_grass/+x.png +0 -0
  227. package/examples/block-entity/assets/textures/void_grass/+y.png +0 -0
  228. package/examples/block-entity/assets/textures/void_grass/+z.png +0 -0
  229. package/examples/block-entity/assets/textures/void_grass/-x.png +0 -0
  230. package/examples/block-entity/assets/textures/void_grass/-y.png +0 -0
  231. package/examples/block-entity/assets/textures/void_grass/-z.png +0 -0
  232. package/examples/block-entity/assets/textures/void_sand.png +0 -0
  233. package/examples/block-entity/assets/textures/water.png +0 -0
  234. package/examples/block-entity/package.json +0 -14
  235. package/examples/character-controller/assets/audio/sfx/damage.wav +0 -0
  236. package/examples/character-controller/assets/audio/sfx/step.wav +0 -0
  237. package/examples/character-controller/assets/certs/README.md +0 -10
  238. package/examples/character-controller/assets/certs/localhost.crt +0 -20
  239. package/examples/character-controller/assets/certs/localhost.key +0 -27
  240. package/examples/character-controller/assets/cubemaps/skybox/+x.png +0 -0
  241. package/examples/character-controller/assets/cubemaps/skybox/+y.png +0 -0
  242. package/examples/character-controller/assets/cubemaps/skybox/+z.png +0 -0
  243. package/examples/character-controller/assets/cubemaps/skybox/-x.png +0 -0
  244. package/examples/character-controller/assets/cubemaps/skybox/-y.png +0 -0
  245. package/examples/character-controller/assets/cubemaps/skybox/-z.png +0 -0
  246. package/examples/character-controller/assets/map.json +0 -2623
  247. package/examples/character-controller/assets/models/player.gltf +0 -1
  248. package/examples/character-controller/assets/textures/bricks.png +0 -0
  249. package/examples/character-controller/assets/textures/clay.png +0 -0
  250. package/examples/character-controller/assets/textures/diamond_ore.png +0 -0
  251. package/examples/character-controller/assets/textures/dirt.png +0 -0
  252. package/examples/character-controller/assets/textures/dragons_stone.png +0 -0
  253. package/examples/character-controller/assets/textures/glass.png +0 -0
  254. package/examples/character-controller/assets/textures/grass/+x.png +0 -0
  255. package/examples/character-controller/assets/textures/grass/+y.png +0 -0
  256. package/examples/character-controller/assets/textures/grass/+z.png +0 -0
  257. package/examples/character-controller/assets/textures/grass/-x.png +0 -0
  258. package/examples/character-controller/assets/textures/grass/-y.png +0 -0
  259. package/examples/character-controller/assets/textures/grass/-z.png +0 -0
  260. package/examples/character-controller/assets/textures/grass.png +0 -0
  261. package/examples/character-controller/assets/textures/gravel.png +0 -0
  262. package/examples/character-controller/assets/textures/ice.png +0 -0
  263. package/examples/character-controller/assets/textures/infected_shadowrock.png +0 -0
  264. package/examples/character-controller/assets/textures/log_side.png +0 -0
  265. package/examples/character-controller/assets/textures/log_top.png +0 -0
  266. package/examples/character-controller/assets/textures/mossy_coblestone.png +0 -0
  267. package/examples/character-controller/assets/textures/nuit.png +0 -0
  268. package/examples/character-controller/assets/textures/oak_leaves.png +0 -0
  269. package/examples/character-controller/assets/textures/oak_planks.png +0 -0
  270. package/examples/character-controller/assets/textures/sand.png +0 -0
  271. package/examples/character-controller/assets/textures/shadowrock.png +0 -0
  272. package/examples/character-controller/assets/textures/stone.png +0 -0
  273. package/examples/character-controller/assets/textures/stone_bricks.png +0 -0
  274. package/examples/character-controller/assets/textures/void_sand.png +0 -0
  275. package/examples/character-controller/assets/textures/water_still.png +0 -0
  276. package/examples/entity-spawn/assets/certs/README.md +0 -10
  277. package/examples/entity-spawn/assets/certs/localhost.crt +0 -20
  278. package/examples/entity-spawn/assets/certs/localhost.key +0 -27
  279. package/examples/entity-spawn/assets/cubemaps/skybox/+x.png +0 -0
  280. package/examples/entity-spawn/assets/cubemaps/skybox/+y.png +0 -0
  281. package/examples/entity-spawn/assets/cubemaps/skybox/+z.png +0 -0
  282. package/examples/entity-spawn/assets/cubemaps/skybox/-x.png +0 -0
  283. package/examples/entity-spawn/assets/cubemaps/skybox/-y.png +0 -0
  284. package/examples/entity-spawn/assets/cubemaps/skybox/-z.png +0 -0
  285. package/examples/entity-spawn/assets/map.json +0 -2623
  286. package/examples/entity-spawn/assets/models/player.gltf +0 -1
  287. package/examples/entity-spawn/assets/models/spider.gltf +0 -1
  288. package/examples/entity-spawn/assets/textures/bricks.png +0 -0
  289. package/examples/entity-spawn/assets/textures/clay.png +0 -0
  290. package/examples/entity-spawn/assets/textures/diamond_ore.png +0 -0
  291. package/examples/entity-spawn/assets/textures/dirt.png +0 -0
  292. package/examples/entity-spawn/assets/textures/dragons_stone.png +0 -0
  293. package/examples/entity-spawn/assets/textures/glass.png +0 -0
  294. package/examples/entity-spawn/assets/textures/grass/+x.png +0 -0
  295. package/examples/entity-spawn/assets/textures/grass/+y.png +0 -0
  296. package/examples/entity-spawn/assets/textures/grass/+z.png +0 -0
  297. package/examples/entity-spawn/assets/textures/grass/-x.png +0 -0
  298. package/examples/entity-spawn/assets/textures/grass/-y.png +0 -0
  299. package/examples/entity-spawn/assets/textures/grass/-z.png +0 -0
  300. package/examples/entity-spawn/assets/textures/grass.png +0 -0
  301. package/examples/entity-spawn/assets/textures/gravel.png +0 -0
  302. package/examples/entity-spawn/assets/textures/ice.png +0 -0
  303. package/examples/entity-spawn/assets/textures/infected_shadowrock.png +0 -0
  304. package/examples/entity-spawn/assets/textures/log_side.png +0 -0
  305. package/examples/entity-spawn/assets/textures/log_top.png +0 -0
  306. package/examples/entity-spawn/assets/textures/mossy_coblestone.png +0 -0
  307. package/examples/entity-spawn/assets/textures/nuit.png +0 -0
  308. package/examples/entity-spawn/assets/textures/oak_leaves.png +0 -0
  309. package/examples/entity-spawn/assets/textures/oak_planks.png +0 -0
  310. package/examples/entity-spawn/assets/textures/sand.png +0 -0
  311. package/examples/entity-spawn/assets/textures/shadowrock.png +0 -0
  312. package/examples/entity-spawn/assets/textures/stone.png +0 -0
  313. package/examples/entity-spawn/assets/textures/stone_bricks.png +0 -0
  314. package/examples/entity-spawn/assets/textures/void_sand.png +0 -0
  315. package/examples/entity-spawn/assets/textures/water_still.png +0 -0
  316. package/examples/payload-game/assets/certs/README.md +0 -10
  317. package/examples/payload-game/assets/certs/localhost.crt +0 -20
  318. package/examples/payload-game/assets/certs/localhost.key +0 -27
  319. package/examples/payload-game/assets/cubemaps/skybox/+x.png +0 -0
  320. package/examples/payload-game/assets/cubemaps/skybox/+y.png +0 -0
  321. package/examples/payload-game/assets/cubemaps/skybox/+z.png +0 -0
  322. package/examples/payload-game/assets/cubemaps/skybox/-x.png +0 -0
  323. package/examples/payload-game/assets/cubemaps/skybox/-y.png +0 -0
  324. package/examples/payload-game/assets/cubemaps/skybox/-z.png +0 -0
  325. package/examples/payload-game/assets/models/spider.gltf +0 -1
  326. package/examples/payload-game/assets/textures/dragons_stone.png +0 -0
  327. package/examples/payload-game/assets/textures/infected_shadowrock.png +0 -0
  328. package/examples/payload-game/assets/textures/shadowrock.png +0 -0
  329. package/examples/payload-game/assets/textures/stone.png +0 -0
  330. package/examples/payload-game/assets/textures/stone_bricks.png +0 -0
  331. package/examples/payload-game/assets/textures/void_sand.png +0 -0
package/bin/scripts.js CHANGED
@@ -29,9 +29,11 @@ const path = require('path');
29
29
 
30
30
  // Initialize project with latest HYTOPIA SDK
31
31
  console.log('🔧 Initializing project with latest HYTOPIA SDK...');
32
+
32
33
  execSync('bun init --yes');
33
34
  execSync('bun add hytopia@latest');
34
-
35
+ execSync('bun add @hytopia.com/assets');
36
+
35
37
  if (flags.template) {
36
38
  // Init from example template
37
39
  console.log(`🖨️ Initializing project with examples template "${flags.template}"...`);
@@ -53,6 +55,13 @@ const path = require('path');
53
55
  fs.cpSync(srcDir, destDir, { recursive: true });
54
56
  }
55
57
 
58
+ // Copy assets into project, not overwriting existing files
59
+ fs.cpSync(
60
+ path.join(__dirname, 'node_modules', '@hytopia.com', 'assets'),
61
+ path.join(destDir, 'assets'),
62
+ { recursive: true, force: false }
63
+ );
64
+
56
65
  // Done, lfg!
57
66
  console.log('--------------------------------');
58
67
  console.log('🚀 Hytopia project initialized successfully!');
@@ -0,0 +1,19 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [BaseCharacterController](./server.basecharactercontroller.md) &gt; [createColliders](./server.basecharactercontroller.createcolliders.md)
4
+
5
+ ## BaseCharacterController.createColliders() method
6
+
7
+ Override this method to create controller specific colliders to be attached to the controlled entity when it spawns.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ createColliders(): Collider[];
13
+ ```
14
+ **Returns:**
15
+
16
+ [Collider](./server.collider.md)<!-- -->\[\]
17
+
18
+ An array of colliders.
19
+
@@ -154,7 +154,7 @@ Description
154
154
  </th></tr></thead>
155
155
  <tbody><tr><td>
156
156
 
157
- [createSensorColliders()](./server.basecharactercontroller.createsensorcolliders.md)
157
+ [createColliders()](./server.basecharactercontroller.createcolliders.md)
158
158
 
159
159
 
160
160
  </td><td>
@@ -162,7 +162,7 @@ Description
162
162
 
163
163
  </td><td>
164
164
 
165
- Override this method to create sensor colliders to be attached to the controlled entity when it spawns.
165
+ Override this method to create controller specific colliders to be attached to the controlled entity when it spawns.
166
166
 
167
167
 
168
168
  </td></tr>
@@ -183,7 +183,7 @@ The name of the block type.
183
183
 
184
184
  </td><td>
185
185
 
186
- (blockType: [BlockType](./server.blocktype.md)<!-- -->, entity: [Entity](./server.entity.md)<!-- -->, started: boolean) =&gt; void
186
+ ((blockType: [BlockType](./server.blocktype.md)<!-- -->, entity: [Entity](./server.entity.md)<!-- -->, started: boolean) =&gt; void) \| ((blockType: [BlockType](./server.blocktype.md)<!-- -->, entity: [Entity](./server.entity.md)<!-- -->, started: boolean, colliderHandleA: number, colliderHandleB: number) =&gt; void)
187
187
 
188
188
 
189
189
  </td><td>
@@ -9,5 +9,10 @@ A callback function that is invoked when an entity collides with blocks of this
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- onEntityCollision?: (blockType: BlockType, entity: Entity, started: boolean) => void;
12
+ onEntityCollision?: ((blockType: BlockType, entity: Entity, started: boolean) => void) | ((blockType: BlockType, entity: Entity, started: boolean, colliderHandleA: number, colliderHandleB: number) => void);
13
13
  ```
14
+
15
+ ## Remarks
16
+
17
+ This must be set before a block of this type is created. If it is set after a block is created, only future created blocks of this type will have the callback set.
18
+
@@ -11,3 +11,8 @@ A callback function that is invoked when an entity contacts a block of this type
11
11
  ```typescript
12
12
  onEntityContactForce?: (blockType: BlockType, entity: Entity, contactForceData: ContactForceData) => void;
13
13
  ```
14
+
15
+ ## Remarks
16
+
17
+ This must be set before a block of this type is created. If it is set after a block is created, only future created blocks of this type will have the callback set.
18
+
@@ -0,0 +1,89 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [CoefficientCombineRule](./server.coefficientcombinerule.md)
4
+
5
+ ## CoefficientCombineRule enum
6
+
7
+ The coefficient for friction or bounciness combine rule.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare enum CoefficientCombineRule
13
+ ```
14
+
15
+ ## Enumeration Members
16
+
17
+ <table><thead><tr><th>
18
+
19
+ Member
20
+
21
+
22
+ </th><th>
23
+
24
+ Value
25
+
26
+
27
+ </th><th>
28
+
29
+ Description
30
+
31
+
32
+ </th></tr></thead>
33
+ <tbody><tr><td>
34
+
35
+ Average
36
+
37
+
38
+ </td><td>
39
+
40
+ `0`
41
+
42
+
43
+ </td><td>
44
+
45
+
46
+ </td></tr>
47
+ <tr><td>
48
+
49
+ Max
50
+
51
+
52
+ </td><td>
53
+
54
+ `3`
55
+
56
+
57
+ </td><td>
58
+
59
+
60
+ </td></tr>
61
+ <tr><td>
62
+
63
+ Min
64
+
65
+
66
+ </td><td>
67
+
68
+ `1`
69
+
70
+
71
+ </td><td>
72
+
73
+
74
+ </td></tr>
75
+ <tr><td>
76
+
77
+ Multiply
78
+
79
+
80
+ </td><td>
81
+
82
+ `2`
83
+
84
+
85
+ </td><td>
86
+
87
+
88
+ </td></tr>
89
+ </tbody></table>
@@ -0,0 +1,19 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Collider](./server.collider.md) &gt; [getBouncinessCombineRule](./server.collider.getbouncinesscombinerule.md)
4
+
5
+ ## Collider.getBouncinessCombineRule() method
6
+
7
+ Gets the bounciness combine rule of the collider.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ getBouncinessCombineRule(): CoefficientCombineRule;
13
+ ```
14
+ **Returns:**
15
+
16
+ [CoefficientCombineRule](./server.coefficientcombinerule.md)
17
+
18
+ The bounciness combine rule of the collider.
19
+
@@ -0,0 +1,19 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Collider](./server.collider.md) &gt; [getFrictionCombineRule](./server.collider.getfrictioncombinerule.md)
4
+
5
+ ## Collider.getFrictionCombineRule() method
6
+
7
+ Gets the friction combine rule of the collider.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ getFrictionCombineRule(): CoefficientCombineRule;
13
+ ```
14
+ **Returns:**
15
+
16
+ [CoefficientCombineRule](./server.coefficientcombinerule.md)
17
+
18
+ The friction combine rule of the collider.
19
+
@@ -316,6 +316,20 @@ Enables or disables contact force events for the collider. This is automatically
316
316
  Gets the bounciness of the collider.
317
317
 
318
318
 
319
+ </td></tr>
320
+ <tr><td>
321
+
322
+ [getBouncinessCombineRule()](./server.collider.getbouncinesscombinerule.md)
323
+
324
+
325
+ </td><td>
326
+
327
+
328
+ </td><td>
329
+
330
+ Gets the bounciness combine rule of the collider.
331
+
332
+
319
333
  </td></tr>
320
334
  <tr><td>
321
335
 
@@ -344,6 +358,20 @@ Gets the collision groups the collider belongs to.
344
358
  Gets the friction of the collider.
345
359
 
346
360
 
361
+ </td></tr>
362
+ <tr><td>
363
+
364
+ [getFrictionCombineRule()](./server.collider.getfrictioncombinerule.md)
365
+
366
+
367
+ </td><td>
368
+
369
+
370
+ </td><td>
371
+
372
+ Gets the friction combine rule of the collider.
373
+
374
+
347
375
  </td></tr>
348
376
  <tr><td>
349
377
 
@@ -400,6 +428,20 @@ Removes the collider from the simulation.
400
428
  Sets the bounciness of the collider.
401
429
 
402
430
 
431
+ </td></tr>
432
+ <tr><td>
433
+
434
+ [setBouncinessCombineRule(bouncinessCombineRule)](./server.collider.setbouncinesscombinerule.md)
435
+
436
+
437
+ </td><td>
438
+
439
+
440
+ </td><td>
441
+
442
+ Sets the bounciness combine rule of the collider.
443
+
444
+
403
445
  </td></tr>
404
446
  <tr><td>
405
447
 
@@ -442,6 +484,20 @@ Sets whether the collider is enabled.
442
484
  Sets the friction of the collider.
443
485
 
444
486
 
487
+ </td></tr>
488
+ <tr><td>
489
+
490
+ [setFrictionCombineRule(frictionCombineRule)](./server.collider.setfrictioncombinerule.md)
491
+
492
+
493
+ </td><td>
494
+
495
+
496
+ </td><td>
497
+
498
+ Sets the friction combine rule of the collider.
499
+
500
+
445
501
  </td></tr>
446
502
  <tr><td>
447
503
 
@@ -0,0 +1,53 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Collider](./server.collider.md) &gt; [setBouncinessCombineRule](./server.collider.setbouncinesscombinerule.md)
4
+
5
+ ## Collider.setBouncinessCombineRule() method
6
+
7
+ Sets the bounciness combine rule of the collider.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ setBouncinessCombineRule(bouncinessCombineRule: CoefficientCombineRule): void;
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
+ bouncinessCombineRule
36
+
37
+
38
+ </td><td>
39
+
40
+ [CoefficientCombineRule](./server.coefficientcombinerule.md)
41
+
42
+
43
+ </td><td>
44
+
45
+ The bounciness combine rule of the collider.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ void
53
+
@@ -0,0 +1,53 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Collider](./server.collider.md) &gt; [setFrictionCombineRule](./server.collider.setfrictioncombinerule.md)
4
+
5
+ ## Collider.setFrictionCombineRule() method
6
+
7
+ Sets the friction combine rule of the collider.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ setFrictionCombineRule(frictionCombineRule: CoefficientCombineRule): void;
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
+ frictionCombineRule
36
+
37
+
38
+ </td><td>
39
+
40
+ [CoefficientCombineRule](./server.coefficientcombinerule.md)
41
+
42
+
43
+ </td><td>
44
+
45
+ The friction combine rule of the collider.
46
+
47
+
48
+ </td></tr>
49
+ </tbody></table>
50
+ **Returns:**
51
+
52
+ void
53
+
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [ColliderOptions](./server.collideroptions.md) &gt; [bouncinessCombineRule](./server.collideroptions.bouncinesscombinerule.md)
4
+
5
+ ## ColliderOptions.bouncinessCombineRule property
6
+
7
+ The bounciness combine rule of the collider.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ bouncinessCombineRule?: CoefficientCombineRule;
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [ColliderOptions](./server.collideroptions.md) &gt; [frictionCombineRule](./server.collideroptions.frictioncombinerule.md)
4
+
5
+ ## ColliderOptions.frictionCombineRule property
6
+
7
+ The friction combine rule of the collider.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ frictionCombineRule?: CoefficientCombineRule;
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [ColliderOptions](./server.collideroptions.md) &gt; [indices](./server.collideroptions.indices.md)
4
+
5
+ ## ColliderOptions.indices property
6
+
7
+ The indices of the collider if the shape is a trimesh.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ indices?: Uint32Array;
13
+ ```
@@ -72,6 +72,25 @@ number
72
72
  _(Optional)_ The bounciness of the collider.
73
73
 
74
74
 
75
+ </td></tr>
76
+ <tr><td>
77
+
78
+ [bouncinessCombineRule?](./server.collideroptions.bouncinesscombinerule.md)
79
+
80
+
81
+ </td><td>
82
+
83
+
84
+ </td><td>
85
+
86
+ [CoefficientCombineRule](./server.coefficientcombinerule.md)
87
+
88
+
89
+ </td><td>
90
+
91
+ _(Optional)_ The bounciness combine rule of the collider.
92
+
93
+
75
94
  </td></tr>
76
95
  <tr><td>
77
96
 
@@ -129,6 +148,25 @@ number
129
148
  _(Optional)_ The friction of the collider.
130
149
 
131
150
 
151
+ </td></tr>
152
+ <tr><td>
153
+
154
+ [frictionCombineRule?](./server.collideroptions.frictioncombinerule.md)
155
+
156
+
157
+ </td><td>
158
+
159
+
160
+ </td><td>
161
+
162
+ [CoefficientCombineRule](./server.coefficientcombinerule.md)
163
+
164
+
165
+ </td><td>
166
+
167
+ _(Optional)_ The friction combine rule of the collider.
168
+
169
+
132
170
  </td></tr>
133
171
  <tr><td>
134
172
 
@@ -167,6 +205,25 @@ number
167
205
  _(Optional)_ The half height of the collider if the shape is a capsule, cone, cylinder, or round cylinder.
168
206
 
169
207
 
208
+ </td></tr>
209
+ <tr><td>
210
+
211
+ [indices?](./server.collideroptions.indices.md)
212
+
213
+
214
+ </td><td>
215
+
216
+
217
+ </td><td>
218
+
219
+ Uint32Array
220
+
221
+
222
+ </td><td>
223
+
224
+ _(Optional)_ The indices of the collider if the shape is a trimesh.
225
+
226
+
170
227
  </td></tr>
171
228
  <tr><td>
172
229
 
@@ -357,5 +414,24 @@ string
357
414
  _(Optional)_ An arbitrary identifier tag of the collider. Useful for your own logic.
358
415
 
359
416
 
417
+ </td></tr>
418
+ <tr><td>
419
+
420
+ [vertices?](./server.collideroptions.vertices.md)
421
+
422
+
423
+ </td><td>
424
+
425
+
426
+ </td><td>
427
+
428
+ Float32Array
429
+
430
+
431
+ </td><td>
432
+
433
+ _(Optional)_ The vertices of the collider if the shape is a trimesh.
434
+
435
+
360
436
  </td></tr>
361
437
  </tbody></table>
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [ColliderOptions](./server.collideroptions.md) &gt; [vertices](./server.collideroptions.vertices.md)
4
+
5
+ ## ColliderOptions.vertices property
6
+
7
+ The vertices of the collider if the shape is a trimesh.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ vertices?: Float32Array;
13
+ ```
@@ -113,5 +113,19 @@ ROUND\_CYLINDER
113
113
  </td><td>
114
114
 
115
115
 
116
+ </td></tr>
117
+ <tr><td>
118
+
119
+ TRIMESH
120
+
121
+
122
+ </td><td>
123
+
124
+ `"trimesh"`
125
+
126
+
127
+ </td><td>
128
+
129
+
116
130
  </td></tr>
117
131
  </tbody></table>
@@ -9,7 +9,7 @@ A callback function that is called when a collision occurs.
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- export type CollisionCallback = (other: BlockType | Entity, started: boolean) => void;
12
+ export type CollisionCallback = ((other: BlockType | Entity, started: boolean) => void) | ((other: BlockType | Entity, started: boolean, colliderHandleA: number, colliderHandleB: number) => void);
13
13
  ```
14
14
  **References:** [BlockType](./server.blocktype.md)<!-- -->, [Entity](./server.entity.md)
15
15
 
@@ -1,15 +1,15 @@
1
1
  <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
2
 
3
- [Home](./index.md) &gt; [server](./server.md) &gt; [DefaultCharacterController](./server.defaultcharactercontroller.md) &gt; [createSensorColliders](./server.defaultcharactercontroller.createsensorcolliders.md)
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [DefaultCharacterController](./server.defaultcharactercontroller.md) &gt; [createColliders](./server.defaultcharactercontroller.createcolliders.md)
4
4
 
5
- ## DefaultCharacterController.createSensorColliders() method
5
+ ## DefaultCharacterController.createColliders() method
6
6
 
7
- Creates the sensor colliders for the character controller, overriding the default implementation.
7
+ Creates the colliders for the character controller, overriding the default implementation.
8
8
 
9
9
  **Signature:**
10
10
 
11
11
  ```typescript
12
- createSensorColliders(): Collider[];
12
+ createColliders(): Collider[];
13
13
  ```
14
14
  **Returns:**
15
15
 
@@ -290,7 +290,7 @@ Description
290
290
  </th></tr></thead>
291
291
  <tbody><tr><td>
292
292
 
293
- [createSensorColliders()](./server.defaultcharactercontroller.createsensorcolliders.md)
293
+ [createColliders()](./server.defaultcharactercontroller.createcolliders.md)
294
294
 
295
295
 
296
296
  </td><td>
@@ -298,7 +298,7 @@ Description
298
298
 
299
299
  </td><td>
300
300
 
301
- Creates the sensor colliders for the character controller, overriding the default implementation.
301
+ Creates the colliders for the character controller, overriding the default implementation.
302
302
 
303
303
 
304
304
  </td></tr>
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Entity](./server.entity.md) &gt; [isBlockEntity](./server.entity.isblockentity.md)
4
+
5
+ ## Entity.isBlockEntity property
6
+
7
+ Whether the entity is a block entity.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ get isBlockEntity(): boolean;
13
+ ```
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [server](./server.md) &gt; [Entity](./server.entity.md) &gt; [isModelEntity](./server.entity.ismodelentity.md)
4
+
5
+ ## Entity.isModelEntity property
6
+
7
+ Whether the entity is a model entity.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ get isModelEntity(): boolean;
13
+ ```