omegga 0.1.85 → 1.0.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 (463) hide show
  1. package/.vscode/settings.json +20 -0
  2. package/README.md +142 -62
  3. package/bin/omegga +10 -4
  4. package/dist/brickadia/config.d.ts +3 -0
  5. package/dist/brickadia/config.d.ts.map +1 -0
  6. package/dist/brickadia/config.js +61 -0
  7. package/dist/brickadia/config.js.map +1 -0
  8. package/dist/brickadia/presets.d.ts +65 -0
  9. package/dist/brickadia/presets.js +3 -0
  10. package/dist/brickadia/presets.js.map +1 -0
  11. package/dist/brickadia/server.d.ts +20 -0
  12. package/dist/brickadia/server.d.ts.map +1 -0
  13. package/dist/brickadia/server.js +188 -0
  14. package/dist/brickadia/server.js.map +1 -0
  15. package/dist/brickadia/types.d.ts +45 -0
  16. package/dist/brickadia/types.d.ts.map +1 -0
  17. package/dist/brickadia/types.js +3 -0
  18. package/dist/brickadia/types.js.map +1 -0
  19. package/dist/cli/auth.d.ts +20 -0
  20. package/dist/cli/auth.d.ts.map +1 -0
  21. package/dist/cli/auth.js +115 -0
  22. package/dist/cli/auth.js.map +1 -0
  23. package/dist/cli/config.d.ts +10 -0
  24. package/dist/cli/config.d.ts.map +1 -0
  25. package/dist/cli/config.js +72 -0
  26. package/dist/cli/config.js.map +1 -0
  27. package/dist/cli/index.d.ts +20 -0
  28. package/dist/cli/index.d.ts.map +1 -0
  29. package/dist/cli/index.js +15 -0
  30. package/dist/cli/index.js.map +1 -0
  31. package/dist/cli/installer.d.ts +1 -0
  32. package/dist/cli/installer.d.ts.map +1 -0
  33. package/dist/cli/installer.js +55 -0
  34. package/dist/cli/installer.js.map +1 -0
  35. package/dist/cli/plugin.d.ts +11 -0
  36. package/dist/cli/plugin.d.ts.map +1 -0
  37. package/dist/cli/plugin.js +596 -0
  38. package/dist/cli/plugin.js.map +1 -0
  39. package/dist/cli/terminal.d.ts +34 -0
  40. package/dist/cli/terminal.d.ts.map +1 -0
  41. package/dist/cli/terminal.js +395 -0
  42. package/dist/cli/terminal.js.map +1 -0
  43. package/dist/config/authorizer.d.ts +2 -0
  44. package/dist/config/authorizer.d.ts.map +1 -0
  45. package/dist/config/authorizer.js +38 -0
  46. package/dist/config/authorizer.js.map +1 -0
  47. package/dist/config/formats/format_js.d.ts +3 -0
  48. package/dist/config/formats/format_js.d.ts.map +1 -0
  49. package/dist/config/formats/format_js.js +10 -0
  50. package/dist/config/formats/format_js.js.map +1 -0
  51. package/dist/config/formats/format_yml.d.ts +3 -0
  52. package/dist/config/formats/format_yml.d.ts.map +1 -0
  53. package/dist/config/formats/format_yml.js +14 -0
  54. package/dist/config/formats/format_yml.js.map +1 -0
  55. package/dist/config/index.d.ts +18 -0
  56. package/dist/config/index.d.ts.map +1 -0
  57. package/dist/config/index.js +86 -0
  58. package/dist/config/index.js.map +1 -0
  59. package/dist/config/reader.d.ts +3 -0
  60. package/dist/config/reader.d.ts.map +1 -0
  61. package/dist/config/reader.js +30 -0
  62. package/dist/config/reader.js.map +1 -0
  63. package/dist/config/types.d.ts +37 -0
  64. package/dist/config/types.d.ts.map +1 -0
  65. package/dist/config/types.js +3 -0
  66. package/dist/config/types.js.map +1 -0
  67. package/dist/config/validator.d.ts +6 -0
  68. package/dist/config/validator.d.ts.map +1 -0
  69. package/dist/config/validator.js +26 -0
  70. package/dist/config/validator.js.map +1 -0
  71. package/dist/config/writer.d.ts +3 -0
  72. package/dist/config/writer.d.ts.map +1 -0
  73. package/dist/config/writer.js +25 -0
  74. package/dist/config/writer.js.map +1 -0
  75. package/dist/index.d.ts +22 -0
  76. package/dist/index.js +55 -0
  77. package/dist/index.js.map +1 -0
  78. package/dist/info/default_commands.json +28 -0
  79. package/dist/lib.d.ts +21 -0
  80. package/dist/lib.d.ts.map +1 -0
  81. package/dist/lib.js +54 -0
  82. package/dist/lib.js.map +1 -0
  83. package/dist/logger.d.ts +41 -0
  84. package/dist/logger.js +67 -0
  85. package/dist/logger.js.map +1 -0
  86. package/dist/main.d.ts +1 -0
  87. package/dist/main.d.ts.map +1 -0
  88. package/dist/main.js +284 -0
  89. package/dist/main.js.map +1 -0
  90. package/dist/omegga/auth.d.ts +6 -0
  91. package/dist/omegga/auth.d.ts.map +1 -0
  92. package/dist/omegga/auth.js +139 -0
  93. package/dist/omegga/auth.js.map +1 -0
  94. package/dist/omegga/commandInjector.d.ts +35 -0
  95. package/dist/omegga/commandInjector.d.ts.map +1 -0
  96. package/dist/omegga/commandInjector.js +234 -0
  97. package/dist/omegga/commandInjector.js.map +1 -0
  98. package/dist/omegga/index.d.ts +7 -0
  99. package/dist/omegga/index.d.ts.map +1 -0
  100. package/dist/omegga/index.js +43 -0
  101. package/dist/omegga/index.js.map +1 -0
  102. package/dist/omegga/logWrangler.d.ts +32 -0
  103. package/dist/omegga/logWrangler.d.ts.map +1 -0
  104. package/dist/omegga/logWrangler.js +279 -0
  105. package/dist/omegga/logWrangler.js.map +1 -0
  106. package/dist/omegga/matchers/auth.d.ts +9 -0
  107. package/dist/omegga/matchers/auth.d.ts.map +1 -0
  108. package/dist/omegga/matchers/auth.js +53 -0
  109. package/dist/omegga/matchers/auth.js.map +1 -0
  110. package/dist/omegga/matchers/chat.d.ts +9 -0
  111. package/dist/omegga/matchers/chat.d.ts.map +1 -0
  112. package/dist/omegga/matchers/chat.js +68 -0
  113. package/dist/omegga/matchers/chat.js.map +1 -0
  114. package/dist/omegga/matchers/command.d.ts +7 -0
  115. package/dist/omegga/matchers/command.d.ts.map +1 -0
  116. package/dist/omegga/matchers/command.js +39 -0
  117. package/dist/omegga/matchers/command.js.map +1 -0
  118. package/dist/omegga/matchers/exit.d.ts +3 -0
  119. package/dist/omegga/matchers/exit.d.ts.map +1 -0
  120. package/dist/omegga/matchers/exit.js +21 -0
  121. package/dist/omegga/matchers/exit.js.map +1 -0
  122. package/dist/omegga/matchers/index.d.ts +3 -0
  123. package/dist/omegga/matchers/index.d.ts.map +1 -0
  124. package/dist/omegga/matchers/index.js +39 -0
  125. package/dist/omegga/matchers/index.js.map +1 -0
  126. package/dist/omegga/matchers/init.d.ts +3 -0
  127. package/dist/omegga/matchers/init.d.ts.map +1 -0
  128. package/dist/omegga/matchers/init.js +26 -0
  129. package/dist/omegga/matchers/init.js.map +1 -0
  130. package/dist/omegga/matchers/interact.d.ts +4 -0
  131. package/dist/omegga/matchers/interact.js +39 -0
  132. package/dist/omegga/matchers/interact.js.map +1 -0
  133. package/dist/omegga/matchers/join.d.ts +4 -0
  134. package/dist/omegga/matchers/join.d.ts.map +1 -0
  135. package/dist/omegga/matchers/join.js +95 -0
  136. package/dist/omegga/matchers/join.js.map +1 -0
  137. package/dist/omegga/matchers/leave.d.ts +4 -0
  138. package/dist/omegga/matchers/leave.d.ts.map +1 -0
  139. package/dist/omegga/matchers/leave.js +59 -0
  140. package/dist/omegga/matchers/leave.js.map +1 -0
  141. package/dist/omegga/matchers/mapChange.d.ts +3 -0
  142. package/dist/omegga/matchers/mapChange.d.ts.map +1 -0
  143. package/dist/omegga/matchers/mapChange.js +38 -0
  144. package/dist/omegga/matchers/mapChange.js.map +1 -0
  145. package/dist/omegga/matchers/types.d.ts +5 -0
  146. package/dist/omegga/matchers/types.d.ts.map +1 -0
  147. package/dist/omegga/matchers/types.js +7 -0
  148. package/dist/omegga/matchers/types.js.map +1 -0
  149. package/dist/omegga/matchers/version.d.ts +3 -0
  150. package/dist/omegga/matchers/version.d.ts.map +1 -0
  151. package/dist/omegga/matchers/version.js +45 -0
  152. package/dist/omegga/matchers/version.js.map +1 -0
  153. package/dist/omegga/player.d.ts +71 -0
  154. package/dist/omegga/player.d.ts.map +1 -0
  155. package/dist/omegga/player.js +442 -0
  156. package/dist/omegga/player.js.map +1 -0
  157. package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts +23 -0
  158. package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts.map +1 -0
  159. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +441 -0
  160. package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -0
  161. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +129 -0
  162. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts.map +1 -0
  163. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js +260 -0
  164. package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -0
  165. package/dist/omegga/plugin/plugin_node_safe/worker.d.ts +1 -0
  166. package/dist/omegga/plugin/plugin_node_safe/worker.d.ts.map +1 -0
  167. package/dist/omegga/plugin/plugin_node_safe/worker.js +289 -0
  168. package/dist/omegga/plugin/plugin_node_safe/worker.js.map +1 -0
  169. package/dist/omegga/plugin/plugin_node_safe.d.ts +24 -0
  170. package/dist/omegga/plugin/plugin_node_safe.d.ts.map +1 -0
  171. package/dist/omegga/plugin/plugin_node_safe.js +397 -0
  172. package/dist/omegga/plugin/plugin_node_safe.js.map +1 -0
  173. package/dist/omegga/plugin/plugin_node_unsafe.d.ts +13 -0
  174. package/dist/omegga/plugin/plugin_node_unsafe.d.ts.map +1 -0
  175. package/dist/omegga/plugin/plugin_node_unsafe.js +178 -0
  176. package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -0
  177. package/dist/omegga/plugin.d.ts +86 -0
  178. package/dist/omegga/plugin.d.ts.map +1 -0
  179. package/dist/omegga/plugin.js +458 -0
  180. package/dist/omegga/plugin.js.map +1 -0
  181. package/dist/omegga/server.d.ts +149 -0
  182. package/dist/omegga/server.d.ts.map +1 -0
  183. package/dist/omegga/server.js +601 -0
  184. package/dist/omegga/server.js.map +1 -0
  185. package/dist/omegga/types.d.ts +48 -0
  186. package/dist/omegga/types.d.ts.map +1 -0
  187. package/dist/omegga/types.js +3 -0
  188. package/dist/omegga/types.js.map +1 -0
  189. package/dist/omegga/wrapper.d.ts +22 -0
  190. package/dist/omegga/wrapper.d.ts.map +1 -0
  191. package/dist/omegga/wrapper.js +75 -0
  192. package/dist/omegga/wrapper.js.map +1 -0
  193. package/dist/omeggaplugin.d.ts +1 -0
  194. package/dist/omeggaplugin.js +4 -0
  195. package/dist/omeggaplugin.js.map +1 -0
  196. package/dist/plugin.d.ts +781 -0
  197. package/dist/plugin.js +41 -0
  198. package/dist/plugin.js.map +1 -0
  199. package/dist/softconfig.d.ts +51 -0
  200. package/dist/softconfig.d.ts.map +1 -0
  201. package/dist/softconfig.js +82 -0
  202. package/dist/softconfig.js.map +1 -0
  203. package/dist/util/brick/checkBounds.d.ts +8 -0
  204. package/dist/util/brick/checkBounds.d.ts.map +1 -0
  205. package/dist/util/brick/checkBounds.js +22 -0
  206. package/dist/util/brick/checkBounds.js.map +1 -0
  207. package/dist/util/brick/constants.d.ts +18 -0
  208. package/dist/util/brick/constants.d.ts.map +1 -0
  209. package/dist/util/brick/constants.js +184 -0
  210. package/dist/util/brick/constants.js.map +1 -0
  211. package/dist/util/brick/getBounds.d.ts +4 -0
  212. package/dist/util/brick/getBounds.d.ts.map +1 -0
  213. package/dist/util/brick/getBounds.js +39 -0
  214. package/dist/util/brick/getBounds.js.map +1 -0
  215. package/dist/util/brick/getBrickSize.d.ts +3 -0
  216. package/dist/util/brick/getBrickSize.d.ts.map +1 -0
  217. package/dist/util/brick/getBrickSize.js +12 -0
  218. package/dist/util/brick/getBrickSize.js.map +1 -0
  219. package/dist/util/brick/getScaleAxis.d.ts +3 -0
  220. package/dist/util/brick/getScaleAxis.d.ts.map +1 -0
  221. package/dist/util/brick/getScaleAxis.js +38 -0
  222. package/dist/util/brick/getScaleAxis.js.map +1 -0
  223. package/dist/util/brick/index.d.ts +13 -0
  224. package/dist/util/brick/index.d.ts.map +1 -0
  225. package/dist/util/brick/index.js +29 -0
  226. package/dist/util/brick/index.js.map +1 -0
  227. package/dist/util/brick/rotate.d.ts +17 -0
  228. package/dist/util/brick/rotate.d.ts.map +1 -0
  229. package/dist/util/brick/rotate.js +38 -0
  230. package/dist/util/brick/rotate.js.map +1 -0
  231. package/dist/util/brick/setOwnership.d.ts +12 -0
  232. package/dist/util/brick/setOwnership.d.ts.map +1 -0
  233. package/dist/util/brick/setOwnership.js +21 -0
  234. package/dist/util/brick/setOwnership.js.map +1 -0
  235. package/dist/util/chat.d.ts +23 -0
  236. package/dist/util/chat.d.ts.map +1 -0
  237. package/dist/util/chat.js +50 -0
  238. package/dist/util/chat.js.map +1 -0
  239. package/dist/util/color.d.ts +13 -0
  240. package/dist/util/color.d.ts.map +1 -0
  241. package/dist/util/color.js +130 -0
  242. package/dist/util/color.js.map +1 -0
  243. package/dist/util/file.d.ts +5 -0
  244. package/dist/util/file.d.ts.map +1 -0
  245. package/dist/util/file.js +114 -0
  246. package/dist/util/file.js.map +1 -0
  247. package/dist/util/index.d.ts +162 -0
  248. package/dist/util/index.d.ts.map +1 -0
  249. package/dist/util/index.js +92 -0
  250. package/dist/util/index.js.map +1 -0
  251. package/dist/util/map.d.ts +6 -0
  252. package/dist/util/map.d.ts.map +1 -0
  253. package/dist/util/map.js +26 -0
  254. package/dist/util/map.js.map +1 -0
  255. package/dist/util/pattern.d.ts +1 -0
  256. package/dist/util/pattern.d.ts.map +1 -0
  257. package/dist/util/pattern.js +11 -0
  258. package/dist/util/pattern.js.map +1 -0
  259. package/dist/util/time.d.ts +4 -0
  260. package/dist/util/time.d.ts.map +1 -0
  261. package/dist/util/time.js +41 -0
  262. package/dist/util/time.js.map +1 -0
  263. package/dist/util/uuid.d.ts +2 -0
  264. package/dist/util/uuid.d.ts.map +1 -0
  265. package/dist/util/uuid.js +8 -0
  266. package/dist/util/uuid.js.map +1 -0
  267. package/dist/util/wsl.d.ts +1 -0
  268. package/dist/util/wsl.d.ts.map +1 -0
  269. package/dist/util/wsl.js +14 -0
  270. package/dist/util/wsl.js.map +1 -0
  271. package/dist/webserver/backend/api.d.ts +3 -0
  272. package/dist/webserver/backend/api.d.ts.map +1 -0
  273. package/dist/webserver/backend/api.js +685 -0
  274. package/dist/webserver/backend/api.js.map +1 -0
  275. package/dist/webserver/backend/calendar.d.ts +5 -0
  276. package/dist/webserver/backend/calendar.d.ts.map +1 -0
  277. package/dist/webserver/backend/calendar.js +21 -0
  278. package/dist/webserver/backend/calendar.js.map +1 -0
  279. package/dist/webserver/backend/database.d.ts +149 -0
  280. package/dist/webserver/backend/database.d.ts.map +1 -0
  281. package/dist/webserver/backend/database.js +575 -0
  282. package/dist/webserver/backend/database.js.map +1 -0
  283. package/dist/webserver/backend/index.d.ts +31 -0
  284. package/dist/webserver/backend/index.d.ts.map +1 -0
  285. package/dist/webserver/backend/index.js +189 -0
  286. package/dist/webserver/backend/index.js.map +1 -0
  287. package/dist/webserver/backend/metrics.d.ts +3 -0
  288. package/dist/webserver/backend/metrics.d.ts.map +1 -0
  289. package/dist/webserver/backend/metrics.js +203 -0
  290. package/dist/webserver/backend/metrics.js.map +1 -0
  291. package/dist/webserver/backend/types.d.ts +115 -0
  292. package/dist/webserver/backend/types.d.ts.map +1 -0
  293. package/dist/webserver/backend/types.js +3 -0
  294. package/dist/webserver/backend/types.js.map +1 -0
  295. package/dist/webserver/backend/util.d.ts +2 -0
  296. package/dist/webserver/backend/util.d.ts.map +1 -0
  297. package/dist/webserver/backend/util.js +78 -0
  298. package/dist/webserver/backend/util.js.map +1 -0
  299. package/dist/webserver/index.d.ts +2 -0
  300. package/dist/webserver/index.d.ts.map +1 -0
  301. package/dist/webserver/index.js +9 -0
  302. package/dist/webserver/index.js.map +1 -0
  303. package/{src/webserver/frontend → frontend}/app.html +0 -0
  304. package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceBold.ttf +0 -0
  305. package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceItalic.otf +0 -0
  306. package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceMedium.otf +0 -0
  307. package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceRegular.ttf +0 -0
  308. package/{src/webserver/frontend → frontend}/assets/fonts/RobotoBold.ttf +0 -0
  309. package/{src/webserver/frontend → frontend}/assets/fonts/RobotoItalic.ttf +0 -0
  310. package/{src/webserver/frontend → frontend}/assets/fonts/RobotoRegular.ttf +0 -0
  311. package/{src/webserver/frontend → frontend}/assets/img/auth_bg.webp +0 -0
  312. package/{src/webserver/frontend → frontend}/assets/img/dark_bg.webp +0 -0
  313. package/{src/webserver/frontend → frontend}/assets/img/turkey.webp +0 -0
  314. package/{src/webserver/frontend → frontend}/auth.html +0 -0
  315. package/index.js +10 -2
  316. package/package.json +44 -16
  317. package/public/app.bundle.js +537 -73
  318. package/public/app.bundle.js.map +1 -1
  319. package/public/app.css +727 -2
  320. package/public/app.css.map +1 -1
  321. package/public/auth.bundle.js +18 -18
  322. package/public/auth.bundle.js.map +1 -1
  323. package/public/auth.css +364 -2
  324. package/public/auth.css.map +1 -1
  325. package/templates/rpc/README.md +29 -0
  326. package/templates/rpc/doc.json +7 -0
  327. package/templates/rpc/omegga_plugin +0 -0
  328. package/templates/rpc/plugin.json +4 -0
  329. package/templates/rpc/setup.sh +3 -0
  330. package/templates/safe/README.md +29 -0
  331. package/templates/safe/access.json +1 -0
  332. package/templates/safe/doc.json +7 -0
  333. package/templates/safe/omegga.plugin.js +20 -0
  334. package/templates/safe/plugin.json +4 -0
  335. package/templates/safe/setup.sh +4 -0
  336. package/templates/safe-ts/README.md +29 -0
  337. package/templates/safe-ts/access.json +1 -0
  338. package/templates/safe-ts/doc.json +7 -0
  339. package/templates/safe-ts/omegga.plugin.ts +29 -0
  340. package/templates/safe-ts/plugin.json +4 -0
  341. package/templates/safe-ts/setup.sh +4 -0
  342. package/templates/safe-ts/tsconfig.json +10 -0
  343. package/templates/unsafe/README.md +29 -0
  344. package/templates/unsafe/doc.json +7 -0
  345. package/templates/unsafe/omegga.main.js +15 -0
  346. package/templates/unsafe/plugin.json +4 -0
  347. package/templates/unsafe/setup.sh +4 -0
  348. package/.prettierrc +0 -7
  349. package/src/OMEGGA_LEGACY_INSTALL +0 -44
  350. package/src/brickadia/config.js +0 -42
  351. package/src/brickadia/server.js +0 -227
  352. package/src/cli/auth.js +0 -104
  353. package/src/cli/config.js +0 -77
  354. package/src/cli/index.js +0 -6
  355. package/src/cli/installer.js +0 -65
  356. package/src/cli/plugin.js +0 -575
  357. package/src/cli/terminal.js +0 -466
  358. package/src/config/authorizer.js +0 -37
  359. package/src/config/formats/format_js.js +0 -6
  360. package/src/config/formats/format_yml.js +0 -8
  361. package/src/config/index.js +0 -81
  362. package/src/config/reader.js +0 -27
  363. package/src/config/validator.js +0 -32
  364. package/src/config/writer.js +0 -20
  365. package/src/info/default_commands.json +0 -26
  366. package/src/lib.js +0 -23
  367. package/src/main.js +0 -332
  368. package/src/omegga/auth.js +0 -138
  369. package/src/omegga/commandInjector.js +0 -228
  370. package/src/omegga/index.js +0 -22
  371. package/src/omegga/logWrangler.js +0 -323
  372. package/src/omegga/matchers/auth.js +0 -49
  373. package/src/omegga/matchers/chat.js +0 -73
  374. package/src/omegga/matchers/command.js +0 -39
  375. package/src/omegga/matchers/exit.js +0 -19
  376. package/src/omegga/matchers/init.js +0 -23
  377. package/src/omegga/matchers/join.js +0 -115
  378. package/src/omegga/matchers/leave.js +0 -58
  379. package/src/omegga/matchers/mapChange.js +0 -37
  380. package/src/omegga/matchers/version.js +0 -45
  381. package/src/omegga/player.js +0 -585
  382. package/src/omegga/plugin/plugin_jsonrpc_stdio.js +0 -526
  383. package/src/omegga/plugin/plugin_node_safe/proxyOmegga.js +0 -117
  384. package/src/omegga/plugin/plugin_node_safe/worker.js +0 -238
  385. package/src/omegga/plugin/plugin_node_safe.js +0 -473
  386. package/src/omegga/plugin/plugin_node_unsafe.js +0 -177
  387. package/src/omegga/plugin.js +0 -565
  388. package/src/omegga/server.js +0 -658
  389. package/src/omegga/wrapper.js +0 -62
  390. package/src/softconfig.js +0 -64
  391. package/src/util/brick/checkBounds.js +0 -22
  392. package/src/util/brick/constants.js +0 -185
  393. package/src/util/brick/getBounds.js +0 -36
  394. package/src/util/brick/getBrickSize.js +0 -9
  395. package/src/util/brick/getScaleAxis.js +0 -31
  396. package/src/util/brick/index.js +0 -9
  397. package/src/util/brick/rotate.js +0 -43
  398. package/src/util/brick/setOwnership.js +0 -20
  399. package/src/util/chat.js +0 -28
  400. package/src/util/color.js +0 -143
  401. package/src/util/file.js +0 -119
  402. package/src/util/index.js +0 -28
  403. package/src/util/map.js +0 -28
  404. package/src/util/pattern.js +0 -14
  405. package/src/util/time.js +0 -46
  406. package/src/util/uuid.js +0 -8
  407. package/src/util/wsl.js +0 -9
  408. package/src/webserver/backend/api.js +0 -795
  409. package/src/webserver/backend/calendar.js +0 -15
  410. package/src/webserver/backend/database.js +0 -725
  411. package/src/webserver/backend/index.js +0 -206
  412. package/src/webserver/backend/metrics.js +0 -148
  413. package/src/webserver/backend/util.js +0 -75
  414. package/src/webserver/frontend/.eslintrc.yml +0 -26
  415. package/src/webserver/frontend/app.js +0 -78
  416. package/src/webserver/frontend/auth.js +0 -16
  417. package/src/webserver/frontend/components/Background.vue +0 -83
  418. package/src/webserver/frontend/components/Button.vue +0 -105
  419. package/src/webserver/frontend/components/ChatEntry.vue +0 -107
  420. package/src/webserver/frontend/components/ChatTime.vue +0 -40
  421. package/src/webserver/frontend/components/Dimmer.vue +0 -43
  422. package/src/webserver/frontend/components/Dropdown.vue +0 -145
  423. package/src/webserver/frontend/components/Footer.vue +0 -29
  424. package/src/webserver/frontend/components/Header.vue +0 -27
  425. package/src/webserver/frontend/components/InfiniteScroll.vue +0 -51
  426. package/src/webserver/frontend/components/Input.vue +0 -93
  427. package/src/webserver/frontend/components/ListInput.vue +0 -105
  428. package/src/webserver/frontend/components/Loader.vue +0 -98
  429. package/src/webserver/frontend/components/MainMenuButton.vue +0 -83
  430. package/src/webserver/frontend/components/Modal.vue +0 -44
  431. package/src/webserver/frontend/components/NavBar.vue +0 -24
  432. package/src/webserver/frontend/components/PlayerDropdown.vue +0 -210
  433. package/src/webserver/frontend/components/PopoutContent.vue +0 -32
  434. package/src/webserver/frontend/components/RoleDropdown.vue +0 -157
  435. package/src/webserver/frontend/components/Scroll.vue +0 -33
  436. package/src/webserver/frontend/components/Toggle.vue +0 -91
  437. package/src/webserver/frontend/components/index.js +0 -33
  438. package/src/webserver/frontend/css/font.scss +0 -53
  439. package/src/webserver/frontend/css/mixins.scss +0 -49
  440. package/src/webserver/frontend/css/style.scss +0 -166
  441. package/src/webserver/frontend/css/theme.scss +0 -64
  442. package/src/webserver/frontend/partials/NavHeader.vue +0 -55
  443. package/src/webserver/frontend/partials/Page.vue +0 -40
  444. package/src/webserver/frontend/partials/PageContent.vue +0 -31
  445. package/src/webserver/frontend/partials/SideNav.vue +0 -115
  446. package/src/webserver/frontend/partials/index.js +0 -4
  447. package/src/webserver/frontend/router.js +0 -83
  448. package/src/webserver/frontend/views/Auth.vue +0 -190
  449. package/src/webserver/frontend/views/History.vue +0 -462
  450. package/src/webserver/frontend/views/Home.vue +0 -251
  451. package/src/webserver/frontend/views/Main.vue +0 -69
  452. package/src/webserver/frontend/views/NotFound.vue +0 -10
  453. package/src/webserver/frontend/views/Players.vue +0 -425
  454. package/src/webserver/frontend/views/PlayersInspector.vue +0 -538
  455. package/src/webserver/frontend/views/Plugins.vue +0 -217
  456. package/src/webserver/frontend/views/PluginsInspector.vue +0 -418
  457. package/src/webserver/frontend/views/Server.vue +0 -167
  458. package/src/webserver/frontend/views/Users.vue +0 -538
  459. package/src/webserver/frontend/widgets/Chat.vue +0 -124
  460. package/src/webserver/frontend/widgets/Status.vue +0 -91
  461. package/src/webserver/frontend/widgets/index.js +0 -2
  462. package/src/webserver/frontend/widgets/tooltip.js +0 -108
  463. package/src/webserver/index.js +0 -4
@@ -0,0 +1,20 @@
1
+ {
2
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
3
+ "editor.formatOnSave": true,
4
+ "eslint.format.enable": true,
5
+ "editor.tabSize": 2,
6
+ "files.trimTrailingWhitespace": true,
7
+ "files.eol": "\n",
8
+ "typescript.updateImportsOnFileMove.enabled": "always",
9
+ "typescript.preferences.quoteStyle": "single",
10
+ "typescript.preferences.importModuleSpecifierEnding": "minimal",
11
+ "javascript.updateImportsOnFileMove.enabled": "always",
12
+ "javascript.preferences.quoteStyle": "single",
13
+ "javascript.preferences.importModuleSpecifierEnding": "minimal",
14
+ "eslint.lintTask.enable": true,
15
+ "git.autofetch": true,
16
+ "editor.linkedEditing": true,
17
+ "[typescript]": {
18
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
19
+ }
20
+ }
package/README.md CHANGED
@@ -80,7 +80,7 @@ Alternatively, you can use a development/local omegga.
80
80
  # point development omegga to global npm bin
81
81
  npm link
82
82
 
83
- # build the web ui (once)
83
+ # build the web ui, build omegga's typescript, and the plugin omegga.d.ts
84
84
  npm run dist
85
85
 
86
86
  If you accidentally install both from Github and `npm i -g omegga`, you can run `npm unlink omegga` to stop npm from using the git one.
@@ -174,6 +174,7 @@ Narrow down where the issue might be with the following options:
174
174
  - If your brickadia is crashing and omegga works, type `/debug` into omegga console or run with `omegga --debug`
175
175
  - If your omegga isn't starting, run with `omegga --verbose`
176
176
  - If a plugin is crashing, message the plugin developer
177
+ - If you are on Ubuntu and the output of `which npm` is `/bin/npm`, run `sudo apt purge nodejs` and restart install instructions from `nvm install 16`.
177
178
  - If you're getting an EACCES error when running `npm i -g omegga`:
178
179
  1. First, try [this](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally).
179
180
  2. If that doesn't work, try this horrible bodge method for WSL:
@@ -271,6 +272,22 @@ Plugins can be updated with `omegga update` or `omegga update pluginName another
271
272
 
272
273
  Plugins may also need to be updated based on the project's README file.
273
274
 
275
+ ## Creating Plugins
276
+
277
+ Plugins can be created manually using the file structure described below, or they can be initialized automatically using `omegga init-plugin`:
278
+
279
+ `omegga init-plugin [--type <type>] [--author <author>] <plugin-name>`
280
+
281
+ If the current working directory is an Omegga installation, the initialized plugin will be placed in the `plugins` directory. Otherwise,
282
+ it will be created at the current working directory.
283
+
284
+ For most cases, you will find yourself using `safe` or `safe-ts` plugins, but the valid plugin types to pass to `--type` are
285
+
286
+ - `safe` (default), the standard Node VM plugin type
287
+ - `safe-ts`, a `safe` plugin using TS
288
+ - `unsafe`, an unsafe plugin with raw access to internal Omegga APIs
289
+ - `rpc`, a plugin that will interface another executable using RPC over STDIN/STDOUT
290
+
274
291
  ## Plugin Structure
275
292
 
276
293
  All plugins are located in a `plugins` directory where you are running Omegga:
@@ -559,6 +576,62 @@ class PluginName {
559
576
  module.exports = PluginName;
560
577
  ```
561
578
 
579
+ ### `omegga.plugin.ts` (example)
580
+
581
+ Be sure to put `.build/` and `node_modules/` in your `.gitignore`
582
+
583
+ **Requires a `tsconfig.json`**:
584
+
585
+ ```json
586
+ {
587
+ "compilerOptions": {
588
+ "noEmit": true,
589
+ "esModuleInterop": true,
590
+ "moduleResolution": "node",
591
+ "resolveJsonModule": true,
592
+ "target": "es2020",
593
+ "baseUrl": ".",
594
+ "paths": {
595
+ "omegga/*": ["node_modules/omegga/dist/*"]
596
+ }
597
+ }
598
+ }
599
+ ```
600
+
601
+ `omegga.plugin.ts`:
602
+
603
+ ```ts
604
+ import type { OmeggaPlugin, OL, PS, PC } from 'omegga/plugin';
605
+
606
+ type Config = { foo: string };
607
+ type Storage = { bar: string };
608
+
609
+ export default class Plugin implements OmeggaPlugin<Config, Storage> {
610
+ omegga: OL;
611
+ config: PC<Config>;
612
+ store: PS<Storage>;
613
+
614
+ constructor(omegga: OL, config: PC<Config>, store: PS<Storage>) {
615
+ this.omegga = omegga;
616
+ this.config = config;
617
+ this.store = store;
618
+ }
619
+
620
+ async init() {
621
+ // Write your plugin!
622
+ this.omegga.on('cmd:test', (speaker: string) => {
623
+ this.omegga.broadcast(`Hello, ${speaker}!`);
624
+ });
625
+
626
+ return { registeredCommands: ['test'] };
627
+ }
628
+
629
+ async stop() {
630
+ // Anything that needs to be cleaned up...
631
+ }
632
+ }
633
+ ```
634
+
562
635
  ## Node Plugins
563
636
 
564
637
  Node plugins are effectively `require`'d into omegga. They have the potential to crash the entire service through uncaught exceptions and also can be insecure. Develop and run these at your own risk - your server stability may suffer.
@@ -623,70 +696,77 @@ Register custom `/commands` by returning `{registeredCommands: ['foo', 'bar']}`
623
696
 
624
697
  ### Omegga Methods (You can access these)
625
698
 
626
- | Method | Arguments | Description | Returns |
627
- | ------------------------------ | ---------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------------- |
628
- | `log` | line (string) | Prints message to omegga console | |
629
- | `error` | line (string) | Same as `log` but with different colors | |
630
- | `info` | line (string) | Same as `log` but with different colors | |
631
- | `warn` | line (string) | Same as `log` but with different colors | |
632
- | `trace` | line (string) | Same as `log` but with different colors | |
633
- | `store.get` | key (string) | Get an object from plugin store | Object |
634
- | `store.set` | [key (string), value (any)] | Store an object in plugin store | |
635
- | `store.delete` | key (string) | Remove an object from plugin store | |
636
- | `store.wipe` | _none_ | Remove all objects from plugin store | |
637
- | `store.count` | _none_ | Count number of objects in plugin store | Integer |
638
- | `store.keys` | _none_ | Get keys for all objects in plugin store | List of Strings |
639
- | `exec` | cmd (string) | Writes a console command to Brickadia | |
640
- | `writeln` | cmd (string) | Same as `exec` | |
641
- | `broadcast` | line (string) | Broadcasts a message to the server | |
642
- | `whisper` | {target: string, line: string} | Sends a message to a specific client | |
643
- | `getPlayers` | _none_ | Online players | List of Players |
644
- | `getAllPlayerPositions` | _none_ | An array of objects with fields `pos` and `player`. | List of { _Player Object_(...), _Position_(...), isDead(bool) } |
645
- | `getRoleSetup` | _none_ | Server roles | _JSON Data_ |
646
- | `getBanList` | _none_ | List of bans | _JSON Data_ |
647
- | `getSaves` | _none_ | Saves in the saves directory | List Strings |
648
- | `getSavePath` | name (string) | The path to a specific save | String |
649
- | `getSaveData` | _none_ | Current save as brs-js data | _BRS Object_ |
650
- | `clearBricks` | {target: string, quiet: bool} | Clears a specific player's bricks | |
651
- | `clearAllBricks` | quiet | Clears all bricks on the server | |
652
- | `saveBricks` | name (string) | Save bricks to a save named `name` | |
653
- | `loadBricks` | {name: string, offX, offY, offY, quiet: bool} | Load bricks of save named `name` | |
654
- | `readSaveData` | name (string) | Parses save into a brs-js save object, returns the object | _BRS Object_ |
655
- | `loadSaveData` | {data: object, offX, offY, offY, quiet: bool} | Builds brs file from data, loads the file | |
656
- | `changeMap` | map (string) | Change map to specified map name, returns success | Boolean |
657
- | `player.get` | target (string) | Gets the player by their name or UUID. | `{name, id, controller, state, host: bool}` |
658
- | `player.getRoles` | target (string) | Target's roles | |
659
- | `player.getPermissions` | target (string) | Target's permissions | List of Strings |
660
- | `player.getNameColor` | target (string) | Target's name color | _RGB Hex Object_ (int, int ,int) |
661
- | `player.getPosition` | target (string) | Target's position | _Position Object_ |
662
- | `player.getGhostBrick` | target (string) | Target's ghost brick | {targetGrid, location(_Location_), orientation} |
663
- | `player.getPaint` | target (string) | Target's current paint selection | {materialIndex, materialAlpha, material, color)} |
664
- | `player.getTemplateBounds` | target (string) | Target's template/selection bounds | {minBound, maxBound, Center} |
665
- | `player.getTemplateBoundsData` | target (string) | Target's template/selection as brs-js save data | _Brick Object_ |
666
- | `player.loadDataAtGhostBrick` | {target, data, rotate=true, offX, offY, offZ, quiet} | Loads brs-js save data at the target's selection bounds | |
667
- | `plugin.get` | target (string) | Gets info on the target plugin | Object |
668
- | `plugin.emit` | [target (string), event (string), ...args (any)] | Emit a custom event to the target plugin | |
699
+ | Method | Arguments | Description | Returns |
700
+ | ------------------------------ | ---------------------------------------------------- | ------------------------------------------------------------------- | --------------------------------------------------------------- |
701
+ | `log` | line (string) | Prints message to omegga console | |
702
+ | `error` | line (string) | Same as `log` but with different colors | |
703
+ | `info` | line (string) | Same as `log` but with different colors | |
704
+ | `debug` | line (string) | Same as `log` but with different colors | |
705
+ | `warn` | line (string) | Same as `log` but with different colors | |
706
+ | `trace` | line (string) | Same as `log` but with different colors | |
707
+ | `store.get` | key (string) | Get an object from plugin store | Object |
708
+ | `store.set` | [key (string), value (any)] | Store an object in plugin store | |
709
+ | `store.delete` | key (string) | Remove an object from plugin store | |
710
+ | `store.wipe` | _none_ | Remove all objects from plugin store | |
711
+ | `store.count` | _none_ | Count number of objects in plugin store | Integer |
712
+ | `store.keys` | _none_ | Get keys for all objects in plugin store | List of Strings |
713
+ | `exec` | cmd (string) | Writes a console command to Brickadia | |
714
+ | `writeln` | cmd (string) | Same as `exec` | |
715
+ | `broadcast` | line (string) | Broadcasts a message to the server | |
716
+ | `whisper` | {target: string, line: string} | Sends a message to a specific client | |
717
+ | `middlePrint` | {target: string, line: string} | Sends a middle print message to a specific client | |
718
+ | `getPlayers` | _none_ | Online players | List of Players |
719
+ | `getAllPlayerPositions` | _none_ | An array of objects with fields `pos` and `player`. | List of { _Player Object_(...), _Position_(...), isDead(bool) } |
720
+ | `getRoleSetup` | _none_ | Server roles | _JSON Data_ |
721
+ | `getBanList` | _none_ | List of bans | _JSON Data_ |
722
+ | `getSaves` | _none_ | Saves in the saves directory | List Strings |
723
+ | `getSavePath` | name (string) | The path to a specific save | String |
724
+ | `getSaveData` | _none_ | Current save as brs-js data | _BRS Object_ |
725
+ | `clearBricks` | {target: string, quiet: bool} | Clears a specific player's bricks | |
726
+ | `clearAllBricks` | quiet | Clears all bricks on the server | |
727
+ | `saveBricks` | name (string) | Save bricks to a save named `name` | |
728
+ | `loadBricks` | {name: string, offX, offY, offY, quiet: bool} | Load bricks of save named `name` | |
729
+ | `loadBricksOnPlayer` | {name: string, player: string, offX, offY, offY} | Load bricks of save named `name` on player clipboard | |
730
+ | `readSaveData` | name (string) | Parses save into a brs-js save object, returns the object | _BRS Object_ |
731
+ | `loadSaveData` | {data: object, offX, offY, offY, quiet: bool} | Builds brs file from data, loads the file | |
732
+ | `loadSaveDataOnPlayer` | {data: object, player: string, offX, offY, offY} | Builds brs file from data, loads the file onto a player's clipboard | |
733
+ | `changeMap` | map (string) | Change map to specified map name, returns success | Boolean |
734
+ | `player.get` | target (string) | Gets the player by their name or UUID. | `{name, id, controller, state, host: bool}` |
735
+ | `player.getRoles` | target (string) | Target's roles | |
736
+ | `player.getPermissions` | target (string) | Target's permissions | List of Strings |
737
+ | `player.getNameColor` | target (string) | Target's name color | _RGB Hex Object_ (int, int ,int) |
738
+ | `player.getPosition` | target (string) | Target's position | _Position Object_ |
739
+ | `player.getGhostBrick` | target (string) | Target's ghost brick | {targetGrid, location(_Location_), orientation} |
740
+ | `player.getPaint` | target (string) | Target's current paint selection | {materialIndex, materialAlpha, material, color)} |
741
+ | `player.getTemplateBounds` | target (string) | Target's template/selection bounds | {minBound, maxBound, Center} |
742
+ | `player.getTemplateBoundsData` | target (string) | Target's template/selection as brs-js save data | _Brick Object_ |
743
+ | `player.loadSaveData` | {target, data, offX, offY, offZ} | Loads brs-js save data to the targets clipboard | |
744
+ | `player.loadDataAtGhostBrick` | {target, data, rotate=true, offX, offY, offZ, quiet} | Loads brs-js save data at the target's selection bounds | |
745
+ | `plugin.get` | target (string) | Gets info on the target plugin | Object |
746
+ | `plugin.emit` | [target (string), event (string), ...args (any)] | Emit a custom event to the target plugin | |
669
747
 
670
748
  ### Plugin Methods (You implement these)
671
749
 
672
- | Method | Arguments | Description | Required |
673
- | -------------------- | ---------------------------------------------------- | ---------------------------------------------- | -------- |
674
- | `init` | config object | Returns a start result, called on plugin start | &#9745; |
675
- | `stop` | _none_ | Returns _something_, called on plugin stop | &#9745; |
676
- | `bootstrap` | [{ omegga info (`host`, `version`, etc) }] | Run when plugin is started for base data | |
677
- | `plugin:players:raw` | [[... [player `name`, `id`, `controller`, `state`]]] | Lists players on the server | |
678
- | `plugin:emit` | [event, from, ...args] | Fired when anotehr plugin sends an event | |
679
- | `line` | [brickadiaLog string] | A brickadia console log | |
680
- | `start` | [{map}] | On brickadia server start | |
681
- | `host` | [{name, id}] | When the host is detected | |
682
- | `version` | [-1 or the CL number] | When the version is detected | |
683
- | `unauthorized` | _none_ | On brickadia server fails an auth check | |
684
- | `join` | [{name, id, state, controller}] | Run when a player joins | |
685
- | `leave` | [{name, id, state, controller}] | Run when a player leaves | |
686
- | `cmd:command` | [playerName, ...args] | Runs when a player runs a `/command args` | |
687
- | `chatcmd:command` | [playerName, ...args] | Runs when a player runs a `!command args` | |
688
- | `chat` | [playerName, message] | Runs when a player sends a chat message | |
689
- | `mapchange` | [{map}] | Runs when the map changes | |
750
+ | Method | Arguments | Description | Required |
751
+ | -------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | -------- |
752
+ | `init` | config object | Returns a start result, called on plugin start | &#9745; |
753
+ | `stop` | _none_ | Returns _something_, called on plugin stop | &#9745; |
754
+ | `bootstrap` | [{ omegga info (`host`, `version`, etc) }] | Run when plugin is started for base data | |
755
+ | `plugin:players:raw` | [[... [player `name`, `id`, `controller`, `state`]]] | Lists players on the server | |
756
+ | `plugin:emit` | [event, from, ...args] | Fired when anotehr plugin sends an event | |
757
+ | `line` | [brickadiaLog string] | A brickadia console log | |
758
+ | `start` | [{map}] | On brickadia server start | |
759
+ | `host` | [{name, id}] | When the host is detected | |
760
+ | `version` | [-1 or the CL number] | When the version is detected | |
761
+ | `unauthorized` | _none_ | On brickadia server fails an auth check | |
762
+ | `join` | [{name, id, state, controller}] | Run when a player joins | |
763
+ | `leave` | [{name, id, state, controller}] | Run when a player leaves | |
764
+ | `cmd:command` | [playerName, ...args] | Runs when a player runs a `/command args` | |
765
+ | `chatcmd:command` | [playerName, ...args] | Runs when a player runs a `!command args` | |
766
+ | `chat` | [playerName, message] | Runs when a player sends a chat message | |
767
+ | `interact` | {brick_asset: string;player: { id: string; name: string; controller: string; pawn: string };position: [number, number, number];} | Runs when a player clicks a brick with an interact component | |
768
+ | `mapchange` | [{map}] | Runs when the map changes | |
769
+ | `autorestart` | [autorestart config] | Runs server has an autorestart scheduled | |
690
770
 
691
771
  ### Folder Structure
692
772
 
package/bin/omegga CHANGED
@@ -3,13 +3,19 @@
3
3
  const isBrickInstalled = require('hasbin').sync('brickadia');
4
4
 
5
5
  // check if a local brickadia is installed
6
- const isLocal = !isBrickInstalled && require('fs').existsSync(require('../src/softconfig.js').LOCAL_LAUNCHER);
6
+ const isLocal =
7
+ !isBrickInstalled &&
8
+ require('fs').existsSync(require('../dist/softconfig.js').LOCAL_LAUNCHER);
7
9
 
8
10
  if (!isBrickInstalled && !isLocal) {
9
11
  require('colors');
10
- console.error('!>'.red, 'brickadia launcher'.yellow.underline, 'must be installed for omegga to run');
12
+ console.error(
13
+ '!>'.red,
14
+ 'brickadia launcher'.yellow.underline,
15
+ 'must be installed for omegga to run'
16
+ );
11
17
 
12
- require('../src/cli/installer.js');
18
+ require('../dist/cli/installer.js');
13
19
  } else {
14
- require('../src/main.js');
20
+ require('../dist/main.js');
15
21
  }
@@ -0,0 +1,3 @@
1
+ import { IConfig } from "../config/types";
2
+ export declare function write(serverPath: string, config: IConfig): void;
3
+ export declare function read(): void;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/brickadia/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,wBAAsB;AAUxC,wBAAgB,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,QA0BxD;AAED,wBAAgB,IAAI,SAEnB"}
@@ -0,0 +1,61 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.read = exports.write = void 0;
30
+ const fs_1 = __importDefault(require("fs"));
31
+ const path_1 = __importDefault(require("path"));
32
+ const file = __importStar(require("../util/file"));
33
+ const CONFIG_PATH = 'Saved/Config/LinuxServer';
34
+ const SERVER_SETTINGS = '/ServerSettings.ini';
35
+ // Function that writes config
36
+ function write(serverPath, config) {
37
+ const configPath = path_1.default.join(serverPath, CONFIG_PATH);
38
+ const settingsPath = path_1.default.join(configPath, SERVER_SETTINGS);
39
+ file.mkdir(configPath);
40
+ fs_1.default.writeFileSync(settingsPath, `[Server__BP_ServerSettings_General_C BP_ServerSettings_General_C]
41
+ MaxSelectedBricks=1000
42
+ MaxPlacedBricks=1000
43
+ SelectionTimeout=2.000000
44
+ PlaceTimeout=2.000000
45
+ ServerName=${config.server.name || ''}
46
+ ServerDescription=${config.server.description || ''}
47
+ ServerPassword=${config.server.password || ''}
48
+ MaxPlayers=${config.server.players || 20}
49
+ bPubliclyListed=${'publiclyListed' in config.server || config.server.publiclyListed
50
+ ? 'True'
51
+ : 'False'}
52
+ WelcomeMessage="${config.server.welcomeMessage || ''}"
53
+ bGlobalRulesetSelfDamage=True
54
+ bGlobalRulesetPhysicsDamage=False`);
55
+ }
56
+ exports.write = write;
57
+ function read() {
58
+ // TODO: Implement server config reading
59
+ }
60
+ exports.read = read;
61
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/brickadia/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAAoB;AACpB,gDAAwB;AAExB,mDAAqC;AAErC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAC/C,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAE9C,8BAA8B;AAC9B,SAAgB,KAAK,CAAC,UAAkB,EAAE,MAAe;IACvD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACtD,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;;;;;aAKS,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;kBAElC,gBAAgB,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc;QAC/D,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OACN;kBACc,MAAM,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE;;kCAElB,CAC/B,CAAC;AACJ,CAAC;AA1BD,sBA0BC;AAED,SAAgB,IAAI;IAClB,wCAAwC;AAC1C,CAAC;AAFD,oBAEC"}
@@ -0,0 +1,65 @@
1
+ import { BRColor, BRVector } from './types';
2
+ export declare type Preset<T extends string, D> = {
3
+ formatVersion?: '1';
4
+ presetVersion?: '1';
5
+ type?: T;
6
+ data?: D;
7
+ };
8
+ export declare type EnvironmentPreset = Preset<'Environment', {
9
+ groups?: {
10
+ Sky?: {
11
+ timeOfDay?: number;
12
+ timeChangeSpeed?: number;
13
+ sunAngle?: number;
14
+ sunScale?: number;
15
+ sunHorizonScaleMultiplier?: number;
16
+ sunlightColor?: BRColor;
17
+ skyIntensity?: number;
18
+ skyColor?: BRColor;
19
+ moonScale?: number;
20
+ moonlightIntensity?: number;
21
+ moonlightColor?: BRColor;
22
+ starsIntensity?: number;
23
+ starsColor?: BRColor;
24
+ auroraIntensity?: number;
25
+ weatherIntensity?: BRColor;
26
+ rainSnow?: number;
27
+ cloudCoverage?: number;
28
+ cloudSpeedMultiplier?: number;
29
+ precipitationParticleAmount?: number;
30
+ bCloseLightning?: boolean;
31
+ rainVolume?: number;
32
+ closeThunderVolume?: number;
33
+ distantThunderVolume?: number;
34
+ windVolume?: number;
35
+ clearFogDensity?: number;
36
+ cloudyFogDensity?: number;
37
+ clearFogHeightFalloff?: number;
38
+ cloudyFogHeightFalloff?: number;
39
+ fogColor?: BRColor;
40
+ };
41
+ GroundPlate?: {
42
+ variance?: number;
43
+ varianceBrickSize?: number;
44
+ groundColor?: BRColor;
45
+ groundAccentColor?: BRColor;
46
+ isVisible?: boolean;
47
+ bUseStudTexture?: boolean;
48
+ };
49
+ Water?: {
50
+ waterHeight?: number;
51
+ waterAbsorption?: BRVector;
52
+ waterScattering?: BRVector;
53
+ waterFogIntensity?: number;
54
+ waterFogAmbientColor?: BRColor;
55
+ waterFogAmbientScale?: number;
56
+ waterFogScatteringColor?: BRColor;
57
+ waterFogScatteringScale?: number;
58
+ };
59
+ Ambience?: {
60
+ selectedAmbienceTypeInt?: number;
61
+ ambienceVolume?: number;
62
+ reverbEffect?: string;
63
+ };
64
+ };
65
+ }>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=presets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/brickadia/presets.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ /// <reference types="node" />
2
+ import { IConfig } from "../config/types";
3
+ import 'colors';
4
+ import EventEmitter from 'events';
5
+ export default class BrickadiaServer extends EventEmitter {
6
+ #private;
7
+ config: IConfig;
8
+ path: string;
9
+ constructor(dataPath: string, config: IConfig);
10
+ start(): void;
11
+ write(line: string): void;
12
+ writeln(line: string): void;
13
+ stop(): void;
14
+ cleanup(): void;
15
+ attachListeners(): void;
16
+ detachListeners(): void;
17
+ errorListener(line: string): void;
18
+ exitListener(...args: any[]): void;
19
+ lineListener(line: string): void;
20
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/brickadia/server.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,wBAAsB;AAKxC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAKtC,OAAO,QAAQ,CAAC;AAyChB,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,YAAY;;IAKvD,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;gBAED,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAe7C,KAAK;IA+DL,KAAK,CAAC,IAAI,EAAE,MAAM;IAwBlB,OAAO,CAAC,IAAI,EAAE,MAAM;IAKpB,IAAI;IAeJ,OAAO;IAcP,eAAe;IAQf,eAAe;IAQf,aAAa,CAAC,IAAI,EAAE,MAAM;IAc1B,YAAY,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAM3B,YAAY,CAAC,IAAI,EAAE,MAAM;CAG1B"}