omegga 1.2.9 → 1.4.0

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 (328) hide show
  1. package/README.md +50 -11
  2. package/dist/brickadia/config.js +26 -90
  3. package/dist/brickadia/config.js.map +1 -1
  4. package/dist/brickadia/server.js +290 -293
  5. package/dist/brickadia/server.js.map +1 -1
  6. package/dist/cli/auth.js +149 -177
  7. package/dist/cli/auth.js.map +1 -1
  8. package/dist/cli/config.js +64 -66
  9. package/dist/cli/config.js.map +1 -1
  10. package/dist/cli/index.js +14 -14
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/installer.js +37 -43
  13. package/dist/cli/installer.js.map +1 -1
  14. package/dist/cli/plugin.js +651 -682
  15. package/dist/cli/plugin.js.map +1 -1
  16. package/dist/cli/terminal.js +811 -733
  17. package/dist/cli/terminal.js.map +1 -1
  18. package/dist/config/formats/format_js.js +6 -6
  19. package/dist/config/formats/format_js.js.map +1 -1
  20. package/dist/config/formats/format_yml.js +7 -10
  21. package/dist/config/formats/format_yml.js.map +1 -1
  22. package/dist/config/index.js +46 -68
  23. package/dist/config/index.js.map +1 -1
  24. package/dist/config/reader.js +16 -27
  25. package/dist/config/reader.js.map +1 -1
  26. package/dist/config/validator.js +23 -25
  27. package/dist/config/validator.js.map +1 -1
  28. package/dist/config/writer.js +11 -21
  29. package/dist/config/writer.js.map +1 -1
  30. package/dist/index.js +18 -64
  31. package/dist/index.js.map +1 -1
  32. package/dist/info/default_commands.json.js +39 -0
  33. package/dist/info/default_commands.json.js.map +1 -0
  34. package/dist/logger.js +61 -60
  35. package/dist/logger.js.map +1 -1
  36. package/dist/main.js +425 -471
  37. package/dist/main.js.map +1 -1
  38. package/dist/omegga/auth.js +101 -148
  39. package/dist/omegga/auth.js.map +1 -1
  40. package/dist/omegga/commandInjector.js +261 -251
  41. package/dist/omegga/commandInjector.js.map +1 -1
  42. package/dist/omegga/index.js +14 -52
  43. package/dist/omegga/index.js.map +1 -1
  44. package/dist/omegga/logWrangler.js +224 -275
  45. package/dist/omegga/logWrangler.js.map +1 -1
  46. package/dist/omegga/matchers/auth.js +36 -50
  47. package/dist/omegga/matchers/auth.js.map +1 -1
  48. package/dist/omegga/matchers/chat.js +49 -71
  49. package/dist/omegga/matchers/chat.js.map +1 -1
  50. package/dist/omegga/matchers/command.js +25 -36
  51. package/dist/omegga/matchers/command.js.map +1 -1
  52. package/dist/omegga/matchers/exit.js +15 -18
  53. package/dist/omegga/matchers/exit.js.map +1 -1
  54. package/dist/omegga/matchers/index.js +26 -40
  55. package/dist/omegga/matchers/index.js.map +1 -1
  56. package/dist/omegga/matchers/init.js +20 -23
  57. package/dist/omegga/matchers/init.js.map +1 -1
  58. package/dist/omegga/matchers/interact.js +58 -64
  59. package/dist/omegga/matchers/interact.js.map +1 -1
  60. package/dist/omegga/matchers/join.js +74 -95
  61. package/dist/omegga/matchers/join.js.map +1 -1
  62. package/dist/omegga/matchers/leave.js +43 -56
  63. package/dist/omegga/matchers/leave.js.map +1 -1
  64. package/dist/omegga/matchers/mapChange.js +26 -35
  65. package/dist/omegga/matchers/mapChange.js.map +1 -1
  66. package/dist/omegga/matchers/minigameJoin.js +24 -31
  67. package/dist/omegga/matchers/minigameJoin.js.map +1 -1
  68. package/dist/omegga/matchers/version.js +42 -49
  69. package/dist/omegga/matchers/version.js.map +1 -1
  70. package/dist/omegga/player.js +562 -528
  71. package/dist/omegga/player.js.map +1 -1
  72. package/dist/omegga/plugin/interface.js +91 -98
  73. package/dist/omegga/plugin/interface.js.map +1 -1
  74. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +578 -429
  75. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -1
  76. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js +282 -294
  77. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -1
  78. package/dist/omegga/plugin/plugin_node_safe.js +365 -393
  79. package/dist/omegga/plugin/plugin_node_safe.js.map +1 -1
  80. package/dist/omegga/plugin/plugin_node_unsafe.js +119 -179
  81. package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -1
  82. package/dist/omegga/plugin.js +402 -347
  83. package/dist/omegga/plugin.js.map +1 -1
  84. package/dist/omegga/server.js +742 -774
  85. package/dist/omegga/server.js.map +1 -1
  86. package/dist/omegga/wrapper.js +64 -91
  87. package/dist/omegga/wrapper.js.map +1 -1
  88. package/dist/plugin.js +11 -31
  89. package/dist/plugin.js.map +1 -1
  90. package/dist/softconfig.js +139 -100
  91. package/dist/softconfig.js.map +1 -1
  92. package/dist/updater/steam.js +104 -114
  93. package/dist/updater/steam.js.map +1 -1
  94. package/dist/util/brdb.js +496 -528
  95. package/dist/util/brdb.js.map +1 -1
  96. package/dist/util/brick/checkBounds.js +11 -15
  97. package/dist/util/brick/checkBounds.js.map +1 -1
  98. package/dist/util/brick/constants.js +723 -174
  99. package/dist/util/brick/constants.js.map +1 -1
  100. package/dist/util/brick/displayName.js +204 -211
  101. package/dist/util/brick/displayName.js.map +1 -1
  102. package/dist/util/brick/getBounds.js +29 -41
  103. package/dist/util/brick/getBounds.js.map +1 -1
  104. package/dist/util/brick/getBrickSize.js +6 -7
  105. package/dist/util/brick/getBrickSize.js.map +1 -1
  106. package/dist/util/brick/getScaleAxis.js +24 -30
  107. package/dist/util/brick/getScaleAxis.js.map +1 -1
  108. package/dist/util/brick/index.js +8 -29
  109. package/dist/util/brick/index.js.map +1 -1
  110. package/dist/util/brick/rotate.js +29 -34
  111. package/dist/util/brick/rotate.js.map +1 -1
  112. package/dist/util/brick/setOwnership.js +13 -19
  113. package/dist/util/brick/setOwnership.js.map +1 -1
  114. package/dist/util/chat.js +53 -44
  115. package/dist/util/chat.js.map +1 -1
  116. package/dist/util/color.js +112 -124
  117. package/dist/util/color.js.map +1 -1
  118. package/dist/util/file.js +54 -98
  119. package/dist/util/file.js.map +1 -1
  120. package/dist/util/index.js +84 -106
  121. package/dist/util/index.js.map +1 -1
  122. package/dist/util/map.js +18 -20
  123. package/dist/util/map.js.map +1 -1
  124. package/dist/util/pattern.js +6 -9
  125. package/dist/util/pattern.js.map +1 -1
  126. package/dist/util/time.js +31 -34
  127. package/dist/util/time.js.map +1 -1
  128. package/dist/util/uuid.js +10 -8
  129. package/dist/util/uuid.js.map +1 -1
  130. package/dist/util/wsl.js +19 -25
  131. package/dist/util/wsl.js.map +1 -1
  132. package/dist/version.js +7 -9
  133. package/dist/version.js.map +1 -1
  134. package/dist/webserver/backend/api.js +784 -874
  135. package/dist/webserver/backend/api.js.map +1 -1
  136. package/dist/webserver/backend/calendar.js +14 -17
  137. package/dist/webserver/backend/calendar.js.map +1 -1
  138. package/dist/webserver/backend/database.js +563 -613
  139. package/dist/webserver/backend/database.js.map +1 -1
  140. package/dist/webserver/backend/index.js +153 -191
  141. package/dist/webserver/backend/index.js.map +1 -1
  142. package/dist/webserver/backend/metrics.js +219 -248
  143. package/dist/webserver/backend/metrics.js.map +1 -1
  144. package/dist/webserver/backend/util.js +47 -68
  145. package/dist/webserver/backend/util.js.map +1 -1
  146. package/dist/worker.js +322 -0
  147. package/dist/worker.js.map +1 -0
  148. package/package.json +16 -11
  149. package/public/app.html +18 -18
  150. package/public/assets/IconArrowRight-BuVxhqKX.js +2 -0
  151. package/public/assets/{IconArrowRight-CA5_cccJ.js.map → IconArrowRight-BuVxhqKX.js.map} +1 -1
  152. package/public/assets/IconCheck-DOe3u7iH.js +2 -0
  153. package/public/assets/{IconCheck-Dyq5qyY1.js.map → IconCheck-DOe3u7iH.js.map} +1 -1
  154. package/public/assets/IconLockOpen-Bs7Tsf6u.js +2 -0
  155. package/public/assets/{IconLockOpen-D95XLORK.js.map → IconLockOpen-Bs7Tsf6u.js.map} +1 -1
  156. package/public/assets/IconWorld-B6GK5qpx.js +2 -0
  157. package/public/assets/{IconWorld-DtARpBKX.js.map → IconWorld-B6GK5qpx.js.map} +1 -1
  158. package/public/assets/IconWorldPlus-DpfueG8_.js +2 -0
  159. package/public/assets/{IconWorldPlus-CGBAsLNj.js.map → IconWorldPlus-DpfueG8_.js.map} +1 -1
  160. package/public/assets/IconX-CvmO0bbE.js +2 -0
  161. package/public/assets/{IconX-SYtbnYKI.js.map → IconX-CvmO0bbE.js.map} +1 -1
  162. package/public/assets/app-nJIpyOiP.js +6 -0
  163. package/public/assets/{app-BtOlgo__.js.map → app-nJIpyOiP.js.map} +1 -1
  164. package/public/assets/{auth-CvxEWAMc.js → auth-6N37o421.js} +2 -2
  165. package/public/assets/{auth-CvxEWAMc.js.map → auth-6N37o421.js.map} +1 -1
  166. package/public/assets/client-BT1QYH0O.js +10 -0
  167. package/public/assets/{client-C5T7_OK9.js.map → client-BT1QYH0O.js.map} +1 -1
  168. package/public/assets/index-2cgXLhrt.js +2 -0
  169. package/public/assets/{index-CRRRLlCc.js.map → index-2cgXLhrt.js.map} +1 -1
  170. package/public/assets/index-3dNmNZ9B.js +10 -0
  171. package/public/assets/{index-Bq9C9SqB.js.map → index-3dNmNZ9B.js.map} +1 -1
  172. package/public/assets/{index-i4mjW0og.js → index-CrN8I5Az.js} +2 -2
  173. package/public/assets/index-CrN8I5Az.js.map +1 -0
  174. package/public/assets/index-CtCtK5BX.js +2 -0
  175. package/public/assets/{index-DqHVrEeL.js.map → index-CtCtK5BX.js.map} +1 -1
  176. package/public/assets/index-D0OPOe3j.js +2 -0
  177. package/public/assets/{index-c0qeY2gs.js.map → index-D0OPOe3j.js.map} +1 -1
  178. package/public/assets/{index-DYcAgWjJ.js → index-DY750sgZ.js} +2 -2
  179. package/public/assets/{index-DYcAgWjJ.js.map → index-DY750sgZ.js.map} +1 -1
  180. package/public/assets/jsx-runtime-BX5r4UiA.js +2 -0
  181. package/public/assets/jsx-runtime-BX5r4UiA.js.map +1 -0
  182. package/public/assets/jsx-runtime-DldvXD6N.js +2 -0
  183. package/public/assets/{jsx-runtime-Bw5QeaCk.js.map → jsx-runtime-DldvXD6N.js.map} +1 -1
  184. package/public/assets/shared/@components-DdtLZOaA.js +2 -0
  185. package/public/assets/shared/@components-DdtLZOaA.js.map +1 -0
  186. package/public/assets/shared/{@hooks-DfTzYBIL.js → @hooks-Ch_hJYh0.js} +2 -2
  187. package/public/assets/shared/{@hooks-DfTzYBIL.js.map → @hooks-Ch_hJYh0.js.map} +1 -1
  188. package/public/assets/shared/{@nanostores_react-HTG3s0lp.js → @nanostores_react-DJPF1Eqx.js} +2 -2
  189. package/public/assets/shared/{@nanostores_react-HTG3s0lp.js.map → @nanostores_react-DJPF1Eqx.js.map} +1 -1
  190. package/public/assets/shared/@tabler_icons-react-B4bN8gHc.js +3 -0
  191. package/public/assets/shared/{@tabler_icons-react--FJWdUou.js.map → @tabler_icons-react-B4bN8gHc.js.map} +1 -1
  192. package/public/assets/shared/nanostores-BFqqIY_c.js.map +1 -1
  193. package/public/assets/shared/react-dom-8Rcmh_FG.js +2 -0
  194. package/public/assets/shared/{react-dom-BznoGTRX.js.map → react-dom-8Rcmh_FG.js.map} +1 -1
  195. package/public/assets/shared/react-iXLZ_Bod.js +2 -0
  196. package/public/assets/shared/{react-CR6vSpIu.js.map → react-iXLZ_Bod.js.map} +1 -1
  197. package/public/assets/shared/react_jsx-runtime-BwhiLcBy.js +2 -0
  198. package/public/assets/shared/{react_jsx-runtime-C15Zu6_p.js.map → react_jsx-runtime-BwhiLcBy.js.map} +1 -1
  199. package/public/assets/shared/{wouter-DbmGxXTo.js → wouter-CUC1caxu.js} +2 -2
  200. package/public/assets/shared/wouter-CUC1caxu.js.map +1 -0
  201. package/public/auth.html +14 -14
  202. package/templates/safe-ts/omegga.d.ts +31 -1
  203. package/dist/brickadia/config.d.ts +0 -3
  204. package/dist/brickadia/presets.d.ts +0 -65
  205. package/dist/brickadia/presets.js +0 -3
  206. package/dist/brickadia/presets.js.map +0 -1
  207. package/dist/brickadia/server.d.ts +0 -36
  208. package/dist/brickadia/types.d.ts +0 -45
  209. package/dist/brickadia/types.js +0 -3
  210. package/dist/brickadia/types.js.map +0 -1
  211. package/dist/cli/auth.d.ts +0 -26
  212. package/dist/cli/config.d.ts +0 -10
  213. package/dist/cli/index.d.ts +0 -30
  214. package/dist/cli/installer.d.ts +0 -1
  215. package/dist/cli/plugin.d.ts +0 -22
  216. package/dist/cli/terminal.d.ts +0 -25
  217. package/dist/config/authorizer.d.ts +0 -2
  218. package/dist/config/authorizer.js +0 -38
  219. package/dist/config/authorizer.js.map +0 -1
  220. package/dist/config/formats/format_js.d.ts +0 -3
  221. package/dist/config/formats/format_yml.d.ts +0 -3
  222. package/dist/config/index.d.ts +0 -18
  223. package/dist/config/reader.d.ts +0 -3
  224. package/dist/config/types.d.ts +0 -50
  225. package/dist/config/types.js +0 -3
  226. package/dist/config/types.js.map +0 -1
  227. package/dist/config/validator.d.ts +0 -6
  228. package/dist/config/writer.d.ts +0 -3
  229. package/dist/index.d.ts +0 -22
  230. package/dist/info/default_commands.json +0 -29
  231. package/dist/logger.d.ts +0 -41
  232. package/dist/main.d.ts +0 -1
  233. package/dist/omegga/auth.d.ts +0 -9
  234. package/dist/omegga/commandInjector.d.ts +0 -35
  235. package/dist/omegga/index.d.ts +0 -7
  236. package/dist/omegga/logWrangler.d.ts +0 -32
  237. package/dist/omegga/matchers/auth.d.ts +0 -10
  238. package/dist/omegga/matchers/chat.d.ts +0 -10
  239. package/dist/omegga/matchers/command.d.ts +0 -7
  240. package/dist/omegga/matchers/exit.d.ts +0 -3
  241. package/dist/omegga/matchers/index.d.ts +0 -3
  242. package/dist/omegga/matchers/init.d.ts +0 -3
  243. package/dist/omegga/matchers/interact.d.ts +0 -4
  244. package/dist/omegga/matchers/join.d.ts +0 -4
  245. package/dist/omegga/matchers/leave.d.ts +0 -4
  246. package/dist/omegga/matchers/mapChange.d.ts +0 -3
  247. package/dist/omegga/matchers/minigameJoin.d.ts +0 -9
  248. package/dist/omegga/matchers/types.d.ts +0 -5
  249. package/dist/omegga/matchers/types.js +0 -3
  250. package/dist/omegga/matchers/types.js.map +0 -1
  251. package/dist/omegga/matchers/version.d.ts +0 -3
  252. package/dist/omegga/player.d.ts +0 -81
  253. package/dist/omegga/plugin/interface.d.ts +0 -30
  254. package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts +0 -23
  255. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +0 -145
  256. package/dist/omegga/plugin/plugin_node_safe/worker.d.ts +0 -1
  257. package/dist/omegga/plugin/plugin_node_safe/worker.js +0 -367
  258. package/dist/omegga/plugin/plugin_node_safe/worker.js.map +0 -1
  259. package/dist/omegga/plugin/plugin_node_safe.d.ts +0 -23
  260. package/dist/omegga/plugin/plugin_node_unsafe.d.ts +0 -13
  261. package/dist/omegga/plugin.d.ts +0 -63
  262. package/dist/omegga/server.d.ts +0 -166
  263. package/dist/omegga/types.d.ts +0 -49
  264. package/dist/omegga/types.js +0 -3
  265. package/dist/omegga/types.js.map +0 -1
  266. package/dist/omegga/wrapper.d.ts +0 -32
  267. package/dist/plugin.d.ts +0 -916
  268. package/dist/softconfig.d.ts +0 -67
  269. package/dist/tsconfig.tsbuildinfo +0 -1
  270. package/dist/updater/index.d.ts +0 -1
  271. package/dist/updater/index.js +0 -10
  272. package/dist/updater/index.js.map +0 -1
  273. package/dist/updater/steam.d.ts +0 -52
  274. package/dist/util/brdb.d.ts +0 -31
  275. package/dist/util/brick/checkBounds.d.ts +0 -8
  276. package/dist/util/brick/constants.d.ts +0 -18
  277. package/dist/util/brick/displayName.d.ts +0 -7
  278. package/dist/util/brick/getBounds.d.ts +0 -5
  279. package/dist/util/brick/getBrickSize.d.ts +0 -3
  280. package/dist/util/brick/getScaleAxis.d.ts +0 -3
  281. package/dist/util/brick/index.d.ts +0 -14
  282. package/dist/util/brick/rotate.d.ts +0 -16
  283. package/dist/util/brick/setOwnership.d.ts +0 -12
  284. package/dist/util/chat.d.ts +0 -23
  285. package/dist/util/color.d.ts +0 -13
  286. package/dist/util/file.d.ts +0 -5
  287. package/dist/util/index.d.ts +0 -183
  288. package/dist/util/map.d.ts +0 -6
  289. package/dist/util/pattern.d.ts +0 -1
  290. package/dist/util/time.d.ts +0 -39
  291. package/dist/util/uuid.d.ts +0 -3
  292. package/dist/util/wsl.d.ts +0 -2
  293. package/dist/version.d.ts +0 -2
  294. package/dist/webserver/backend/api.d.ts +0 -115
  295. package/dist/webserver/backend/calendar.d.ts +0 -5
  296. package/dist/webserver/backend/database.d.ts +0 -150
  297. package/dist/webserver/backend/index.d.ts +0 -30
  298. package/dist/webserver/backend/metrics.d.ts +0 -3
  299. package/dist/webserver/backend/types.d.ts +0 -114
  300. package/dist/webserver/backend/types.js +0 -3
  301. package/dist/webserver/backend/types.js.map +0 -1
  302. package/dist/webserver/backend/util.d.ts +0 -2
  303. package/dist/webserver/index.d.ts +0 -2
  304. package/dist/webserver/index.js +0 -9
  305. package/dist/webserver/index.js.map +0 -1
  306. package/public/assets/IconArrowRight-CA5_cccJ.js +0 -7
  307. package/public/assets/IconCheck-Dyq5qyY1.js +0 -17
  308. package/public/assets/IconLockOpen-D95XLORK.js +0 -7
  309. package/public/assets/IconWorld-DtARpBKX.js +0 -72
  310. package/public/assets/IconWorldPlus-CGBAsLNj.js +0 -182
  311. package/public/assets/IconX-SYtbnYKI.js +0 -12
  312. package/public/assets/app-BtOlgo__.js +0 -6
  313. package/public/assets/client-C5T7_OK9.js +0 -26
  314. package/public/assets/index-Bq9C9SqB.js +0 -10
  315. package/public/assets/index-CRRRLlCc.js +0 -10
  316. package/public/assets/index-DqHVrEeL.js +0 -10
  317. package/public/assets/index-c0qeY2gs.js +0 -10
  318. package/public/assets/index-i4mjW0og.js.map +0 -1
  319. package/public/assets/jsx-runtime-Bw5QeaCk.js +0 -10
  320. package/public/assets/jsx-runtime-DoEZbXM1.js +0 -2
  321. package/public/assets/jsx-runtime-DoEZbXM1.js.map +0 -1
  322. package/public/assets/shared/@components-DVehBp7v.js +0 -2
  323. package/public/assets/shared/@components-DVehBp7v.js.map +0 -1
  324. package/public/assets/shared/@tabler_icons-react--FJWdUou.js +0 -29458
  325. package/public/assets/shared/react-CR6vSpIu.js +0 -2
  326. package/public/assets/shared/react-dom-BznoGTRX.js +0 -2
  327. package/public/assets/shared/react_jsx-runtime-C15Zu6_p.js +0 -2
  328. package/public/assets/shared/wouter-DbmGxXTo.js.map +0 -1
package/README.md CHANGED
@@ -514,13 +514,32 @@ This is an example `plugin.json`, located inside a plugin folder. The plugin fil
514
514
  {
515
515
  "formatVersion": 1,
516
516
  "omeggaVersion": ">=0.1.32",
517
- "emitConfig": "config.json"
517
+ "emitConfig": "config.json",
518
+ "dependencies": {
519
+ "otherPlugin": "https://github.com/owner/repo",
520
+ "requiredPlugin": { "optional": false },
521
+ "optionalPlugin": { "optional": true, "repo": "https://github.com/owner/repo" }
522
+ },
523
+ "loadPriority": 0,
524
+ "loadBefore": ["pluginToLoadAfterThis"],
525
+ "loadAfter": ["pluginToLoadBeforeThis"]
518
526
  }
519
527
  ```
520
528
 
521
529
  - `formatVersion` - indicates the plugin file format version
522
530
  - `omeggaVersion` - indicates compatible omegga versions ([semver cheatsheet](https://www.npmjs.com/package/semver#user-content-ranges))
523
531
  - `emitConfig` - optional, a path to a json file where plugin config will be saved to before the plugin starts.
532
+ - `dependencies` - optional, declares dependencies on other plugins
533
+ - Can be a string specifying the GitHub repository URL (e.g., `"otherPlugin": "https://github.com/owner/repo"`)
534
+ - Can be an object with optional properties:
535
+ - `optional` - if `true`, the plugin will load even if this dependency is missing
536
+ - `repo` - GitHub repository URL where the dependency can be found (e.g., `"https://github.com/owner/repo"`)
537
+ - Dependencies are automatically loaded before the dependent plugin
538
+ - `loadPriority` - optional, numeric priority for load order (lower/negative numbers load earlier, higher/positive numbers load later, undefined loads in the middle)
539
+ - `loadBefore` - optional, array of plugin names that should load after this plugin
540
+ - `loadAfter` - optional, array of plugin names that should load before this plugin
541
+
542
+ **Note:** Omegga will automatically resolve the correct load order based on dependencies, `loadPriority`, `loadBefore`, and `loadAfter` constraints. If there's a cyclic dependency or conflicting constraints, plugins may fail to load.
524
543
 
525
544
  ## Plugin Store
526
545
 
@@ -802,16 +821,32 @@ Register custom `/commands` by returning `{registeredCommands: ['foo', 'bar']}`
802
821
  | `loadSaveDataOnPlayer` | {data: object, player: string, offX, offY, offY} | Builds brs file from data, loads the file onto a player's clipboard | |
803
822
  | `changeMap` | map (string) | Change map to specified map name, returns success | Boolean |
804
823
  | `player.get` | target (string) | Gets the player by their name or UUID. | `{name, id, controller, state, host: bool}` |
805
- | `player.getRoles` | target (string) | Target's roles | |
806
- | `player.getPermissions` | target (string) | Target's permissions | List of Strings |
807
- | `player.getNameColor` | target (string) | Target's name color | _RGB Hex Object_ (int, int ,int) |
808
- | `player.getPosition` | target (string) | Target's position | _Position Object_ |
809
- | `player.getGhostBrick` | target (string) | Target's ghost brick | {targetGrid, location(_Location_), orientation} |
810
- | `player.getPaint` | target (string) | Target's current paint selection | {materialIndex, materialAlpha, material, color)} |
811
- | `player.getTemplateBounds` | target (string) | Target's template/selection bounds | {minBound, maxBound, Center} |
812
- | `player.getTemplateBoundsData` | target (string) | Target's template/selection as brs-js save data | _Brick Object_ |
813
- | `player.loadSaveData` | {target, data, offX, offY, offZ} | Loads brs-js save data to the targets clipboard | |
814
- | `player.loadDataAtGhostBrick` | {target, data, rotate=true, offX, offY, offZ, quiet} | Loads brs-js save data at the target's selection bounds | |
824
+ | `player.getRoles` | target (string) | Target's roles | List of Strings |
825
+ | `player.getPermissions` | target (string) | Target's permissions | Record<string, boolean> |
826
+ | `player.getNameColor` | target (string) | Target's name color | _RGB Hex String_ |
827
+ | `player.getPosition` | target (string) | Target's position | [number, number, number] or null |
828
+ | `player.getPawn` | target (string) | Target's pawn name | string or null |
829
+ | `player.getGhostBrick` | target (string) | Target's ghost brick | {targetGrid, location, orientation} |
830
+ | `player.getPaint` | target (string) | Target's current paint selection | {materialIndex, materialAlpha, material, color} |
831
+ | `player.isCrouched` | target (string) | Check if target is crouched | boolean |
832
+ | `player.isDead` | target (string) | Check if target is dead | boolean |
833
+ | `player.getTemplateBounds` | target (string) | Target's template/selection bounds | {minBound, maxBound, center} |
834
+ | `player.getTemplateBoundsData` | target (string) | Target's template/selection as brs-js save data | _BRS Object_ |
835
+ | `player.clearBricks` | {target, quiet} | Clears target's bricks | |
836
+ | `player.loadBricks` | {target, saveName} | Loads save file to target's clipboard | |
837
+ | `player.loadSaveData` | {target, data, offX, offY, offZ} | Loads brs-js save data to target's clipboard | |
838
+ | `player.loadDataAtGhostBrick` | {target, data, rotate=true, offX, offY, offZ, quiet} | Loads brs-js save data at target's selection bounds | |
839
+ | `player.kill` | target (string) | Kills the target player | |
840
+ | `player.damage` | {target, amount} | Damages target by amount | |
841
+ | `player.heal` | {target, amount} | Heals target by amount | |
842
+ | `player.giveItem` | {target, item} | Gives target an item | |
843
+ | `player.takeItem` | {target, item} | Removes item from target | |
844
+ | `player.setTeam` | {target, teamIndex} | Sets target's team | |
845
+ | `player.setMinigame` | {target, index} | Adds target to minigame at index | |
846
+ | `player.setScore` | {target, minigameIndex, score} | Sets target's score in minigame | |
847
+ | `player.getScore` | target (string) | Gets target's score in minigame | number |
848
+ | `player.setLeaderboard` | {target, key, value} | Sets leaderboard value for target | |
849
+ | `player.getLeaderboard` | target (string) | Gets leaderboard value for target | number or null |
815
850
  | `plugin.get` | target (string) | Gets info on the target plugin | Object |
816
851
  | `plugin.emit` | [target (string), event (string), ...args (any)] | Emit a custom event to the target plugin | |
817
852
 
@@ -995,6 +1030,8 @@ rpc.addMethod('stop', async () => 'ok');
995
1030
 
996
1031
  ## Environment Variables
997
1032
 
1033
+ These can be set in your shell or in a `.env` file the same directory as a `omegga-config.yml` file.
1034
+
998
1035
  `omegga` accepts the following environment variables:
999
1036
 
1000
1037
  - `BRICKADIA_TOKEN` - Specify hosting token instead of using config
@@ -1005,6 +1042,8 @@ rpc.addMethod('stop', async () => 'ok');
1005
1042
  - `BRICKADIA_DIR` - Override the need to use steamcmd and point to a Brickadia install directory (eg. `/home/<USER>/.config/omegga/steam_installs/main/Brickadia`)
1006
1043
  - `STEAM_INSTALLS_DIR` - Set where omegga installs brickadia via steamcmd (default `~/.config/omegga/steam_installs`)
1007
1044
  - `STEAM_APP_ID` - Set the Steam App ID for Brickadia (default `3017590`)
1045
+ - `STEAM_USERNAME` - Set the Steam username for downloading Brickadia via steamcmd
1046
+ - `STEAM_PASSWORD` - Set the Steam password for downloading Brickadia via steamcmd
1008
1047
  - `VERBOSE` - Set to `true` to enable verbose logging (default `false`)
1009
1048
  - `PACKAGE_NOTIFIER` - When set to `false`, disables the npm update notifier
1010
1049
  - `STEAM_NOTIFIER` - When set to `false`, disables the SteamCMD update notifier
@@ -1,96 +1,32 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.write = write;
40
- exports.read = read;
41
- const fs_1 = __importDefault(require("fs"));
42
- const path_1 = __importDefault(require("path"));
43
- const file = __importStar(require("../util/file"));
44
- const softconfig_1 = require("../softconfig");
45
- const CONFIG_PATH = 'Config/LinuxServer';
46
- const SERVER_SETTINGS = 'GameUserSettings.ini';
47
- // Function that writes config
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const fs = require("node:fs");
4
+ const path = require("node:path");
5
+ const file = require("../util/file.js");
6
+ const softconfig = require("../softconfig.js");
7
+ const CONFIG_PATH = "Config/LinuxServer";
8
+ const SERVER_SETTINGS = "GameUserSettings.ini";
48
9
  function write(serverPath, config) {
49
- var _a, _b, _c;
50
- const configPath = path_1.default.join(serverPath, (_a = config.server.savedDir) !== null && _a !== void 0 ? _a : softconfig_1.CONFIG_SAVED_DIR, CONFIG_PATH);
51
- const settingsPath = path_1.default.join(configPath, SERVER_SETTINGS);
52
- file.mkdir(configPath);
53
- fs_1.default.writeFileSync(settingsPath, `[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]
54
- ServerName=${config.server.name || ''}
55
- ServerDescription=${config.server.description || ''}
56
- ServerPassword=${config.server.password || ''}
10
+ const configPath = path.join(
11
+ serverPath,
12
+ config.server.savedDir ?? softconfig.CONFIG_SAVED_DIR,
13
+ CONFIG_PATH
14
+ );
15
+ const settingsPath = path.join(configPath, SERVER_SETTINGS);
16
+ file.mkdir(configPath);
17
+ fs.writeFileSync(
18
+ settingsPath,
19
+ `[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]
20
+ ServerName=${config.server.name || ""}
21
+ ServerDescription=${config.server.description || ""}
22
+ ServerPassword=${config.server.password || ""}
57
23
  MaxPlayers=${config.server.players || 20}
58
- bPubliclyListed=${((_b = config.server.publiclyListed) !== null && _b !== void 0 ? _b : true) ? 'True' : 'False'}
59
- WelcomeMessage="${((_c = config.server.welcomeMessage) === null || _c === void 0 ? void 0 : _c.replace(/"/g, '\"').replace(/\\/g, '\\\\')) || ''}"`);
60
- /*
61
- [Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]
62
- ServerTypeIndex2=1
63
- ServerName=
64
- ServerDescription=
65
- ServerPassword=
66
- MaxPlayers=30
67
- bPubliclyListed=True
68
- WelcomeMessage="<color=\"0055ff\">Welcome to <b>{2}</>, {1}.</><>a"
69
- bGlobalRulesetSelfDamage=True
70
- bGlobalRulesetPhysicsDamage=False
71
- bGlobalRulesetEnableCameraBlockedEffects=False
72
- UploadTimeout=5.000000
73
- MaxPrefabBricks=1000
74
- MaxPrefabComponents=20
75
- MaxPrefabSize=(X=1000,Y=1000,Z=1000)
76
- MaxPhysicsObjects=2000
77
- MaxPhysicsObjectsPerUser=50
78
- MaxPlacementBricks=2000
79
- MaxPlacementEntities=10
80
- bEnforceApplicatorLimits=False
81
- TemplatePlacementTimeout=2.000000
82
- MaxSelectionBoxSize=(X=1000,Y=1000,Z=1000)
83
- MaxSelectedBricks=1000
84
- SelectionTimeout=2.000000
85
-
86
- [Server__BP_ServerSettingsAutoSave_C BP_ServerSettingsAutoSave_C]
87
- bEnableAutoSave=True
88
- bAnnounceAutoSave=True
89
- AutoSaveInterval=300.000000
90
- bIncludeScreenshot=False
91
- */
24
+ bPubliclyListed=${config.server.publiclyListed ?? true ? "True" : "False"}
25
+ WelcomeMessage="${config.server.welcomeMessage?.replace(/"/g, '"').replace(/\\/g, "\\\\") || ""}"`
26
+ );
92
27
  }
93
28
  function read() {
94
- // TODO: Implement server config reading
95
29
  }
96
- //# sourceMappingURL=config.js.map
30
+ exports.read = read;
31
+ exports.write = write;
32
+ //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/brickadia/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,sBAqDC;AAED,oBAEC;AAnED,4CAAoB;AACpB,gDAAwB;AAExB,mDAAqC;AAErC,8CAAgD;AAChD,MAAM,WAAW,GAAG,oBAAoB,CAAC;AACzC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAE/C,8BAA8B;AAC9B,SAAgB,KAAK,CAAC,UAAkB,EAAE,MAAe;;IACvD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,UAAU,EACV,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,mCAAI,6BAAgB,EAC1C,WAAW,CACZ,CAAC;IACF,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE5D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEvB,YAAE,CAAC,aAAa,CACd,YAAY,EACZ;aACS,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;oBACjB,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE;iBAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE;aAChC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;kBACtB,CAAC,MAAA,MAAM,CAAC,MAAM,CAAC,cAAc,mCAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;kBACzD,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,cAAc,0CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,KAAI,EAAE,GAAG,CAChG,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+BE;AACJ,CAAC;AAED,SAAgB,IAAI;IAClB,wCAAwC;AAC1C,CAAC"}
1
+ {"version":3,"file":"config.js","sources":["../../src/brickadia/config.ts"],"sourcesContent":["import { IConfig } from '@config/types';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport * as file from '../util/file';\n\nimport { CONFIG_SAVED_DIR } from '@/softconfig';\nconst CONFIG_PATH = 'Config/LinuxServer';\nconst SERVER_SETTINGS = 'GameUserSettings.ini';\n\n// Function that writes config\nexport function write(serverPath: string, config: IConfig) {\n const configPath = path.join(\n serverPath,\n config.server.savedDir ?? CONFIG_SAVED_DIR,\n CONFIG_PATH,\n );\n const settingsPath = path.join(configPath, SERVER_SETTINGS);\n\n file.mkdir(configPath);\n\n fs.writeFileSync(\n settingsPath,\n `[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]\nServerName=${config.server.name || ''}\nServerDescription=${config.server.description || ''}\nServerPassword=${config.server.password || ''}\nMaxPlayers=${config.server.players || 20}\nbPubliclyListed=${(config.server.publiclyListed ?? true) ? 'True' : 'False'}\nWelcomeMessage=\"${config.server.welcomeMessage?.replace(/\"/g, '\\\"').replace(/\\\\/g, '\\\\\\\\') || ''}\"`,\n );\n\n /*\n[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]\nServerTypeIndex2=1\nServerName=\nServerDescription=\nServerPassword=\nMaxPlayers=30\nbPubliclyListed=True\nWelcomeMessage=\"<color=\\\"0055ff\\\">Welcome to <b>{2}</>, {1}.</><>a\"\nbGlobalRulesetSelfDamage=True\nbGlobalRulesetPhysicsDamage=False\nbGlobalRulesetEnableCameraBlockedEffects=False\nUploadTimeout=5.000000\nMaxPrefabBricks=1000\nMaxPrefabComponents=20\nMaxPrefabSize=(X=1000,Y=1000,Z=1000)\nMaxPhysicsObjects=2000\nMaxPhysicsObjectsPerUser=50\nMaxPlacementBricks=2000\nMaxPlacementEntities=10\nbEnforceApplicatorLimits=False\nTemplatePlacementTimeout=2.000000\nMaxSelectionBoxSize=(X=1000,Y=1000,Z=1000)\nMaxSelectedBricks=1000\nSelectionTimeout=2.000000\n\n[Server__BP_ServerSettingsAutoSave_C BP_ServerSettingsAutoSave_C]\nbEnableAutoSave=True\nbAnnounceAutoSave=True\nAutoSaveInterval=300.000000\nbIncludeScreenshot=False\n */\n}\n\nexport function read() {\n // TODO: Implement server config reading\n}\n"],"names":["CONFIG_SAVED_DIR","file.mkdir"],"mappings":";;;;;;AAOA,MAAM,cAAc;AACpB,MAAM,kBAAkB;AAGjB,SAAS,MAAM,YAAoB,QAAiB;AACzD,QAAM,aAAa,KAAK;AAAA,IACtB;AAAA,IACA,OAAO,OAAO,YAAYA,WAAAA;AAAAA,IAC1B;AAAA,EAAA;AAEF,QAAM,eAAe,KAAK,KAAK,YAAY,eAAe;AAE1DC,OAAAA,MAAW,UAAU;AAErB,KAAG;AAAA,IACD;AAAA,IACA;AAAA,aACS,OAAO,OAAO,QAAQ,EAAE;AAAA,oBACjB,OAAO,OAAO,eAAe,EAAE;AAAA,iBAClC,OAAO,OAAO,YAAY,EAAE;AAAA,aAChC,OAAO,OAAO,WAAW,EAAE;AAAA,kBACrB,OAAO,OAAO,kBAAkB,OAAQ,SAAS,OAAO;AAAA,kBACzD,OAAO,OAAO,gBAAgB,QAAQ,MAAM,GAAI,EAAE,QAAQ,OAAO,MAAM,KAAK,EAAE;AAAA,EAAA;AAmChG;AAEO,SAAS,OAAO;AAEvB;;;"}