script.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. const $ = require('jquery');
  2. const remote = require('electron').remote
  3. const shell = require('electron').shell
  4. const path = require('path')
  5. const os = require('os');
  6. const ag = require(path.join(__dirname, 'assets', 'js', 'assetguard.js'))
  7. const ProcessBuilder = require(path.join(__dirname, 'assets', 'js', 'processbuilder.js'))
  8. const mojang = require('mojang')
  9. const {GAME_DIRECTORY, DEFAULT_CONFIG} = require(path.join(__dirname, 'assets', 'js', 'constants.js'))
  10. $(document).on('ready', function(){
  11. console.log('okay');
  12. })
  13. document.onreadystatechange = function () {
  14. if (document.readyState == "complete") {
  15. // Bind close button.
  16. document.getElementById("frame_btn_close").addEventListener("click", function (e) {
  17. const window = remote.getCurrentWindow()
  18. window.close()
  19. })
  20. // Bind restore down button.
  21. document.getElementById("frame_btn_restoredown").addEventListener("click", function (e) {
  22. const window = remote.getCurrentWindow()
  23. if(window.isMaximized()){
  24. window.unmaximize();
  25. } else {
  26. window.maximize()
  27. }
  28. })
  29. // Bind minimize button.
  30. document.getElementById("frame_btn_minimize").addEventListener("click", function (e) {
  31. const window = remote.getCurrentWindow()
  32. window.minimize()
  33. })
  34. document.getElementById("menu_button").addEventListener('click', function(e){
  35. console.log('testing')
  36. testdownloads()
  37. })
  38. }
  39. }
  40. // Open web links in the user's default browser.
  41. $(document).on('click', 'a[href^="http"]', function(event) {
  42. event.preventDefault();
  43. //console.log(os.homedir())
  44. shell.openExternal(this.href)
  45. })
  46. testdownloads = async function(){
  47. //const lp = require(path.join(__dirname, 'assets', 'js', 'launchprocess.js'))
  48. let versionData = await ag.loadVersionData('1.11.2', GAME_DIRECTORY)
  49. await ag.validateAssets(versionData, GAME_DIRECTORY)
  50. console.log('assets done')
  51. await ag.validateLibraries(versionData, GAME_DIRECTORY)
  52. console.log('libs done')
  53. await ag.validateMiscellaneous(versionData, GAME_DIRECTORY)
  54. console.log('files done')
  55. const serv = await ag.validateDistribution('WesterosCraft-1.11.2', GAME_DIRECTORY)
  56. console.log('forge stuff done')
  57. ag.instance.on('dlcomplete', async function(){
  58. const forgeData = await ag.loadForgeData('WesterosCraft-1.11.2', GAME_DIRECTORY)
  59. const authUser = await mojang.auth('EMAIL', 'PASS', DEFAULT_CONFIG.getClientToken(), {
  60. name: 'Minecraft',
  61. version: 1
  62. })
  63. //lp.launchMinecraft(versionData, forgeData, GAME_DIRECTORY)
  64. //lp.launchMinecraft(versionData, GAME_DIRECTORY)
  65. let pb = new ProcessBuilder(GAME_DIRECTORY, serv, versionData, forgeData, authUser)
  66. const proc = pb.build()
  67. })
  68. ag.processDlQueues()
  69. }
  70. /**
  71. * Opens DevTools window if you type "wcdev" in sequence.
  72. * This will crash the program if you are using multiple
  73. * DevTools, for example the chrome debugger in VS Code.
  74. */
  75. const match = [87, 67, 68, 69, 86]
  76. let at = 0;
  77. document.addEventListener('keydown', function (e) {
  78. switch(e.keyCode){
  79. case match[0]:
  80. if(at === 0) ++at
  81. break
  82. case match[1]:
  83. if(at === 1) ++at
  84. break
  85. case match[2]:
  86. if(at === 2) ++at
  87. break
  88. case match[3]:
  89. if(at === 3) ++at
  90. break
  91. case match[4]:
  92. if(at === 4) ++at
  93. break
  94. default:
  95. at = 0
  96. }
  97. if(at === 5) {
  98. var window = remote.getCurrentWindow()
  99. window.toggleDevTools()
  100. at = 0
  101. }
  102. })