script.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. //ag._extractPackXZ(path.join(__dirname, '..', 'mcfiles', 'scala-continuations-library_2.11-1.0.2.jar.pack.xz'))
  39. //testdownloads()
  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. ag.instance.on('dlcomplete', function(){
  53. lp.launchMinecraft(versionData, basePath)
  54. })
  55. ag.processDlQueues()
  56. }
  57. /*Opens DevTools window if you type "wcdev" in sequence.
  58. This will crash the program if you are using multiple
  59. DevTools, for example the chrome debugger in VS Code. */
  60. const match = [87, 67, 68, 69, 86]
  61. let at = 0;
  62. document.addEventListener('keydown', function (e) {
  63. switch(e.keyCode){
  64. case match[0]:
  65. if(at === 0) ++at
  66. break
  67. case match[1]:
  68. if(at === 1) ++at
  69. break
  70. case match[2]:
  71. if(at === 2) ++at
  72. break
  73. case match[3]:
  74. if(at === 3) ++at
  75. case match[4]:
  76. if(at === 4) ++at
  77. break
  78. default:
  79. at = 0
  80. }
  81. if(at === 5) {
  82. var window = remote.getCurrentWindow()
  83. window.toggleDevTools()
  84. at = 0
  85. }
  86. })