script.js 3.1 KB

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