script.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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', async function(){
  55. let forgeData = await ag.loadForgeData('WesterosCraft-1.11.2', basePath)
  56. lp.launchMinecraft(versionData, forgeData, basePath)
  57. //lp.launchMinecraft(versionData, basePath)
  58. })
  59. ag.processDlQueues()
  60. }
  61. /*Opens DevTools window if you type "wcdev" in sequence.
  62. This will crash the program if you are using multiple
  63. DevTools, for example the chrome debugger in VS Code. */
  64. const match = [87, 67, 68, 69, 86]
  65. let at = 0;
  66. document.addEventListener('keydown', function (e) {
  67. switch(e.keyCode){
  68. case match[0]:
  69. if(at === 0) ++at
  70. break
  71. case match[1]:
  72. if(at === 1) ++at
  73. break
  74. case match[2]:
  75. if(at === 2) ++at
  76. break
  77. case match[3]:
  78. if(at === 3) ++at
  79. break
  80. case match[4]:
  81. if(at === 4) ++at
  82. break
  83. default:
  84. at = 0
  85. }
  86. if(at === 5) {
  87. var window = remote.getCurrentWindow()
  88. window.toggleDevTools()
  89. at = 0
  90. }
  91. })