<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="EaglercraftX 1.8 Offline" />
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
<title>EaglercraftX 1.8</title>
<meta property="og:locale" content="en-US" />
<meta property="og:type" content="website" />
<meta property="og:title" content="EaglercraftX 1.8 Offline" />
<meta property="og:description" content="this file is not a website, whoever uploaded it to this URL is a dumbass" />
<script type="text/javascript">
"use strict";
const relayId = Math.floor(Math.random() * 3);

// %%%%%%%%% launch options %%%%%%%%%%%%

window.eaglercraftXOptsHints = {
	hintsVersion: 1,
	container: "game_frame",
	worldsDB: "worlds",
	relays: [
		{ addr: "wss://relay.deev.is/", comment: "lax1dude relay #1", primary: relayId === 0 },
		{ addr: "wss://relay.lax1dude.net/", comment: "lax1dude relay #2", primary: relayId === 1 },
		{ addr: "wss://relay.shhnowisnottheti.me/", comment: "ayunami relay #1", primary: relayId === 2 }
	],
	checkRelaysForUpdates: true
};

// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

</script>
<script type="text/javascript">
"use strict";
window.eaglercraftXClientSignature = "data:application/octet-stream;base64,${client_signature}";
window.eaglercraftXClientBundle = "data:application/octet-stream;base64,${client_bundle}";
</script>
<script type="text/javascript">
"use strict";
(function(){
	var ds = new DecompressionStream("gzip");
	var result = [];
	function fetchStream(reader) {
		reader.read().then(function processData({ done, value }) {
			if (done) {
				window.clientScriptSrcURL = URL.createObjectURL(new Blob(result, { type: "text/javascript;charset=utf-8" }));
				result = [];
				ds = null;
				return;
			}
			result.push(value);
			return reader.read().then(processData);
		});
	}
	fetch(window.eaglercraftXClientBundle, { cache: "force-cache" })
		.then((response) => response.blob())
		.then((blob) => fetchStream(blob.stream().pipeThrough(ds).getReader()));
})();
</script>
<script type="text/javascript">
"use strict";
(function(){
	var launchInterval = -1;
	var launchCounter = 1;
	var launchCountdownNumberElement = null;
	var launchCountdownProgressElement = null;
	function launchTick() {
		if(launchCounter > 100) {
			if(window.clientScriptSrcURL) {
				clearInterval(launchInterval);
				setTimeout(() => {
					document.getElementById("launch_countdown_screen").remove();
					const script = document.createElement("script");
					script.type = "text/javascript";
					script.src = window.clientScriptSrcURL;
					window.clientScriptSrcURL = null;
					document.head.appendChild(script);
				}, 50);
			}
			return;
		}
		launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
		launchCountdownProgressElement.style.width = "" + launchCounter + "%";
		++launchCounter;
	}
	window.addEventListener("load", () => {
		launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
		launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
		launchInterval = setInterval(launchTick, 50);
	});
})();
</script>
<link type="image/png" rel="shortcut icon" href="data:image/png;base64, " />
</head>
<body style="margin:0px;width:100vw;height:100vh;overflow:hidden;" id="game_frame">
<div style="margin:0px;width:100%;height:100%;font-family:sans-serif;display:flex;align-items:center;user-select:none;" id="launch_countdown_screen">
<div style="margin:auto;text-align:center;">
<h1>This file is from <span style="color:#AA0000;">${date}</span></h1>
<h2>Game will launch in <span id="launchCountdownNumber">5</span>...</h2>
<div style="border:2px solid black;width:100%;height:15px;padding:1px;margin-bottom:20vh;"><div id="launchCountdownProgress" style="background-color:#555555;width:0%;height:100%;"></div></div>
</div>
</div>
</body>
</html>
