script.js 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. var $ = 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. function timestamp(){
  8. let date = new Date();
  9. const month = date.getMonth() < 9 ? '0'.concat((date.getMonth()+1)) : date.getMonth()
  10. const day = date.getDate() < 10 ? '0'.concat(date.getDate()) : date.getDate();
  11. let hour = date.getHours() > 12 ? date.getHours() - 12 : date.getHours();
  12. hour = hour < 10 ? '0'.concat(hour) : hour
  13. const min = date.getMinutes() < 10 ? '0'.concat(date.getMinutes()) : date.getMinutes();
  14. const sec = date.getSeconds() < 10 ? '0'.concat(date.getSeconds()) : date.getSeconds();
  15. return os.EOL + '[' + month + '/' + day + '/' + date.getFullYear() + ' ' + hour + ':' + min + ':' + sec + ']'
  16. }
  17. $(document).on('ready', function(){
  18. $(".toggle-btn input[type=radio]").addClass("visuallyhidden");
  19. $(".toggle-btn input[type=radio]").change(function() {
  20. if($(this).attr("name")) {
  21. $(this).parent().addClass("success").siblings().removeClass("success")
  22. } else {
  23. $(this).parent().toggleClass("success")
  24. }
  25. })
  26. /*console.log = function(){
  27. $('#launcher-log').append(timestamp() + ' [Log] - ' + Array.prototype.slice.call(arguments).join(' '))
  28. }
  29. console.error = function(){
  30. $('#launcher-log').append(timestamp() + ' [Error] - ' + Array.prototype.slice.call(arguments).join(' '))
  31. }
  32. console.log('test')
  33. //console.debug('test')*/
  34. })
  35. /* Open web links in the user's default browser. */
  36. $(document).on('click', 'a[href^="http"]', function(event) {
  37. event.preventDefault();
  38. testdownloads()
  39. //console.log(os.homedir())
  40. //shell.openExternal(this.href)
  41. });
  42. testdownloads = async function(){
  43. const lp = require(path.join(__dirname, 'assets', 'js', 'launchprocess.js'))
  44. const basePath = path.join(__dirname, '..', 'mcfiles')
  45. let versionData = await ag.loadVersionData('1.11.2', basePath)
  46. await ag.validateAssets(versionData, basePath)
  47. console.log('assets done')
  48. await ag.validateLibraries(versionData, basePath)
  49. console.log('libs done')
  50. await ag.validateMiscellaneous(versionData, basePath)
  51. console.log('files done')
  52. await ag.validateDistribution('WesterosCraft-1.11.2', basePath)
  53. console.log('forge stuff done')
  54. ag.instance.on('dlcomplete', function(){
  55. //lp.launchMinecraft(versionData, basePath)
  56. })
  57. ag.processDlQueues()
  58. }
  59. /*Opens DevTools window if you type "wcdev" in sequence.
  60. This will crash the program if you are using multiple
  61. DevTools, for example the chrome debugger in VS Code. */
  62. const match = [87, 67, 68, 69, 86]
  63. let at = 0;
  64. document.addEventListener('keydown', function (e) {
  65. switch(e.keyCode){
  66. case match[0]:
  67. if(at === 0) ++at
  68. break
  69. case match[1]:
  70. if(at === 1) ++at
  71. break
  72. case match[2]:
  73. if(at === 2) ++at
  74. break
  75. case match[3]:
  76. if(at === 3) ++at
  77. break
  78. case match[4]:
  79. if(at === 4) ++at
  80. break
  81. default:
  82. at = 0
  83. }
  84. if(at === 5) {
  85. var window = remote.getCurrentWindow()
  86. window.toggleDevTools()
  87. at = 0
  88. }
  89. })