bloxd.io.d.ts 1.2.0 → 2.0.1

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 (200) hide show
  1. package/LICENSE +21 -0
  2. package/dist/api-type-def/clientOption/clientOptions/canChange.d.ts +75 -0
  3. package/dist/api-type-def/clientOption/clientOptions/crouchingSpeed.d.ts +46 -0
  4. package/dist/api-type-def/clientOption/clientOptions/index.d.ts +34 -0
  5. package/{api-type-def → dist/api-type-def}/clientOption/clientOptions/runningSpeed.d.ts +28 -37
  6. package/dist/api-type-def/clientOption/clientOptions/speedMultiplier.d.ts +53 -0
  7. package/{api-type-def → dist/api-type-def}/clientOption/clientOptions/walkingSpeed.d.ts +28 -37
  8. package/dist/api-type-def/clientOption/index.d.ts +16 -0
  9. package/dist/api-type-def/entitySetting/entitySettings/example.d.ts +63 -0
  10. package/dist/api-type-def/entitySetting/entitySettings/index.d.ts +32 -0
  11. package/dist/api-type-def/entitySetting/entitySettings/opacity.d.ts +69 -0
  12. package/dist/api-type-def/entitySetting/entitySettings/overlayColour.d.ts +65 -0
  13. package/dist/api-type-def/entitySetting/entitySettings/zIndex.d.ts +64 -0
  14. package/{api-type-def → dist/api-type-def}/entitySetting/index.d.ts +14 -54
  15. package/dist/api-type-def/index.d.ts +10 -0
  16. package/dist/api-type-def/mobSetting/index.d.ts +35 -0
  17. package/dist/api-type-def/mobSetting/mobSettings/index.d.ts +6 -0
  18. package/dist/api-type-def/mobSetting/mobSettings/variation.d.ts +118 -0
  19. package/dist/api-type-def/normal/forceRespawn.d.ts +1 -0
  20. package/dist/api-type-def/normal/getUnitCoordinatesLifeformWithin.d.ts +12 -0
  21. package/dist/api-type-def/normal/health/applyHealthChange.d.ts +12 -0
  22. package/dist/api-type-def/normal/health/applyMeleeHit.d.ts +20 -0
  23. package/dist/api-type-def/normal/health/attemptApplyDamage.d.ts +31 -0
  24. package/dist/api-type-def/normal/health/getHealth.d.ts +15 -0
  25. package/{api-type-def → dist/api-type-def}/normal/health/index.d.ts +1 -8
  26. package/dist/api-type-def/normal/health/isAlive.d.ts +11 -0
  27. package/dist/api-type-def/normal/health/killLifeform.d.ts +12 -0
  28. package/dist/api-type-def/normal/health/setHealth.d.ts +17 -0
  29. package/dist/api-type-def/normal/index.d.ts +13 -0
  30. package/dist/api-type-def/normal/killstreak/clearKillstreak.d.ts +11 -0
  31. package/dist/api-type-def/normal/killstreak/getCurrentKillstreak.d.ts +11 -0
  32. package/{api-type-def → dist/api-type-def}/normal/killstreak/index.d.ts +1 -3
  33. package/dist/api-type-def/normal/message/broadcastMessage.d.ts +16 -0
  34. package/{api-type-def → dist/api-type-def}/normal/message/index.d.ts +1 -3
  35. package/dist/api-type-def/normal/message/sendFlyingMiddleMessage.d.ts +15 -0
  36. package/dist/api-type-def/normal/message/sendMessage.d.ts +25 -0
  37. package/dist/api-type-def/normal/player/getNumPlayers.d.ts +10 -0
  38. package/dist/api-type-def/normal/player/getPlayerIds.d.ts +10 -0
  39. package/dist/api-type-def/normal/player/getPlayerPartyWhenJoined.d.ts +12 -0
  40. package/{api-type-def → dist/api-type-def}/normal/player/index.d.ts +1 -5
  41. package/dist/api-type-def/normal/player/playerIsInGame.d.ts +11 -0
  42. package/dist/api-type-def/normal/player/playerIsLoggedIn.d.ts +9 -0
  43. package/dist/api-type-def/normal/positions/getPosition.d.ts +11 -0
  44. package/{api-type-def → dist/api-type-def}/normal/positions/index.d.ts +0 -1
  45. package/dist/api-type-def/normal/positions/setPosition.d.ts +22 -0
  46. package/dist/api-type-def/normal/shields/getShieldAmount.d.ts +13 -0
  47. package/{api-type-def → dist/api-type-def}/normal/shields/index.d.ts +1 -3
  48. package/dist/api-type-def/normal/shields/setShieldAmount.d.ts +12 -0
  49. package/dist/api-type-def/normal/shops/configureShopCategory.d.ts +12 -0
  50. package/dist/api-type-def/normal/shops/createShopItem.d.ts +16 -0
  51. package/dist/api-type-def/normal/shops/deleteShopItem.d.ts +14 -0
  52. package/{api-type-def → dist/api-type-def}/normal/shops/index.d.ts +1 -5
  53. package/dist/api-type-def/normal/shops/showShopTutorial.d.ts +11 -0
  54. package/dist/api-type-def/normal/shops/updateShopItem.d.ts +15 -0
  55. package/dist/api-type-def/normal/standingOns/getBlockCoordinatesPlayerStandingOn.d.ts +14 -0
  56. package/dist/api-type-def/normal/standingOns/getBlockTypesPlayerStandingOn.d.ts +12 -0
  57. package/{api-type-def → dist/api-type-def}/normal/standingOns/index.d.ts +1 -4
  58. package/dist/index.d.ts +9 -0
  59. package/dist/type/ApplyMeleeHitOverrides.d.ts +7 -0
  60. package/dist/type/LifeFormBodyPart.d.ts +1 -0
  61. package/dist/type/Party.d.ts +5 -0
  62. package/dist/type/PlayerAttemptDamageOtherPlayerOpts.d.ts +19 -0
  63. package/dist/type/WhoDidDamage.d.ts +5 -0
  64. package/dist/type/WhoKilled.d.ts +2 -0
  65. package/dist/type/block/AllBlockId.d.ts +1 -0
  66. package/dist/type/block/AllBlockName.d.ts +1 -0
  67. package/{type → dist/type}/block/Block.d.ts +0 -1
  68. package/dist/type/block/BlockId.d.ts +6 -0
  69. package/{type → dist/type}/block/BlockName.d.ts +2 -3
  70. package/dist/type/color/StringColor.d.ts +7 -0
  71. package/dist/type/dbId/PlayerDbId.d.ts +5 -0
  72. package/dist/type/id/EntityId.d.ts +6 -0
  73. package/dist/type/id/Id.d.ts +5 -0
  74. package/{type → dist/type}/id/LifeFormId.d.ts +0 -1
  75. package/dist/type/id/MobId.d.ts +6 -0
  76. package/dist/type/id/PlayerId.d.ts +6 -0
  77. package/{type → dist/type}/index.d.ts +9 -9
  78. package/dist/type/item/AllItemName.d.ts +1 -0
  79. package/{type → dist/type}/item/Item.d.ts +0 -1
  80. package/dist/type/item/ItemId.d.ts +6 -0
  81. package/dist/type/item/ItemName.d.ts +6 -0
  82. package/dist/type/message/CustomTextStyling.d.ts +2 -0
  83. package/dist/type/message/EntityName.d.ts +8 -0
  84. package/dist/type/message/StyledIcon.d.ts +10 -0
  85. package/dist/type/message/StyledText.d.ts +6 -0
  86. package/dist/type/message/TextStyle.d.ts +8 -0
  87. package/dist/type/message/TranslatedText.d.ts +5 -0
  88. package/dist/type/mob/MobType.d.ts +1 -0
  89. package/{type → dist/type}/particle/ParticlePresetOpts.d.ts +3 -3
  90. package/dist/type/particle/ParticleSystemBlendMode.d.ts +21 -0
  91. package/dist/type/particle/PresetId.d.ts +1 -0
  92. package/dist/type/particle/TempParticleSystemOpts.d.ts +31 -0
  93. package/dist/type/particle/Texture.d.ts +1 -0
  94. package/dist/type/shop/ShopCategoryConfig.d.ts +9 -0
  95. package/dist/type/shop/ShopItem.d.ts +25 -0
  96. package/dist/type/shop/ShopItemUserInput.d.ts +25 -0
  97. package/dist/type/sound/SoundName.d.ts +6 -0
  98. package/{type → dist/type}/utilType.d.ts +1 -1
  99. package/package.json +29 -28
  100. package/api-type-def/clientOption/clientOptions/canChange.d.ts +0 -79
  101. package/api-type-def/clientOption/clientOptions/crouchingSpeed.d.ts +0 -55
  102. package/api-type-def/clientOption/clientOptions/index.d.ts +0 -68
  103. package/api-type-def/clientOption/clientOptions/speedMultiplier.d.ts +0 -61
  104. package/api-type-def/clientOption/index.d.ts +0 -43
  105. package/api-type-def/entitySetting/entitySettings/example.d.ts +0 -90
  106. package/api-type-def/entitySetting/entitySettings/index.d.ts +0 -83
  107. package/api-type-def/entitySetting/entitySettings/opacity.d.ts +0 -96
  108. package/api-type-def/entitySetting/entitySettings/overlayColour.d.ts +0 -92
  109. package/api-type-def/entitySetting/entitySettings/zIndex.d.ts +0 -91
  110. package/api-type-def/index.d.ts +0 -14
  111. package/api-type-def/mobSetting/index.d.ts +0 -71
  112. package/api-type-def/mobSetting/mobSettings/index.d.ts +0 -4
  113. package/api-type-def/mobSetting/mobSettings/variation.d.ts +0 -155
  114. package/api-type-def/normal/forceRespawn.d.ts +0 -12
  115. package/api-type-def/normal/getUnitCoordinatesLifeformWithin.d.ts +0 -14
  116. package/api-type-def/normal/health/applyHealthChange.d.ts +0 -19
  117. package/api-type-def/normal/health/applyMeleeHit.d.ts +0 -33
  118. package/api-type-def/normal/health/attemptApplyDamage.d.ts +0 -35
  119. package/api-type-def/normal/health/getHealth.d.ts +0 -17
  120. package/api-type-def/normal/health/isAlive.d.ts +0 -13
  121. package/api-type-def/normal/health/killLifeform.d.ts +0 -14
  122. package/api-type-def/normal/health/setHealth.d.ts +0 -23
  123. package/api-type-def/normal/index.d.ts +0 -22
  124. package/api-type-def/normal/killstreak/clearKillstreak.d.ts +0 -13
  125. package/api-type-def/normal/killstreak/getCurrentKillstreak.d.ts +0 -13
  126. package/api-type-def/normal/message/broadcastMessage.d.ts +0 -18
  127. package/api-type-def/normal/message/sendFlyingMiddleMessage.d.ts +0 -22
  128. package/api-type-def/normal/message/sendMessage.d.ts +0 -28
  129. package/api-type-def/normal/player/getNumPlayers.d.ts +0 -11
  130. package/api-type-def/normal/player/getPlayerIds.d.ts +0 -12
  131. package/api-type-def/normal/player/getPlayerPartyWhenJoined.d.ts +0 -14
  132. package/api-type-def/normal/player/playerIsInGame.d.ts +0 -12
  133. package/api-type-def/normal/player/playerIsLoggedIn.d.ts +0 -11
  134. package/api-type-def/normal/positions/getPosition.d.ts +0 -12
  135. package/api-type-def/normal/positions/setPosition.d.ts +0 -24
  136. package/api-type-def/normal/shields/getShieldAmount.d.ts +0 -15
  137. package/api-type-def/normal/shields/setShieldAmount.d.ts +0 -14
  138. package/api-type-def/normal/shops/configureShopCategory.d.ts +0 -17
  139. package/api-type-def/normal/shops/createShopItem.d.ts +0 -22
  140. package/api-type-def/normal/shops/deleteShopItem.d.ts +0 -16
  141. package/api-type-def/normal/shops/showShopTutorial.d.ts +0 -13
  142. package/api-type-def/normal/shops/updateShopItem.d.ts +0 -21
  143. package/api-type-def/normal/standingOns/getBlockCoordinatesPlayerStandingOn.d.ts +0 -16
  144. package/api-type-def/normal/standingOns/getBlockTypesPlayerStandingOn.d.ts +0 -14
  145. package/bloxd-api.d.ts +0 -12
  146. package/type/ApplyMeleeHitOverrides.d.ts +0 -8
  147. package/type/LifeFormBodyPart.d.ts +0 -7
  148. package/type/Party.d.ts +0 -2
  149. package/type/PlayerAttemptDamageOtherPlayerOpts.d.ts +0 -20
  150. package/type/WhoDidDamage.d.ts +0 -5
  151. package/type/WhoKilled.d.ts +0 -3
  152. package/type/block/AllBlockId.d.ts +0 -1
  153. package/type/block/AllBlockName.d.ts +0 -1
  154. package/type/block/BlockId.d.ts +0 -4
  155. package/type/color/StringColor.d.ts +0 -179
  156. package/type/dbId/PlayerDbId.d.ts +0 -2
  157. package/type/id/EntityId.d.ts +0 -4
  158. package/type/id/Id.d.ts +0 -2
  159. package/type/id/MobId.d.ts +0 -4
  160. package/type/id/PlayerId.d.ts +0 -4
  161. package/type/item/AllItemName.d.ts +0 -974
  162. package/type/item/ItemId.d.ts +0 -4
  163. package/type/item/ItemName.d.ts +0 -4
  164. package/type/message/CustomTextStyling.d.ts +0 -9
  165. package/type/message/EntityName.d.ts +0 -9
  166. package/type/message/StyledIcon.d.ts +0 -11
  167. package/type/message/StyledText.d.ts +0 -7
  168. package/type/message/TextStyle.d.ts +0 -9
  169. package/type/message/TranslatedText.d.ts +0 -6
  170. package/type/mob/MobType.d.ts +0 -29
  171. package/type/particle/ParticleSystemBlendMode.d.ts +0 -21
  172. package/type/particle/PresetId.d.ts +0 -116
  173. package/type/particle/TempParticleSystemOpts.d.ts +0 -33
  174. package/type/particle/Texture.d.ts +0 -12
  175. package/type/shop/ShopCategoryConfig.d.ts +0 -10
  176. package/type/shop/ShopItem.d.ts +0 -23
  177. package/type/shop/ShopItemUserInput.d.ts +0 -18
  178. package/type/sound/SoundName.d.ts +0 -3
  179. /package/{api-type-def → dist/api-type-def}/mobSetting/mobSettings/maxHealth.d.ts +0 -0
  180. /package/{type → dist/type}/Coordinate.d.ts +0 -0
  181. /package/{type → dist/type}/Direction.d.ts +0 -0
  182. /package/{type → dist/type}/Health.d.ts +0 -0
  183. /package/{type → dist/type}/ShieldAmount.d.ts +0 -0
  184. /package/{type → dist/type}/block/index.d.ts +0 -0
  185. /package/{type → dist/type}/color/Array255Color.d.ts +0 -0
  186. /package/{type → dist/type}/color/Array255ColorWithA.d.ts +0 -0
  187. /package/{type → dist/type}/color/index.d.ts +0 -0
  188. /package/{type → dist/type}/dbId/index.d.ts +0 -0
  189. /package/{type → dist/type}/id/index.d.ts +0 -0
  190. /package/{type → dist/type}/item/AllItemId.d.ts +0 -0
  191. /package/{type → dist/type}/item/index.d.ts +0 -0
  192. /package/{type → dist/type}/message/index.d.ts +0 -0
  193. /package/{type → dist/type}/mob/index.d.ts +0 -0
  194. /package/{type → dist/type}/particle/index.d.ts +0 -0
  195. /package/{type → dist/type}/shop/ShopCategoryKey.d.ts +0 -0
  196. /package/{type → dist/type}/shop/ShopItemBadgeType.d.ts +0 -0
  197. /package/{type → dist/type}/shop/ShopItemKey.d.ts +0 -0
  198. /package/{type → dist/type}/shop/index.d.ts +0 -0
  199. /package/{type → dist/type}/sound/AllSoundName.d.ts +0 -0
  200. /package/{type → dist/type}/sound/index.d.ts +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License Copyright (c) 2026 bulebrainbrand
2
+
3
+ Permission is hereby granted, free
4
+ of charge, to any person obtaining a copy of this software and associated
5
+ documentation files (the "Software"), to deal in the Software without
6
+ restriction, including without limitation the rights to use, copy, modify, merge,
7
+ publish, distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to the
9
+ following conditions:
10
+
11
+ The above copyright notice and this permission notice
12
+ (including the next paragraph) shall be included in all copies or substantial
13
+ portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16
+ ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
18
+ EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,75 @@
1
+ import { PlayerId } from "../../../type/index";
2
+ /**
3
+ * Whether the player can change blocks
4
+ * @type {boolean}
5
+ * @default true
6
+ */
7
+ type ValueType = boolean;
8
+ interface SetClientOption {
9
+ /**
10
+ * set status player who can changing block
11
+ *
12
+ * option docment:
13
+ * Whether the player can change blocks
14
+ *
15
+ * @overload
16
+ *
17
+ * @param {PlayerId} playerId
18
+ * @param {"canchange"} option
19
+ * @param {true} value
20
+ */
21
+ setClientOption(playerId: PlayerId, option: "canChange", value: true): void;
22
+ /**
23
+ * set status player who can not changing block
24
+ *
25
+ * option docment:
26
+ * Whether the player can change blocks
27
+ *
28
+ * @overload
29
+ *
30
+ * @param {PlayerId} playerId
31
+ * @param {"canchange"} option
32
+ * @param {false} value
33
+ * @returns {void}
34
+ */
35
+ setClientOption(playerId: PlayerId, option: "canChange", value: false): void;
36
+ }
37
+ interface GetClientOption {
38
+ /**
39
+ * get player can change block
40
+ *
41
+ * option docment:
42
+ * Whether the player can change blocks
43
+ *
44
+ * @overload
45
+ *
46
+ * @param {PlayerId} playerId
47
+ * @param {"canChange"} option
48
+ * @returns {boolean}
49
+ */
50
+ getClientOption(playerId: PlayerId, option: "canChange"): boolean;
51
+ }
52
+ interface SetClientOptionToDefault {
53
+ /**
54
+ * set canChange option to default
55
+ * canChange default is `true`
56
+ *
57
+ * option docment:
58
+ * Whether the player can change blocks
59
+ *
60
+ * @overload
61
+ *
62
+ * @param {PlayerId} playerId
63
+ * @param {"canChange"} option
64
+ * @returns {void}
65
+ */
66
+ setClientOptionToDefault(playerId: PlayerId, option: "canChange"): void;
67
+ }
68
+ type ExportTypes = {
69
+ SetClientOption: SetClientOption;
70
+ SetClientOptionToDefault: SetClientOptionToDefault;
71
+ GetClientOption: GetClientOption;
72
+ name: "canChange";
73
+ ValueType: ValueType;
74
+ };
75
+ export default ExportTypes;
@@ -0,0 +1,46 @@
1
+ import { PlayerId } from "../../../type/index";
2
+ /**
3
+ * Speed multiplier for the player when crouching.
4
+ * Players are used to the default bloxd movement behaviour and speed,
5
+ * and may be put off from your game if different muscle memory is required.
6
+ * We suggest applying speed or slowness effects instead, using api.applyEffect.
7
+ * @type {number}
8
+ * @default 2
9
+ */
10
+ type ValueType = number;
11
+ interface SetClientOption {
12
+ /**
13
+ *
14
+ * @param {PlayerId} playerId
15
+ * @param {"crouchingSpeed"} option
16
+ * @param {number} value
17
+ * @returns {void}
18
+ */
19
+ setClientOption(playerId: PlayerId, option: "crouchingSpeed", value: number): void;
20
+ }
21
+ interface GetClientOption {
22
+ /**
23
+ *
24
+ * @param {PlayerId} playerId
25
+ * @param {"crouchingSpeed"} option
26
+ * @returns {number}
27
+ */
28
+ getClientOption(playerId: PlayerId, option: "crouchingSpeed"): number;
29
+ }
30
+ interface SetClientOptionToDefault {
31
+ /**
32
+ *
33
+ * @param {PlayerId} playerId
34
+ * @param {"crouchingSpeed"} option
35
+ * @returns {void}
36
+ */
37
+ setClientOptionToDefault(playerId: PlayerId, option: "crouchingSpeed"): void;
38
+ }
39
+ type ExportTypes = {
40
+ SetClientOption: SetClientOption;
41
+ SetClientOptionToDefault: SetClientOptionToDefault;
42
+ GetClientOption: GetClientOption;
43
+ name: "crouchingSpeed";
44
+ ValueType: ValueType;
45
+ };
46
+ export default ExportTypes;
@@ -0,0 +1,34 @@
1
+ import { MargeObject } from "../../../type/index";
2
+ import canChange from "./canChange";
3
+ import crouchingSpeed from "./crouchingSpeed";
4
+ import walkingSpeed from "./walkingSpeed";
5
+ import runningSpeed from "./runningSpeed";
6
+ import speedMultiplier from "./speedMultiplier";
7
+ type ClientOptionExportFormat = {
8
+ name: string;
9
+ ValueType: any;
10
+ SetClientOption: {
11
+ setClientOption: (playerId: never, option: never, value: never) => void;
12
+ };
13
+ SetClientOptionToDefault: {
14
+ setClientOptionToDefault: (playerId: never, option: never) => void;
15
+ };
16
+ GetClientOption: {
17
+ getClientOption: (playerId: never, option: never) => any;
18
+ };
19
+ };
20
+ type AllClientOptionUnion = canChange | crouchingSpeed | walkingSpeed | runningSpeed | speedMultiplier;
21
+ type GenerateClientOptions<U extends ClientOptionExportFormat> = {
22
+ [K in U as K["name"]]: K["ValueType"];
23
+ };
24
+ export type ClientOptions = GenerateClientOptions<AllClientOptionUnion>;
25
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
26
+ type GenerateClientOptionInterface<U extends ClientOptionExportFormat, K extends keyof any> = MargeObject<UnionToIntersection<U extends any ? (K extends keyof U ? U[K] : never) : never>>;
27
+ export type SetClientOption = GenerateClientOptionInterface<AllClientOptionUnion, "SetClientOption">;
28
+ export type GetClientOption = GenerateClientOptionInterface<AllClientOptionUnion, "GetClientOption">;
29
+ export type SetClientOptionToDefault = GenerateClientOptionInterface<AllClientOptionUnion, "SetClientOptionToDefault">;
30
+ export * from "./canChange";
31
+ export * from "./speedMultiplier";
32
+ export * from "./crouchingSpeed";
33
+ export * from "./walkingSpeed";
34
+ export * from "./runningSpeed";
@@ -1,5 +1,4 @@
1
- import { PlayerId } from "../../../type";
2
-
1
+ import { PlayerId } from "../../../type/index";
3
2
  /**
4
3
  * Running speed for the player.
5
4
  * STRONGLY recommend using `speedMultiplier` unless you have a specific use case for this, runningSpeed doesn't make UX sense on mobile.
@@ -14,47 +13,39 @@ import { PlayerId } from "../../../type";
14
13
  * @default 7
15
14
  */
16
15
  type ValueType = number;
17
-
18
16
  interface SetClientOption {
19
- /**
20
- *
21
- * @param {PlayerId} playerId
22
- * @param {"runningSpeed"} option
23
- * @param {number} value
24
- * @returns {void}
25
- */
26
- setClientOption(
27
- playerId: PlayerId,
28
- option: "runningSpeed",
29
- value: number,
30
- ): void;
17
+ /**
18
+ *
19
+ * @param {PlayerId} playerId
20
+ * @param {"runningSpeed"} option
21
+ * @param {number} value
22
+ * @returns {void}
23
+ */
24
+ setClientOption(playerId: PlayerId, option: "runningSpeed", value: number): void;
31
25
  }
32
-
33
26
  interface GetClientOption {
34
- /**
35
- *
36
- * @param {PlayerId} playerId
37
- * @param {"runningSpeed"} option
38
- * @returns {number}
39
- */
40
- getClientOption(playerId: PlayerId, option: "runningSpeed"): number;
27
+ /**
28
+ *
29
+ * @param {PlayerId} playerId
30
+ * @param {"runningSpeed"} option
31
+ * @returns {number}
32
+ */
33
+ getClientOption(playerId: PlayerId, option: "runningSpeed"): number;
41
34
  }
42
-
43
35
  interface SetClientOptionToDefault {
44
- /**
45
- *
46
- * @param {PlayerId} playerId
47
- * @param {"runningSpeed"} option
48
- * @returns {void}
49
- */
50
- setClientOptionToDefault(playerId: PlayerId, option: "runningSpeed"): void;
36
+ /**
37
+ *
38
+ * @param {PlayerId} playerId
39
+ * @param {"runningSpeed"} option
40
+ * @returns {void}
41
+ */
42
+ setClientOptionToDefault(playerId: PlayerId, option: "runningSpeed"): void;
51
43
  }
52
-
53
44
  type ExportTypes = {
54
- SetClientOption: SetClientOption;
55
- SetClientOptionToDefault: SetClientOptionToDefault;
56
- GetClientOption: GetClientOption;
57
- name: "runningSpeed";
58
- ValueType: ValueType;
45
+ SetClientOption: SetClientOption;
46
+ SetClientOptionToDefault: SetClientOptionToDefault;
47
+ GetClientOption: GetClientOption;
48
+ name: "runningSpeed";
49
+ ValueType: ValueType;
59
50
  };
60
51
  export default ExportTypes;
@@ -0,0 +1,53 @@
1
+ import { PlayerId } from "../../../type/index";
2
+ /**
3
+ * Speed multiplier for the player.
4
+ * Players are used to the default bloxd movement behaviour and speed,
5
+ * and may be put off from your game if different muscle memory is required.
6
+ * We suggest applying speed or slowness effects instead, using api.applyEffect.
7
+ *
8
+ * @type {number}
9
+ * @default 1
10
+ */
11
+ type ValueType = number;
12
+ interface SetClientOption {
13
+ /**
14
+ *
15
+ * @overload
16
+ *
17
+ * @param {PlayerId} playerId
18
+ * @param {"speedMultiplier"} option
19
+ * @param {number} value
20
+ * @returns {void}
21
+ */
22
+ setClientOption(playerId: PlayerId, option: "speedMultiplier", value: number): void;
23
+ }
24
+ interface GetClientOption {
25
+ /**
26
+ *
27
+ * @overload
28
+ *
29
+ * @param {PlayerId} playerId
30
+ * @param {"speedMultiplier"} option
31
+ * @returns {number}
32
+ */
33
+ getClientOption(playerId: PlayerId, option: "speedMultiplier"): number;
34
+ }
35
+ interface SetClientOptionToDefault {
36
+ /**
37
+ *
38
+ * @overload
39
+ *
40
+ * @param {PlayerId} playerId
41
+ * @param {"speedMultiplier"} option
42
+ * @returns {void}
43
+ */
44
+ setClientOptionToDefault(playerId: PlayerId, option: "speedMultiplier"): void;
45
+ }
46
+ type ExportTypes = {
47
+ SetClientOption: SetClientOption;
48
+ SetClientOptionToDefault: SetClientOptionToDefault;
49
+ GetClientOption: GetClientOption;
50
+ name: "speedMultiplier";
51
+ ValueType: ValueType;
52
+ };
53
+ export default ExportTypes;
@@ -1,5 +1,4 @@
1
- import { PlayerId } from "../../../type";
2
-
1
+ import { PlayerId } from "../../../type/index";
3
2
  /**
4
3
  * Walking speed for the player.
5
4
  * STRONGLY recommend using `speedMultiplier` unless you have a specific use case for this, walkingSpeed doesn't make UX sense on mobile.
@@ -14,47 +13,39 @@ import { PlayerId } from "../../../type";
14
13
  * @default 4
15
14
  */
16
15
  type ValueType = number;
17
-
18
16
  interface SetClientOption {
19
- /**
20
- *
21
- * @param {PlayerId} playerId
22
- * @param {"walkingSpeed"} option
23
- * @param {number} value
24
- * @returns {void}
25
- */
26
- setClientOption(
27
- playerId: PlayerId,
28
- option: "walkingSpeed",
29
- value: number,
30
- ): void;
17
+ /**
18
+ *
19
+ * @param {PlayerId} playerId
20
+ * @param {"walkingSpeed"} option
21
+ * @param {number} value
22
+ * @returns {void}
23
+ */
24
+ setClientOption(playerId: PlayerId, option: "walkingSpeed", value: number): void;
31
25
  }
32
-
33
26
  interface GetClientOption {
34
- /**
35
- *
36
- * @param {PlayerId} playerId
37
- * @param {"walkingSpeed"} option
38
- * @returns {number}
39
- */
40
- getClientOption(playerId: PlayerId, option: "walkingSpeed"): number;
27
+ /**
28
+ *
29
+ * @param {PlayerId} playerId
30
+ * @param {"walkingSpeed"} option
31
+ * @returns {number}
32
+ */
33
+ getClientOption(playerId: PlayerId, option: "walkingSpeed"): number;
41
34
  }
42
-
43
35
  interface SetClientOptionToDefault {
44
- /**
45
- *
46
- * @param {PlayerId} playerId
47
- * @param {"walkingSpeed"} option
48
- * @returns {void}
49
- */
50
- setClientOptionToDefault(playerId: PlayerId, option: "walkingSpeed"): void;
36
+ /**
37
+ *
38
+ * @param {PlayerId} playerId
39
+ * @param {"walkingSpeed"} option
40
+ * @returns {void}
41
+ */
42
+ setClientOptionToDefault(playerId: PlayerId, option: "walkingSpeed"): void;
51
43
  }
52
-
53
44
  type ExportTypes = {
54
- SetClientOption: SetClientOption;
55
- SetClientOptionToDefault: SetClientOptionToDefault;
56
- GetClientOption: GetClientOption;
57
- name: "walkingSpeed";
58
- ValueType: ValueType;
45
+ SetClientOption: SetClientOption;
46
+ SetClientOptionToDefault: SetClientOptionToDefault;
47
+ GetClientOption: GetClientOption;
48
+ name: "walkingSpeed";
49
+ ValueType: ValueType;
59
50
  };
60
51
  export default ExportTypes;
@@ -0,0 +1,16 @@
1
+ import { PlayerId, MargeObject } from "../../type/index";
2
+ import { ClientOptions, SetClientOption, GetClientOption, SetClientOptionToDefault } from "./clientOptions/index";
3
+ export * from "./clientOptions/index";
4
+ interface RootSetClientOption {
5
+ setClientOption<TOption extends keyof ClientOptions>(playerId: PlayerId, option: TOption, value: ClientOptions[TOption]): void;
6
+ }
7
+ interface SetClientOptions {
8
+ setClientOptions(playerId: PlayerId, options: Partial<ClientOptions>): void;
9
+ }
10
+ interface RootGetClientOption {
11
+ getClientOption<TOption extends keyof ClientOptions>(playerId: PlayerId, option: TOption): ClientOptions[TOption];
12
+ }
13
+ interface RootSetClientOptionToDefault {
14
+ setClientOptionToDefault<TOption extends keyof ClientOptions>(playerId: PlayerId, option: TOption): void;
15
+ }
16
+ export type ClientOptionApi = MargeObject<SetClientOption & RootSetClientOption & GetClientOption & RootGetClientOption & SetClientOptions & SetClientOptionToDefault & RootSetClientOptionToDefault>;
@@ -0,0 +1,63 @@
1
+ import { EntityId, PlayerId } from "../../../type/index";
2
+ /**
3
+ *
4
+ */
5
+ type ValueType = never;
6
+ declare const name: "example";
7
+ interface SetTargetedPlayerSettingForEveryone {
8
+ /**
9
+ *
10
+ * @param {PlayerId} targetedPlayerId
11
+ * @param {"example"} settingName
12
+ * @param {!!--never--!!} settingValue
13
+ * @param {boolean} includeNewJoiners
14
+ */
15
+ setTargetedPlayerSettingForEveryone(targetedPlayerId: PlayerId, settingName: typeof name, settingValue: ValueType, includeNewJoiners?: boolean): void;
16
+ }
17
+ interface SetEveryoneSettingForPlayer {
18
+ /**
19
+ *
20
+ * @overload
21
+ *
22
+ * @param {PlayerId} playerId
23
+ * @param {"example"} settingName
24
+ * @param {!!--never--!!} settingValue
25
+ * @param {boolean} [includeNewJoiners]
26
+ * @returns {void}
27
+ */
28
+ setEveryoneSettingForPlayer(playerId: PlayerId, settingName: typeof name, settingValue: ValueType, includeNewJoiners?: boolean): void;
29
+ }
30
+ interface SetOtherEntitySetting {
31
+ /**
32
+ *
33
+ * @overload
34
+ *
35
+ * @param {PlayerId}
36
+ * @param {"example"} settingName
37
+ * @param {!!--never--!!} settingValue
38
+ * @param {boolean} [includeNewJoiners]
39
+ * @returns {void}
40
+ */
41
+ setOtherEntitySetting(relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: typeof name, settingValue: ValueType): void;
42
+ }
43
+ interface GetOtherEntitySetting {
44
+ /**
45
+ *
46
+ * @overload
47
+ *
48
+ * @param {PlayerId} relevantPlayerId
49
+ * @param {EntityId} targetedEntityId
50
+ * @param {"example"} settingName
51
+ * @returns {!!--never--!!}
52
+ */
53
+ getOtherEntitySetting(relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: typeof name): ValueType;
54
+ }
55
+ type ExportTypes = {
56
+ name: typeof name;
57
+ ValueType: ValueType;
58
+ SetTargetedPlayerSettingForEveryone: SetTargetedPlayerSettingForEveryone;
59
+ SetEveryoneSettingForPlayer: SetEveryoneSettingForPlayer;
60
+ SetOtherEntitySetting: SetOtherEntitySetting;
61
+ GetOtherEntitySetting: GetOtherEntitySetting;
62
+ };
63
+ export default ExportTypes;
@@ -0,0 +1,32 @@
1
+ import { EntityId, MargeObject, PlayerId } from "../../../type/index";
2
+ import Opacity from "./opacity";
3
+ import ZIndex from "./zIndex";
4
+ import OverlayColour from "./overlayColour";
5
+ type EntitySettingExportFormat = {
6
+ name: string;
7
+ ValueType: any;
8
+ SetTargetedPlayerSettingForEveryone: {
9
+ setTargetedPlayerSettingForEveryone: (targetedPlayerId: PlayerId, settingName: never, settingValue: never, includeNewJoiners?: boolean) => void;
10
+ };
11
+ SetEveryoneSettingForPlayer: {
12
+ setEveryoneSettingForPlayer: (playerId: PlayerId, settingName: never, settingValue: never, includeNewJoiners?: boolean) => void;
13
+ };
14
+ SetOtherEntitySetting: {
15
+ setOtherEntitySetting: (relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: never, settingValue: never) => void;
16
+ };
17
+ GetOtherEntitySetting: {
18
+ getOtherEntitySetting: (relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: never) => any;
19
+ };
20
+ };
21
+ type AllEntitySettingUnion = Opacity | ZIndex | OverlayColour;
22
+ type GenerateClientOptions<U extends EntitySettingExportFormat> = {
23
+ [K in U as K["name"]]: K["ValueType"];
24
+ };
25
+ export type EntitySettings = GenerateClientOptions<AllEntitySettingUnion>;
26
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
27
+ type GenerateEntitySettingInterface<U extends EntitySettingExportFormat, K extends keyof any> = MargeObject<UnionToIntersection<U extends any ? (K extends keyof U ? U[K] : never) : never>>;
28
+ export type SetTargetedPlayerSettingForEveryone = GenerateEntitySettingInterface<AllEntitySettingUnion, "SetTargetedPlayerSettingForEveryone">;
29
+ export type SetEveryoneSettingForPlayer = GenerateEntitySettingInterface<AllEntitySettingUnion, "SetEveryoneSettingForPlayer">;
30
+ export type SetOtherEntitySetting = GenerateEntitySettingInterface<AllEntitySettingUnion, "SetOtherEntitySetting">;
31
+ export type GetOtherEntitySetting = GenerateEntitySettingInterface<AllEntitySettingUnion, "GetOtherEntitySetting">;
32
+ export {};
@@ -0,0 +1,69 @@
1
+ import { EntityId, PlayerId } from "../../../type/index";
2
+ /**
3
+ * Opacity of the entity
4
+ * Fractional values will use dithering
5
+ * 0 opacity will hide the entity but not its name tag
6
+ * @type {number}
7
+ * @default 1
8
+ */
9
+ type ValueType = number;
10
+ interface SetTargetedPlayerSettingForEveryone {
11
+ /**
12
+ *
13
+ * @overload
14
+ *
15
+ * @param {PlayerId} targetedPlayerId
16
+ * @param {"opacity"} settingName
17
+ * @param {Opacity} settingValue
18
+ * @param {boolean} [includeNewJoiners]
19
+ * @returns {void}
20
+ */
21
+ setTargetedPlayerSettingForEveryone(targetedPlayerId: PlayerId, settingName: "opacity", settingValue: ValueType, includeNewJoiners?: boolean): void;
22
+ }
23
+ interface SetEveryoneSettingForPlayer {
24
+ /**
25
+ *
26
+ * @overload
27
+ *
28
+ * @param {PlayerId} playerId
29
+ * @param {"opacity"} settingName
30
+ * @param {Opacity} settingValue
31
+ * @param {boolean} [includeNewJoiners]
32
+ * @returns {void}
33
+ */
34
+ setEveryoneSettingForPlayer(playerId: PlayerId, settingName: "opacity", settingValue: ValueType, includeNewJoiners?: boolean): void;
35
+ }
36
+ interface SetOtherEntitySetting {
37
+ /**
38
+ *
39
+ * @overload
40
+ *
41
+ * @param {PlayerId}
42
+ * @param {"opacity"} settingName
43
+ * @param {Opacity} settingValue
44
+ * @param {boolean} [includeNewJoiners]
45
+ * @returns {void}
46
+ */
47
+ setOtherEntitySetting(relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: "opacity", settingValue: ValueType): void;
48
+ }
49
+ interface GetOtherEntitySetting {
50
+ /**
51
+ *
52
+ * @overload
53
+ *
54
+ * @param {PlayerId} relevantPlayerId
55
+ * @param {EntityId} targetedEntityId
56
+ * @param {"opacity"} settingName
57
+ * @returns {void}
58
+ */
59
+ getOtherEntitySetting(relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: "opacity"): ValueType;
60
+ }
61
+ type ExportTypes = {
62
+ name: "opacity";
63
+ ValueType: ValueType;
64
+ SetTargetedPlayerSettingForEveryone: SetTargetedPlayerSettingForEveryone;
65
+ SetEveryoneSettingForPlayer: SetEveryoneSettingForPlayer;
66
+ SetOtherEntitySetting: SetOtherEntitySetting;
67
+ GetOtherEntitySetting: GetOtherEntitySetting;
68
+ };
69
+ export default ExportTypes;
@@ -0,0 +1,65 @@
1
+ import { EntityId, PlayerId } from "../../../type/index";
2
+ /**
3
+ * Applies a colour tint to the entity when set, like the red tint when an entity gets hurt.
4
+ * @type {string | null}
5
+ * @default null
6
+ */
7
+ type ValueType = string | null;
8
+ declare const name: "overlayColour";
9
+ interface SetTargetedPlayerSettingForEveryone {
10
+ /**
11
+ *
12
+ * @param {PlayerId} targetedPlayerId
13
+ * @param {"overlayColour"} settingName
14
+ * @param {string | null} settingValue
15
+ * @param {boolean} includeNewJoiners
16
+ */
17
+ setTargetedPlayerSettingForEveryone(targetedPlayerId: PlayerId, settingName: typeof name, settingValue: ValueType, includeNewJoiners?: boolean): void;
18
+ }
19
+ interface SetEveryoneSettingForPlayer {
20
+ /**
21
+ *
22
+ * @overload
23
+ *
24
+ * @param {PlayerId} playerId
25
+ * @param {"overlayColour"} settingName
26
+ * @param {string | null} settingValue
27
+ * @param {boolean} [includeNewJoiners]
28
+ * @returns {void}
29
+ */
30
+ setEveryoneSettingForPlayer(playerId: PlayerId, settingName: typeof name, settingValue: ValueType, includeNewJoiners?: boolean): void;
31
+ }
32
+ interface SetOtherEntitySetting {
33
+ /**
34
+ *
35
+ * @overload
36
+ *
37
+ * @param {PlayerId}
38
+ * @param {"overlayColour"} settingName
39
+ * @param {string | null} settingValue
40
+ * @param {boolean} [includeNewJoiners]
41
+ * @returns {void}
42
+ */
43
+ setOtherEntitySetting(relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: typeof name, settingValue: ValueType): void;
44
+ }
45
+ interface GetOtherEntitySetting {
46
+ /**
47
+ *
48
+ * @overload
49
+ *
50
+ * @param {PlayerId} relevantPlayerId
51
+ * @param {EntityId} targetedEntityId
52
+ * @param {"overlayColour"} settingName
53
+ * @returns {string | null}
54
+ */
55
+ getOtherEntitySetting(relevantPlayerId: PlayerId, targetedEntityId: EntityId, settingName: typeof name): ValueType;
56
+ }
57
+ type ExportTypes = {
58
+ name: typeof name;
59
+ ValueType: ValueType;
60
+ SetTargetedPlayerSettingForEveryone: SetTargetedPlayerSettingForEveryone;
61
+ SetEveryoneSettingForPlayer: SetEveryoneSettingForPlayer;
62
+ SetOtherEntitySetting: SetOtherEntitySetting;
63
+ GetOtherEntitySetting: GetOtherEntitySetting;
64
+ };
65
+ export default ExportTypes;