import Minecraft from './net/minecraft/client/Minecraft.js'; import * as aesjs from '../../libraries/aes.js'; class Start { loadTextures(textures) { let resources = []; let index = 0; return textures.reduce((currentPromise, texturePath) => { return currentPromise.then(() => { return new Promise((resolve, reject) => { // Load texture let image = new Image(); image.src = "src/resources/" + texturePath; image.onload = () => resolve(); resources[texturePath] = image; index++; }); }); }, Promise.resolve()).then(() => { return resources; }); } launch(canvasWrapperId) { this.loadTextures([ "misc/grasscolor.png", "gui/font.png", "gui/gui.png", "gui/background.png", "gui/icons.png", "terrain/terrain.png", "terrain/sun.png", "terrain/moon.png", "char.png", "gui/title/minecraft.png", "gui/title/background/panorama_0.png", "gui/title/background/panorama_1.png", "gui/title/background/panorama_2.png", "gui/title/background/panorama_3.png", "gui/title/background/panorama_4.png", "gui/title/background/panorama_5.png", "gui/container/creative.png" ]).then((resources) => { // Launch actual game on canvas window.app = new Minecraft(canvasWrapperId, resources); }); } } // Listen on history back window.addEventListener('pageshow', function (event) { if (window.app) { // Reload page to restart the game if (!window.app.running) { window.location.reload(); } } else { // Launch game new Start().launch("canvas-container"); } }); export function require(module) { return window[module]; }