Compare commits
3 Commits
7b29dd8f45
...
258b7e7ffe
Author | SHA1 | Date | |
---|---|---|---|
|
258b7e7ffe | ||
|
46197d331c | ||
|
141fcca089 |
41
eagler-files/modded/1.8/EaglyMC/ES6ShimScript.txt
Normal file
41
eagler-files/modded/1.8/EaglyMC/ES6ShimScript.txt
Normal file
@ -0,0 +1,41 @@
|
||||
(function(_jsGlobal){try {(function(){var namedFunction=function(name,body){if(typeof body==="function"){try {Object.defineProperty(body,"name",{configurable:true,enumerable:false,writable:false,value:name});}catch(ex){}}return body;};var enabledShims=[];var collectionsShimImpl=function(){var i;var createCollection=function(proto,objectOnly){var Collection=namedFunction("Collection",function(a){if(!this||this.constructor!==Collection)return new Collection(a);Object.defineProperty(this,
|
||||
"_keys",{value:[]});Object.defineProperty(this,"_values",{value:[]});Object.defineProperty(this,"_itp",{value:[]});Object.defineProperty(this,"objectOnly",{value:objectOnly});if(a)init.call(this,a);});if(!objectOnly){Object.defineProperty(proto,"size",{get:sharedSize});}proto.constructor=Collection;for(var k in proto){Object.defineProperty(Collection.prototype,k,{value:proto[k]});}return Collection;};var init=function(a){if(this.add)a.forEach(this.add,this);else a.forEach(function(a){this.set(a[0],a[1]);},this);};var sharedDelete
|
||||
=function(key){if(this.has(key)){this._keys.splice(i,1);this._values.splice(i,1);this._itp.forEach(function(p){if(i<p[0])p[0]--;});}return -1<i;};var sharedGet=namedFunction("get",function(key){return this.has(key)?this._values[i]:$rt_globals.undefined;});var has=namedFunction("has",function(list,key){if(this.objectOnly&&key!==Object(key))throw new $rt_globals.TypeError("Invalid value used as weak collection key");if(key!=key||key===0)for(i=list.length;i--&&!$rt_globals.is(list[i],key);){}else i=list.indexOf(key);return -1
|
||||
<i;});var setHas=namedFunction("has",function(value){return has.call(this,this._values,value);});var mapHas=namedFunction("has",function(value){return has.call(this,this._keys,value);});var sharedSet=namedFunction("set",function(key,value){this.has(key)?(this._values[i]=value):(this._values[this._keys.push(key) -1]=value);return this;});var sharedAdd=namedFunction("add",function(value){if(!this.has(value))this._values.push(value);return this;});var sharedClear=namedFunction("clear",function(){(this._keys||0).length
|
||||
=this._values.length=0;});var sharedKeys=namedFunction("keys",function(){return sharedIterator(this._itp,this._keys);});var sharedValues=namedFunction("values",function(){return sharedIterator(this._itp,this._values);});var mapEntries=namedFunction("entries",function(){return sharedIterator(this._itp,this._keys,this._values);});var setEntries=namedFunction("entries",function(){return sharedIterator(this._itp,this._values,this._values);});var sharedIterator=function(itp,array,array2){var p=[0],done=false;itp.push(p);return {
|
||||
next:function(){var v,k=p[0];if(!done&&k<array.length){v=array2?[array[k],array2[k]]:array[k];p[0]++;}else {done=true;itp.splice(itp.indexOf(p),1);}return {done:done,value:v};}};};var sharedSize=namedFunction("size",function(){return this._values.length;});var sharedForEach=namedFunction("forEach",function(callback,context){var it=this.entries();for(;;){var r=it.next();if(r.done)break;callback.call(context,r.value[1],r.value[0],this);}});return {createCollection:createCollection,init:init,sharedDelete:sharedDelete,
|
||||
sharedGet:sharedGet,has:has,setHas:setHas,mapHas:mapHas,sharedSet:sharedSet,sharedAdd:sharedAdd,sharedClear:sharedClear,sharedKeys:sharedKeys,sharedValues:sharedValues,mapEntries:mapEntries,setEntries:setEntries,sharedIterator:sharedIterator,sharedSize:sharedSize,sharedForEach:sharedForEach};}();var shim_Map=function(){if(typeof $rt_globals.Map==="undefined"||typeof (new $rt_globals.Map()).values!=="function"||!((new $rt_globals.Map()).values()).next){Object.defineProperty(_jsGlobal,"Map",{value:namedFunction("Map",
|
||||
collectionsShimImpl.createCollection({'delete':collectionsShimImpl.sharedDelete,has:collectionsShimImpl.mapHas,get:collectionsShimImpl.sharedGet,set:collectionsShimImpl.sharedSet,keys:collectionsShimImpl.sharedKeys,values:collectionsShimImpl.sharedValues,entries:collectionsShimImpl.mapEntries,forEach:collectionsShimImpl.sharedForEach,clear:collectionsShimImpl.sharedClear}))});return true;}else {return false;}};var shim_WeakMap=function(){if(typeof $rt_globals.WeakMap==="undefined"){Object.defineProperty(_jsGlobal,
|
||||
"WeakMap",{value:namedFunction("WeakMap",collectionsShimImpl.createCollection({'delete':collectionsShimImpl.sharedDelete,clear:collectionsShimImpl.sharedClear,get:collectionsShimImpl.sharedGet,has:collectionsShimImpl.mapHas,set:collectionsShimImpl.sharedSet}))});return true;}else {return false;}};var shim_Set=function(){if(typeof $rt_globals.Set==="undefined"||typeof (new $rt_globals.Set()).values!=="function"||!((new $rt_globals.Set()).values()).next){Object.defineProperty(_jsGlobal,"Set",{value:namedFunction("Set",
|
||||
collectionsShimImpl.createCollection({has:collectionsShimImpl.setHas,add:collectionsShimImpl.sharedAdd,'delete':collectionsShimImpl.sharedDelete,clear:collectionsShimImpl.sharedClear,keys:collectionsShimImpl.sharedValues,values:collectionsShimImpl.sharedValues,entries:collectionsShimImpl.setEntries,forEach:collectionsShimImpl.sharedForEach}))});return true;}else {return false;}};var shim_WeakSet=function(){if(typeof $rt_globals.WeakSet==="undefined"){Object.defineProperty(_jsGlobal,"WeakSet",{value:namedFunction("WeakSet",
|
||||
collectionsShimImpl.createCollection({'delete':collectionsShimImpl.sharedDelete,add:collectionsShimImpl.sharedAdd,clear:collectionsShimImpl.sharedClear,has:collectionsShimImpl.setHas}))});return true;}else {return false;}};var createPromiseShim=function(){var PROMISE_ID="[["+(($rt_globals.Math.random()).toString(36)).substring(2)+"]]";var PENDING=void 0;var FULFILLED=1;var REJECTED=2;var _qlen=0;var msgChannel=null;var useLegacyFlush=false;var isFlushTest=false;var queue=new $rt_globals.Array(1000);var _noop
|
||||
=function(){};var _initMessageChannelFlush=function(flushFunc){if(typeof $rt_globals.MessageChannel==="undefined"){useLegacyFlush=true;$rt_globals.setTimeout(flushFunc,0);return;}isFlushTest=true;try {msgChannel=new $rt_globals.MessageChannel();var testVal=false;var _flushTest=function(){testVal=true;};msgChannel.port1.addEventListener("message",_flushTest);msgChannel.port1.start();msgChannel.port2.start();msgChannel.port2.postMessage("");if(testVal){msgChannel=null;useLegacyFlush=true;isFlushTest=false;$rt_globals.setTimeout(flushFunc,
|
||||
0);return;}$rt_globals.setTimeout(function(){msgChannel.port1.removeEventListener("message",_flushTest);if(!testVal){msgChannel=null;useLegacyFlush=true;}else {msgChannel.port1.addEventListener("message",flushFunc);}isFlushTest=false;flushFunc();},10);}catch(ex){msgChannel=null;useLegacyFlush=true;isFlushTest=false;$rt_globals.setTimeout(flushFunc,0);return;}};var _scheduleFlush=function(){if(useLegacyFlush||isFlushTest){$rt_globals.setTimeout(_flush,0);}else {if(msgChannel===null){_initMessageChannelFlush(_flush);return;}msgChannel.port2.postMessage("");}};var _flush
|
||||
=function(){for(var i=0;i<_qlen;i+=2){var callback=queue[i];var arg=queue[i+1];callback(arg);queue[i]=$rt_globals.undefined;queue[i+1]=$rt_globals.undefined;}_qlen=0;};var _asap=function(callback,arg){queue[_qlen]=callback;queue[_qlen+1]=arg;_qlen+=2;if(_qlen===2){_scheduleFlush();}};var _handleForeignThenable=function(promise,thenable,then$$1){_asap(function(promise){var sealed=false;var error=_tryThen(then$$1,thenable,function(value){if(sealed){return;}sealed=true;if(thenable!==value){__resolve(promise,value);}
|
||||
else {_fulfill(promise,value);}},function(reason){if(sealed){return;}sealed=true;_reject(promise,reason);},"Settle: "+(promise._label||" unknown promise"));if(!sealed&&error){sealed=true;_reject(promise,error);}},promise);};var _tryThen=function(then$$1,value,fulfillmentHandler,rejectionHandler){try {then$$1.call(value,fulfillmentHandler,rejectionHandler);}catch(e){return e;}};var _handleOwnThenable=function(promise,thenable){if(thenable._state===FULFILLED){_fulfill(promise,thenable._result);}else if(thenable._state
|
||||
===REJECTED){_reject(promise,thenable._result);}else {_subscribe(thenable,$rt_globals.undefined,function(value){return __resolve(promise,value);},function(reason){return _reject(promise,reason);});}};var _handleMaybeThenable=function(promise,maybeThenable,then$$1){if(maybeThenable.constructor===promise.constructor&&then$$1===_then&&maybeThenable.constructor.resolve===_resolve){_handleOwnThenable(promise,maybeThenable);}else {if(then$$1===$rt_globals.undefined){_fulfill(promise,maybeThenable);}else if(typeof then$$1
|
||||
==="function"){_handleForeignThenable(promise,maybeThenable,then$$1);}else {_fulfill(promise,maybeThenable);}}};var __resolve=function(promise,value){if(promise===value){_reject(promise,new $rt_globals.TypeError("You cannot resolve a promise with itself"));}else if(typeof value==="object"||typeof value==="function"){var then$$1=void 0;try {then$$1=value.then;}catch(error){_reject(promise,error);return;}_handleMaybeThenable(promise,value,then$$1);}else {_fulfill(promise,value);}};var _reject=function(promise,
|
||||
reason){if(promise._state!==PENDING){return;}promise._state=REJECTED;promise._result=reason;_asap(_publishRejection,promise);};var _subscribe=function(parent,child,onFulfillment,onRejection){var _subscribers=parent._subscribers;var length=_subscribers.length;parent._onerror=null;_subscribers[length]=child;_subscribers[length+FULFILLED]=onFulfillment;_subscribers[length+REJECTED]=onRejection;if(length===0&&parent._state){_asap(_publish,parent);}};var _publish=function(promise){var subscribers=promise._subscribers;var settled
|
||||
=promise._state;if(subscribers.length===0){return;}var child=void 0,callback=void 0,detail=promise._result;for(var i=0;i<subscribers.length;i+=3){child=subscribers[i];callback=subscribers[i+settled];if(child){_invokeCallback(settled,child,callback,detail);}else {callback(detail);}}promise._subscribers.length=0;};var _publishRejection=function(promise){if(promise._onerror){promise._onerror(promise._result);}_publish(promise);};var _fulfill=function(promise,value){if(promise._state!==PENDING){return;}promise._result
|
||||
=value;promise._state=FULFILLED;if(promise._subscribers.length!==0){_asap(_publish,promise);}};var _invokeCallback=function(settled,promise,callback,detail){var hasCallback=typeof callback==="function",value=void 0,error=void 0,succeeded=true;if(hasCallback){try {value=callback(detail);}catch(e){succeeded=false;error=e;}if(promise===value){_reject(promise,new $rt_globals.TypeError("A promises callback cannot return that same promise."));return;}}else {value=detail;}if(promise._state!==PENDING){}else if(hasCallback
|
||||
&&succeeded){__resolve(promise,value);}else if(succeeded===false){_reject(promise,error);}else if(settled===FULFILLED){_fulfill(promise,value);}else if(settled===REJECTED){_reject(promise,value);}};var _initializePromise=function(promise,resolver){try {resolver(function(value){__resolve(promise,value);},function(reason){_reject(promise,reason);});}catch(e){_reject(promise,e);}};var id=0;var _nextId=function(){return id++;};var _makePromise=function(promise){promise[PROMISE_ID]=id++;promise._state=$rt_globals.undefined;promise._result
|
||||
=$rt_globals.undefined;promise._subscribers=[];};var Promise;Promise=namedFunction("Promise",function(resolver){this[PROMISE_ID]=_nextId();this._result=this._state=$rt_globals.undefined;this._subscribers=[];if(_noop!==resolver){typeof resolver!=='function'&&$rt_globals._needsResolver();this instanceof Promise?_initializePromise(this,resolver):$rt_globals._needsNew();}});var _then=namedFunction("then",function(onFulfillment,onRejection){var parent=this;var child=new this.constructor(_noop);if(child[PROMISE_ID]
|
||||
===$rt_globals.undefined){_makePromise(child);}var _state=parent._state;if(_state){var callback=arguments[_state -1];_asap(function(){return _invokeCallback(_state,child,callback,parent._result);});}else {_subscribe(parent,child,onFulfillment,onRejection);}return child;});Promise.prototype.then=_then;Promise.prototype.catch=namedFunction("catch",function(onRejection){return this.then(null,onRejection);});Promise.prototype.finally=namedFunction("finally",function(callback){var promise=this;var constructor=promise.constructor;if
|
||||
(typeof callback==="function"){return promise.then(function(value){return (constructor.resolve(callback())).then(function(){return value;});},function(reason){return (constructor.resolve(callback())).then(function(){throw reason;});});}return promise.then(callback,callback);});Promise.all=namedFunction("all",function(entries){throw new $rt_globals.Error("Promise.all is not included in the ES6 compatibility shim!");});Promise.race=namedFunction("race",function(entries){var Constructor=this;if(!$rt_globals.Array.isArray(entries))
|
||||
{return new Constructor(function(_,reject){return reject(new $rt_globals.TypeError("You must pass an array to race."));});}else {return new Constructor(function(resolve,reject){var length=entries.length;for(var i=0;i<length;i++){(Constructor.resolve(entries[i])).then(resolve,reject);}});}});var _resolve=namedFunction("resolve",function(object){var Constructor=this;if(object&&typeof object==="object"&&object.constructor===Constructor){return object;}var promise=new Constructor(_noop);__resolve(promise,object);return promise;});Promise.resolve
|
||||
=_resolve;Promise.reject=namedFunction("reject",function(reason){var Constructor=this;var promise=new Constructor(_noop);_reject(promise,reason);return promise;});return Promise;};var shim_Promise=function(){if(typeof Promise==="undefined"){Object.defineProperty(_jsGlobal,"Promise",{value:createPromiseShim()});return true;}else {return false;}};var shim_String_fromCodePoint=function(){if(typeof $rt_globals.String.fromCodePoint==="undefined"){Object.defineProperty($rt_globals.String,"fromCodePoint",{value:namedFunction("fromCodePoint",
|
||||
function(codePoints){var result=[];var next;for(var i=0,length=arguments.length;i<length;i++){next=$rt_globals.Number(arguments[i]);if(next!==(next|0)||next<0||next>0x10FFFF){throw new $rt_globals.RangeError("Invalid code point "+next);}if(next<0x10000){result.push($rt_globals.String.fromCharCode(next));}else {next -=0x10000;result.push($rt_globals.String.fromCharCode((next>>10)+0xD800));result.push($rt_globals.String.fromCharCode(next%0x400+0xDC00));}}return result.join("");})});return true;}else {return false;}};var shim_String_proto_codePointAt
|
||||
=function(){if(typeof $rt_globals.String.prototype.codePointAt==="undefined"){Object.defineProperty($rt_globals.String.prototype,"codePointAt",{value:namedFunction("codePointAt",function(pos){pos=pos|0;var leng=this.length;if(pos>=0&&pos<leng){var first=this.charCodeAt(pos);var isEnd=pos+1===leng;if(first<0xD800||first>0xDBFF||isEnd){return first;}var second=this.charCodeAt(pos+1);if(second<0xDC00||second>0xDFFF){return first;}return (first -0xD800)*1024+second -0xDC00+0x10000;}})});return true;}else {return false;}};var shim_String_proto_startsWith
|
||||
=function(){if(typeof $rt_globals.String.prototype.startsWith==="undefined"){Object.defineProperty($rt_globals.String.prototype,"startsWith",{value:namedFunction("startsWith",function(str){var position=0;if(arguments.length>1){position=arguments[1];}var start=$rt_globals.Math.max(position,0)|0;return this.slice(start,start+str.length)===str;})});return true;}else {return false;}};var shim_String_proto_endsWith=function(){if(typeof $rt_globals.String.prototype.endsWith==="undefined"){Object.defineProperty($rt_globals.String.prototype,
|
||||
"endsWith",{value:namedFunction("endsWith",function(str){var len=this.length;var endPosition;if(arguments.length>1){endPosition=arguments[1];}var pos=typeof endPosition==="undefined"?len:endPosition|0;var end=$rt_globals.Math.min($rt_globals.Math.max(pos,0)|0,len);return this.slice(end -str.length,end)===str;})});return true;}else {return false;}};var shim_String_proto_includes=function(){if(typeof $rt_globals.String.prototype.includes==="undefined"){Object.defineProperty($rt_globals.String.prototype,"includes",
|
||||
{value:namedFunction("includes",function(str){var position;if(arguments.length>1){position=arguments[1];}return this.indexOf(str,position)!== -1;})});return true;}else {return false;}};var stringRepeatHelper;stringRepeatHelper=function(s,times){if(times<1){return '';}if(times%2){return stringRepeatHelper(s,times -1)+s;}var half=stringRepeatHelper(s,times/2);return half+half;};var shim_String_proto_repeat=function(){if(typeof $rt_globals.String.prototype.repeat==="undefined"){Object.defineProperty($rt_globals.String.prototype,
|
||||
"repeat",{value:namedFunction("repeat",function(numTimes){if(numTimes>=$rt_globals.Infinity||(numTimes|=0)<0){throw new $rt_globals.RangeError("repeat count must be less than infinity and not overflow maximum string size");}return stringRepeatHelper(this,numTimes);})});return true;}else {return false;}};var shim_Object_is=function(){if(typeof Object.is==="undefined"){Object.defineProperty(Object,"is",{value:namedFunction("is",function(a,b){return a===b||a!==a&&b!==b;})});return true;}else {return false;}};var shim_Object_setPrototypeOf
|
||||
=function(){if(typeof Object.setPrototypeOf==="undefined"){var theShim=function(Object,magic){var set;var checkArgs=function(O,proto){if(typeof O!=="object"||O===null){throw new $rt_globals.TypeError("can not set prototype on a non-object");}if(typeof proto!=="object"&&proto!==null){throw new $rt_globals.TypeError("can only set prototype to an object or null");}};var setPrototypeOf=function(O,proto){checkArgs(O,proto);set.call(O,proto);return O;};try {set=(Object.getOwnPropertyDescriptor(Object.prototype,magic)).set;set.call({
|
||||
},null);}catch(o_O){if(Object.prototype!=={}[magic]||{__proto__:null}.__proto__===void 0){$rt_globals.console.error("ES6Shims: Can not shim Object.setPrototypeOf on this browser! Ignoring for now");return false;}set=function(proto){this[magic]=proto;};}return setPrototypeOf;}(Object,"__proto__");if(theShim){Object.defineProperty(Object,"setPrototypeOf",{value:namedFunction("setPrototypeOf",theShim)});return true;}else {return false;}}else {return false;}};var shim_Function_proto_name=function(){if($rt_globals.Math.max.name
|
||||
!=="max"){Object.defineProperty($rt_globals.Function.prototype,"name",{configurable:true,enumerable:false,get:function(){if(this===$rt_globals.Function.prototype){return "";}var str=$rt_globals.Function.prototype.toString.call(this);var match=str.match(/\s*function\s+([^(\s]*)\s*/);var name=match&&match[1];Object.defineProperty(this,"name",{configurable:true,enumerable:false,writable:false,value:name});return name;}});return true;}else {return false;}};var shim_Math_sign=function(){if(typeof $rt_globals.Math.sign
|
||||
==="undefined"){Object.defineProperty($rt_globals.Math,"sign",{value:namedFunction("sign",function(val){var number=$rt_globals.Number(val);if(number===0){return number;}if($rt_globals.isNaN(number)){return number;}return number<0? -1:1;})});return true;}else {return false;}};var shim_Symbol=function(){if(typeof $rt_globals.Symbol==="undefined"){Object.defineProperty(_jsGlobal,"Symbol",{value:function(){var symRet=namedFunction("Symbol",function(){return "[[ShimbolR_"+(($rt_globals.Math.random()).toString(36)).substring(2)
|
||||
+"]]";});symRet.for=namedFunction("for",function(symName){if(!(typeof symName==="string"))return $rt_globals.undefined;return "[[ShimbolN_"+symName+"]]";});symRet.keyFor=namedFunction("keyFor",function(sym){return typeof sym==="string"&&sym.startsWith("[[ShimbolN_")&&sym.endsWith("]]")?sym.substring(11,sym.length -2):$rt_globals.undefined;});return symRet;}()});return true;}else {return false;}};var hasErrors=false;var shim_install=function(str,cb){try {return cb();}catch(_exx_){hasErrors=true;$rt_globals.console.error("ES6Shims: Failed to detect and enable shim \""
|
||||
+str+"\" for this browser! (Continuing anyway)");$rt_globals.console.error(_exx_);return false;}};if(shim_install("Map",shim_Map))enabledShims.push(0);if(shim_install("WeakMap",shim_WeakMap))enabledShims.push(1);if(shim_install("Set",shim_Set))enabledShims.push(2);if(shim_install("WeakSet",shim_WeakSet))enabledShims.push(3);if(shim_install("Promise",shim_Promise))enabledShims.push(4);if(shim_install("String_fromCodePoint",shim_String_fromCodePoint))enabledShims.push(5);if(shim_install("String_proto_codePointAt",
|
||||
shim_String_proto_codePointAt))enabledShims.push(6);if(shim_install("String_proto_startsWith",shim_String_proto_startsWith))enabledShims.push(7);if(shim_install("String_proto_endsWith",shim_String_proto_endsWith))enabledShims.push(8);if(shim_install("String_proto_includes",shim_String_proto_includes))enabledShims.push(9);if(shim_install("String_proto_repeat",shim_String_proto_repeat))enabledShims.push(10);if(shim_install("Object_is",shim_Object_is))enabledShims.push(12);if(shim_install("Object_setPrototypeOf",
|
||||
shim_Object_setPrototypeOf))enabledShims.push(13);if(shim_install("Function_proto_name",shim_Function_proto_name))enabledShims.push(14);if(shim_install("Math_sign",shim_Math_sign))enabledShims.push(15);if(shim_install("Symbol",shim_Symbol))enabledShims.push(16);var enCnt=enabledShims.length;_jsGlobal.__eaglercraftXES6ShimStatus={getShimInitStatus:function(){return (enCnt>0?1:0)|(hasErrors?2:0);},getEnabledShimCount:function(){return enCnt;},getEnabledShimID:function(idxIn){return enabledShims[idxIn];}};})();}
|
||||
catch(_ex_){$rt_globals.console.error("ES6Shims: Failed to detect and enable shims for this browser! (Continuing anyway)");$rt_globals.console.error(_ex_);_jsGlobal.__eaglercraftXES6ShimStatus={getShimInitStatus:function(){return -1;},getEnabledShimCount:function(){return 0;},getEnabledShimID:function(idxIn){return $rt_globals.undefined;}};}})($rt_globals);
|
108
eagler-files/modded/1.8/EaglyMC/OfflineDownloadTemplate.txt
Normal file
108
eagler-files/modded/1.8/EaglyMC/OfflineDownloadTemplate.txt
Normal file
@ -0,0 +1,108 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, there is no official eagler download link anymore, check the websites and discords of your favorite eagler servers for new versions
|
||||
|
||||
Be aware that some server owners are lazy and do not update their client regularly
|
||||
|
||||
Compile it yourself here: https://gitlab.com/lax1dude/eaglercraftx-1.8/
|
||||
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<html style="width:100%;height:100%;background-color:black;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta name="description" content="EaglercraftX 1.8 Offline" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>EaglyMC 1.20</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";
|
||||
var relayId = Math.floor(Math.random() * 3);
|
||||
|
||||
// %%%%%%%%% launch options %%%%%%%%%%%%
|
||||
|
||||
window.eaglercraftXOpts = {
|
||||
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 }
|
||||
]
|
||||
};
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
if(typeof window !== "undefined") window.eaglercraftXClientScriptElement = document.currentScript;
|
||||
${classes_js}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
window.eaglercraftXOpts.assetsURI = ${assets_epk};
|
||||
|
||||
var launchInterval = -1;
|
||||
var launchCounter = 1;
|
||||
var launchCountdownNumberElement = null;
|
||||
var launchCountdownProgressElement = null;
|
||||
var launchSkipCountdown = false;
|
||||
|
||||
var launchTick = function() {
|
||||
launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
|
||||
launchCountdownProgressElement.style.width = "" + launchCounter + "%";
|
||||
if(++launchCounter > 100 || launchSkipCountdown) {
|
||||
clearInterval(launchInterval);
|
||||
setTimeout(function() { document.body.removeChild(document.getElementById("launch_countdown_screen")); document.body.style.backgroundColor = "black"; main(); }, 50);
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener("load", function() {
|
||||
launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
|
||||
launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
|
||||
launchInterval = setInterval(launchTick, 50);
|
||||
document.getElementById("skipCountdown").addEventListener("click", function() {
|
||||
launchSkipCountdown = true;
|
||||
});
|
||||
document.getElementById("bootMenu").addEventListener("click", function() {
|
||||
launchSkipCountdown = true;
|
||||
window.eaglercraftXOpts.showBootMenuOnLaunch = true;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGLUlEQVRYR72XW0iVWRTHl5VaamoXm1TCCLpQDzMPvU3RhcbAhyZ1oJmQHmqaijAmmCgqMqGJIhIhirKcZiDmTW2eRkLopUCiAguiHqIL3tPR46W85ny/dVp79neO2ttsOJzv27f13///WmuvL2EiaJHtrULLuJ2j//9nS+j9tmUiozxbbUbK2hREgEkSEhLk48ePMmPGDIeHd36M8bOx8fFxt4Z+GmPMZa+ZM2e68djDhQAYiLSaL3TR8PCwLpw9e7au4310dNQZnzNnjvbTBwh+s2bN0r7k5GQZGxvTPp6nYjkKoGihyJeJIRbYlB9GAaAGSvpCUvX396tBgHR3d+upExMT3alTUlKiewYSx7JsTPwHgJ4AhMnw4cMHGRwcVMOwkfjjSNwmvb29ygZGzdjbt29lZGRET71kyZKQcWmckMjf7SFfS/CdEAzpddmOzmPHjunmq1evlsLb+Q6AScVcGgb5HT16VObNm6cM7N+/X7KysmTkh57ouqZRidR2qXHfjxSA0QHl6AalAwMDMnfuXOczgVQSK5X8kaqbYbS1tVVyc3Pd/Bs3bsiePXucBDwk/pmpbMKOkwAAGGWjpKQkNcypoX/BggVuIg8+CJOK/q6uLunp6ZEVK1a4+ZFIRH2IfZCC/7S0NB0fGhpyjq0MWHjhVKDDsQDz6NEjWbt2rS7CCGPmiBO/p0hmZqaOAfrNmzfy5MkT2blzp7x69UqWLl2qRvktWrRI3r9/7/zEP5UDgAebBNDEM0hhAWejmUHbAMAomJ6erl2wMFkUACI1NVVgJSMjI8SqA2DJBKMwgCy2cV9fnwKKlYTQo3/x4sXKEJFAVOCQrGf+06dP9T8nJ0fa2tokOzvquCEfMAlASPixgNgHOWzglJYd1RcCRujHSek3JixhIRX9d+7cUWAdHR2yd+9e59TYYA6sKwOcAtTv3r2Turo69ebCwkLVFCPLli1TwMQ4m3FSWFq5cqX2o/nLly/l2bNnsm7dOt0cAFevXpVr165JTU2NbNiwwTEIYA7FHg4AToI+tbW1Ulxc7Ci6fPmyIj1w4ECYuoBqL4JDY7EvyIAE8+fP1yGYNWdXAOhFysVRoOzixYty7tw5ndzQ0KDRQJKxduLECdm0aZM0NjZKSUmJevxUrbq6WrZt26anNSfmsABAxlAiQlvA4MlMLi8vl7KysmlPd+rUKc14paWlk867fv26yolfESWw6UdCCAATcBA89ebNmy6TTYsgGOSUlvVi51ZWVmpuACTsLlwYXHxecwD87ARF9+7dk61bt37Oto6fPXtWjh8/rhKiL42saa351x6ViXEaciNJSAJLFro4kAJAfsxCHXF8//592bFjh3r37t27QwDr6+ulvb1dttd9E3dxcW8Y9eyNzNMCwAfu3r0rz58/V90OHjyoYQqApqYmOXnyZBw7pGO9nH5OigPgp+44BvzKhV0tbxPzZDkaGY5E9eLFC6V548aNcubMGQfk8OHDcvr0aens7JSsX1Libk6/3sQeh3KJyI4CNcPf/xN9DSgzh+QVumCAqxeakefChQty5MgRnf769WvJy8vTZ0Ak/zQWBRE0qwM4gIUfEujB/HpgstIJZ1y/fr0CALm1S5cuyaFDh/S1qqpKU601ADx8+FC+rvpKu/4qapBdu3YJdwqGrZZ0AKx6HSjuCJVd479Fa0GuUwDgnOhHe/z4seTn5+vz+fPnZd++fTrH7o6Wlha5deuWpvWCggJ3n5DG2VPpp7r264HB7zrjtOuuGFJnxAAScPfTyOdr1qzRZwxt2bJFLzAAUHhwLyAV9wxAkdPqxjgARh1M9BcFRaOnHXXfqlWrZPPmzXLlyhV3KwKAsFq+fLk8ePAglN0wZo4GGDMIGGPJbIZ8wDr9Gp5IQGNSLkZtY+ZWVFSo5xM1dl3bKRn3a0yks1rQKu04J/TvfOdRwQNOxSI/MVGMkFabm5tDxait8zMrVz0lHkCt3JuSAfsc8xET97YJ/4Si+QHOZCnWB23z2Qfarcqy+J9WAmOCxf73H88WiniwH05sGPv5NdW3pA90Uh/wnTKk16cPVitE7DvQjE/2kctcgE8l77QAfKSfe/aTmAL69KX9uXX/Aqn0T91DqBZ3AAAAAElFTkSuQmCC" />
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;background-color:white;" 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>
|
||||
<p style="margin-top:30px;"><button id="skipCountdown" autofocus>Skip Countdown</button> <button id="bootMenu">Enter Boot Menu</button></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
30
eagler-files/modded/1.8/EaglyMC/SignedBundleTemplate.txt
Normal file
30
eagler-files/modded/1.8/EaglyMC/SignedBundleTemplate.txt
Normal file
@ -0,0 +1,30 @@
|
||||
"use strict";
|
||||
${classes_js}
|
||||
|
||||
// %%%%%%%%% launch options %%%%%%%%%%%%
|
||||
|
||||
if(typeof window !== "undefined") {
|
||||
window.eaglercraftXClientScriptElement = document.currentScript;
|
||||
if(window.eaglercraftXOptsHints && window.eaglercraftXOptsHints.hintsVersion === 1) {
|
||||
window.eaglercraftXOpts = window.eaglercraftXOptsHints;
|
||||
}else {
|
||||
var relayzId = Math.floor(Math.random() * 3);
|
||||
window.eaglercraftXOpts = {
|
||||
container: "game_frame",
|
||||
worldsDB: "worlds",
|
||||
relays: [
|
||||
{ addr: "wss://relay.deev.is/", comment: "lax1dude relay #1", primary: relayzId === 0 },
|
||||
{ addr: "wss://relay.lax1dude.net/", comment: "lax1dude relay #2", primary: relayzId === 1 },
|
||||
{ addr: "wss://relay.shhnowisnottheti.me/", comment: "ayunami relay #1", primary: relayzId === 2 }
|
||||
],
|
||||
checkRelaysForUpdates: true
|
||||
};
|
||||
}
|
||||
window.addEventListener("load", function() {
|
||||
main();
|
||||
});
|
||||
}
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
if(typeof window !== "undefined") { window.eaglercraftXOpts.enableSignatureBadge = true; window.eaglercraftXOpts.assetsURI = ${assets_epk}; main(); }
|
265
eagler-files/modded/1.8/EaglyMC/SignedClientTemplate.txt
Normal file
265
eagler-files/modded/1.8/EaglyMC/SignedClientTemplate.txt
Normal file
File diff suppressed because one or more lines are too long
27
eagler-files/modded/1.8/EaglyMC/UpdateDownloadSources.txt
Normal file
27
eagler-files/modded/1.8/EaglyMC/UpdateDownloadSources.txt
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
# examples:
|
||||
|
||||
# use-proxy: cors proxy here [$url$]
|
||||
# use-gateway: ipfs gateway here [$cid$,$path$]
|
||||
# url: url here
|
||||
# ipfs: cid here
|
||||
# list: url to another list
|
||||
|
||||
list: https://eaglercraft.com/dl/cors/u35_backup.list
|
||||
url: https://eaglercraft.com/dl/cors/u35_backup.dat
|
||||
|
||||
ipfs: bafybeibolco2rlnyiiweipoarwf6kw235xdv7jbbpcwpmm5wksnh4agx5e
|
||||
|
||||
use-gateway: https://gateway.ipfs.io/ipfs/$cid$/$path$
|
||||
use-gateway: https://4everland.io/ipfs/$cid$/$path$
|
||||
use-gateway: https://dweb.link/ipfs/$cid$/$path$
|
||||
use-gateway: https://cloudflare-ipfs.com/ipfs/$cid$/$path$
|
||||
use-gateway: https://cf-ipfs.com/ipfs/$cid$/$path$
|
||||
use-gateway: https://w3s.link/ipfs/$cid$/$path$
|
||||
use-gateway: https://ipfs.eth.aragon.network/ipfs/$cid$/$path$
|
||||
use-gateway: https://nftstorage.link/ipfs/$cid$/$path$
|
||||
|
||||
use-gateway: https://$cid$.ipfs.gateway.ipfs.io/$path$
|
||||
use-gateway: https://$cid$.ipfs.dweb.link/$path$
|
||||
use-gateway: https://$cid$.ipfs.cf-ipfs.com/$path$
|
||||
use-gateway: https://$cid$.ipfs.nftstorage.link/$path$
|
BIN
eagler-files/modded/1.8/EaglyMC/assets.epk
Normal file
BIN
eagler-files/modded/1.8/EaglyMC/assets.epk
Normal file
Binary file not shown.
47656
eagler-files/modded/1.8/EaglyMC/classes.js
Normal file
47656
eagler-files/modded/1.8/EaglyMC/classes.js
Normal file
File diff suppressed because it is too large
Load Diff
1
eagler-files/modded/1.8/EaglyMC/classes.js.map
Normal file
1
eagler-files/modded/1.8/EaglyMC/classes.js.map
Normal file
File diff suppressed because one or more lines are too long
BIN
eagler-files/modded/1.8/EaglyMC/favicon.png
Normal file
BIN
eagler-files/modded/1.8/EaglyMC/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
54
eagler-files/modded/1.8/EaglyMC/index.html
Normal file
54
eagler-files/modded/1.8/EaglyMC/index.html
Normal file
@ -0,0 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html style="width:100%;height:100%;background-color:black;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta name="description" content="EaglercraftX 1.8 test directory HTML page" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>EaglyMC 1.20</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="EaglyMC 1.20" />
|
||||
<meta property="og:description" content="test directory HTML page" />
|
||||
<link type="image/png" rel="shortcut icon" href="favicon.png" />
|
||||
<script type="text/javascript" src="classes.js"></script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
window.addEventListener("load", function() {
|
||||
if(window.location.href.indexOf("file:") === 0) {
|
||||
alert("HTTP please, do not open this file locally, run a local HTTP server and load it via HTTP");
|
||||
}else {
|
||||
var relayId = Math.floor(Math.random() * 3);
|
||||
window.eaglercraftXOpts = {
|
||||
demoMode: false,
|
||||
container: "game_frame",
|
||||
assetsURI: "assets.epk",
|
||||
localesURI: "lang/",
|
||||
worldsDB: "worlds",
|
||||
logInvalidCerts: true,
|
||||
crashOnUncaughtExceptions: true,
|
||||
servers: [
|
||||
{ addr: "ws://localhost:8081/", name: "Local test server" }
|
||||
],
|
||||
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 }
|
||||
]
|
||||
};
|
||||
|
||||
var q = window.location.search;
|
||||
if((typeof q === "string") && q[0] === "?" && (typeof window.URLSearchParams !== "undefined")) {
|
||||
q = new window.URLSearchParams(q);
|
||||
var s = q.get("server");
|
||||
if(s) window.eaglercraftXOpts.joinServer = s;
|
||||
}
|
||||
|
||||
main();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;background-color:black;" id="game_frame">
|
||||
</body>
|
||||
</html>
|
1683
eagler-files/modded/1.8/EaglyMC/lang/af_ZA.lang
Normal file
1683
eagler-files/modded/1.8/EaglyMC/lang/af_ZA.lang
Normal file
File diff suppressed because it is too large
Load Diff
1696
eagler-files/modded/1.8/EaglyMC/lang/ar_SA.lang
Normal file
1696
eagler-files/modded/1.8/EaglyMC/lang/ar_SA.lang
Normal file
File diff suppressed because it is too large
Load Diff
1812
eagler-files/modded/1.8/EaglyMC/lang/ast_ES.lang
Normal file
1812
eagler-files/modded/1.8/EaglyMC/lang/ast_ES.lang
Normal file
File diff suppressed because it is too large
Load Diff
1604
eagler-files/modded/1.8/EaglyMC/lang/az_AZ.lang
Normal file
1604
eagler-files/modded/1.8/EaglyMC/lang/az_AZ.lang
Normal file
File diff suppressed because it is too large
Load Diff
2516
eagler-files/modded/1.8/EaglyMC/lang/bg_BG.lang
Normal file
2516
eagler-files/modded/1.8/EaglyMC/lang/bg_BG.lang
Normal file
File diff suppressed because it is too large
Load Diff
1869
eagler-files/modded/1.8/EaglyMC/lang/ca_ES.lang
Normal file
1869
eagler-files/modded/1.8/EaglyMC/lang/ca_ES.lang
Normal file
File diff suppressed because it is too large
Load Diff
2375
eagler-files/modded/1.8/EaglyMC/lang/cs_CZ.lang
Normal file
2375
eagler-files/modded/1.8/EaglyMC/lang/cs_CZ.lang
Normal file
File diff suppressed because it is too large
Load Diff
1573
eagler-files/modded/1.8/EaglyMC/lang/cy_GB.lang
Normal file
1573
eagler-files/modded/1.8/EaglyMC/lang/cy_GB.lang
Normal file
File diff suppressed because it is too large
Load Diff
1819
eagler-files/modded/1.8/EaglyMC/lang/da_DK.lang
Normal file
1819
eagler-files/modded/1.8/EaglyMC/lang/da_DK.lang
Normal file
File diff suppressed because it is too large
Load Diff
2512
eagler-files/modded/1.8/EaglyMC/lang/de_DE.lang
Normal file
2512
eagler-files/modded/1.8/EaglyMC/lang/de_DE.lang
Normal file
File diff suppressed because it is too large
Load Diff
1709
eagler-files/modded/1.8/EaglyMC/lang/el_GR.lang
Normal file
1709
eagler-files/modded/1.8/EaglyMC/lang/el_GR.lang
Normal file
File diff suppressed because it is too large
Load Diff
1778
eagler-files/modded/1.8/EaglyMC/lang/en_AU.lang
Normal file
1778
eagler-files/modded/1.8/EaglyMC/lang/en_AU.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/en_CA.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/en_CA.lang
Normal file
File diff suppressed because it is too large
Load Diff
2515
eagler-files/modded/1.8/EaglyMC/lang/en_GB.lang
Normal file
2515
eagler-files/modded/1.8/EaglyMC/lang/en_GB.lang
Normal file
File diff suppressed because it is too large
Load Diff
1929
eagler-files/modded/1.8/EaglyMC/lang/en_PT.lang
Normal file
1929
eagler-files/modded/1.8/EaglyMC/lang/en_PT.lang
Normal file
File diff suppressed because it is too large
Load Diff
1770
eagler-files/modded/1.8/EaglyMC/lang/eo_UY.lang
Normal file
1770
eagler-files/modded/1.8/EaglyMC/lang/eo_UY.lang
Normal file
File diff suppressed because it is too large
Load Diff
2514
eagler-files/modded/1.8/EaglyMC/lang/es_AR.lang
Normal file
2514
eagler-files/modded/1.8/EaglyMC/lang/es_AR.lang
Normal file
File diff suppressed because it is too large
Load Diff
2515
eagler-files/modded/1.8/EaglyMC/lang/es_ES.lang
Normal file
2515
eagler-files/modded/1.8/EaglyMC/lang/es_ES.lang
Normal file
File diff suppressed because it is too large
Load Diff
2496
eagler-files/modded/1.8/EaglyMC/lang/es_MX.lang
Normal file
2496
eagler-files/modded/1.8/EaglyMC/lang/es_MX.lang
Normal file
File diff suppressed because it is too large
Load Diff
1807
eagler-files/modded/1.8/EaglyMC/lang/es_UY.lang
Normal file
1807
eagler-files/modded/1.8/EaglyMC/lang/es_UY.lang
Normal file
File diff suppressed because it is too large
Load Diff
1999
eagler-files/modded/1.8/EaglyMC/lang/es_VE.lang
Normal file
1999
eagler-files/modded/1.8/EaglyMC/lang/es_VE.lang
Normal file
File diff suppressed because it is too large
Load Diff
2124
eagler-files/modded/1.8/EaglyMC/lang/et_EE.lang
Normal file
2124
eagler-files/modded/1.8/EaglyMC/lang/et_EE.lang
Normal file
File diff suppressed because it is too large
Load Diff
1864
eagler-files/modded/1.8/EaglyMC/lang/eu_ES.lang
Normal file
1864
eagler-files/modded/1.8/EaglyMC/lang/eu_ES.lang
Normal file
File diff suppressed because it is too large
Load Diff
1490
eagler-files/modded/1.8/EaglyMC/lang/fa_IR.lang
Normal file
1490
eagler-files/modded/1.8/EaglyMC/lang/fa_IR.lang
Normal file
File diff suppressed because it is too large
Load Diff
2378
eagler-files/modded/1.8/EaglyMC/lang/fi_FI.lang
Normal file
2378
eagler-files/modded/1.8/EaglyMC/lang/fi_FI.lang
Normal file
File diff suppressed because it is too large
Load Diff
1636
eagler-files/modded/1.8/EaglyMC/lang/fil_PH.lang
Normal file
1636
eagler-files/modded/1.8/EaglyMC/lang/fil_PH.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/fr_CA.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/fr_CA.lang
Normal file
File diff suppressed because it is too large
Load Diff
2518
eagler-files/modded/1.8/EaglyMC/lang/fr_FR.lang
Normal file
2518
eagler-files/modded/1.8/EaglyMC/lang/fr_FR.lang
Normal file
File diff suppressed because it is too large
Load Diff
1774
eagler-files/modded/1.8/EaglyMC/lang/ga_IE.lang
Normal file
1774
eagler-files/modded/1.8/EaglyMC/lang/ga_IE.lang
Normal file
File diff suppressed because it is too large
Load Diff
1565
eagler-files/modded/1.8/EaglyMC/lang/gl_ES.lang
Normal file
1565
eagler-files/modded/1.8/EaglyMC/lang/gl_ES.lang
Normal file
File diff suppressed because it is too large
Load Diff
1528
eagler-files/modded/1.8/EaglyMC/lang/gv_IM.lang
Normal file
1528
eagler-files/modded/1.8/EaglyMC/lang/gv_IM.lang
Normal file
File diff suppressed because it is too large
Load Diff
1585
eagler-files/modded/1.8/EaglyMC/lang/he_IL.lang
Normal file
1585
eagler-files/modded/1.8/EaglyMC/lang/he_IL.lang
Normal file
File diff suppressed because it is too large
Load Diff
1412
eagler-files/modded/1.8/EaglyMC/lang/hi_IN.lang
Normal file
1412
eagler-files/modded/1.8/EaglyMC/lang/hi_IN.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/hr_HR.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/hr_HR.lang
Normal file
File diff suppressed because it is too large
Load Diff
2515
eagler-files/modded/1.8/EaglyMC/lang/hu_HU.lang
Normal file
2515
eagler-files/modded/1.8/EaglyMC/lang/hu_HU.lang
Normal file
File diff suppressed because it is too large
Load Diff
1363
eagler-files/modded/1.8/EaglyMC/lang/hy_AM.lang
Normal file
1363
eagler-files/modded/1.8/EaglyMC/lang/hy_AM.lang
Normal file
File diff suppressed because it is too large
Load Diff
1836
eagler-files/modded/1.8/EaglyMC/lang/id_ID.lang
Normal file
1836
eagler-files/modded/1.8/EaglyMC/lang/id_ID.lang
Normal file
File diff suppressed because it is too large
Load Diff
1891
eagler-files/modded/1.8/EaglyMC/lang/is_IS.lang
Normal file
1891
eagler-files/modded/1.8/EaglyMC/lang/is_IS.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/it_IT.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/it_IT.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/ja_JP.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/ja_JP.lang
Normal file
File diff suppressed because it is too large
Load Diff
2514
eagler-files/modded/1.8/EaglyMC/lang/ka_GE.lang
Normal file
2514
eagler-files/modded/1.8/EaglyMC/lang/ka_GE.lang
Normal file
File diff suppressed because it is too large
Load Diff
2492
eagler-files/modded/1.8/EaglyMC/lang/ko_KR.lang
Normal file
2492
eagler-files/modded/1.8/EaglyMC/lang/ko_KR.lang
Normal file
File diff suppressed because it is too large
Load Diff
1628
eagler-files/modded/1.8/EaglyMC/lang/kw_GB.lang
Normal file
1628
eagler-files/modded/1.8/EaglyMC/lang/kw_GB.lang
Normal file
File diff suppressed because it is too large
Load Diff
1624
eagler-files/modded/1.8/EaglyMC/lang/la_LA.lang
Normal file
1624
eagler-files/modded/1.8/EaglyMC/lang/la_LA.lang
Normal file
File diff suppressed because it is too large
Load Diff
1910
eagler-files/modded/1.8/EaglyMC/lang/lb_LU.lang
Normal file
1910
eagler-files/modded/1.8/EaglyMC/lang/lb_LU.lang
Normal file
File diff suppressed because it is too large
Load Diff
2518
eagler-files/modded/1.8/EaglyMC/lang/lt_LT.lang
Normal file
2518
eagler-files/modded/1.8/EaglyMC/lang/lt_LT.lang
Normal file
File diff suppressed because it is too large
Load Diff
1754
eagler-files/modded/1.8/EaglyMC/lang/lv_LV.lang
Normal file
1754
eagler-files/modded/1.8/EaglyMC/lang/lv_LV.lang
Normal file
File diff suppressed because it is too large
Load Diff
458
eagler-files/modded/1.8/EaglyMC/lang/mi_NZ.lang
Normal file
458
eagler-files/modded/1.8/EaglyMC/lang/mi_NZ.lang
Normal file
@ -0,0 +1,458 @@
|
||||
addServer.add=Oti
|
||||
addServer.enterIp=Wāhi noho o te tūmau
|
||||
addServer.enterName=Ingoa o te tūmau
|
||||
addServer.hideAddress=huna wāhitau
|
||||
addServer.resourcePack=Pōkai Rauemi Tūmau
|
||||
addServer.resourcePack.disabled=Monokia
|
||||
addServer.resourcePack.enabled=Mkakaurangi
|
||||
addServer.resourcePack.prompt=Tohuāki
|
||||
addServer.title=Whakatika i te tūmau
|
||||
book.editTitle=Tomo Book Taitara:
|
||||
book.finalizeButton=Tohu me Katia
|
||||
book.finalizeWarning=Kia mōhio mai! A, no te haina koe i te pukapuka, ka kore e taea te reira.
|
||||
book.signButton=Tohu
|
||||
chat.cannotSend=Kāore e taea te tukatuka kōrerorero karere
|
||||
chat.copy=Tārua ki Papatopenga
|
||||
chat.link.confirm=Kei te hiahia koe ki te whakatuwhera i te hononga ki a koutou?
|
||||
chat.link.confirmTrusted=E hiahia ana koe ki te whakatūwhera mai tēnei hono ranei te tārua te reira ki o koutou papatopenga?
|
||||
chat.link.open=Whakatūwhera i roto i te Browser
|
||||
chat.link.warning=Kaua e whakat hononga i tangata ke!
|
||||
chat.stream.emote=(%s) * %s %s
|
||||
chat.stream.text=(%s) <%s> %s
|
||||
chat.type.achievement=%s kua tika roaa te paetae %s
|
||||
connect.authorizing=Takiuru in...
|
||||
connect.connecting=E hono ana ki te tūmau...
|
||||
connect.failed=I rahua te hono ki te tūmau
|
||||
controls.title=Mana
|
||||
createWorld.customize.custom.presets=Tatūkē
|
||||
createWorld.customize.flat.addLayer=tāpiri kahu-
|
||||
createWorld.customize.flat.editLayer=apa whakatika
|
||||
createWorld.customize.flat.height=teitei
|
||||
createWorld.customize.flat.layer.bottom=raro %s
|
||||
createWorld.customize.flat.layer.top=runga -%s
|
||||
createWorld.customize.flat.removeLayer=tango kahu-
|
||||
createWorld.customize.flat.tile=Apa nāunau
|
||||
createWorld.customize.flat.title=Whakaraupapa Superflat
|
||||
createWorld.customize.presets=Tatūkē
|
||||
createWorld.customize.presets.list=Tērā rānei, konei te etahi hanga tatou i mua!
|
||||
createWorld.customize.presets.select=whakamahi tatūkē
|
||||
createWorld.customize.presets.share=E hiahia ana ki te faaite i to koutou tatūkē ki te tangata? Whakamahia te pouaka i raro nei!
|
||||
createWorld.customize.presets.title=tīpako i te tatūkē
|
||||
demo.day.1=Tenei demo ka muri e rima nga ra game, koutou pai te mahi!
|
||||
demo.day.2=ra e rua
|
||||
demo.day.3=ra e toru
|
||||
demo.day.4=ra e wha
|
||||
demo.day.5=Ko koutou ra whakamutunga tenei!
|
||||
demo.day.6=kua mutu e rima nga ra. Press "F5" ki te tango he pikitia o to koutou hanga
|
||||
demo.day.warning=Ko to koutou wa tata ake!
|
||||
demo.demoExpired=Demo oti!
|
||||
demo.help.buy=hoko Minecraft inaianei!
|
||||
demo.help.fullWrapped=Tenei demo ka muri e rima nga ra (e pā ana ki 1 haora me te 40 miniti o te wā tūturu). Tirohia te whakatutukitanga mō ngā tīwhiri! Kia ngahau!
|
||||
demo.help.inventory=Whakamahia %1$s ki te whakatuwhera i tō peke
|
||||
demo.help.jump=Peke mā te pēhi i %1$s
|
||||
demo.help.later=Tonu tākaro!
|
||||
demo.help.movement=Whakamahia %1$s, %2$s, %3$s, %4$s me te kiore ki te neke a tawhio noa
|
||||
demo.help.movementMouse=Titiro huri noa te whakamahi i te kiore
|
||||
demo.help.movementShort=Neke mā te pēhi i %1$s, %2$s, %3$s, %4$s
|
||||
demo.help.title=Aratau Demo Minecraft
|
||||
demo.remainingTime=te wā e toe ana: %s
|
||||
demo.reminder=Kua mutu te demo. te hoko i te kēmu ki te haere tonu tīmata ranei te ao hou!
|
||||
disconnect.closed=katia hononga
|
||||
disconnect.disconnected=Kua momotu i te Tūmau
|
||||
disconnect.endOfStream=Mutunga o te Awa
|
||||
disconnect.kicked=I whana i te kēmu
|
||||
disconnect.loginFailed=I rahua te takiuru
|
||||
disconnect.loginFailedInfo=I rahua te takiuru: %s
|
||||
disconnect.loginFailedInfo.invalidSession=Wātū muhu (Me tīmata anō i tō kēmu)
|
||||
disconnect.loginFailedInfo.serversUnavailable=Ko te motuhēhēnga he wā ki raro mo te tiaki.
|
||||
disconnect.lost=hononga ngaro
|
||||
disconnect.overflow=papare te waipuke
|
||||
disconnect.quitting=whakamutu
|
||||
disconnect.spam=Whana hoki whakamuhani
|
||||
disconnect.timeout=pau i roto i
|
||||
entity.Boat.name=Waka
|
||||
entity.EntityHorse.name=Hoiho
|
||||
entity.horse.name=Hoiho
|
||||
gameMode.adventure=Aratau Adventure
|
||||
gameMode.changed=Kua whakahoutia te gameplay
|
||||
gameMode.creative=Aratau Creative
|
||||
gameMode.hardcore=aratau tino!
|
||||
gameMode.survival=Aratau Survival
|
||||
generator.amplified=ô-
|
||||
generator.amplified.info=pānui: anake hoki ngahau, me nui rorohiko
|
||||
generator.default=taunoa
|
||||
generator.flat=Superflat
|
||||
generator.largeBiomes=ngā wāhi nui
|
||||
gui.all=Katoa
|
||||
gui.back=Hoki
|
||||
gui.cancel=Whakakore
|
||||
gui.done=Oti
|
||||
gui.down=iho
|
||||
gui.no=Kāo
|
||||
gui.toMenu=hoki ki te mata taitara
|
||||
gui.up=Ake
|
||||
gui.yes=Āe
|
||||
item.apple.name=Āporo
|
||||
item.arrow.name=Pere
|
||||
item.bed.name=Moenga
|
||||
item.beefCooked.name=Kotinga mīti
|
||||
item.boat.name=Waka
|
||||
item.bone.name=Wheua
|
||||
item.bow.name=Kopere
|
||||
item.bread.name=Parāoa
|
||||
item.bucket.name=Pēre
|
||||
item.cake.name=Keke
|
||||
item.carrots.name=Kāreti
|
||||
item.charcoal.name=Waro
|
||||
item.clock.name=Karaka
|
||||
item.coal.name=Waro
|
||||
item.compass.name=Kāpehu
|
||||
item.cookie.name=Pihikete
|
||||
item.diamond.name=Taimana
|
||||
item.egg.name=Hēki
|
||||
item.emerald.name=Kahurangi
|
||||
item.feather.name=Piki
|
||||
item.fishingRod.name=Matira
|
||||
item.flint.name=Matā
|
||||
item.hatchetWood.name=Tuaina ki rakau
|
||||
item.ingotGold.name=Gold Ingot
|
||||
item.ingotIron.name=Iron Ingot
|
||||
item.leather.name=Rera
|
||||
item.map.name=Mapi
|
||||
item.painting.name=Waituhi
|
||||
item.pickaxeWood.name=Keriwhenua ki rakau
|
||||
item.saddle.name=Tera
|
||||
item.seeds.name=Purapura
|
||||
item.shovelWood.name=koko rakau
|
||||
item.sign.name=Pouārahi
|
||||
item.snowball.name=Poi huka
|
||||
item.stick.name=Rākau
|
||||
item.sulphur.name=Paura
|
||||
item.swordIron.name=Iron Hoari
|
||||
item.swordWood.name=te hoari rakau
|
||||
item.wheat.name=Wīti
|
||||
key.categories.inventory=Rārangi taonga
|
||||
key.categories.multiplayer=Multiplayer
|
||||
key.inventory=Rārangi taonga
|
||||
key.jump=Peke
|
||||
lanServer.otherPlayers=i ngā tautuhinga mō ētahi atu kaitākaro
|
||||
lanServer.scanning=matawai mō ngā kēmu i runga i tō whatunga rohe
|
||||
lanServer.start=tīmata LAN ao
|
||||
lanServer.title=LAN te ao
|
||||
language.code=mi_NZ
|
||||
language.name=Te Reo Māori
|
||||
language.region=Aotearoa
|
||||
mcoServer.title=hou te ao ipurangi Minecraft
|
||||
menu.convertingLevel=Faafariuraa o te ao
|
||||
menu.disconnect=Wetea
|
||||
menu.game=tahua kēmu
|
||||
menu.generatingLevel=Auaha te ao
|
||||
menu.generatingTerrain=Auaha te whenua
|
||||
menu.loadingLevel=Rāwekeweke te ao
|
||||
menu.multiplayer=huihui
|
||||
menu.options=nga kōwhiringa...
|
||||
menu.playdemo=Te tākaro Demo World
|
||||
menu.quit=Putanga
|
||||
menu.resetdemo=Tautuhi anō Demo World
|
||||
menu.respawning=whakawhānau takarure
|
||||
menu.returnToGame=Hoki ki te kēmu
|
||||
menu.returnToMenu=Putanga me haere ki te rārangi tono
|
||||
menu.shareToLan=tuwhera tō LAN
|
||||
menu.simulating=Construction o te ao i roto i nga paraire
|
||||
menu.singleplayer=anake
|
||||
menu.switchingLevel=Whakawhitiwhiti nga ao
|
||||
multiplayer.connect=Hono
|
||||
multiplayer.downloadingStats=Te tikiake i ngā tatauranga & whakatutukitanga ...
|
||||
multiplayer.downloadingTerrain=Tikiake ana i nga whenua
|
||||
multiplayer.info1=Minecraft Multiplayer kore tēnei wā kei te oti, engari i reira
|
||||
multiplayer.info2=whakamātautau bug wawe puta.
|
||||
multiplayer.ipinfo=Tomo i te IP o te tūmau, ki te hono atu ki reira:
|
||||
multiplayer.player.joined=%s uru atu te kēmu
|
||||
multiplayer.player.joined.renamed=%s (e mōhiotia i mua kia rite ki %s) i uru ki te kēmu
|
||||
multiplayer.player.left=%s mahue te kēmu
|
||||
multiplayer.stopSleeping=waiho Bed
|
||||
multiplayer.texturePrompt.line1=E taunaki ana tēnei tūmau i te whakamahi o te mōkihi rauemi ritenga.
|
||||
multiplayer.texturePrompt.line2=E hiahia ana koe ki te tiki ake me te tāuta i te reira aunoa?
|
||||
multiplayer.title=te tākaro multiplayer
|
||||
options.advancedButton=Settings Ataata Arā...
|
||||
options.advancedOpengl=OpenGL Arā
|
||||
options.advancedVideoTitle=Settings Ataata Arā
|
||||
options.anaglyph=3D Anaglyph
|
||||
options.ao=Whakamumuratanga Whakaene
|
||||
options.ao.max=Mōrahi
|
||||
options.ao.min=Mōkito
|
||||
options.ao.off=OFF
|
||||
options.chat.color=Tae
|
||||
options.chat.height.unfocused=Not Focused Height
|
||||
options.chat.links=Hononga Tukutuku
|
||||
options.chat.links.prompt=Tohuāki i runga i Hononga
|
||||
options.chat.opacity=Opacity
|
||||
options.chat.scale=Tauine
|
||||
options.chat.title=Settings kōrerorero...
|
||||
options.chat.visibility=kōrerorero
|
||||
options.chat.visibility.full=whakaaturia
|
||||
options.chat.visibility.hidden=Huna
|
||||
options.chat.visibility.system=tono anake
|
||||
options.chat.width=Whānuitanga
|
||||
options.controls=Mana...
|
||||
options.difficulty=Uaua
|
||||
options.difficulty.easy=Ngāwari
|
||||
options.difficulty.hard=Māro
|
||||
options.difficulty.hardcore=Hardcore
|
||||
options.difficulty.normal=Pūnoa
|
||||
options.difficulty.peaceful=Rangimārie
|
||||
options.farWarning1=Tūtohutia te tāutanga Java 64 bit te
|
||||
options.farWarning2='Far' hoatu tawhiti (koe 32 bit)
|
||||
options.fboEnable=Whakahohe i FBOs
|
||||
options.fov=FOV
|
||||
options.fov.max=Quake PROV
|
||||
options.fov.min=Pūnoa
|
||||
options.framerateLimit=Mokatere tāpare Max
|
||||
options.framerateLimit.max=Unlimited
|
||||
options.gamma=Gile
|
||||
options.gamma.max=Kanapa
|
||||
options.gamma.min=Moody
|
||||
options.graphics=Whakairoiro
|
||||
options.graphics.fancy=Fancy
|
||||
options.graphics.fast=Nohopuku
|
||||
options.guiScale=GUI Tauine
|
||||
options.guiScale.auto=Car
|
||||
options.guiScale.large=Nui
|
||||
options.guiScale.normal=Pūnoa
|
||||
options.guiScale.small=Iti
|
||||
options.hidden=Huna
|
||||
options.invertMouse=Huripoki Kiore
|
||||
options.language=Reo...
|
||||
options.languageWarning=E kore ai translations reo e tōtika 100%%
|
||||
options.multiplayer.title=Settings Multiplayer...
|
||||
options.music=Puoro
|
||||
options.off=OFF
|
||||
options.on=ON
|
||||
options.particles=matūriki
|
||||
options.particles.all=Katoa
|
||||
options.particles.decreased=Heke
|
||||
options.particles.minimal=Iti
|
||||
options.performanceButton=Settings Mahinga Ataata...
|
||||
options.performanceVideoTitle=Settings Mahinga Ataata
|
||||
options.postButton=Settings Post-Processing...
|
||||
options.postProcessEnable=Whakahohetia te Post-Processing
|
||||
options.postVideoTitle=Settings Post-Processing
|
||||
options.qualityButton=Settings Kounga Ataata...
|
||||
options.qualityVideoTitle=Settings Kounga Ataata
|
||||
options.renderClouds=Kapua
|
||||
options.renderDistance=Hoatu tawhiti
|
||||
options.renderDistance.far=Tawhiti
|
||||
options.renderDistance.normal=Pūnoa
|
||||
options.renderDistance.short=Poto
|
||||
options.renderDistance.tiny=Iti
|
||||
options.saturation=waiwai
|
||||
options.sensitivity=Rauangi
|
||||
options.sensitivity.max=HYPERSPEED!!!
|
||||
options.sensitivity.min=*Oha*
|
||||
options.snooper=Tukua popore
|
||||
options.sound=tangi
|
||||
options.sounds=Music & Oro...
|
||||
options.sounds.title=Kōwhiringa Music & Sound
|
||||
options.stream=Pāohotanga Settings...
|
||||
options.stream.changes=Me tīmata anō pea koutou awa koe mo ki enei rerekētanga tango i te wahi.
|
||||
options.stream.compression.high=Tiketike
|
||||
options.stream.compression.low=Iti
|
||||
options.stream.compression.medium=Waenga
|
||||
options.stream.mic_toggle.talk=Kōrero
|
||||
options.title=kōwhiringa
|
||||
options.video=Settings Video...
|
||||
options.videoTitle=Settings Video
|
||||
options.viewBobbing=Tirohia te whāwhā
|
||||
options.visible=whakaaturia
|
||||
record.nowPlaying=tākaro Na: %s
|
||||
selectServer.add=Tāpiri Tūmau
|
||||
selectServer.defaultName=Tūmau Minecraft
|
||||
selectServer.delete=Porowhiu
|
||||
selectServer.deleteButton=Porowhiu
|
||||
selectServer.deleteQuestion=Whakaū i te tango o tenei tūmau?
|
||||
selectServer.deleteWarning=Ngaro ka ake ake! (Te wa i!)
|
||||
selectServer.direct=Whakarerekē
|
||||
selectServer.edit=Whakarerekē
|
||||
selectServer.empty=tahanga
|
||||
selectServer.hiddenAddress=(Huna)
|
||||
selectServer.refresh=Update
|
||||
selectServer.select=amui atu tūmau
|
||||
selectServer.title=te tīpako i te tūmau
|
||||
selectWorld.allowCommands=Tuku i te whakahau:
|
||||
selectWorld.allowCommands.info=Kainga, herehere, i ētahi atu momo ao... /gamemode, /xp
|
||||
selectWorld.bonusItems=utu uma:
|
||||
selectWorld.cheats=Tinihanga
|
||||
selectWorld.conversion=Me tahuri!
|
||||
selectWorld.create=Waihanga he world new
|
||||
selectWorld.createDemo=Te tākaro New Demo World
|
||||
selectWorld.customizeType=Whakatauritea
|
||||
selectWorld.delete=Porowhiu
|
||||
selectWorld.deleteButton=Porowhiu
|
||||
selectWorld.deleteQuestion=E hiahia ana koe ki te muku i tēnei ao ki a koutou?
|
||||
selectWorld.deleteWarning=ka ngaro ake ake! (He roa te wā!)
|
||||
selectWorld.empty=tahanga
|
||||
selectWorld.enterName=ingoa ao
|
||||
selectWorld.enterSeed=uri mo te kaihanga ao
|
||||
selectWorld.gameMode=Aratau Game
|
||||
selectWorld.gameMode.adventure=Haere māia
|
||||
selectWorld.gameMode.adventure.line1=Rite aratau ora, engari e kore e taea e poraka
|
||||
selectWorld.gameMode.adventure.line2=tāpiri, te tango ranei,
|
||||
selectWorld.gameMode.creative=auaha
|
||||
selectWorld.gameMode.creative.line1=rauemi mure ore, e rere ana, me te kore utu
|
||||
selectWorld.gameMode.creative.line2=Top -%s
|
||||
selectWorld.gameMode.hardcore=tino
|
||||
selectWorld.gameMode.hardcore.line1=Rite aratau ora, kua kiia i faingataa
|
||||
selectWorld.gameMode.hardcore.line2=uaua, a kotahi te ora anake
|
||||
selectWorld.gameMode.survival=Noho ora
|
||||
selectWorld.gameMode.survival.line1=Rapu mō te rauemi, ke fokotuutuu, taonga
|
||||
selectWorld.gameMode.survival.line2=taumata, te hauora, me te matekai
|
||||
selectWorld.hardcoreMode=tino:
|
||||
selectWorld.hardcoreMode.info=mukua ao te ki runga ki te mate
|
||||
selectWorld.mapFeatures=Whakaputa hanganga:
|
||||
selectWorld.mapFeatures.info=Kainga, herehere, i ētahi atu momo ao
|
||||
selectWorld.mapType=Momo o te ao:
|
||||
selectWorld.mapType.normal=Noa
|
||||
selectWorld.moreWorldOptions=Ētahi atu Kōwhiringa Ao ...
|
||||
selectWorld.newWorld=ao hou
|
||||
selectWorld.newWorld.copyOf=kape o te %s
|
||||
selectWorld.recreate=Waihangatia tētahi atu wā
|
||||
selectWorld.rename=Huria te ingoa
|
||||
selectWorld.renameButton=whakaingoa
|
||||
selectWorld.renameTitle=whakaingoa World
|
||||
selectWorld.resultFolder=ka ora i roto i:
|
||||
selectWorld.seedInfo=waiho kia pātea tonu hoki te uri tupurangi
|
||||
selectWorld.select=Te tākaro i te ao kua tīpakohia
|
||||
selectWorld.title=Tīpakohia te ao
|
||||
selectWorld.world=Ao
|
||||
soundCategory.ambient=Ambient / Taiao
|
||||
soundCategory.block=poraka
|
||||
soundCategory.hostile=Vaerua kaikiri
|
||||
soundCategory.master=rōrahi te Kaiwhakaako
|
||||
soundCategory.music=Puoro
|
||||
soundCategory.neutral=Vaerua hoa
|
||||
soundCategory.player=kaitākaro
|
||||
soundCategory.record=Poraka rekoata / Tuhipoka
|
||||
soundCategory.weather=Weather
|
||||
tile.activatorRail.name=Activator Rail
|
||||
tile.anvil.name=Paepae maitai
|
||||
tile.bedrock.name=maka tefito
|
||||
tile.blockCoal.name=Poraka o Coal
|
||||
tile.blockDiamond.name=Poraka o Diamond
|
||||
tile.bookshelf.name=PukaPuka
|
||||
tile.brick.name=Pereki
|
||||
tile.button.name=Pātene
|
||||
tile.cake.name=Keke
|
||||
tile.carrots.name=Kāreti
|
||||
tile.chest.name=pouaka
|
||||
tile.chestTrap.name=aaka mau
|
||||
tile.cloth.name=Wūru
|
||||
tile.cocoa.name=Koukou
|
||||
tile.crops.name=Kai
|
||||
tile.deadbush.name=mate Bush
|
||||
tile.detectorRail.name=pūkimi Rail
|
||||
tile.dirt.default.name=Oneone
|
||||
tile.dirt.podzol.name=Onemata
|
||||
tile.doorIron.name=Iron Door
|
||||
tile.doorWood.name=Door Rakau
|
||||
tile.doublePlant.fern.name=Ponga
|
||||
tile.doublePlant.rose.name=Rōha
|
||||
tile.doublePlant.sunflower.name=Putiputi rā
|
||||
tile.farmland.name=Papanga pāmu
|
||||
tile.fence.name=Taiepa
|
||||
tile.fire.name=Ahi
|
||||
tile.flower1.dandelion.name=Tawao
|
||||
tile.flower2.allium.name=Allium
|
||||
tile.flower2.houstonia.name=Azure Bluet
|
||||
tile.flower2.tulipRed.name=Whero Tulip
|
||||
tile.furnace.name=Oumu
|
||||
tile.glass.name=Karaehe
|
||||
tile.goldenRail.name=Rail Powered
|
||||
tile.grass.name=tarutaru Poraka
|
||||
tile.gravel.name=Tuakirikiri
|
||||
tile.hayBlock.name=hay wuru
|
||||
tile.ice.name=Haupapa
|
||||
tile.ladder.name=Arawhata
|
||||
tile.lava.name=Tahepuia
|
||||
tile.leaves.acacia.name=hitimi Rau
|
||||
tile.leaves.big_oak.name=Dark Oak Rau
|
||||
tile.leaves.birch.name=birch Rau
|
||||
tile.leaves.jungle.name=uru raau no Rau
|
||||
tile.leaves.name=Ngā rau
|
||||
tile.leaves.oak.name=Rau oki
|
||||
tile.leaves.spruce.name=Rau te puruhi
|
||||
tile.lever.name=Ara
|
||||
tile.log.acacia.name=hitimi Wood
|
||||
tile.log.big_oak.name=Dark Oak Wood
|
||||
tile.log.birch.name=Birch Wood
|
||||
tile.log.jungle.name=uru raau no Wood
|
||||
tile.log.name=Rākau
|
||||
tile.log.oak.name=Rākau oke
|
||||
tile.log.spruce.name=te puruhi mo Wood
|
||||
tile.mobSpawner.name=Monster Spawner
|
||||
tile.obsidian.name=Matā
|
||||
tile.oreCoal.name=Coal Ore
|
||||
tile.oreDiamond.name=Diamond Ore
|
||||
tile.oreGold.name=Gold Ore
|
||||
tile.oreIron.name=Iron Ore
|
||||
tile.potatoes.name=Rīwai
|
||||
tile.pumpkin.name=Paukena
|
||||
tile.rail.name=Ara tereina
|
||||
tile.redstoneDust.name=Redstone puehu
|
||||
tile.sand.default.name=Kirikiri
|
||||
tile.sand.red.name=Kirikiri whero
|
||||
tile.sandStone.chiseled.name=whaoa hōanga
|
||||
tile.sandStone.default.name=Hōanga
|
||||
tile.sandStone.name=Hōanga
|
||||
tile.sandStone.smooth.name=hōanga Whakaene
|
||||
tile.sapling.acacia.name=hitimi Māhuri
|
||||
tile.sapling.birch.name=Birch Māhuri
|
||||
tile.sapling.jungle.name=uru raau no Māhuri
|
||||
tile.sapling.oak.name=Oak Māhuri
|
||||
tile.sapling.spruce.name=te puruhi mo Māhuri
|
||||
tile.sign.name=Tohu
|
||||
tile.snow.name=Huka
|
||||
tile.stainedGlass.black.name=Black ōpure koata
|
||||
tile.stainedGlass.blue.name=Blue ōpure koata
|
||||
tile.stainedGlass.brown.name=Brown ōpure koata
|
||||
tile.stainedGlass.cyan.name=Urikiko ōpure koata
|
||||
tile.stainedGlass.gray.name=Gray ōpure koata
|
||||
tile.stainedGlass.green.name=Green ōpure koata
|
||||
tile.stainedGlass.name=ōpure koata
|
||||
tile.stainedGlass.pink.name=Pink ōpure koata
|
||||
tile.stainedGlass.purple.name=Papura ōpure koata
|
||||
tile.stainedGlass.red.name=Whero ōpure koata
|
||||
tile.stainedGlass.silver.name=Light Gray ōpure koata
|
||||
tile.stairsSandStone.name=hōanga Arawhata
|
||||
tile.stairsStone.name=Stone Arawhata
|
||||
tile.stairsWood.name=Oak Wood Arawhata
|
||||
tile.stairsWoodAcacia.name=Hitimi Wood Arawhata
|
||||
tile.stairsWoodBirch.name=Birch Wood Arawhata
|
||||
tile.stairsWoodDarkOak.name=Dark Oak Wood Arawhata
|
||||
tile.stairsWoodJungle.name=Uru raau no Wood Arawhata
|
||||
tile.stairsWoodSpruce.name=Te puruhi mo Wood Arawhata
|
||||
tile.stoneMoss.name=Moss Stone
|
||||
tile.stonebrick.name=Cobblestone
|
||||
tile.tallgrass.fern.name=Ponga
|
||||
tile.tallgrass.grass.name=Karaihe
|
||||
tile.tallgrass.name=Karaihe
|
||||
tile.tallgrass.shrub.name=Riki
|
||||
tile.thinGlass.name=Pihanga
|
||||
tile.tnt.name=TNT
|
||||
tile.torch.name=Rama
|
||||
tile.water.name=Wai
|
||||
tile.weightedPlate_heavy.name=Plate Pressure tautaha (Taumaha)
|
||||
tile.weightedPlate_light.name=Plate Pressure tautaha (Light)
|
||||
tile.wood.acacia.name=Hitimi Wood papa
|
||||
tile.wood.big_oak.name=Dark Oak Wood papa
|
||||
tile.wood.birch.name=Birch Wood papa
|
||||
tile.wood.jungle.name=Uru raau no Wood papa
|
||||
tile.wood.name=papa rākau
|
||||
tile.wood.oak.name=Oak papa rakau
|
||||
tile.wood.spruce.name=Te puruhi mo Wood papa
|
||||
tile.woodSlab.acacia.name=Hitimi Wood papa
|
||||
tile.woodSlab.big_oak.name=Dark Oak Wood papa
|
||||
tile.woodSlab.birch.name=Birch Wood Papa
|
||||
tile.woodSlab.jungle.name=Uru raau no Wood papa
|
||||
tile.woodSlab.oak.name=Oak Wood Papa
|
||||
tile.woodSlab.spruce.name=Te puruhi mo Wood papa
|
||||
tile.workbench.name=Papamahi
|
1534
eagler-files/modded/1.8/EaglyMC/lang/ms_MY.lang
Normal file
1534
eagler-files/modded/1.8/EaglyMC/lang/ms_MY.lang
Normal file
File diff suppressed because it is too large
Load Diff
1909
eagler-files/modded/1.8/EaglyMC/lang/mt_MT.lang
Normal file
1909
eagler-files/modded/1.8/EaglyMC/lang/mt_MT.lang
Normal file
File diff suppressed because it is too large
Load Diff
1739
eagler-files/modded/1.8/EaglyMC/lang/nds_DE.lang
Normal file
1739
eagler-files/modded/1.8/EaglyMC/lang/nds_DE.lang
Normal file
File diff suppressed because it is too large
Load Diff
2516
eagler-files/modded/1.8/EaglyMC/lang/nl_NL.lang
Normal file
2516
eagler-files/modded/1.8/EaglyMC/lang/nl_NL.lang
Normal file
File diff suppressed because it is too large
Load Diff
1630
eagler-files/modded/1.8/EaglyMC/lang/nn_NO.lang
Normal file
1630
eagler-files/modded/1.8/EaglyMC/lang/nn_NO.lang
Normal file
File diff suppressed because it is too large
Load Diff
1852
eagler-files/modded/1.8/EaglyMC/lang/no_NO.lang
Normal file
1852
eagler-files/modded/1.8/EaglyMC/lang/no_NO.lang
Normal file
File diff suppressed because it is too large
Load Diff
2490
eagler-files/modded/1.8/EaglyMC/lang/oc_FR.lang
Normal file
2490
eagler-files/modded/1.8/EaglyMC/lang/oc_FR.lang
Normal file
File diff suppressed because it is too large
Load Diff
1981
eagler-files/modded/1.8/EaglyMC/lang/pl_PL.lang
Normal file
1981
eagler-files/modded/1.8/EaglyMC/lang/pl_PL.lang
Normal file
File diff suppressed because it is too large
Load Diff
2516
eagler-files/modded/1.8/EaglyMC/lang/pt_BR.lang
Normal file
2516
eagler-files/modded/1.8/EaglyMC/lang/pt_BR.lang
Normal file
File diff suppressed because it is too large
Load Diff
1989
eagler-files/modded/1.8/EaglyMC/lang/pt_PT.lang
Normal file
1989
eagler-files/modded/1.8/EaglyMC/lang/pt_PT.lang
Normal file
File diff suppressed because it is too large
Load Diff
1104
eagler-files/modded/1.8/EaglyMC/lang/qya_AA.lang
Normal file
1104
eagler-files/modded/1.8/EaglyMC/lang/qya_AA.lang
Normal file
File diff suppressed because it is too large
Load Diff
2515
eagler-files/modded/1.8/EaglyMC/lang/ro_RO.lang
Normal file
2515
eagler-files/modded/1.8/EaglyMC/lang/ro_RO.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/ru_RU.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/ru_RU.lang
Normal file
File diff suppressed because it is too large
Load Diff
436
eagler-files/modded/1.8/EaglyMC/lang/se_NO.lang
Normal file
436
eagler-files/modded/1.8/EaglyMC/lang/se_NO.lang
Normal file
@ -0,0 +1,436 @@
|
||||
achievement.bakeCake=Gielis
|
||||
achievement.bakeCake.desc=Nisut, sohkar, mielki ja monit!
|
||||
achievement.blazeRod=Dollii
|
||||
achievement.bookcase=Girjerájusbargi
|
||||
achievement.buildBetterPickaxe=Buoredat
|
||||
achievement.diamonds=DIAMÁNTTAT!
|
||||
achievement.killWither=Álgu.
|
||||
achievement.spawnWither=Álgu?
|
||||
achievement.theEnd=Loahppa?
|
||||
achievement.theEnd2=Loahppa.
|
||||
addServer.add=Gárvvis
|
||||
attribute.name.generic.movementSpeed=Johtilvuohta
|
||||
book.finalizeButton=Sivdnidat ja dahppat
|
||||
book.generation.0=Originála
|
||||
book.signButton=Sivdnidat
|
||||
chat.stream.emote=(%s) * %s %s
|
||||
chat.stream.text=(%s) <%s> %s
|
||||
commands.ban.failed=Ii máhte gieldit čuojaheadji %s
|
||||
commands.ban.success=Čuojaheaddji %s lea gieldán
|
||||
commands.ban.usage=/ban <nama> [sivva...]
|
||||
commands.clone.usage=/clone <x1> <y1> <z1> <x2> <y2> <z2> <x> <y> <z> [mode]
|
||||
commands.compare.usage=/testforblocks <x1> <y1> <z1> <x2> <y2> <z2><x><y><z>[mode]
|
||||
commands.defaultgamemode.usage=/defaultgamemode <modus>
|
||||
commands.deop.failed=Ii máhte de-op %s
|
||||
commands.deop.usage=/deop <čuojaheadji>
|
||||
commands.difficulty.usage=/difficulty <ođđa áŧestus>
|
||||
commands.entitydata.noPlayers=%s lea čuojaheaddji ja ii máhte rievdaduvvot
|
||||
commands.gamemode.usage=/gamemode <modus> [čuojaheaddji]
|
||||
commands.generic.usage=Geavahus: %s
|
||||
commands.kick.usage=/kick <čuojaheadji> [sivva...]
|
||||
commands.message.display.incoming=%s savkala dutnje: %s
|
||||
commands.message.display.outgoing=Don savkalat čuojaheaddjai %s: %s
|
||||
commands.op.failed=Ii máhte op %s
|
||||
commands.op.usage=/op <čuojaheadji>
|
||||
commands.particle.usage=/particle <name> <x> <y> <z> <xd> <yd> <zd> <speed> [count] [mode]
|
||||
commands.say.usage=/say <dieđáhus>
|
||||
commands.scoreboard.teams.add.alreadyExists=Joavku namain %s juo gávdno
|
||||
commands.scoreboard.teams.add.success=Joavku '%s' lea lasihan
|
||||
commands.scoreboard.teams.leave.noTeam=Don it leat joavkkus
|
||||
commands.scoreboard.teams.list.entry=- %1$s: čájáhusanamma '%2$s', čuojaheaddjit %3$s
|
||||
commands.scoreboard.teams.list.player.empty=Eai leat čuojaheaddjit joavkkus %s
|
||||
commands.scoreboard.teams.list.usage=/scoreboard teams list [namma]
|
||||
commands.scoreboard.teams.option.usage=/scoreboard teams option <team> <friendlyfire|color|seeFriendlyInvisibles|nametagVisibility|deathMessageVisibility> <value>
|
||||
commands.scoreboard.teams.remove.success=Joavku %s lea sihkkon
|
||||
commands.seed.success=Seed: %s
|
||||
commands.setworldspawn.usage=/setworldspawn [<x> <y> <z>]
|
||||
commands.stats.block.usage=/stats block <x> <y> <z> <mode> ...
|
||||
commands.testfor.success=%s lea gávdnan
|
||||
commands.time.query=Diibmu lea %s
|
||||
commands.title.usage.clear=/title <čuojaheaddji> clear|reset
|
||||
commands.unban.failed=Ii máhte eahpegieldit čuojaheadji %s
|
||||
commands.unban.success=Čuojaheaddji %s lea eahpegieldán
|
||||
commands.unban.usage=/pardon <nama>
|
||||
commands.unbanip.usage=/pardon-ip <adreassa>
|
||||
commands.whitelist.add.usage=/whitelist add <čuojaheadji>
|
||||
commands.whitelist.remove.usage=/whitelist sihko <čuojaheadji>
|
||||
commands.worldborder.center.usage=/worldborder center <x> <z>
|
||||
container.enchant.clue=%s . . . ?
|
||||
container.furnace=Steaikauvdna
|
||||
container.isLocked=%s lea lohkkadan!
|
||||
createWorld.customize.custom.confirmTitle=Varuhus!
|
||||
createWorld.customize.custom.next=Viidáseappot
|
||||
createWorld.customize.custom.preset.goodLuck=Ollu lihkku
|
||||
createWorld.customize.custom.preset.isleLand=Sulloeatnan
|
||||
createWorld.customize.custom.preset.waterWorld=Čázi máilbmi
|
||||
createWorld.customize.custom.prev=Ruoktu
|
||||
createWorld.customize.custom.riverSize=Joga sturrodat
|
||||
createWorld.customize.custom.useCaves=Čiehppasat
|
||||
createWorld.customize.custom.useLavaLakes=Lava jávrrit
|
||||
createWorld.customize.custom.useRavines=Ruččut
|
||||
createWorld.customize.custom.useTemples=Tempelat
|
||||
createWorld.customize.custom.useVillages=Gávpogat
|
||||
createWorld.customize.custom.useWaterLakes=Čázi jávrrit
|
||||
createWorld.customize.flat.height=Allodat
|
||||
createWorld.customize.flat.layer.bottom=Bodni - %s
|
||||
createWorld.customize.flat.layer.top=Giera + %s
|
||||
death.attack.generic=%1$s jámii
|
||||
deathScreen.score=Čuoggát
|
||||
deathScreen.title=Don leat jábmi!
|
||||
demo.day.2=Nubbi beaivi
|
||||
demo.day.3=Goalmmát beaivi
|
||||
demo.day.4=Njealját beaivi
|
||||
demo.day.5=Dát lea du maŋimus beaivi!
|
||||
demo.help.buy=Oasttát dál!
|
||||
demo.help.later=Joatkkát ja čuojahat!
|
||||
disconnect.quitting=Guođđit
|
||||
disconnect.timeout=Mihkkege vástádus
|
||||
enchantment.level.1=I
|
||||
enchantment.level.10=X
|
||||
enchantment.level.2=II
|
||||
enchantment.level.3=III
|
||||
enchantment.level.4=IV
|
||||
enchantment.level.5=V
|
||||
enchantment.level.6=VI
|
||||
enchantment.level.7=VII
|
||||
enchantment.level.8=VIII
|
||||
enchantment.level.9=IX
|
||||
entity.Boat.name=Fanas
|
||||
entity.Cat.name=Bussá
|
||||
entity.Chicken.name=Vuonccis
|
||||
entity.Cow.name=Gussa
|
||||
entity.Creeper.name=Creeper
|
||||
entity.EntityHorse.name=Heasta
|
||||
entity.Item.name=Diŋga
|
||||
entity.Pig.name=Spiidni
|
||||
entity.Rabbit.name=Kaniidna
|
||||
entity.Sheep.name=Sávza
|
||||
entity.SnowMan.name=Čagigolem
|
||||
entity.Spider.name=Heavdni
|
||||
entity.Villager.librarian=Girjerájusbargi
|
||||
entity.VillagerGolem.name=Ruovddigolem
|
||||
entity.Wolf.name=Gumpe
|
||||
entity.Zombie.name=Zombi
|
||||
entity.generic.name=dovdameahttun
|
||||
entity.horse.name=Heasta
|
||||
entity.zombiehorse.name=Zombi heasta
|
||||
gameMode.adventure=Máinasmodus
|
||||
gameMode.hardcore=Hardcore-modus!
|
||||
gui.all=Buot
|
||||
gui.back=Ruoktu
|
||||
gui.cancel=Šluhtte
|
||||
gui.done=Gárvvis
|
||||
gui.down=vulos
|
||||
gui.no=Ii
|
||||
gui.none=Ii mihkkege
|
||||
gui.stats=Statistihkat
|
||||
gui.toMenu=Ruoktu váldufálus
|
||||
gui.up=Bajás
|
||||
gui.yes=Gal
|
||||
inventory.binSlot=Billistát diŋgga
|
||||
item.apple.name=Eappel
|
||||
item.banner.black.name=Čáhppat leavga
|
||||
item.banner.blue.name=Alit leavga
|
||||
item.banner.brown.name=Ruškat leavga
|
||||
item.banner.gray.name=Ránis leavga
|
||||
item.banner.green.name=Ruoná leavga
|
||||
item.banner.mojang.black=Čáhppat ášši
|
||||
item.banner.mojang.blue=Alit ášši
|
||||
item.banner.mojang.brown=Ruškat ášši
|
||||
item.banner.mojang.gray=Ránis ášši
|
||||
item.banner.mojang.green=Ruoná ášši
|
||||
item.banner.mojang.orange=Oránša ášši
|
||||
item.banner.mojang.pink=Guvgesruoksa ášši
|
||||
item.banner.mojang.purple=Sáhppat ášši
|
||||
item.banner.mojang.red=Ruoksat ášši
|
||||
item.banner.mojang.white=Vielgat ášši
|
||||
item.banner.mojang.yellow=Fiskat ášši
|
||||
item.banner.orange.name=Oránša leavga
|
||||
item.banner.pink.name=Guvgesruoksat leavga
|
||||
item.banner.purple.name=Sáhppat leavga
|
||||
item.banner.red.name=Ruoksat leavga
|
||||
item.banner.small_stripes.black=Čáhppat ráidá
|
||||
item.banner.small_stripes.blue=Alit ráidá
|
||||
item.banner.small_stripes.brown=Ruškat
|
||||
ráidá
|
||||
item.banner.small_stripes.gray=Ránis ráidá
|
||||
item.banner.small_stripes.green=Ruoná ráidá
|
||||
item.banner.small_stripes.orange=Oránša ráidá
|
||||
item.banner.small_stripes.pink=Guvgeruoksat ráidá
|
||||
item.banner.small_stripes.purple=Sáhppat ráidá
|
||||
item.banner.small_stripes.red=Ruoksat ráidá
|
||||
item.banner.small_stripes.white=Vielgat ráidá
|
||||
item.banner.small_stripes.yellow=Fiskat ráidá
|
||||
item.banner.straight_cross.black=Čáhppat ruossa
|
||||
item.banner.straight_cross.blue=Alit ruossa
|
||||
item.banner.straight_cross.brown=Ruškat ruossa
|
||||
item.banner.straight_cross.gray=Ránis ruossa
|
||||
item.banner.straight_cross.green=Ruoná ruossa
|
||||
item.banner.straight_cross.orange=Oránša ruossa
|
||||
item.banner.straight_cross.pink=Guvgesruoksat ruossa
|
||||
item.banner.straight_cross.purple=Sáhppat ruossa
|
||||
item.banner.straight_cross.red=Ruoksat ruossa
|
||||
item.banner.straight_cross.white=Vielgat ruossa
|
||||
item.banner.straight_cross.yellow=Fiskat ruossa
|
||||
item.banner.white.name=Vielgat leavga
|
||||
item.banner.yellow.name=Fiskat leavga
|
||||
item.bed.name=Seaŋga
|
||||
item.boat.name=Fanas
|
||||
item.book.name=Girji
|
||||
item.bow.name=Dávgi
|
||||
item.bowl.name=Bolljá
|
||||
item.bread.name=Láibi
|
||||
item.bucket.name=Skállu
|
||||
item.bucketLava.name=Lavaskállu
|
||||
item.bucketWater.name=Čáziskállu
|
||||
item.cake.name=Gáhkku
|
||||
item.clay.name=láira
|
||||
item.cookie.name=Keaksa
|
||||
item.diamond.name=Diamántta
|
||||
item.egg.name=Monni
|
||||
item.feather.name=Dávgi
|
||||
item.fireworksCharge.black=Čáhppat
|
||||
item.fireworksCharge.blue=Alit
|
||||
item.fireworksCharge.gray=Ránis
|
||||
item.fireworksCharge.green=Ruoná
|
||||
item.fireworksCharge.orange=Oránša
|
||||
item.fireworksCharge.red=Ruoksat
|
||||
item.fireworksCharge.white=Vielgat
|
||||
item.hatchetDiamond.name=Diamántta-ákšu
|
||||
item.hatchetGold.name=Golliákšu
|
||||
item.hatchetIron.name=Ruovddiákšu
|
||||
item.hatchetStone.name=Geađggiákšu
|
||||
item.hatchetWood.name=Muorra-ákšu
|
||||
item.leaves.name=Lasttat
|
||||
item.map.name=Gárta
|
||||
item.melon.name=Melovdna
|
||||
item.milk.name=Mielki
|
||||
item.paper.name=Bábir
|
||||
item.pickaxeDiamond.name=Diamánttaguohkki
|
||||
item.pickaxeGold.name=Golliguohkki
|
||||
item.pickaxeIron.name=Ruovddiguohkki
|
||||
item.pickaxeStone.name=Geađggiguohkki
|
||||
item.pickaxeWood.name=Muorraguohkki
|
||||
item.potion.name=Juhkamuš
|
||||
item.record.11.desc=C418 - 11
|
||||
item.record.13.desc=C418 - 13
|
||||
item.record.blocks.desc=C418 - blocks
|
||||
item.record.cat.desc=C418 - cat
|
||||
item.record.chirp.desc=C418 - chirp
|
||||
item.record.far.desc=C418 - far
|
||||
item.record.mall.desc=C418 - mall
|
||||
item.record.mellohi.desc=C418 - mellohi
|
||||
item.record.stal.desc=C418 - stal
|
||||
item.record.strad.desc=C418 - strad
|
||||
item.record.wait.desc=C418 - wait
|
||||
item.record.ward.desc=C418 - ward
|
||||
item.redstone.name=Ruoksatgeađgi
|
||||
item.saddle.name=Sále
|
||||
item.sign.name=Galba
|
||||
item.skull.char.name=Oaivi
|
||||
item.skull.creeper.name=Creeper oaivi
|
||||
item.skull.player.name=Čuojaheadji %s oaivi
|
||||
item.skull.zombie.name=Zombi oaivi
|
||||
item.stick.name=Sággi
|
||||
item.sugar.name=Sohkar
|
||||
item.sulphur.name=Rukta
|
||||
item.swordDiamond.name=Diamánttamiehkki
|
||||
item.swordGold.name=Gollimiehkki
|
||||
item.swordIron.name=Ruovddimiehkki
|
||||
item.swordStone.name=Geađggimiehkki
|
||||
item.swordWood.name=Muorramiehkki
|
||||
itemGroup.combat=Dáistaleapmi
|
||||
itemGroup.food=Borramuš
|
||||
itemGroup.redstone= Ruoksatgeađgi
|
||||
itemGroup.tools=Reaiddut
|
||||
key.categories.movement=Johtu
|
||||
key.jump=Njuiket
|
||||
key.mouseButton=Boallu %1$s
|
||||
key.playerlist=Čuojaheadjelistu
|
||||
key.sprint=Viegat
|
||||
lanServer.title=LAN máilbmi
|
||||
language.code=sme
|
||||
language.name=Davvisámegiella
|
||||
language.region=Sápmi
|
||||
menu.disconnect=Guođe
|
||||
menu.options=Heivehusat...
|
||||
menu.quit=Guođe spealus
|
||||
menu.returnToGame=Ruoktu spealluin
|
||||
menu.switchingLevel=Molssut máilmmiid
|
||||
multiplayer.connect=Čanat
|
||||
multiplayer.downloadingTerrain=Viežžá eanadaga
|
||||
multiplayer.player.joined=%s lea laktásan spealu
|
||||
multiplayer.player.left=%s guđii spealus
|
||||
multiplayer.stopSleeping=Guođđit seaŋggas
|
||||
options.ao.off=II ALDE
|
||||
options.blockAlternatives=Molssoeavttolaččat blohkat
|
||||
options.chat.color=Ivnnit
|
||||
options.chat.visibility.hidden=Čiegus
|
||||
options.chat.width=Viidodat
|
||||
options.difficulty=Áŧestus
|
||||
options.difficulty.easy=Geahpas
|
||||
options.difficulty.hard=Lossat
|
||||
options.difficulty.hardcore=Hardcore
|
||||
options.difficulty.normal=Normála
|
||||
options.difficulty.peaceful= Ráfálaš
|
||||
options.fov.max=Quake Pro
|
||||
options.fov.min=Normála
|
||||
options.graphics=Grafihkka
|
||||
options.graphics.fancy=Fiinnis
|
||||
options.graphics.fast=Johtil
|
||||
options.guiScale.auto=Automáhtalaš
|
||||
options.guiScale.large=Stuoris
|
||||
options.guiScale.normal=Normála
|
||||
options.guiScale.small=Uhcci
|
||||
options.hidden=Čiegus
|
||||
options.language=Giella...
|
||||
options.modelPart.cape=Gákti
|
||||
options.modelPart.hat=Háhtta
|
||||
options.modelPart.jacket=Jáhkka
|
||||
options.music=Musihkka
|
||||
options.off=II ALDE
|
||||
options.on=ALDE
|
||||
options.particles=Partihkalat
|
||||
options.particles.all=Buot
|
||||
options.renderClouds=Balvvat
|
||||
options.renderDistance.far=Viiddis
|
||||
options.renderDistance.normal=Normála
|
||||
options.renderDistance.short=Oanehaš
|
||||
options.renderDistance.tiny=Smávis
|
||||
options.sensitivity.max=HYPERJOHTIL!!!
|
||||
options.sound=Jienat
|
||||
options.sounds=Musihkka ja jienat...
|
||||
options.stream.bytesPerPixel=Dássu
|
||||
options.stream.chat.enabled.always=Álo
|
||||
options.stream.chat.enabled.never=Ii goassige
|
||||
options.stream.chat.userFilter=Geavaheadjifilttar
|
||||
options.stream.mic_toggle.mute=Váidudat
|
||||
options.stream.mic_toggle.talk=Humat
|
||||
options.title=Heivehusat
|
||||
potion.damageBoost=Vuoibmi
|
||||
potion.digSpeed=Hoahppu
|
||||
potion.hunger=Nealgi
|
||||
potion.moveSpeed=Johtilvuohta
|
||||
potion.poison=Mirko
|
||||
potion.potency.1=II
|
||||
potion.potency.2=III
|
||||
potion.potency.3=IV
|
||||
potion.prefix.mundane=Dábálaš
|
||||
potion.prefix.uninteresting=Ahkit
|
||||
selectServer.delete=Sihko
|
||||
selectServer.deleteButton=Sihko
|
||||
selectServer.edit=Rievdádeapmi
|
||||
selectServer.empty=guoros
|
||||
selectServer.hiddenAddress=(Čiegus)
|
||||
selectWorld.create=Luova ođđasa máilmmi
|
||||
selectWorld.delete=Sihko
|
||||
selectWorld.deleteButton=Sihko
|
||||
selectWorld.empty=guoros
|
||||
selectWorld.enterName=Máilmmi namma
|
||||
selectWorld.gameMode=Spealumodus
|
||||
selectWorld.gameMode.adventure=Máinnas
|
||||
selectWorld.gameMode.creative=Kreatiiva
|
||||
selectWorld.gameMode.hardcore=Hardcore
|
||||
selectWorld.hardcoreMode=Hardcore:
|
||||
selectWorld.mapType=Máilmmi tiipa:
|
||||
selectWorld.mapType.normal=Normála
|
||||
selectWorld.moreWorldOptions=Eanet máilmmiheivehusat...
|
||||
selectWorld.newWorld=Ođđa máilbmi
|
||||
selectWorld.newWorld.copyOf="%s" máŋggus
|
||||
selectWorld.rename=Attát ođđasa nama
|
||||
selectWorld.renameButton=Attát ođđasa nama
|
||||
selectWorld.renameTitle=Attát máilbmái ođđasa nama
|
||||
selectWorld.title=Vállje máilmmi
|
||||
selectWorld.world=Máilbmi
|
||||
soundCategory.block=Blohkat
|
||||
soundCategory.music=Musihkka
|
||||
soundCategory.player=Čuojaheaddjit
|
||||
soundCategory.weather=Dálki
|
||||
stat.itemsButton=Diŋggat
|
||||
stream.unavailable.initialization_failure.extra=(Sivva: %s)
|
||||
stream.unavailable.no_fbo.version=Dál don atnát: %s
|
||||
stream.unavailable.not_supported.mac.okay=Buoredat
|
||||
stream.unavailable.report_to_mojang=Dieđihát Mojangai
|
||||
stream.user.mode.banned=Gieldán
|
||||
stream.user.mode.banned.other=Gieldán %s gulahallangaskaoamis
|
||||
stream.user.mode.banned.self=Gieldán du gulahallangaskaoamis
|
||||
stream.user.mode.broadcaster=Doaimmaheaddji
|
||||
stream.user.mode.broadcaster.other=Doaimmaheaddji
|
||||
stream.user.mode.broadcaster.self=Doaimmaheaddji (Don!)
|
||||
stream.userinfo.ban=Gielddát
|
||||
stream.userinfo.unban=Eahpegielddát
|
||||
tile.anvil.intact.name=Stáđđi
|
||||
tile.anvil.name=Stáđđi
|
||||
tile.barrier.name=Eastta
|
||||
tile.bed.name=Seaŋga
|
||||
tile.blockCoal.name=Hilablohkka
|
||||
tile.blockDiamond.name=Diamánttablohkka
|
||||
tile.blockGold.name=Golliblohkka
|
||||
tile.blockIron.name=Ruovddiblohkka
|
||||
tile.blockRedstone.name=Ruoksatgeađggiblohkka
|
||||
tile.brick.name=Tiillat
|
||||
tile.cake.name=Gáhkku
|
||||
tile.carrots.name=Rušppit
|
||||
tile.clay.name=láira
|
||||
tile.cloth.black.name=Čáhppat ullu
|
||||
tile.cloth.blue.name=Alit ullu
|
||||
tile.cloth.brown.name=Ruškat ullu
|
||||
tile.cloth.gray.name=Ránis ullu
|
||||
tile.cloth.green.name=Ruoná ullu
|
||||
tile.cloth.name=Ullu
|
||||
tile.cloth.orange.name=Oránša ullu
|
||||
tile.cloth.pink.name=Guvgesruoksat ullu
|
||||
tile.cloth.purple.name=Sáhppat ullu
|
||||
tile.cloth.red.name=Ruoksat ullu
|
||||
tile.cloth.white.name=Ullu
|
||||
tile.cloth.yellow.name=Fiskat ullu
|
||||
tile.cocoa.name=Kakáo
|
||||
tile.dirt.coarse.name=Roavis eana
|
||||
tile.dirt.default.name=Eana
|
||||
tile.dirt.name=Eana
|
||||
tile.doublePlant.name=Šaddu
|
||||
tile.fire.name=Dolla
|
||||
tile.flower1.name=Lieđđi
|
||||
tile.flower2.name=Lieđđi
|
||||
tile.glass.name=Glássa
|
||||
tile.gravel.name=Čievra
|
||||
tile.ice.name=Jiekŋa
|
||||
tile.lava.name=Lava
|
||||
tile.leaves.name=Lasttat
|
||||
tile.litpumpkin.name=Gurbetlikta
|
||||
tile.log.name=Muorra
|
||||
tile.melon.name=Melovdna
|
||||
tile.mushroom.name=Guoppar
|
||||
tile.potatoes.name=Buđeitad
|
||||
tile.pumpkin.name=Gurbbet
|
||||
tile.redSandStone.chiseled.name=Luokčan Ruoksat Sáttogeađgi
|
||||
tile.redSandStone.default.name=Ruoksat Sáttogeađgi
|
||||
tile.redSandStone.name=Ruoksat Sáttogeađgi
|
||||
tile.sand.default.name=Sáttu
|
||||
tile.sand.name=Sáttu
|
||||
tile.sand.red.name=Ruoksat sáttu
|
||||
tile.sandStone.chiseled.name=Luokčan sáttogeađgi
|
||||
tile.sandStone.default.name=Sáttogeađgi
|
||||
tile.sandStone.name=Sáttogeađgi
|
||||
tile.sign.name=Galba
|
||||
tile.sponge.dry.name=Guopparas
|
||||
tile.sponge.wet.name=Njuoskkas guopparas
|
||||
tile.stone.stone.name=Geađgi
|
||||
tile.tallgrass.grass.name=Rássi
|
||||
tile.tallgrass.name=Rássi
|
||||
tile.tallgrass.shrub.name=Miestta
|
||||
tile.tnt.name=TNT
|
||||
tile.torch.name=Spáiddar
|
||||
tile.water.name=Čáhci
|
||||
tile.woolCarpet.black.name=Čáhppat lávdebeaitta
|
||||
tile.woolCarpet.blue.name=Alit lávdebeaitta
|
||||
tile.woolCarpet.brown.name=Ruškat lávdebeaitta
|
||||
tile.woolCarpet.gray.name=Ránis lávdebeaitta
|
||||
tile.woolCarpet.green.name=Ruoná lávdebeaitta
|
||||
tile.woolCarpet.name=Lávdebeaitta
|
||||
tile.woolCarpet.orange.name=Oránša lávdebeaitta
|
||||
tile.woolCarpet.pink.name=Guvgesruoksat lávdebeaitta
|
||||
tile.woolCarpet.purple.name=Sáhppat lávdebeaitta
|
||||
tile.woolCarpet.red.name=Ruoksat lávdebeaitta
|
||||
tile.woolCarpet.white.name=Lávdebeaitta
|
||||
tile.woolCarpet.yellow.name=Fiskat lávdebeaitta
|
1849
eagler-files/modded/1.8/EaglyMC/lang/sk_SK.lang
Normal file
1849
eagler-files/modded/1.8/EaglyMC/lang/sk_SK.lang
Normal file
File diff suppressed because it is too large
Load Diff
1574
eagler-files/modded/1.8/EaglyMC/lang/sl_SI.lang
Normal file
1574
eagler-files/modded/1.8/EaglyMC/lang/sl_SI.lang
Normal file
File diff suppressed because it is too large
Load Diff
1820
eagler-files/modded/1.8/EaglyMC/lang/sr_SP.lang
Normal file
1820
eagler-files/modded/1.8/EaglyMC/lang/sr_SP.lang
Normal file
File diff suppressed because it is too large
Load Diff
2516
eagler-files/modded/1.8/EaglyMC/lang/sv_SE.lang
Normal file
2516
eagler-files/modded/1.8/EaglyMC/lang/sv_SE.lang
Normal file
File diff suppressed because it is too large
Load Diff
1729
eagler-files/modded/1.8/EaglyMC/lang/th_TH.lang
Normal file
1729
eagler-files/modded/1.8/EaglyMC/lang/th_TH.lang
Normal file
File diff suppressed because it is too large
Load Diff
1253
eagler-files/modded/1.8/EaglyMC/lang/tlh_AA.lang
Normal file
1253
eagler-files/modded/1.8/EaglyMC/lang/tlh_AA.lang
Normal file
File diff suppressed because it is too large
Load Diff
2518
eagler-files/modded/1.8/EaglyMC/lang/tr_TR.lang
Normal file
2518
eagler-files/modded/1.8/EaglyMC/lang/tr_TR.lang
Normal file
File diff suppressed because it is too large
Load Diff
2471
eagler-files/modded/1.8/EaglyMC/lang/uk_UA.lang
Normal file
2471
eagler-files/modded/1.8/EaglyMC/lang/uk_UA.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/val_ES.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/val_ES.lang
Normal file
File diff suppressed because it is too large
Load Diff
2492
eagler-files/modded/1.8/EaglyMC/lang/vi_VN.lang
Normal file
2492
eagler-files/modded/1.8/EaglyMC/lang/vi_VN.lang
Normal file
File diff suppressed because it is too large
Load Diff
2516
eagler-files/modded/1.8/EaglyMC/lang/zh_CN.lang
Normal file
2516
eagler-files/modded/1.8/EaglyMC/lang/zh_CN.lang
Normal file
File diff suppressed because it is too large
Load Diff
2517
eagler-files/modded/1.8/EaglyMC/lang/zh_TW.lang
Normal file
2517
eagler-files/modded/1.8/EaglyMC/lang/zh_TW.lang
Normal file
File diff suppressed because it is too large
Load Diff
104
eagler-files/modded/wasm/1.8/EaglyMC/OfflineDownloadTemplate.txt
Normal file
104
eagler-files/modded/wasm/1.8/EaglyMC/OfflineDownloadTemplate.txt
Normal file
@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
This file is from ${date}, there is no official eagler download link anymore, check the websites and discords of your favorite eagler servers for new versions
|
||||
|
||||
Be aware that some server owners are lazy and do not update their client regularly
|
||||
|
||||
This is the WASM-GC version of EaglercraftX and may not be compatible with outdated browsers
|
||||
|
||||
-->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<html style="width:100%;height:100%;background-color:black;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta name="description" content="EaglercraftX 1.8 WASM-GC Offline" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>EaglercraftX 1.8 WASM-GC</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="EaglercraftX 1.8 WASM-GC 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";
|
||||
var relayId = Math.floor(Math.random() * 3);
|
||||
|
||||
// %%%%%%%%% launch options %%%%%%%%%%%%
|
||||
|
||||
window.eaglercraftXOpts = {
|
||||
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 }
|
||||
]
|
||||
};
|
||||
|
||||
// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
if(typeof window !== "undefined") window.eaglercraftXClientScriptElement = document.currentScript;
|
||||
${classes_js}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
(function(){
|
||||
window.eaglercraftXOpts.assetsURI = ${assets_epk};
|
||||
|
||||
var launchInterval = -1;
|
||||
var launchCounter = 1;
|
||||
var launchCountdownNumberElement = null;
|
||||
var launchCountdownProgressElement = null;
|
||||
var launchSkipCountdown = false;
|
||||
|
||||
var launchTick = function() {
|
||||
launchCountdownNumberElement.innerText = "" + Math.floor(6.0 - launchCounter * 0.06);
|
||||
launchCountdownProgressElement.style.width = "" + launchCounter + "%";
|
||||
if(++launchCounter > 100 || launchSkipCountdown) {
|
||||
clearInterval(launchInterval);
|
||||
setTimeout(function() { document.body.removeChild(document.getElementById("launch_countdown_screen")); document.body.style.backgroundColor = "black"; main(); }, 50);
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener("load", function() {
|
||||
launchCountdownNumberElement = document.getElementById("launchCountdownNumber");
|
||||
launchCountdownProgressElement = document.getElementById("launchCountdownProgress");
|
||||
launchInterval = setInterval(launchTick, 50);
|
||||
document.getElementById("skipCountdown").addEventListener("click", function() {
|
||||
launchSkipCountdown = true;
|
||||
});
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<link type="image/png" rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAR/SURBVEhLtZXZK3ZRFMYPcqXc+gv413DHxVuGIpIhkciQWaRccCNjSCkligwXSOZ5nmfv9zvn2e8+58V753sudmuvvdZ61l5r7XOc8H+GS/D19aUNkPz5+aktQH5/f//4+LBKZKuRkpUtQjCUYG5gD2T38vLy/PwsDfL9/f3Dw8PT05M0b29vnKLhCKCBT4L4gvBLBIei4//4+Hh1dUVEQutUuLu7E83FxQUGnKLBWKfQaA3S+AREVxaEOD8/Pzk50XpzcyMDcH19zdZG3N3d3dzc3Nvb01aX5pQUpQGGQJxcQpfNysoKhUIdHR1o1tbWbInYAgxIPDMzMy8vLzc3FxqOdMoRqwJK8G8ALUYIhHMiSEhIwI6CyIb0qQzC4eGhsXCc1tZWnZIEKzdQJQSXgKxfX18RCM3Z5eWlcfVAxKOjo+Pj49PTU88lTOk2NjbMsePc3t6SAfcgFdszOyMuAdeBg0CQi2lhYUHOeOLDCisN8FzcPFZXV3t7ezHY3t5GQ+6it+2xMASsKhEEWKsmRLRBBUpPvpJ/TpFKFBwKYAiITmicsbYhdHfJAltqhUCVsCQhwslmeXmZxiBQT9c0Ar9E2O3v72sYSE0N1yQArkKy0kBMXLqlZqIZHR3t6empqqqSDcBdhXEJSJ/bUc3q6uq+vj629GB9fR1WsLW1NTs7u7S0RN2locMjIyOEm5ubQ7+4uJienk4/+vv77Y1hwhLBEKhwWHitdVFfX9/Y2Gg2HuLi4owUAysrK8yCG97rh0+ApP5Q2ZycHFlPTExUVFRIBvn5+WhKSkp2dnaMKhptbW2426GgQ/rwuAQCZ1hwFayLiork9hMFBQV1dXVmE0BLS4vqw3QFB8kn4IAxoGPkYpxi4FeDmpqas7Mz4pClAgqGwD48rjY2NmacYqC0tJQ1KSlJWyE5OZkpUKkBAxZVIntAoZh04+Q48fHxPNGBgYHExMT29naj9cBodnZ2mo3jlJWVMeW2OGQck4B1amqqoaGhqamJjx2lGxwcpL0mUgR8fJhsWqJtSkoKU2SbHHUDpkhPBujd8xuQG6PJRM/Pz09PT7O1NNnZ2Tw3fgZkXVhYKCUlUhBATP+hCVyKZGky17RV0g04laayslJ6hlVeFHB4eFhKaogGd0LxtmTgE+hbhKDnPjMzgw8E3qGL2tpaBWpubjYqj2BoaEj6rq4uNATRZ0ZwCbiL6gXEzINk5vCBQJ9rMD4+rkA8QNK036uDg4Py8vLu7m680KjIBNR3zBDoWQM1g98snyB+VSoRW8C/UwR81/SvhgNj9JOTkwwVERUdRBEI0BAdLRVERkhLS8vIyEDQlrsTPTU1lVFhKxARvZgUlFLbegCf4BvIsbi4mIg4E5EogIHhiKCMtU0WUFiVy06j5fAJIDdSBDQw+PegDfBRcbOPwH4F9LuFWIIQdQNKwWqzIE0aoFUaBsw+SQuFw0uNtC9A+F4i3QNrbg3IDn+SAsHh+wYiEpeyBEMLv/cAO6KzAijxxB+Y4wisBhssJUhjEbPJf4Nw+B+JXqLW3bw+wQAAAABJRU5ErkJggg==" />
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;background-color:white;" 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>
|
||||
<p style="margin-top:30px;"><button id="skipCountdown" autofocus>Skip Countdown</button></p></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
BIN
eagler-files/modded/wasm/1.8/EaglyMC/assets.epk
Normal file
BIN
eagler-files/modded/wasm/1.8/EaglyMC/assets.epk
Normal file
Binary file not shown.
BIN
eagler-files/modded/wasm/1.8/EaglyMC/classes.wasm
Normal file
BIN
eagler-files/modded/wasm/1.8/EaglyMC/classes.wasm
Normal file
Binary file not shown.
Binary file not shown.
26945
eagler-files/modded/wasm/1.8/EaglyMC/classes.wasm.teadbg
Normal file
26945
eagler-files/modded/wasm/1.8/EaglyMC/classes.wasm.teadbg
Normal file
File diff suppressed because one or more lines are too long
BIN
eagler-files/modded/wasm/1.8/EaglyMC/crashLogo.png
Normal file
BIN
eagler-files/modded/wasm/1.8/EaglyMC/crashLogo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.8 KiB |
202
eagler-files/modded/wasm/1.8/EaglyMC/eagruntime.js
Normal file
202
eagler-files/modded/wasm/1.8/EaglyMC/eagruntime.js
Normal file
@ -0,0 +1,202 @@
|
||||
(function(){'use strict';const ba=["DEBUG","INFO","WARN","ERROR"];var da="main",ea=null;function fa(a,b,d){if(!(1>a)){var c="EagRuntimeJS: ["+(new Date).toLocaleTimeString()+"]["+da+"/"+(ba[a]||"UNKNOWN")+"] ";a:{if(0<d.length){for(var h=[],l=0;l<d.length;++l){var t=b.indexOf("{}");if(-1!=t)h.push(b.substring(0,t)),h.push(d[l]),b=b.substring(t+2);else break}if(0<h.length){h.push(b);d=h.join("");break a}}d=b}b=c+d;3<=a?console.error(b):console.log(b);ea&&ea(b,3<=a)}}function e(a,...b){fa(1,a,b)}
|
||||
function ha(a,...b){fa(2,a,b)}function g(a,...b){fa(3,a,b)}function ia(a,b){if(b){if(b.message?fa(3,'{}: {} - "{}"',[a,b.name,b.message]):fa(3,"{}: {}",[a,b.name]),"string"===typeof b.stack)for(b=la(b.stack),a=0;a<b.length;++a)fa(3," at "+b[a],[])}else fa(3,"{}: <null>",[a])}function na(a){return function(){g("Unsupported function called: {}.{}",a);return 0}}function C(a,b){a[b]=na(b)}function oa(a){return new Promise(function(b){setTimeout(b,a)})}
|
||||
class qa{constructor(){this.G=this.o=null;this.u=0}K(){return this.u}push(a){this.G&&(this.G._next=a);this.G=a;this.o||(this.o=a);++this.u}j(){if(this.o){const a=this.o;(this.o=a._next||null)?a._next=null:this.G=null;--this.u;return a}return null}};var ra={},G={},wa={},xa={},ya={},I={},za={},J={},Ca={},Da={},Ea={},M={},Fa={},Ja={},Ka={},La=null,Ma=null,Na=null,Oa=null,Pa=null,Qa=null,Sa=null,Ta=null,N=null,Ua=null,Va=null,P=null,R=null,Wa=null,Xa=!1,Ya=0,Za=null,$a=!1,ab=null,bb=null,cb=!1;const db=[];var eb=null,fb="_eaglercraftX",gb=!1,hb=!1,zb=!1,Ab=!0,Bb=!1,Cb=!1,Db=!0,Eb=!0,Fb=!1;
|
||||
function Gb(){"string"===typeof N.localStorageNamespace&&(fb=N.localStorageNamespace);"boolean"===typeof N.openDebugConsoleOnLaunch&&(gb=N.openDebugConsoleOnLaunch);"boolean"===typeof N.fixDebugConsoleUnloadListener&&(hb=N.fixDebugConsoleUnloadListener);"boolean"===typeof N.forceWebViewSupport&&(zb=N.forceWebViewSupport);"boolean"===typeof N.enableWebViewCSP&&(Ab=N.enableWebViewCSP);"boolean"===typeof N.forceWebGL1&&(Bb=N.forceWebGL1);"boolean"===typeof N.forceWebGL2&&(Cb=N.forceWebGL2);"boolean"===
|
||||
typeof N.allowExperimentalWebGL1&&(Db=N.allowExperimentalWebGL1);"boolean"===typeof N.useWebGLExt&&(Eb=N.useWebGLExt);"boolean"===typeof N.useDelayOnSwap&&(Fb=N.useDelayOnSwap)}
|
||||
async function Hb(){function a(){try{h=new AudioContext}catch(t){ia("Could not initialize audio context",t)}}Gb();ea=Ib;window.__curEaglerX188UnloadListenerCB=function(){};"yes"!==window.__isEaglerX188UnloadListenerSet&&(window.onbeforeunload=function(){window.__curEaglerX188UnloadListenerCB&&window.__curEaglerX188UnloadListenerCB();return!1},window.__isEaglerX188UnloadListenerSet="yes");e("Initializing EagRuntime JS context...");await Jb();Kb();Lb();Mb();Nb();Ob();Pb();C(Ka,"sendPacket");C(Ka,"getAvailablePackets");
|
||||
C(Ka,"getNextPacket");C(Ka,"setCrashCallback");Va.classList.add("_eaglercraftX_root_element");Va.style.overflow="hidden";for(var b=null,d;d=Va.lastChild;)b||=d,Va.removeChild(d);P=document.createElement("div");P.classList.add("_eaglercraftX_wrapper_element");P.style.position="relative";P.style.width="100%";P.style.height="100%";P.style.overflow="hidden";P.style.backgroundColor="black";Va.appendChild(P);b&&(b.style.position="absolute",b.style.top="0px",b.style.left="0px",b.style.right="0px",b.style.bottom=
|
||||
"0px",b.style.zIndex="2",b.classList.add("_eaglercraftX_early_splash_element"),P.appendChild(b));await oa(10);d=window.devicePixelRatio;b=d*P.clientWidth|0;d=d*P.clientHeight|0;e("Initializing audio context");if("function"===typeof document.exitPointerLock){var c=navigator.userAgent;null!==c?(c=c.toLowerCase(),$a=-1!==c.indexOf("mobi")||-1!==c.indexOf("tablet")):$a=!1}else $a=!0;var h=null;!$a&&navigator.userActivation&&navigator.userActivation.hasBeenActive?a():(c=document.createElement("div"),c.classList.add("_eaglercraftX_press_any_key_image"),
|
||||
c.style.position="absolute",c.style.top="0px",c.style.left="0px",c.style.right="0px",c.style.bottom="0px",c.style.width="100%",c.style.height="100%",c.style.zIndex="3",c.style.touchAction="pan-x pan-y",c.style.background='center / contain no-repeat url("'+Qa+'"), left / 1000000% 100% no-repeat url("'+Qa+'") white',c.style.setProperty("image-rendering","pixelated"),P.appendChild(c),await new Promise(function(t,D){function y(){if(!B){B=!0;$a?P.removeChild(v):(window.removeEventListener("keydown",y),
|
||||
P.removeEventListener("mousedown",y),P.removeEventListener("touchstart",y));try{a()}catch(S){D(S);return}t()}}var B=!1;if($a){var v=document.createElement("div");v.classList.add("_eaglercraftX_mobile_press_any_key");v.setAttribute("style","position:absolute;background-color:white;font-family:sans-serif;top:10%;left:10%;right:10%;bottom:10%;border:5px double black;padding:calc(5px + 7vh) 15px;text-align:center;font-size:20px;user-select:none;z-index:10;");v.innerHTML='<h3 style="margin-block-start:0px;margin-block-end:0px;margin:20px 5px;">Mobile Browser Detected</h3><p style="margin-block-start:0px;margin-block-end:0px;margin:20px 5px;">Warning: EaglercraftX WASM-GC requires a lot of memory and may not be stable on most mobile devices!</p><p style="margin-block-start:0px;margin-block-end:0px;margin:20px 2px;"><button style="font: 24px sans-serif;font-weight:bold;" class="_eaglercraftX_mobile_launch_client">Launch EaglercraftX</button></p><p style="margin-block-start:0px;margin-block-end:0px;margin:25px 5px;">(Tablets and phones with large screens work best)</p>';
|
||||
v.querySelector("._eaglercraftX_mobile_launch_client").addEventListener("click",y);P.appendChild(v)}else window.addEventListener("keydown",y),P.addEventListener("mousedown",y),P.addEventListener("touchstart",y)}),P.removeChild(c));h?Qb(h):Rb();e("Creating main canvas");R=document.createElement("canvas");R.classList.add("_eaglercraftX_canvas_element");R.style.width="100%";R.style.height="100%";R.style.zIndex="1";R.style.touchAction="pan-x pan-y";R.style.setProperty("-webkit-touch-callout","none");
|
||||
R.style.setProperty("-webkit-tap-highlight-color","rgba(255, 255, 255, 0)");R.style.setProperty("image-rendering","pixelated");R.width=b;R.height=d;P.appendChild(R);await Sb();e("Creating WebGL context");P.addEventListener("webglcontextcreationerror",function(t){g("[WebGL Error]: {}",t.statusMessage)});b={antialias:!1,depth:!1,powerPreference:"high-performance",desynchronized:!0,preserveDrawingBuffer:!1,premultipliedAlpha:!1,alpha:!1};c=!1;if(Cb){e("Note: Forcing WebGL 2.0 context");d=300;var l=R.getContext("webgl2",
|
||||
b);if(!l)return Tb("WebGL 2.0 is not supported on this device!"),!1}else if(Bb){if(e("Note: Forcing WebGL 1.0 context"),d=200,l=R.getContext("webgl",b),!l)if(Db){if(c=!0,l=R.getContext("experimental-webgl",b),!l)return Tb("WebGL is not supported on this device!"),!1}else return Tb("WebGL is not supported on this device!"),!1}else if(d=300,l=R.getContext("webgl2",b),!l&&(d=200,l=R.getContext("webgl",b),!l))if(Db){if(c=!0,l=R.getContext("experimental-webgl",b),!l)return Tb("WebGL is not supported on this device!"),
|
||||
!1}else return Tb("WebGL is not supported on this device!"),!1;c&&alert('WARNING: Detected "experimental" WebGL 1.0 support, certain graphics API features may be missing, and therefore EaglercraftX may malfunction and crash!');Ya=d;Wa=l;Xa=c;Ub(l,d);e("OpenGL Version: {}",J.glGetString(7938));e("OpenGL Renderer: {}",J.glGetString(7937));b=J.dumpActiveExtensions();if(0===b.length)e("Unlocked the following OpenGL ES extensions: (NONE)");else for(b.sort(),e("Unlocked the following OpenGL ES extensions:"),
|
||||
d=0;d<b.length;++d)e(" - {}",b[d]);J.glClearColor(0,0,0,1);J.glClear(16384);await oa(20);e("EagRuntime JS context initialization complete");return!0}
|
||||
async function Vb(){Gb();ea=function(a,b){postMessage({ch:"~!LOGGER",txt:a,err:b})};e("Initializing EagRuntime worker JS context...");await Jb();C(G,"setClipboard");C(G,"getClipboard");C(G,"displayFileChooser");C(G,"fileChooserHasResult");C(G,"getFileChooserResult");C(G,"clearFileChooserResult");C(G,"downloadFileWithNameU8");C(G,"downloadFileWithNameA");C(G,"downloadScreenshot");C(G,"showDebugConsole");C(G,"addLogMessage");C(G,"isShowingDebugConsole");C(G,"getFaviconURL");Rb();C(I,"keyboardLayoutSupported");
|
||||
C(I,"iterateKeyboardLayout");C(I,"updateCanvasSize");C(I,"updatePlatformAndSleep");C(I,"isVSyncSupported");C(I,"mouseSetGrabbed");C(I,"isMouseGrabSupported");C(I,"isMouseGrabbed");C(I,"isPointerLocked");C(I,"supportsFullscreen");C(I,"toggleFullscreen");C(I,"isFullscreen");C(I,"touchSetOpenKeyboardZone");C(I,"touchCloseDeviceKeyboard");C(I,"touchIsDeviceKeyboardOpenMAYBE");C(I,"gamepadSupported");C(I,"isVisualViewport");C(J,"getCapBits");C(J,"glEnable");C(J,"glDisable");C(J,"glClearColor");C(J,"glClearDepth");
|
||||
C(J,"glClear");C(J,"glDepthFunc");C(J,"glDepthMask");C(J,"glCullFace");C(J,"glViewport");C(J,"glBlendFunc");C(J,"glBlendFuncSeparate");C(J,"glBlendEquation");C(J,"glBlendColor");C(J,"glColorMask");C(J,"glDrawBuffers");C(J,"glReadBuffer");C(J,"glReadPixels");C(J,"glPolygonOffset");C(J,"glLineWidth");C(J,"glGenBuffers");C(J,"glGenTextures");C(J,"glCreateProgram");C(J,"glCreateShader");C(J,"glCreateFramebuffer");C(J,"glCreateRenderbuffer");C(J,"glGenQueries");C(J,"glDeleteBuffers");C(J,"glDeleteTextures");
|
||||
C(J,"glDeleteProgram");C(J,"glDeleteShader");C(J,"glDeleteFramebuffer");C(J,"glDeleteRenderbuffer");C(J,"glDeleteQueries");C(J,"glBindBuffer");C(J,"glBufferData");C(J,"glBufferSubData");C(J,"glEnableVertexAttribArray");C(J,"glDisableVertexAttribArray");C(J,"glVertexAttribPointer");C(J,"glActiveTexture");C(J,"glBindTexture");C(J,"glTexParameterf");C(J,"glTexParameteri");C(J,"glTexImage3D");C(J,"glTexImage2D");C(J,"glTexSubImage2D");C(J,"glCopyTexSubImage2D");C(J,"glTexStorage2D");C(J,"glPixelStorei");
|
||||
C(J,"glGenerateMipmap");C(J,"glShaderSource");C(J,"glCompileShader");C(J,"glGetShaderi");C(J,"glGetShaderInfoLog");C(J,"glUseProgram");C(J,"glAttachShader");C(J,"glDetachShader");C(J,"glLinkProgram");C(J,"glGetProgrami");C(J,"glGetProgramInfoLog");C(J,"glDrawArrays");C(J,"glDrawElements");C(J,"glBindAttribLocation");C(J,"glGetAttribLocation");C(J,"glGetUniformLocation");C(J,"glGetUniformBlockIndex");C(J,"glBindBufferRange");C(J,"glUniformBlockBinding");C(J,"glUniform1f");C(J,"glUniform2f");C(J,"glUniform3f");
|
||||
C(J,"glUniform4f");C(J,"glUniform1i");C(J,"glUniform2i");C(J,"glUniform3i");C(J,"glUniform4i");C(J,"glUniformMatrix2fv");C(J,"glUniformMatrix3fv");C(J,"glUniformMatrix4fv");C(J,"glUniformMatrix3x2fv");C(J,"glUniformMatrix4x2fv");C(J,"glUniformMatrix4x3fv");C(J,"glBindFramebuffer");C(J,"glCheckFramebufferStatus");C(J,"glBlitFramebuffer");C(J,"glRenderbufferStorage");C(J,"glFramebufferTexture2D");C(J,"glFramebufferTextureLayer");C(J,"glBindRenderbuffer");C(J,"glFramebufferRenderbuffer");C(J,"glGetInteger");
|
||||
C(J,"glGetError");C(J,"getAllExtensions");C(J,"dumpActiveExtensions");C(J,"glGetString");C(J,"glGenVertexArrays");C(J,"glDeleteVertexArrays");C(J,"glBindVertexArray");C(J,"glVertexAttribDivisor");C(J,"glDrawArraysInstanced");C(J,"glDrawElementsInstanced");C(J,"isContextLost");C(Da,"getMic");C(Da,"setDataAvailableHandler");C(Ea,"isSupported");C(Ea,"createRTCPeerConnection");C(M,"supported");C(M,"clientLANReadyState");C(M,"clientLANCloseConnection");C(M,"clientLANSendPacket");C(M,"clientLANReadPacket");
|
||||
C(M,"clientLANAvailable");C(M,"clientLANSetICEServersAndConnect");C(M,"clearLANClientState");C(M,"clientLANAwaitICECandidate");C(M,"clientLANAwaitDescription");C(M,"clientLANAwaitChannel");C(M,"clientLANClosed");C(M,"clientLANSetICECandidate");C(M,"clientLANSetDescription");C(M,"clientLANClosed");C(M,"serverLANInitializeServer");C(M,"serverLANCloseServer");C(M,"serverLANCreatePeer");C(Fa,"checkSupported");C(Fa,"checkCSPSupported");C(Fa,"sendStringMessage");C(Fa,"sendBinaryMessage");C(Fa,"beginShowing");
|
||||
C(Fa,"resize");C(Fa,"endShowing");C(Ja,"startIntegratedServer");C(Ja,"sendPacket");C(Ja,"getAvailablePackets");C(Ja,"getNextPacket");C(Ja,"killWorker");C(Ja,"showCrashReportOverlay");C(Ja,"hideCrashReportOverlay");Wb();e("EagRuntime worker JS context initialization complete")}
|
||||
function Xb(a){Za=a.buffer;e("WebAssembly direct memory resized to {} MiB",.01*(Za.byteLength/1024/10.24|0));new Uint8Array(Za);new Int8Array(Za);new Uint16Array(Za);new Int16Array(Za);new Uint32Array(Za);new Int32Array(Za);new Float32Array(Za)}const Yb=new qa;function T(a,b,d){Yb.push({eventType:a<<5|b,eventObj:d,_next:null})}let Zb=/.+:wasm-function\[[0-9]+]:0x([0-9a-f]+).*/;
|
||||
function la(a){if(!a)return null;const b=[];for(let d of a.split("\n")){if(Oa&&(a=Zb.exec(d),null!==a&&2<=a.length&&(a=parseInt(a[1],16),!isNaN(a))))try{const c=Oa([a]);if(0<c.length){for(let h of c)b.push(""+h.className+"."+h.method+"("+h.file+":"+h.line+")");continue}}catch(c){}d=d.trim();d.startsWith("at ")&&(d=d.substring(3));b.push(d)}return b}
|
||||
function $b(a){const b=a?la(a.stack):null;a="Native Browser Exception\n----------------------------------\n Line: "+(a&&"string"===typeof a.fileName?a.fileName:"unknown")+":"+(a&&"number"===typeof a.lineNumber?a.lineNumber:"unknown")+":"+(a&&"number"===typeof a.columnNumber?a.columnNumber:"unknown")+"\n Type: "+(a&&"string"===typeof a.name?a.name:"unknown")+"\n Desc: "+(a&&"string"===typeof a.message?a.message:"null")+"\n----------------------------------\n\nDeobfuscated stack trace:\n at "+
|
||||
(b?b.join("\n at "):"null")+"\n\nThis exception was not handled by the WASM binary\n";if("undefined"!==typeof window)ac(a,!0);else if(bc){g("\n{}",a);try{bc(a,!0)}catch(d){console.log(d)}}else g("\n{}",a)}
|
||||
function ac(a,b){g("Game crashed!");var d="Game Crashed! I have fallen and I can't get up!\n\n"+a+"\n\n",c='eaglercraft.version = "'+db[0]+'"\neaglercraft.minecraft = "'+db[2]+'"\neaglercraft.brand = "'+db[1]+'"\n\n'+cc()+"\nwindow.eaglercraftXOpts = "+JSON.stringify(N)+"\n\ncurrentTime = "+(new Date).toLocaleString()+"\n\n"+dc("userAgent")+dc("vendor")+dc("language")+dc("hardwareConcurrency")+dc("deviceMemory")+dc("platform")+dc("product")+ec()+"\n"+fc("localStorage")+fc("sessionStorage")+fc("indexedDB")+
|
||||
"\nrootElement.clientWidth = "+(P?P.clientWidth:"undefined")+"\nrootElement.clientHeight = "+(P?P.clientHeight:"undefined")+"\n"+fc("innerWidth")+fc("innerHeight")+fc("outerWidth")+fc("outerHeight")+fc("devicePixelRatio")+gc("availWidth")+gc("availHeight")+gc("colorDepth")+gc("pixelDepth")+"\n"+hc()+"\n",h=d+c;const l=[];try{"object"===typeof N&&"object"===typeof N.hooks&&"function"===typeof N.hooks.crashReportShow&&N.hooks.crashReportShow(h,function(t){l.push(t)})}catch(t){ia("Uncaught exception invoking crash report hook",
|
||||
t)}if(cb){g("");g("An additional crash report was supressed:");h=a.split(/[\r\n]+/);for(a=0;a<h.length;++a)g(" {}",h[a]);if(0<l.length)for(a=0;a<l.length;++a)if(h=l[a]){g("");g(" ----------[ CRASH HOOK ]----------");h=h.split(/[\r\n]+/);for(a=0;a<h.length;++a)g(" {}",h[a]);g(" ----------------------------------")}}else{cb=!0;if(0<l.length){h=d+"Got the following messages from the crash report hook registered in eaglercraftXOpts:\n\n";for(a=0;a<l.length;++a)h+="----------[ CRASH HOOK ]----------\n"+
|
||||
l[a]+"\n----------------------------------\n\n";h+=c}(c=P||Va)?(b&&g("\n{}",h),b=document.createElement("img"),a=document.createElement("div"),b.setAttribute("style","z-index:100;position:absolute;top:10px;left:calc(50% - 151px);"),b.src=Sa,a.setAttribute("style","z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:50px;background-color:white;border:1px solid #cccccc;overflow-x:hidden;overflow-y:scroll;overflow-wrap:break-word;white-space:pre-wrap;font: 14px monospace;padding:10px;"),
|
||||
a.classList.add("_eaglercraftX_crash_element"),c.appendChild(b),c.appendChild(a),a.appendChild(document.createTextNode(h)),eb&&eb(),window.__curEaglerX188UnloadListenerCB=null):(alert("Root element not found, crash report was printed to console"),g("\n{}",h))}}
|
||||
function Tb(a){if(!cb){cb=!0;var b=P||Va;g("Compatibility error: {}",a);if(b){var d=document.createElement("img"),c=document.createElement("div");d.setAttribute("style","z-index:100;position:absolute;top:10px;left:calc(50% - 151px);");d.src=Sa;c.setAttribute("style","z-index:100;position:absolute;top:135px;left:10%;right:10%;bottom:50px;background-color:white;border:1px solid #cccccc;overflow-x:hidden;overflow-y:scroll;font:18px sans-serif;padding:40px;");c.classList.add("_eaglercraftX_incompatible_element");
|
||||
b.appendChild(d);b.appendChild(c);c.innerHTML='<h2><svg style="vertical-align:middle;margin:0px 16px 8px 8px;" xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48" fill="none"><path stroke="#000000" stroke-width="3" stroke-linecap="square" d="M1.5 8.5v34h45v-28m-3-3h-10v-3m-3-3h-10m15 6h-18v-3m-3-3h-10"/><path stroke="#000000" stroke-width="2" stroke-linecap="square" d="M12 21h0m0 4h0m4 0h0m0-4h0m-2 2h0m20-2h0m0 4h0m4 0h0m0-4h0m-2 2h0"/><path stroke="#000000" stroke-width="2" stroke-linecap="square" d="M20 30h0 m2 2h0 m2 2h0 m2 2h0 m2 -2h0 m2 -2h0 m2 -2h0"/></svg>+ This device is incompatible with Eaglercraft :(</h2><div style="margin-left:40px;"><p style="font-size:1.2em;"><b style="font-size:1.1em;">Issue:</b> <span style="color:#BB0000;" id="_eaglercraftX_crashReason"></span><br /></p><p style="margin-left:10px;font:0.9em monospace;" id="_eaglercraftX_crashUserAgent"></p><p style="margin-left:10px;font:0.9em monospace;" id="_eaglercraftX_crashWebGL"></p><p style="margin-left:10px;font:0.9em monospace;">Current Date: '+
|
||||
(new Date).toLocaleString()+'</p><p><br /><span style="font-size:1.1em;border-bottom:1px dashed #AAAAAA;padding-bottom:5px;">Things you can try:</span></p><ol><li><span style="font-weight:bold;">Just try using Eaglercraft on a different device</span>, it isn\'t a bug it\'s common sense</li><li style="margin-top:7px;">If this screen just appeared randomly, try restarting your browser or device</li><li style="margin-top:7px;">If you are not using Chrome/Edge, try installing the latest Google Chrome</li><li style="margin-top:7px;">If your browser is out of date, please update it to the latest version</li></ol></div>';
|
||||
c.querySelector("#_eaglercraftX_crashReason").appendChild(document.createTextNode(a));try{var h=window.navigator.userAgent}catch(t){h="<error>"}c.querySelector("#_eaglercraftX_crashUserAgent").appendChild(document.createTextNode(h));eb&&eb();window.__curEaglerX188UnloadListenerCB=null;a="No GL_RENDERER string could be queried";try{const t=document.createElement("canvas");t.width=64;t.height=64;const D=t.getContext("webgl");if(D){if(D.getExtension("WEBGL_debug_renderer_info"))var l=D.getParameter(37446);
|
||||
else(l=D.getParameter(WebGLRenderingContext.RENDERER))&&(l+=" [masked]");l&&(a=l)}}catch(t){}c.querySelector("#_eaglercraftX_crashWebGL").appendChild(document.createTextNode(a))}else alert("Compatibility error: "+a)}}var ic=null;
|
||||
function cc(){if(ic)return ic;try{var a=Wa,b=Xa;if(!a){b=!1;var d=document.createElement("canvas");d.width=64;d.height=64;a=d.getContext("webgl2");a||(a=d.getContext("webgl"),a||(b=!0,a=d.getContext("experimental-webgl")))}return a?(d="",0<Ya&&(d+="webgl.version = "+a.getParameter(7938)+"\n"),d=a.getExtension("WEBGL_debug_renderer_info")?d+("webgl.renderer = "+a.getParameter(37446)+"\nwebgl.vendor = "+a.getParameter(37445)+"\n"):d+("webgl.renderer = "+a.getParameter(7937)+" [masked]\nwebgl.vendor = "+
|
||||
a.getParameter(7936)+" [masked]\n"),0<Ya?(d+="\nwebgl.version.id = "+Ya+"\nwebgl.experimental = "+b,200===Ya?d+="\nwebgl.ext.ANGLE_instanced_arrays = "+!!a.getExtension("ANGLE_instanced_arrays")+"\nwebgl.ext.EXT_color_buffer_half_float = "+!!a.getExtension("EXT_color_buffer_half_float")+"\nwebgl.ext.EXT_shader_texture_lod = "+!!a.getExtension("EXT_shader_texture_lod")+"\nwebgl.ext.OES_fbo_render_mipmap = "+!!a.getExtension("OES_fbo_render_mipmap")+"\nwebgl.ext.OES_texture_float = "+!!a.getExtension("OES_texture_float")+
|
||||
"\nwebgl.ext.OES_texture_half_float = "+!!a.getExtension("OES_texture_half_float")+"\nwebgl.ext.OES_texture_half_float_linear = "+!!a.getExtension("OES_texture_half_float_linear"):300<=Ya&&(d+="\nwebgl.ext.EXT_color_buffer_float = "+!!a.getExtension("EXT_color_buffer_float")+"\nwebgl.ext.EXT_color_buffer_half_float = "+!!a.getExtension("EXT_color_buffer_half_float")+"\nwebgl.ext.OES_texture_float_linear = "+!!a.getExtension("OES_texture_float_linear")),d+="\nwebgl.ext.EXT_texture_filter_anisotropic = "+
|
||||
!!a.getExtension("EXT_texture_filter_anisotropic")+"\n"):d+="webgl.ext.ANGLE_instanced_arrays = "+!!a.getExtension("ANGLE_instanced_arrays")+"\nwebgl.ext.EXT_color_buffer_float = "+!!a.getExtension("EXT_color_buffer_float")+"\nwebgl.ext.EXT_color_buffer_half_float = "+!!a.getExtension("EXT_color_buffer_half_float")+"\nwebgl.ext.EXT_shader_texture_lod = "+!!a.getExtension("EXT_shader_texture_lod")+"\nwebgl.ext.OES_fbo_render_mipmap = "+!!a.getExtension("OES_fbo_render_mipmap")+"\nwebgl.ext.OES_texture_float = "+
|
||||
!!a.getExtension("OES_texture_float")+"\nwebgl.ext.OES_texture_float_linear = "+!!a.getExtension("OES_texture_float_linear")+"\nwebgl.ext.OES_texture_half_float = "+!!a.getExtension("OES_texture_half_float")+"\nwebgl.ext.OES_texture_half_float_linear = "+!!a.getExtension("OES_texture_half_float_linear")+"\nwebgl.ext.EXT_texture_filter_anisotropic = "+!!a.getExtension("EXT_texture_filter_anisotropic")+"\n",ic=d):ic="Failed to query GPU info!\n"}catch(c){return ic="ERROR: could not query webgl info - "+
|
||||
c+"\n"}}function dc(a){try{var b=window.navigator[a]}catch(d){b="<error>"}return"window.navigator."+a+" = "+b+"\n"}function ec(){try{var a=[];if("object"===typeof navigator.plugins){var b=navigator.plugins.length;if(0<b)for(var d=0;d<b;++d){var c=navigator.plugins[d];a.push({name:c.name,filename:c.filename,desc:c.description})}}var h=JSON.stringify(a)}catch(l){h="<error>"}return"window.navigator.plugins = "+h+"\n"}
|
||||
function gc(a){try{var b=window.screen[a]}catch(d){b="<error>"}return"window.screen."+a+" = "+b+"\n"}function hc(){try{var a=window.location.href}catch(b){a="<error>"}return"window.location.href = "+a+"\n"}function fc(a){try{var b=window[a]}catch(d){b="<error>"}return"window."+a+" = "+b+"\n"};function jc(a,b,d){const c=document.createElement("a");c.style.position="absolute";c.style.left="0px";c.style.top="0px";c.style.zIndex="-100";c.style.color="transparent";c.innerText="Download File";c.href=b;c.target="_blank";c.download=a;P.appendChild(c);setTimeout(function(){c.click();setTimeout(function(){P.removeChild(c)},50);d&&setTimeout(d,6E4)},50)}var kc=0,lc=null,mc=null,nc=null,oc=null;
|
||||
function Ib(a,b){if(nc)oc&&oc(a,b);else for(a={msg:a,err:b,next:null},mc&&(mc.next=a),lc||=a,mc=a,++kc;256<kc;)--kc,lc&&=lc.next}
|
||||
function Kb(){function a(){t=!1;D=null;null!==B?(P.removeChild(B),y=B=null):null!==y&&(P.removeChild(y),y=null)}function b(m){try{window.localStorage&&window.localStorage.setItem(K,m?"true":"false")}catch(u){}}function d(){try{if(window.localStorage){const m=window.localStorage.getItem(K);return m&&"true"===m.toLowerCase()}return!1}catch(m){return!1}}function c(){if(nc)nc.focus();else{var m=Math.round(1E3*window.devicePixelRatio);const u=Math.round(400*window.devicePixelRatio);if(nc=window.open("",
|
||||
"_blank","top="+Math.round((window.screen.height-u)/2)+",left="+Math.round((window.screen.width-m)/2)+",width="+m+",height="+u+",menubar=0,status=0,titlebar=0,toolbar=0")){nc.focus();v=nc.document;v.write('<!DOCTYPE html><html><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Debug Console</title><link type="image/png" rel="shortcut icon" href="'+Ta+'" /></head><body style="overflow-x:hidden;overflow-y:scroll;padding:0px;"><p id="loggerMessageContainer" style="overflow-wrap:break-word;white-space:pre-wrap;font:14px monospace;padding:10px;"></p></body></html>');
|
||||
v.close();S=v.body;U=v.getElementById("loggerMessageContainer");for(m=lc;m;)h(m.msg+"\n",m.err?"#DD0000":"#000000"),m=m.next;mc=lc=null;kc=0;l();m=()=>{null!=nc&&(nc=null,b(!1))};nc.addEventListener("beforeunload",m);nc.addEventListener("unload",m)}else g("Logger popup was blocked!"),window.alert("ERROR: Popup blocked!\n\nPlease make sure you have popups enabled for this site!")}}function h(m,u){var w=v.createElement("span");w.innerText=m;w.style.color=u;U.appendChild(w);for(m=U.children;2048<m.length;)m[0].remove()}
|
||||
function l(){setTimeout(()=>{nc.scrollTo(0,S.scrollHeight||S.clientHeight)},1)}G.setClipboard=function(m){try{if(window.navigator.clipboard)return window.navigator.clipboard.writeText(m),!0}catch(u){g("Failed to set clipboard data!")}return!1};G.getClipboard=new WebAssembly.Suspending(async function(){var m=null;try{window.navigator.clipboard&&(m=await navigator.clipboard.readText())}catch(u){g("Failed to read clipboard data!")}return m});var t=!1,D=null,y=null,B=null;G.displayFileChooser=function(m,
|
||||
u){a();if($a){const f=B=document.createElement("div");f.classList.add("_eaglercraftX_mobile_file_chooser_popup");f.style.position="absolute";f.style.backgroundColor="white";f.style.fontFamily="sans-serif";f.style.top="10%";f.style.left="10%";f.style.right="10%";f.style.border="5px double black";f.style.padding="15px";f.style.textAlign="left";f.style.fontSize="20px";f.style.userSelect="none";f.style.zIndex="150";var w=document.createElement("h3");w.appendChild(document.createTextNode("File Chooser"));
|
||||
f.appendChild(w);w=document.createElement("p");const x=y=document.createElement("input");x.type="file";x.accept=null===m?"."+u:m;x.multiple=!1;w.appendChild(x);f.appendChild(w);m=document.createElement("p");u=document.createElement("button");u.classList.add("_eaglercraftX_mobile_file_chooser_btn_cancel");u.style.fontSize="1.0em";u.addEventListener("click",function(){B===f&&(P.removeChild(f),y=B=null)});u.appendChild(document.createTextNode("Cancel"));m.appendChild(u);m.appendChild(document.createTextNode(" "));
|
||||
u=document.createElement("button");u.classList.add("_eaglercraftX_mobile_file_chooser_btn_done");u.style.fontSize="1.0em";u.style.fontWeight="bold";u.addEventListener("click",function(){if(B===f){if(0<x.files.length){const p=x.files[0];p.arrayBuffer().then(function(z){t=!0;D={fileName:p.name,fileData:z}}).catch(function(){t=!0;D=null})}else t=!0,D=null;P.removeChild(f);y=B=null}});u.appendChild(document.createTextNode("Done"));m.appendChild(u);f.appendChild(m);P.appendChild(f)}else{const f=y=document.createElement("input");
|
||||
f.type="file";f.style.position="absolute";f.style.left="0px";f.style.top="0px";f.style.zIndex="-100";f.accept=null===m?"."+u:m;f.multiple=!1;f.addEventListener("change",function(){if(y===f){if(0<f.files.length){const x=f.files[0];x.arrayBuffer().then(function(p){t=!0;D={fileName:x.name,fileData:p}}).catch(function(){t=!0;D=null})}else t=!0,D=null;P.removeChild(f);y=null}});P.appendChild(f);window.setTimeout(function(){f.click()},50)}};G.fileChooserHasResult=function(){return t};G.getFileChooserResult=
|
||||
function(){t=!1;const m=D;D=null;return m};G.clearFileChooserResult=a;G.downloadFileWithNameU8=function(m,u){const w=URL.createObjectURL(new Blob([u],{type:"application/octet-stream"}));jc(m,w,function(){URL.revokeObjectURL(w)})};G.downloadFileWithNameA=function(m,u){const w=URL.createObjectURL(new Blob([u],{type:"application/octet-stream"}));jc(m,w,function(){URL.revokeObjectURL(w)})};G.downloadScreenshot=function(m,u){jc(m,u.toDataURL("image/png"),null)};var v=null,S=null,U=null;const K=fb+"showDebugConsole",
|
||||
r=hb?"beforeunload":"unload";try{window.addEventListener(r,()=>{if(nc){var m=nc;U=S=v=nc=null;m.close()}})}catch(m){}(gb||d())&&c();oc=function(m,u){var w=nc.innerHeight+nc.pageYOffset>=S.offsetHeight;h(m+"\n",u?"#DD0000":"#000000");w&&l()};G.showDebugConsole=function(){b(!0);c()};G.addLogMessage=Ib;G.isShowingDebugConsole=function(){return!!nc};G.getFaviconURL=function(){return Ta}};wa.getEPKFileData=function(a){const b=Pa[a];Pa[a]=null;return b};wa.getEPKFileCount=function(){return Pa.length};
|
||||
if("undefined"!==typeof window){wa.loadImageFile0=new WebAssembly.Suspending(function(a,b){return new Promise(function(d){const c=URL.createObjectURL(new Blob([a],{type:b}));if(c){const h=document.createElement("img");h.addEventListener("load",function(){URL.revokeObjectURL(c);d({width:h.width,height:h.height,img:h})});h.addEventListener("error",function(){URL.revokeObjectURL(c);d(null)});h.src=c}else d(null)})});var pc=null,qc=null;wa.loadImageFile1=function(a,b){const d=a.width,c=a.height;if(a=
|
||||
a.img)pc||=document.createElement("canvas"),pc.width<d&&(pc.width=d),pc.height<c&&(pc.height=c),qc||(qc=pc.getContext("2d",{willReadFrequently:!0}),qc.imageSmoothingEnabled=!1),qc.clearRect(0,0,d,c),qc.drawImage(a,0,0,d,c),b.set(qc.getImageData(0,0,d,c).data,0)}}else C(wa,"loadImageFile0"),C(wa,"loadImageFile1");function Qb(a){xa.getContext=function(){return a};xa.registerIsEndedHandler=function(b,d){d.selfEndHandler||(d.selfEndHandler=function(){d.isEnded=!0});b.addEventListener("ended",d.selfEndHandler)};xa.releaseIsEndedHandler=function(b,d){d.selfEndHandler&&b.removeEventListener("ended",d.selfEndHandler)};xa.decodeAudioBrowser=new WebAssembly.Suspending(function(b,d){return new Promise(function(c){const h=new Uint8Array(b.length);h.set(b,0);a.decodeAudioData(h.buffer,c,function(){g("Failed to load audio: {}",
|
||||
d);c(null)})})})}function Rb(){xa.getContext=function(){return null};C(xa,"registerIsEndedHandler");C(xa,"releaseIsEndedHandler");C(xa,"decodeAudioBrowser")};function rc(a){return"string"===typeof a?a:"undefined"===typeof a?null:"string"===typeof a[0]?a[0]:null}function sc(a){return"undefined"===typeof a?null:"undefined"===typeof a.data?null:a.data}
|
||||
ya.openDB=new WebAssembly.Suspending(function(a){return new Promise(function(b){if("undefined"===typeof indexedDB)b({failedInit:!0,failedLocked:!1,failedError:"IndexedDB not supported",database:null});else{try{var d=indexedDB.open(a,1)}catch(h){b({failedInit:!0,failedLocked:!1,failedError:"Exception opening database",database:null});return}var c=b;d.addEventListener("success",function(){c&&c({failedInit:!1,failedLocked:!1,failedError:null,database:d.result});c=null});d.addEventListener("blocked",
|
||||
function(){c&&c({failedInit:!1,failedLocked:!0,failedError:"Database is locked",database:null});c=null});d.addEventListener("error",function(){c&&c({failedInit:!0,failedLocked:!1,failedError:"Opening database failed",database:null});c=null});d.addEventListener("upgradeneeded",function(){d.result.createObjectStore("filesystem",{keyPath:["path"]})})}})});
|
||||
function tc(a,b){return new Promise(function(d){const c=a.transaction("filesystem","readwrite").objectStore("filesystem").delete([b]);c.addEventListener("success",function(){d(!0)});c.addEventListener("error",function(){d(!1)})})}ya.eaglerDelete=new WebAssembly.Suspending(tc);
|
||||
function uc(a,b){return new Promise(function(d){const c=a.transaction("filesystem","readonly").objectStore("filesystem").get([b]);c.addEventListener("success",function(){d(sc(c.result))});c.addEventListener("error",function(){d(null)})})}ya.eaglerRead=new WebAssembly.Suspending(uc);
|
||||
function vc(a,b,d){return new Promise(function(c){const h=a.transaction("filesystem","readwrite").objectStore("filesystem").put({path:b,data:d});h.addEventListener("success",function(){c(!0)});h.addEventListener("error",function(){c(!1)})})}ya.eaglerWrite=new WebAssembly.Suspending(vc);
|
||||
ya.eaglerExists=new WebAssembly.Suspending(function(a,b){return new Promise(function(d){const c=a.transaction("filesystem","readonly").objectStore("filesystem").count([b]);c.addEventListener("success",function(){d(0<c.result)});c.addEventListener("error",function(){d(!1)})})});ya.eaglerMove=new WebAssembly.Suspending(async function(a,b,d){const c=await uc(a,b);return c&&await vc(a,d,c)?await tc(a,b):!1});
|
||||
ya.eaglerCopy=new WebAssembly.Suspending(async function(a,b,d){return(b=await uc(a,b))&&await vc(a,d,b)});ya.eaglerSize=new WebAssembly.Suspending(function(a,b){return new Promise(function(d){const c=a.transaction("filesystem","readonly").objectStore("filesystem").get([b]);c.addEventListener("success",function(){const h=sc(c.result);d(h?h.byteLength:-1)});c.addEventListener("error",function(){d(-1)})})});
|
||||
function wc(a){if(0===a.length)return-1;for(var b=0,d=0,c=a.length;d<c;++d)47===a.charCodeAt(d)&&++b;return b}
|
||||
ya.eaglerIterate=new WebAssembly.Suspending(function(a,b,d){return new Promise(function(c){const h=[],l=a.transaction("filesystem","readonly").objectStore("filesystem").openCursor(),t=0===b.length,D=d?-1:wc(b);l.addEventListener("success",function(){const y=l.result;if(null===y||null===y.key)c({length:h.length,getRow:function(v){return h[v]}});else{var B=rc(y.key);null!=B&&(!t&&!B.startsWith(b)||!d&&wc(B)!==D||h.push(B));y.continue()}});l.addEventListener("error",function(){c(null)})})});async function Sb(){function a(){var k=window.devicePixelRatio;.01>k&&(k=1);U=S=0;for(var A=R;A&&!isNaN(A.offsetLeft)&&!isNaN(A.offsetTop);)S+=A.offsetLeft-A.scrollLeft,U+=A.offsetTop-A.scrollTop,A=A.offsetParent;A=P.clientWidth*k|0;var V=P.clientHeight*k|0,W=0,ca=0,sa=A,ja=V;if(O){ja=window.visualViewport;var Y=ja.scale;W=ja.pageLeft*k*Y;ca=ja.pageTop*k*Y;sa=ja.width*k*Y;ja=ja.height*k*Y;1>sa&&(sa=1);1>ja&&(ja=1);0>W?(sa+=W,W=0):W>=A&&(W=A-1);0>ca?(ja+=ca,ca=0):ca>=V&&(ca=V-1);W+sa>A&&(sa=A-W);ca+
|
||||
ja>V&&(ja=V-ca)}Y={eventTypeMask:0};H!==k&&(H=k,Y.eventTypeMask|=4,Y.windowDPI=k);if(z!==A||E!==V)z=A,E=V,Y.eventTypeMask|=1,Y.windowWidth=A,Y.windowHeight=V;if(ma!==W||Z!==ca||X!==sa||Ga!==ja)ma=W,Z=ca,X=sa,Ga=ja,Y.eventTypeMask|=2,Y.visualViewportX=W,Y.visualViewportY=ca,Y.visualViewportW=sa,Y.visualViewportH=ja;0!==Y.eventTypeMask&&T(0,9,Y)}function b(k){const A=k.length,V=Array(A);for(var W=0;W<A;++W){const ca=k.item(W);V[W]={pointX:ca.pageX-S,pointY:ca.pageY-U,radius:.5*(ca.radiusX+ca.radiusY),
|
||||
force:ca.force,pointUID:ca.identifier}}return V}function d(k,A){return{eventType:k,keyCode:A.code||null,keyName:A.key||null,legacyCode:"number"===typeof A.which?A.which:"number"===typeof A.keyCode?A.keyCode:0,location:A.location,mods:(A.ctrlKey?1:0)|(A.shiftKey?2:0)|(A.metaKey?4:0)}}function c(){return new Promise(function(k){if(-1!==q)throw Error("Main thread is already waiting for VSync!");const A=[!1];window.requestAnimationFrame(function(){A[0]||(A[0]=!0,-1!==q&&(window.clearTimeout(q),q=-1),
|
||||
k())});q=window.setTimeout(function(){A[0]||(A[0]=!0,q=-1,k())},20)})}function h(k){return new Promise(function(A){setTimeout(A,k)})}function l(k){if(Aa){Ba=!!k;var A=performance.now()|0;if(k){try{R.requestPointerLock()}catch(V){}-1!==ta&&window.clearTimeout(ta);ta=-1;3E3>A-Ha&&(ta=window.setTimeout(function(){try{R.requestPointerLock()}catch(V){}},3100-(A-Ha)))}else{-1!==ta&&window.clearTimeout(ta);ta=-1;try{document.exitPointerLock()}catch(V){}}}}function t(){if(Ia)if(ua.matches){if(ka)try{navigator.keyboard.unlock()}catch(k){}try{document.exitFullscreen()}catch(k){}}else{if(ka)try{navigator.keyboard.lock()}catch(k){}try{R.requestFullscreen()}catch(k){}}}
|
||||
function D(){B()?y():r?(r.blur(),r.value="",setTimeout(function(){r&&(K?K.removeChild(r):r.remove(),r=null);K&&(P.removeChild(K),K=null)},10)):(K&&(P.removeChild(K),K=null),K=document.createElement("form"),K.setAttribute("autocomplete","off"),K.classList.add("_eaglercraftX_text_input_wrapper"),K.style.position="absolute",K.style.top="0px",K.style.left="0px",K.style.right="0px",K.style.bottom="0px",K.style.zIndex="-100",K.style.margin="0px",K.style.padding="0px",K.style.border="none",K.addEventListener("submit",
|
||||
function(k){k.preventDefault();k.stopPropagation();k=k.timeStamp;k&&(0!==f&&10>k-f||0!==x&&10>k-x||0!==p&&10>k-p)||(w||(e("Note: Generating return keystroke from submit event on form, this browser probably doesn't generate keydown/beforeinput/input when enter/return is pressed on the on-screen keyboard"),w=!0),T(0,3,{eventType:0,absoluteCode:28,absoluteChar:10}))}),r=document.createElement("input"),r.type="password",r.value=" ",r.classList.add("_eaglercraftX_text_input_element"),r.setAttribute("autocomplete",
|
||||
"off"),r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style.right="0px",r.style.bottom="0px",r.style.zIndex="-100",r.style.margin="0px",r.style.padding="0px",r.style.border="none",r.style.setProperty("-webkit-touch-callout","default"),r.addEventListener("beforeinput",function(k){if(r===k.target){m||(e("Note: Caught beforeinput event from on-screen keyboard, browser probably does not generate global keydown/keyup events on text fields, or does not respond to cancelling keydown"),
|
||||
m=!0);var A=k.timeStamp;if(A){if(0!==f&&10>A-f)return;x=A}k.preventDefault();k.stopPropagation();switch(k.inputType){case "insertParagraph":case "insertLineBreak":T(0,3,{eventType:0,absoluteCode:28,absoluteChar:10});break;case "deleteWordBackward":case "deleteSoftLineBackward":case "deleteHardLineBackward":case "deleteEntireSoftLine":case "deleteContentBackward":case "deleteContent":T(0,3,{eventType:0,absoluteCode:14,absoluteChar:0});break;case "deleteWordForward":case "deleteSoftLineForward":case "deleteHardLineForward":case "deleteContentForward":T(0,
|
||||
3,{eventType:0,absoluteCode:211,absoluteChar:0});break;case "insertText":case "insertCompositionText":case "insertReplacementText":(k=k.data)&&0<k.length&&T(0,3,{eventType:1,codepoints:k});break;case "insertFromPaste":case "insertFromPasteAsQuotation":case "insertFromDrop":case "insertFromYank":case "insertLink":(k=k.data)&&0<k.length&&T(0,4,k);break;case "historyUndo":case "historyRedo":case "deleteByDrag":case "deleteByCut":break;default:e('Ignoring InputEvent.inputType "{}" from on-screen keyboard',
|
||||
k.inputType)}}}),r.addEventListener("input",function(k){if(r===k.target){u||(e("Note: Caught legacy input events from on-screen keyboard, browser could be outdated and doesn't support beforeinput event, or does not respond to cancelling beforeinput"),u=!0);if(k=k.timeStamp){if(0!==f&&10>k-f||0!==x&&10>k-x)return;p=k}k=r.value;var A=k.length;0===A?T(0,3,{eventType:0,absoluteCode:14,absoluteChar:0}):1===A?T(0,3,{eventType:1,codepoints:k}):(k=k.trim(),A=k.length,0===A?T(0,3,{eventType:0,absoluteCode:57,
|
||||
absoluteChar:32}):T(0,3,{eventType:1,codepoints:k.charAt(A-1)}));r.value=" ";r.setSelectionRange(1,1)}}),r.addEventListener("focus",function(k){r===k.target&&(r.value=" ",r.setSelectionRange(1,1))}),r.addEventListener("select",function(k){r===k.target&&(k.preventDefault(),k.stopPropagation(),r.value=" ",r.setSelectionRange(1,1))}),K.appendChild(r),P.appendChild(K),r.value=" ",r.focus(),r.select(),r.setSelectionRange(1,1))}function y(){if(r){r.blur();r.value="";const k=r,A=K;window.setTimeout(function(){null!==
|
||||
A?(A.removeChild(k),A.remove()):k.remove()},10);K=r=null}else K&&(P?P.removeChild(K):K.remove(),K=null)}function B(){return!!r&&document.activeElement===r}var v=null,S=0,U=0,K=null,r=null,m=!1,u=!1,w=!1,f=0,x=0,p=0,z=-1,E=-1,H=-1,O=!1,ma=-1,Z=-1,X=-1,Ga=-1,Aa=!1,Ba=!1,Ha=0,ta=-1,Ia=!1,ua=null,ka=!1,n=!1,q=-1,F=!1,L=null,Q=null,aa=null,pa=null,Ra=null,ib=null,jb=null,kb=null,lb=null,mb=null,nb=null,ob=null,pb=null,qb=null,rb=null,sb=null,tb=null,ub=null,vb=null,wb=null,xb=null,yb=null;v=document.createElement("div");
|
||||
v.classList.add("_eaglercraftX_keyboard_open_zone");v.style.display="none";v.style.position="absolute";v.style.backgroundColor="transparent";v.style.top="0px";v.style.left="0px";v.style.width="0px";v.style.height="0px";v.style.zIndex="100";v.style.touchAction="pan-x pan-y";v.style.setProperty("-webkit-touch-callout","none");v.style.setProperty("-webkit-tap-highlight-color","rgba(255, 255, 255, 0)");P.appendChild(v);a();P.addEventListener("contextmenu",L=function(k){k.preventDefault();k.stopPropagation()});
|
||||
R.addEventListener("mousedown",Q=function(k){k.preventDefault();k.stopPropagation();Aa&&Ba&&document.pointerLockElement!==R?l(1):T(0,0,{eventType:0,posX:k.offsetX,posY:k.offsetY,button:k.button})});R.addEventListener("mouseup",aa=function(k){k.preventDefault();k.stopPropagation();T(0,0,{eventType:1,posX:k.offsetX,posY:k.offsetY,button:k.button})});R.addEventListener("mousemove",pa=function(k){k.preventDefault();k.stopPropagation();T(0,0,{eventType:2,posX:k.offsetX,posY:k.offsetY,movementX:k.movementX,
|
||||
movementY:k.movementY})});R.addEventListener("mouseenter",Ra=function(){T(0,7,null)});R.addEventListener("mouseleave",ib=function(){T(0,8,null)});R.addEventListener("touchstart",jb=function(k){k.preventDefault();k.stopPropagation();T(0,2,{eventType:0,changedTouches:b(k.changedTouches),targetTouches:b(k.targetTouches)});y()});R.addEventListener("touchend",kb=function(k){k.preventDefault();k.stopPropagation();T(0,2,{eventType:2,changedTouches:b(k.changedTouches),targetTouches:b(k.targetTouches)})});
|
||||
R.addEventListener("touchmove",lb=function(k){k.preventDefault();k.stopPropagation();T(0,2,{eventType:1,changedTouches:b(k.changedTouches),targetTouches:b(k.targetTouches)})});R.addEventListener("touchcancel",mb=function(k){T(0,2,{eventType:2,changedTouches:b(k.changedTouches),targetTouches:b(k.targetTouches)})});R.addEventListener("wheel",ub=function(k){k.preventDefault();k.stopPropagation();T(0,0,{eventType:3,posX:k.offsetX,posY:k.offsetY,wheel:k.deltaY})});window.addEventListener("blur",wb=function(){T(0,
|
||||
6,null)});window.addEventListener("focus",vb=function(){T(0,5,null)});window.addEventListener("keydown",pb=function(k){k.preventDefault();k.stopPropagation();"F11"!==k.key||k.repeat?(T(0,1,d(k.repeat?2:0,k)),k.timeStamp&&"Unidentified"!==k.key&&(f=k.timeStamp)):t()});window.addEventListener("keyup",qb=function(k){k.preventDefault();k.stopPropagation();T(0,1,d(1,k))});v.addEventListener("touchstart",rb=function(k){k.preventDefault();k.stopPropagation()});v.addEventListener("touchend",sb=function(k){k.preventDefault();
|
||||
k.stopPropagation();D()});v.addEventListener("touchmove",tb=function(k){k.preventDefault();k.stopPropagation()});(Aa="function"===typeof document.exitPointerLock)?document.addEventListener("pointerlockchange",xb=function(){window.setTimeout(function(){const k=document.pointerLockElement===R;k||Ba&&(Ha=performance.now()|0);Ba=k},60)}):g("Pointer lock is not supported on this browser");(Ia="function"===typeof document.exitFullscreen)?(ua=window.matchMedia("(display-mode: fullscreen)"),(ka=!(!navigator.keyboard||
|
||||
!navigator.keyboard.lock))&&ua.addEventListener("change",yb=function(){ua.matches||navigator.keyboard.unlock()})):g("Fullscreen is not supported on this browser");if("undefined"!==typeof window.visualViewport)if("body"===Va.tagName.toLowerCase())O=!0;else{const k=document.body;10>=Math.abs(k.clientWidth-P.clientWidth)&&10>=Math.abs(k.clientHeight-P.clientHeight)&&(O=!0)}else O=!1;O&&e("Note: Detected game is embedded in body, some screens may be resized to window.visualViewport instead for a better mobile experience");
|
||||
try{await c(),n=!0}catch(k){n=!1}n||g("VSync is not supported on this browser");(F="function"===typeof navigator.getGamepads)?(window.addEventListener("gamepadconnected",nb=function(){T(0,10,{eventType:0})}),window.addEventListener("gamepaddisconnected",ob=function(k){T(0,10,{eventType:1,gamepad:k.gamepad})})):g("Gamepad detected as unsupported!");I.keyboardLayoutSupported=function(){return!(!navigator.keyboard||!navigator.keyboard.getLayoutMap)};I.iterateKeyboardLayout=new WebAssembly.Suspending(async function(){const k=
|
||||
[];try{const A=await navigator.keyboard.getLayoutMap();A&&A.forEach&&A.forEach(function(V,W){k.push({key:V,value:W})})}catch(A){}return k});I.updateCanvasSize=function(k,A){R.width!==k&&(R.width=k);R.height!==A&&(R.height=A)};var va=0;I.updatePlatformAndSleep=new WebAssembly.Suspending(function(k,A){a();if("string"!==typeof document.visibilityState||"visible"===document.visibilityState){if(n&&A)return va=0,c();if(0>=k)return va=0,Fb?xc(0):yc();a:{if(0<k&&1E3>k)if(0===va)va=performance.now();else{A=
|
||||
performance.now();const V=1E3/k;k=A-va;2E3<k||0>k?(k=V,va=A):va+=V;if(0<=k&&k<V){A=h(V-k);break a}}else va=0;A=Fb?xc(0):yc()}return A}va=0;return h(50)});I.isVSyncSupported=function(){return n};I.mouseSetGrabbed=l;I.isMouseGrabSupported=function(){return Aa};I.isMouseGrabbed=function(){return Ba};I.isPointerLocked=function(){return Aa&&document.pointerLockElement===R};I.supportsFullscreen=function(){return Ia};I.toggleFullscreen=t;I.isFullscreen=function(){return Ia&&ua.matches};I.touchSetOpenKeyboardZone=
|
||||
function(k,A,V,W){0!==V&&0!==W?(v.style.display="block",v.style.top=""+(E-A-W)/H+"px",v.style.left=""+k/H+"px",v.style.width=""+V/H+"px",v.style.height=""+W/H+"px"):(v.style.display="none",v.style.top="0px",v.style.left="0px",v.style.width="0px",v.style.height="0px")};I.touchCloseDeviceKeyboard=y;I.touchIsDeviceKeyboardOpenMAYBE=B;I.gamepadSupported=function(){return F};I.isVisualViewport=function(){return O};eb=function(){try{L&&(P.removeEventListener("contextmenu",L),L=null),Q&&(R.removeEventListener("mousedown",
|
||||
Q),Q=null),aa&&(R.removeEventListener("mouseup",aa),aa=null),pa&&(R.removeEventListener("mousemove",pa),pa=null),Ra&&(R.removeEventListener("mouseenter",Ra),Ra=null),ib&&(R.removeEventListener("mouseleave",ib),ib=null),jb&&(R.removeEventListener("touchstart",jb),jb=null),kb&&(R.removeEventListener("touchend",kb),kb=null),lb&&(R.removeEventListener("touchmove",lb),lb=null),mb&&(R.removeEventListener("touchcancel",mb),mb=null),nb&&(window.removeEventListener("gamepadconnected",nb),nb=null),ob&&(window.removeEventListener("gamepaddisconnected",
|
||||
ob),ob=null),pb&&(window.removeEventListener("keydown",pb),pb=null),qb&&(window.removeEventListener("keyup",qb),qb=null),rb&&(v.removeEventListener("touchstart",rb),rb=null),sb&&(v.removeEventListener("touchend",sb),sb=null),tb&&(v.removeEventListener("touchmove",tb),tb=null),ub&&(R.removeEventListener("wheel",ub),ub=null),vb&&(window.removeEventListener("focus",vb),vb=null),wb&&(window.removeEventListener("blur",wb),wb=null),xb&&(document.removeEventListener("pointerlockchange",xb),xb=null),yb&&
|
||||
(ua.removeEventListener("change",yb),yb=null)}catch(k){g("Failed to remove event listeners! {}",k)}eb=null}};(function(){function a(){this._socket.close()}function b(f){this._socket.send(f)}function d(f){this._socket.send(f)}function c(){return this._frameCountStr+this._frameCountBin}function h(){const f=this._queue;return f?(f._next===f&&f._prev===f?this._queue=null:(this._queue=f._next,f._prev._next=f._next,f._next._prev=f._prev),f._next=null,f._prev=null,0===f.type?--this._frameCountStr:--this._frameCountBin,f):null}function l(){var f=this._frameCountStr+this._frameCountBin;if(0===f)return null;f=Array(f);
|
||||
var x=0,p=this._queue;const z=p;do{f[x++]=p;var E=p._next;p._next=null;p._prev=null;p=E}while(p!==z);this._queue=null;this._frameCountBin=this._frameCountStr=0;return f}function t(){this._queue=null;this._frameCountBin=this._frameCountStr=0}function D(f,x){var p=f._queue;if(!p)return null;const z=p;do{var E=p._next;if(p.type===x)return x=p._prev,E===p&&x===p?f._queue=null:(p===z&&(f._queue=E),x._next=E,E._prev=x),p._next=null,p._prev=null,p;p=E}while(p!==z);return null}function y(f,x,p){var z=0,E=
|
||||
f._queue,H=E;do{var O=E._next;E.type===x&&(p[z++]=E);E=O}while(E!==H);p.length=z;for(H=0;H<z;++H)E=p[H],O=E._next,x=E._prev,O===E&&x===E?f._queue=null:(E===f._queue&&(f._queue=O),x._next=O,O._prev=x)}function B(){return this._frameCountStr}function v(){if(0===this._frameCountStr)return null;const f=D(this,0);f?--this._frameCountStr:this._frameCountStr=0;return f}function S(){var f=this._frameCountStr;if(0===f)return null;f=Array(f);y(this,0,f);this._frameCountStr=0;return f}function U(){const f=this._frameCountStr;
|
||||
if(0===f)return null;y(this,0,Array(f));this._frameCountStr=0}function K(){return this._frameCountBin}function r(){if(0===this._frameCountBin)return null;const f=D(this,1);f?--this._frameCountBin:this._frameCountBin=0;return f}function m(){var f=this._frameCountBin;if(0===f)return null;f=Array(f);y(this,1,f);this._frameCountBin=0;return f}function u(){const f=this._frameCountBin;if(0===f)return null;y(this,1,Array(f));this._frameCountBin=0}function w(f){const x="string"===typeof f;f={type:x?0:1,data:f,
|
||||
timestamp:performance.now(),_next:null,_prev:null};const p=this._queue;if(p){const z=p._prev;z._next=f;f._prev=z;f._next=p;p._prev=f}else this._queue=f,f._next=f,f._prev=f;x?++this._frameCountStr:++this._frameCountBin}za.createWebSocketHandle=function(f){let x;try{x=new WebSocket(f)}catch(z){return g("Failed to create WebSocket: {}",f),ia("Exception Caught",z),null}x.binaryType="arraybuffer";const p={state:1,_socket:x,_queue:null,_frameCountStr:0,_frameCountBin:0,_addRecievedFrame:w,closeSocket:a,
|
||||
sendStringFrame:b,sendBinaryFrame:d,availableFrames:c,getNextFrame:h,getAllFrames:l,clearFrames:t,availableStringFrames:B,getNextStringFrame:v,getAllStringFrames:S,clearStringFrames:U,availableBinaryFrames:K,getNextBinaryFrame:r,getAllBinaryFrames:m,clearBinaryFrames:u};x.addEventListener("open",function(){p.state=2});x.addEventListener("message",function(z){p._addRecievedFrame(z.data)});x.addEventListener("close",function(){3!==p.state&&(p.state=0)});x.addEventListener("error",function(){1===p.state&&
|
||||
(p.state=3)});return p}})();function Ub(a,b){var d=Eb;const c=d&&200===b?a.getExtension("OES_vertex_array_object"):null,h=d&&200===b?a.getExtension("ANGLE_instanced_arrays"):null,l=d&&200===b&&null!==h,t=d&&(310===b||300===b)&&null!==a.getExtension("EXT_color_buffer_float"),D=d&&!t&&(310===b||300===b||200===b)&&null!==a.getExtension("EXT_color_buffer_half_float"),y=d&&200===b&&null!==a.getExtension("EXT_shader_texture_lod"),B=d&&200===b&&null!==a.getExtension("OES_fbo_render_mipmap"),v=d&&200===b&&null!==c,S=d&&200===b&&null!==
|
||||
a.getExtension("OES_texture_float"),U=d&&300<=b&&null!==a.getExtension("OES_texture_float_linear"),K=d&&200===b&&null!==a.getExtension("OES_texture_half_float"),r=d&&200===b&&null!==a.getExtension("OES_texture_half_float_linear");d=d&&null!==a.getExtension("EXT_texture_filter_anisotropic");const m=null!==a.getExtension("WEBGL_debug_renderer_info"),u=300<=b?0:200===b&&v?1:-1,w=300<=b?0:200===b&&l?1:-1,f=[b,u,w,0,0];if(300<=b||B)f[3]|=4;if(300<=b||y)f[3]|=8;300<=b&&(f[3]|=16);(320<=b||(300<=b||S)&&
|
||||
(t||D))&&(f[3]|=32);(320<=b||(300<=b||K)&&t)&&(f[3]|=64);d&&(f[3]|=128);(300<=b||r)&&(f[4]|=1);300<=b&&U&&(f[4]|=2);J.getCapBits=function(p){return f[p]};J.glEnable=a.enable.bind(a);J.glDisable=a.disable.bind(a);J.glClearColor=a.clearColor.bind(a);J.glClearDepth=a.clearDepth.bind(a);J.glClear=a.clear.bind(a);J.glDepthFunc=a.depthFunc.bind(a);J.glDepthMask=a.depthMask.bind(a);J.glCullFace=a.cullFace.bind(a);J.glViewport=a.viewport.bind(a);J.glBlendFunc=a.blendFunc.bind(a);J.glBlendFuncSeparate=a.blendFuncSeparate.bind(a);
|
||||
J.glBlendEquation=a.blendEquation.bind(a);J.glBlendColor=a.blendColor.bind(a);J.glColorMask=a.colorMask.bind(a);J.glDrawBuffers=300<=b?a.drawBuffers.bind(a):na("glDrawBuffers");J.glReadBuffer=300<=b?a.readBuffer.bind(a):na("glReadBuffer");J.glReadPixels=a.readPixels.bind(a);J.glPolygonOffset=a.polygonOffset.bind(a);J.glLineWidth=a.lineWidth.bind(a);J.glGenBuffers=a.createBuffer.bind(a);J.glGenTextures=a.createTexture.bind(a);J.glCreateProgram=a.createProgram.bind(a);J.glCreateShader=a.createShader.bind(a);
|
||||
J.glCreateFramebuffer=a.createFramebuffer.bind(a);J.glCreateRenderbuffer=a.createRenderbuffer.bind(a);J.glGenQueries=300<=b?a.createQuery.bind(a):na("glGenQueries");J.glDeleteBuffers=a.deleteBuffer.bind(a);J.glDeleteTextures=a.deleteTexture.bind(a);J.glDeleteProgram=a.deleteProgram.bind(a);J.glDeleteShader=a.deleteShader.bind(a);J.glDeleteFramebuffer=a.deleteFramebuffer.bind(a);J.glDeleteRenderbuffer=a.deleteRenderbuffer.bind(a);J.glDeleteQueries=300<=b?a.deleteQuery.bind(a):na("glDeleteQueries");
|
||||
J.glBindBuffer=a.bindBuffer.bind(a);J.glBufferData=a.bufferData.bind(a);J.glBufferSubData=a.bufferSubData.bind(a);J.glEnableVertexAttribArray=a.enableVertexAttribArray.bind(a);J.glDisableVertexAttribArray=a.disableVertexAttribArray.bind(a);J.glVertexAttribPointer=a.vertexAttribPointer.bind(a);J.glActiveTexture=a.activeTexture.bind(a);J.glBindTexture=a.bindTexture.bind(a);J.glTexParameterf=a.texParameterf.bind(a);J.glTexParameteri=a.texParameteri.bind(a);J.glTexImage3D=300<=b?a.texImage3D.bind(a):
|
||||
na("glTexImage3D");J.glTexImage2D=a.texImage2D.bind(a);J.glTexSubImage2D=a.texSubImage2D.bind(a);J.glCopyTexSubImage2D=a.copyTexSubImage2D.bind(a);J.glTexStorage2D=300<=b?a.texStorage2D.bind(a):na("glTexStorage2D");J.glPixelStorei=a.pixelStorei.bind(a);J.glGenerateMipmap=a.generateMipmap.bind(a);J.glShaderSource=a.shaderSource.bind(a);J.glCompileShader=a.compileShader.bind(a);J.glGetShaderi=a.getShaderParameter.bind(a);J.glGetShaderInfoLog=a.getShaderInfoLog.bind(a);J.glUseProgram=a.useProgram.bind(a);
|
||||
J.glAttachShader=a.attachShader.bind(a);J.glDetachShader=a.detachShader.bind(a);J.glLinkProgram=a.linkProgram.bind(a);J.glGetProgrami=a.getProgramParameter.bind(a);J.glGetProgramInfoLog=a.getProgramInfoLog.bind(a);J.glDrawArrays=a.drawArrays.bind(a);J.glDrawElements=a.drawElements.bind(a);J.glBindAttribLocation=a.bindAttribLocation.bind(a);J.glGetAttribLocation=a.getAttribLocation.bind(a);J.glGetUniformLocation=a.getUniformLocation.bind(a);J.glGetUniformBlockIndex=300<=b?a.getUniformBlockIndex.bind(a):
|
||||
na("glGetUniformBlockIndex");J.glBindBufferRange=300<=b?a.bindBufferRange.bind(a):na("glBindBufferRange");J.glUniformBlockBinding=300<=b?a.uniformBlockBinding.bind(a):na("glUniformBlockBinding");J.glUniform1f=a.uniform1f.bind(a);J.glUniform2f=a.uniform2f.bind(a);J.glUniform3f=a.uniform3f.bind(a);J.glUniform4f=a.uniform4f.bind(a);J.glUniform1i=a.uniform1i.bind(a);J.glUniform2i=a.uniform2i.bind(a);J.glUniform3i=a.uniform3i.bind(a);J.glUniform4i=a.uniform4i.bind(a);J.glUniformMatrix2fv=a.uniformMatrix2fv.bind(a);
|
||||
J.glUniformMatrix3fv=a.uniformMatrix3fv.bind(a);J.glUniformMatrix4fv=a.uniformMatrix4fv.bind(a);J.glUniformMatrix3x2fv=300<=b?a.uniformMatrix3x2fv.bind(a):na("glUniformMatrix3x2fv");J.glUniformMatrix4x2fv=300<=b?a.uniformMatrix4x2fv.bind(a):na("glUniformMatrix4x2fv");J.glUniformMatrix4x3fv=300<=b?a.uniformMatrix4x3fv.bind(a):na("glUniformMatrix4x3fv");J.glBindFramebuffer=a.bindFramebuffer.bind(a);J.glCheckFramebufferStatus=a.checkFramebufferStatus.bind(a);J.glBlitFramebuffer=300<=b?a.blitFramebuffer.bind(a):
|
||||
na("glBlitFramebuffer");J.glRenderbufferStorage=a.renderbufferStorage.bind(a);J.glFramebufferTexture2D=a.framebufferTexture2D.bind(a);J.glFramebufferTextureLayer=300<=b?a.framebufferTextureLayer.bind(a):na("glFramebufferTextureLayer");J.glBindRenderbuffer=a.bindRenderbuffer.bind(a);J.glFramebufferRenderbuffer=a.framebufferRenderbuffer.bind(a);J.glGetError=a.getError.bind(a);J.getAllExtensions=a.getSupportedExtensions.bind(a);J.isContextLost=a.isContextLost.bind(a);const x=[];l&&x.push("ANGLE_instanced_arrays");
|
||||
t&&x.push("EXT_color_buffer_float");D&&x.push("EXT_color_buffer_half_float");y&&x.push("EXT_shader_texture_lod");B&&x.push("OES_fbo_render_mipmap");v&&x.push("OES_vertex_array_object");S&&x.push("OES_texture_float");U&&x.push("OES_texture_float_linear");K&&x.push("OES_texture_half_float");r&&x.push("OES_texture_half_float_linear");d&&x.push("EXT_texture_filter_anisotropic");m&&x.push("WEBGL_debug_renderer_info");J.dumpActiveExtensions=function(){return x};J.glGetInteger=function(p){p=a.getParameter(p);
|
||||
return"number"===typeof p?p:0};J.glGetString=function(p){if(m)switch(p){case 7936:p=a.getParameter(37445);null==p&&(p=a.getParameter(7936));break;case 7937:p=a.getParameter(37446);null==p&&(p=a.getParameter(7937));break;default:p=a.getParameter(p)}else p=a.getParameter(p);return"string"===typeof p?p:null};switch(u){case 0:J.glGenVertexArrays=a.createVertexArray.bind(a);J.glDeleteVertexArrays=a.deleteVertexArray.bind(a);J.glBindVertexArray=a.bindVertexArray.bind(a);break;case 1:J.glGenVertexArrays=
|
||||
c.createVertexArrayOES.bind(c);J.glDeleteVertexArrays=c.deleteVertexArrayOES.bind(c);J.glBindVertexArray=c.bindVertexArrayOES.bind(c);break;default:C(J,"glGenVertexArrays"),C(J,"glDeleteVertexArrays"),C(J,"glBindVertexArray")}switch(w){case 0:J.glVertexAttribDivisor=a.vertexAttribDivisor.bind(a);J.glDrawArraysInstanced=a.drawArraysInstanced.bind(a);J.glDrawElementsInstanced=a.drawElementsInstanced.bind(a);break;case 1:J.glVertexAttribDivisor=h.vertexAttribDivisorANGLE.bind(h);J.glDrawArraysInstanced=
|
||||
h.drawArraysInstancedANGLE.bind(h);J.glDrawElementsInstanced=h.drawElementsInstancedANGLE.bind(h);break;default:C(J,"glVertexAttribDivisor"),C(J,"glDrawArraysInstanced"),C(J,"glDrawElementsInstanced")}};var zc=!1;const Ac=new MessageChannel;var Bc=null;Ac.port2.addEventListener("message",function(){Bc()});async function Jb(){Ac.port1.start();Ac.port2.start();Bc=function(){Bc=null};Ac.port1.postMessage(0);Bc?await new Promise(function(a){setTimeout(function(){Bc?g("Immediate continue hack is not supported"):zc=!0;a()},25)}):g("Immediate continue hack is not supported")}Ca.getRootElement=function(){return Va};Ca.getParentElement=function(){return P};Ca.getCanvasElement=function(){return R};
|
||||
Ca.getEaglercraftXOpts=function(){return N};Ca.getEventCount=Yb.K.bind(Yb);Ca.getNextEvent=Yb.j.bind(Yb);
|
||||
Ca.queueAsyncDownload=function(a,b,d){try{fetch(a,{cache:b?"force-cache":"no-store",mode:"cors"}).then(function(c){return c.arrayBuffer()}).then(function(c){T(1,0,{requestId:d,arrayBuffer:c})}).catch(function(c){g("Failed to complete async download: {}",a);ia("Exception Caught",c);T(1,0,{requestId:d,arrayBuffer:null})})}catch(c){g("Failed to fetch: {}",a),ia("Exception Caught",c),T(1,0,{requestId:d,arrayBuffer:null})}};
|
||||
Ca.download=new WebAssembly.Suspending(function(a,b){return new Promise(function(d){try{fetch(a,{cache:b?"force-cache":"no-store",mode:"cors"}).then(function(c){return c.arrayBuffer()}).then(function(c){d(c)}).catch(function(c){g("Failed to complete download: {}",a);ia("Exception Caught",c);d(null)})}catch(c){g("Failed to fetch: {}",a),ia("Exception Caught",c),d(null)}})});Ca.writeCrashReport=function(a){ac(a,!1)};Ca.steadyTimeMillis=performance.now.bind(performance);
|
||||
function xc(a){return new Promise(function(b){setTimeout(b,a)})}Ca.sleep=new WebAssembly.Suspending(xc);function Cc(a){zc?(Bc=a,Ac.port1.postMessage(0)):setTimeout(a,0)}function yc(){return new Promise(Cc)}Ca.immediateContinue=new WebAssembly.Suspending(yc);Ca.setCrashReportString=function(a,b){db[a]=b};var Dc="undefined"!==typeof window,Ec=null;function Fc(){return new Promise(function(a){if("navigator"in window&&"mediaDevices"in window.navigator&&"getUserMedia"in window.navigator.mediaDevices)try{window.navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then(function(b){a(b)}).catch(function(b){g("getUserMedia Error! (async)");ia("Exception Caught",b);a(null)})}catch(b){g("getUserMedia Error!"),a(null)}else g("No getUserMedia!"),a(null)})}
|
||||
async function Gc(){return Dc?null===Ec&&(Ec=await Fc(),null===Ec)?(Dc=!1,null):Ec:null}
|
||||
function Lb(){function a(b){const d=new Date;return b.replace("${date}",d.getFullYear()+"-"+("0"+(d.getMonth()+1)).slice(-2)+"-"+("0"+d.getDate()).slice(-2)+" "+("0"+d.getHours()).slice(-2)+"-"+("0"+d.getMinutes()).slice(-2)+"-"+("0"+d.getSeconds()).slice(-2))}Da.getMic=new WebAssembly.Suspending(Gc);Da.setDataAvailableHandler=function(b,d,c){const h=performance.now();b.addEventListener("dataavailable",function(l){if(d)Hc(l.data,performance.now()-h|0,function(t){const D=URL.createObjectURL(t);jc(a(c),
|
||||
D,function(){URL.revokeObjectURL(D)})},{U:function(t){e(t)}});else{const t=URL.createObjectURL(l.data);jc(a(c),t,function(){URL.revokeObjectURL(t)})}})}};function Mb(){function a(h){try{const l=JSON.parse(h);this._peerConnection.setRemoteDescription(l).then(()=>{l.hasOwnProperty("type")&&"offer"===l.type&&this._peerConnection.createAnswer().then(t=>{this._peerConnection.setLocalDescription(t).then(()=>{T(2,1,{objId:this.objId,data:JSON.stringify(t)})}).catch(D=>{g('Failed to set local description for "{}"! {}',this.objId,D.message);T(2,3,{objId:this.objId})})}).catch(t=>{g('Failed to create answer for "{}"! {}',this.objId,t.message);T(2,3,{objId:this.objId})})}).catch(t=>
|
||||
{g('Failed to set remote description for "{}"! {}',this.objId,t.message);T(2,3,{objId:this.objId})})}catch(l){g(l.message),T(2,3,{objId:this.objId})}}function b(h){try{this._peerConnection.addIceCandidate(new RTCIceCandidate(JSON.parse(h))).catch(l=>{g('Failed to parse ice candidate for "{}"! {}',this.objId,l.message);T(2,3,{objId:this.objId})})}catch(l){g(l.message),T(2,3,{objId:this.objId})}}function d(){this._peerConnection.close()}Ea.isSupported=function(){return"undefined"!==typeof navigator.mediaDevices&&
|
||||
"undefined"!==typeof navigator.mediaDevices.getUserMedia&&"srcObject"in HTMLAudioElement.prototype};let c=0;Ea.createRTCPeerConnection=function(h,l,t){try{const y=c++;var D;const B=new RTCPeerConnection({iceServers:JSON.parse(h),optional:[{DtlsSrtpKeyAgreement:!0}]});B.addEventListener("icecandidate",v=>{v.candidate&&T(2,0,{objId:y,data:JSON.stringify({sdpMLineIndex:""+v.candidate.sdpMLineIndex,candidate:v.candidate.candidate})})});B.addEventListener("track",v=>{v=v.streams[0];D._aud=document.createElement("audio");
|
||||
D._aud.autoplay=!0;D._aud.muted=!0;D._aud.srcObject=v;T(2,2,{objId:y,stream:v})});t.getTracks().forEach(function(v){B.addTrack(v,t)});l&&B.createOffer().then(v=>{B.setLocalDescription(v).then(()=>{T(2,1,{objId:y,data:JSON.stringify(v)})}).catch(S=>{g('Failed to set local description for "{}"! {}',y,S.message);T(2,3,{objId:y})})}).catch(v=>{g('Failed to set create offer for "{}"! {}',y,v.message);T(2,3,{objId:y})});B.addEventListener("connectionstatechange",()=>{const v=B.connectionState;"disconnected"!==
|
||||
v&&"failed"!==v||T(2,3,{objId:y})});return D={objId:y,_peerConnection:B,setRemoteDescription:a,addRemoteICECandidate:b,closeHandle:d}}catch(y){return g(y.message),null}}};function Nb(){const a=new qa;let b;b={iceServers:[],g:null,h:null,readyState:1,v:null,description:null,D:!1,C:!0,disconnect:function(c){if(b.h){try{b.h.close()}catch(h){}b.h=null}if(b.g){try{b.g.close()}catch(h){}b.g=null}c||(b.C=!0);b.readyState=0}};M.supported=function(){return"undefined"!==typeof RTCPeerConnection};M.clientLANReadyState=function(){return b.readyState};M.clientLANCloseConnection=function(){b.disconnect(!1)};M.clientLANSendPacket=function(c){if(null!==b.h&&"open"===b.h.readyState)try{b.h.send(c)}catch(h){b.disconnect(!1)}else b.disconnect(!1)};
|
||||
M.clientLANReadPacket=function(){const c=a.j();return c?new Uint8Array(c.data):null};M.clientLANAvailable=function(){return a.u};M.clientLANSetICEServersAndConnect=function(c){b.iceServers.length=0;for(let h of c)c=h.split(";"),1===c.length?b.iceServers.push({urls:c[0]}):3===c.length&&b.iceServers.push({urls:c[0],username:c[1],credential:c[2]});2!==b.readyState&&1!==b.readyState||b.disconnect(!0);try{if(b.h){try{b.h.close()}catch(h){}b.h=null}if(b.g)try{b.g.close()}catch(h){}b.g=new RTCPeerConnection({iceServers:b.iceServers,
|
||||
optional:[{DtlsSrtpKeyAgreement:!0}]});b.readyState=1}catch(h){ia("Could not create LAN client RTCPeerConnection!",h);b.readyState=-2;return}try{const h=[];b.g.addEventListener("icecandidate",t=>{if(t.candidate){if(0===h.length){const D=[0,0],y=()=>{if(null!==b.g&&"disconnected"!==b.g.connectionState){const B=++D[1];D[0]!==h.length&&3>B?(D[0]=h.length,setTimeout(y,2E3)):(b.v=JSON.stringify(h),h.length=0)}};setTimeout(y,2E3)}h.push({sdpMLineIndex:t.candidate.sdpMLineIndex,candidate:t.candidate.candidate})}});
|
||||
b.h=b.g.createDataChannel("lan");b.h.binaryType="arraybuffer";let l;l=()=>{0<h.length?setTimeout(l,10):(b.C=!1,b.D=!0)};b.h.addEventListener("open",l);b.h.addEventListener("message",t=>{a.push({data:t.data,_next:null})});b.g.createOffer().then(t=>{b.g.setLocalDescription(t).then(()=>{b.description=JSON.stringify(t)}).catch(D=>{g("Failed to set local description! {}",D.message);b.readyState=-1;b.disconnect(!1)})}).catch(t=>{g("Failed to set create offer! {}",t.message);b.readyState=-1;b.disconnect(!1)});
|
||||
b.g.addEventListener("connectionstatechange",()=>{var t=b.g.connectionState;"disconnected"===t?b.disconnect(!1):"connected"===t?b.readyState=2:"failed"===t&&(b.readyState=-1,b.disconnect(!1))})}catch(h){if(b.h){try{b.h.close()}catch(l){}b.h=null}if(b.g){try{b.g.close()}catch(l){}b.g=null}ia("Could not create LAN client RTCDataChannel!",h);b.readyState=-2}};M.clearLANClientState=function(){b.v=b.description=null;b.D=!1;b.C=!0};M.clientLANAwaitICECandidate=function(){if(null===b.v)return null;const c=
|
||||
b.v;b.v=null;return c};M.clientLANAwaitDescription=function(){if(null===b.description)return null;const c=b.description;b.description=null;return c};M.clientLANAwaitChannel=function(){return b.D?(b.D=!1,!0):!1};M.clientLANClosed=function(){return b.C};M.clientLANSetICECandidate=function(c){try{const h=JSON.parse(c);for(c=0;c<h.length;++c)b.g.addIceCandidate(new RTCIceCandidate(h[c]))}catch(h){ia("Uncaught exception setting remote ICE candidates",h),b.readyState=-1,b.disconnect(!1)}};M.clientLANSetDescription=
|
||||
function(c){try{b.g.setRemoteDescription(JSON.parse(c))}catch(h){ia("Uncaught exception setting remote description",h),b.readyState=-1,b.disconnect(!1)}};let d;d={iceServers:[],A:new Map,F:new Map,disconnect:function(c){const h=d.A.get(c);if(h){d.A.delete(c);h.l&&d.F.delete(h.l);try{h.disconnect()}catch(l){}h.s(4,null)}}};M.serverLANInitializeServer=function(c){d.iceServers.length=0;for(let h of c)c=h.split(";"),1===c.length?d.iceServers.push({urls:c[0]}):3===c.length&&d.iceServers.push({urls:c[0],
|
||||
username:c[1],credential:c[2]})};M.serverLANCloseServer=function(){for(let c of Object.values(d.A))if(c){try{c.disconnect()}catch(h){}c.s(4,null)}d.A.clear()};M.serverLANCreatePeer=function(c){try{const h=new qa;let l;l={i:c,g:new RTCPeerConnection({iceServers:d.iceServers,optional:[{DtlsSrtpKeyAgreement:!0}]}),h:null,l:null,s:function(y,B){h.push({type:y,data:B,_next:null})},disconnect:function(){l.h&&l.h.close();l.g.close()}};d.A.set(l.i,l);const t=[];l.g.addEventListener("icecandidate",y=>{if(y.candidate){if(0===
|
||||
t.length){const B=[0,0],v=()=>{if(null!==l.g&&"disconnected"!==l.g.connectionState){const S=++B[1];B[0]!==t.length&&3>S?(B[0]=t.length,setTimeout(v,2E3)):(l.s(0,JSON.stringify(t)),t.length=0)}};setTimeout(v,2E3)}t.push({sdpMLineIndex:y.candidate.sdpMLineIndex,candidate:y.candidate.candidate})}});let D;D=y=>{0<t.length?setTimeout(D,10,y):y.channel&&(y=y.channel,null!==l.h?y.close():(l.h=y,l.s(2,null),l.h.addEventListener("message",B=>{B=B.data;l.l?bb(l.l,B):l.s(3,new Uint8Array(B))})))};l.g.addEventListener("datachannel",
|
||||
D);l.g.addEventListener("connectionstatechange",()=>{const y=l.g.connectionState;"disconnected"!==y&&"failed"!==y||d.disconnect(l.i)});return{peerId:l.i,countAvailableEvents:function(){return h.u},nextEvent:function(){return h.j()},writePacket:function(y){let B=!1;if(null!==l.h&&"open"===l.h.readyState)try{l.h.send(y)}catch(v){B=!0}else B=!0;B&&d.disconnect(l.i)},handleRemoteICECandidates:function(y){try{const B=JSON.parse(y);for(let v of B)l.g.addIceCandidate(new RTCIceCandidate(v))}catch(B){g('Failed to parse ice candidate for "{}"! {}',
|
||||
l.i,B.message),d.disconnect(l.i)}},handleRemoteDescription:function(y){try{const B=JSON.parse(y);l.g.setRemoteDescription(B).then(()=>{B.hasOwnProperty("type")&&"offer"===B.type&&l.g.createAnswer().then(v=>{l.g.setLocalDescription(v).then(()=>{l.s(1,JSON.stringify(v))}).catch(S=>{g('Failed to set local description for "{}"! {}',l.i,S.message);d.disconnect(l.i)})}).catch(v=>{g('Failed to create answer for "{}"! {}',l.i,v.message);d.disconnect(l.i)})}).catch(v=>{g('Failed to set remote description for "{}"! {}',
|
||||
l.i,v.message);d.disconnect(l.i)})}catch(B){g('Failed to parse remote description for "{}"! {}',l.i,B.message),d.disconnect(l.i)}},mapIPC:function(y){l.l?y||(d.F.delete(l.l),l.l=null):y&&(l.l=y,d.F.set(y,l))},disconnect:function(){d.disconnect(l.i)}}}catch(h){return ia("Failed to create WebRTC LAN peer!",h),null}};ab=function(c,h){if(c=d.F.get(c)){let l=!1;if(c.h&&"open"===c.h.readyState)try{c.h.send(h)}catch(t){l=!0}else l=!0;l&&d.disconnect(c.i);return!0}return!1}};function Ob(){function a(p,z){p.allow=z;return p.allow===z}function b(p,z){const E=p.sandbox;for(var H=0;H<z.length;++H)E.add(z[H]);for(H=0;H<z.length;++H)if(!E.contains(z[H]))return!1;for(H=0;H<E.length;++H)if(!z.find(O=>O===E[H]))return!1;return!0}function d(p){if(S)f=document.createElement("iframe"),f.allow="",f.referrerPolicy="strict-origin",f.sandbox.add("allow-downloads"),p.scriptEnabled&&(f.sandbox.add("allow-scripts"),f.sandbox.add("allow-pointer-lock"));else{f=document.createElement("iframe");
|
||||
f.referrerPolicy="strict-origin";var z=["allow-downloads"];p.scriptEnabled&&(z.push("allow-scripts"),z.push("allow-pointer-lock"));if(!a(f,"")||!b(f,z)){g("Caught safety exception while opening webview!");null!==f&&(f.remove(),f=null);g("Things you can try:");g("1. Set window.eaglercraftXOpts.forceWebViewSupport to true");g("2. Set window.eaglercraftXOpts.enableWebViewCSP to false");g("(these settings may compromise security)");c();w.innerHTML='<div style="padding-top:13vh;"><h1 style="text-align:center;"><img width="48" height="48" style="vertical-align:middle;" src="'+
|
||||
Ta+'"> IFrame Safety Error</h1><h4 style="text-align:center;">The content cannot be displayed safely!</h4><h4 style="text-align:center;">Check console for more details</h4></div>';return}}f.j=!0;f.o="lazy";z=!1;if(1===p.contentMode){if(U&&v)if("string"===typeof f.csp){var E="default-src 'none';",H=p.strictCSPEnable?"":r?" https:":" http: https:";E=p.scriptEnabled?E+(" script-src 'unsafe-eval' 'unsafe-inline' data: blob:"+H+"; style-src 'unsafe-eval' 'unsafe-inline' data: blob:")+(H+"; img-src data: blob:")+
|
||||
(H+"; font-src data: blob:")+(H+"; child-src data: blob:")+(H+"; frame-src data: blob:; media-src data: mediastream: blob:")+(H+"; connect-src data: blob:")+(H+"; worker-src data: blob:")+(H+";"):E+(" style-src data: 'unsafe-inline'"+H+"; img-src data:")+(H+"; font-src data:")+(H+"; media-src data:")+(H+";");f.csp=E}else ha("This browser does not support CSP attribute on iframes! (try Chrome)"),z=!0;else z=!0;z&&p.strictCSPEnable&&ha("Strict CSP was requested for this webview, but that feature is not available!")}else z=
|
||||
!0;f.style.border="none";f.style.backgroundColor="white";f.style.width="100%";f.style.height="100%";f.classList.add("_eaglercraftX_webview_iframe_element");u.appendChild(f);1===p.contentMode?(E=y.decode(p.blob),p.blob=null,f.srcdoc=E):f.src=p.uri;const O=m,ma=f;let Z=!1;f.addEventListener("mouseover",function(){O!==m||ma!==f||Z||(Z=!0,f.contentWindow.focus())});f.addEventListener("mouseout",function(){O===m&&ma===f&&Z&&(Z=!1,window.focus())});p.scriptEnabled&&p.serverMessageAPIEnabled&&(x=function(X){if(O===
|
||||
m&&ma===f&&X.source===ma.contentWindow){X=X.data;if("object"===typeof X&&1===X.ver&&"string"===typeof X.channel&&0<X.channel.length){if("boolean"===typeof X.open){T(3,0,{eventType:X.open?0:1,channelName:X.channel});return}if("string"===typeof X.data){T(3,1,{eventType:0,channelName:X.channel,eventData:X.data});return}if(X.data instanceof ArrayBuffer){T(3,1,{eventType:1,channelName:X.channel,eventData:X.data});return}}ha("WebView sent an invalid message!")}else ha("Recieved message from on dead IFrame handler: (#{}) {}",
|
||||
O,ma.src)});e('WebView is loading: "{}"',1===p.contentMode?"about:srcdoc":f.src);e("JavaScript: {}, Strict CSP: {}, Message API: {}",p.scriptEnabled,p.strictCSPEnable&&!z,p.serverMessageAPIEnabled)}function c(){null!==w&&(++m,w.remove(),w=null);w=document.createElement("div");w.style.backgroundColor="white";w.style.width="100%";w.style.height="100%";w.classList.add("_eaglercraftX_webview_permission_screen");u.appendChild(w)}function h(p){c();w.innerHTML='<div style="padding-top:13vh;"><div style="margin:auto;max-width:450px;border:6px double black;text-align:center;padding:20px;"><h2><img width="32" height="32" style="vertical-align:middle;" src="'+
|
||||
Ta+'"> Allow JavaScript</h2><p style="font-family:monospace;text-decoration:underline;word-wrap:break-word;" class="_eaglercraftX_permission_target_url"></p><h4 style="line-height:1.4em;">Strict CSP: '+(1!==p.contentMode?'<span style="color:red;">Impossible</span>':v&&U?p.strictCSPEnable?'<span style="color:green;">Enabled</span>':'<span style="color:red;">Disabled</span>':'<span style="color:red;">Unsupported</span>')+" | Message API: "+(p.serverMessageAPIEnabled?'<span style="color:red;">Enabled</span>':
|
||||
'<span style="color:green;">Disabled</span>')+'</h4><p><input class="_eaglercraftX_remember_javascript" type="checkbox" checked> Remember my choice</p><p><button style="font-size:1.5em;" class="_eaglercraftX_allow_javascript">Allow</button> <button style="font-size:1.5em;" class="_eaglercraftX_block_javascript">Block</button></p></div></div>';const z=m;if(1!==p.contentMode){const E=p.url;w.querySelector("._eaglercraftX_permission_target_url").innerText=255<E.length()?E.substring(0,253)+"...":
|
||||
E}w.querySelector("._eaglercraftX_allow_javascript").addEventListener("click",function(){if(m===z&&null!==w){const E=w.querySelector("._eaglercraftX_remember_javascript");null!==E&&E.checked&&T(3,2,null);w.remove();w=null;++m;d(p)}});w.querySelector("._eaglercraftX_block_javascript").addEventListener("click",function(){if(m===z&&null!==w){const E=w.querySelector("._eaglercraftX_remember_javascript");null!==E&&E.checked&&T(3,3,null);l(p)}})}function l(p){c();w.innerHTML='<div style="padding-top:13vh;"><h1 style="text-align:center;"><img width="48" height="48" style="vertical-align:middle;" src="'+
|
||||
Ta+'"> Content Blocked</h1><h4 style="text-align:center;">You chose to block JavaScript execution for this embed</h4><p style="text-align:center;"><button style="font-size:1.0em;" class="_eaglercraftX_re_evaluate_javascript">Re-evaluate</button></p></div>';const z=m;w.querySelector("._eaglercraftX_re_evaluate_javascript").addEventListener("click",function(){m===z&&null!==w&&(T(3,4,null),h(p))})}function t(p,z,E,H){if(u){const O=window.devicePixelRatio;u.style.top=""+z/O+"px";u.style.left=""+
|
||||
p/O+"px";u.style.width=""+(E/O-10)+"px";u.style.height=""+(H/O-10)+"px"}}function D(){++m;f&&(f.remove(),f=null);x=null;w&&(w.remove(),w=null);u&&(u.remove(),u=null);window.focus()}const y=new TextDecoder("utf-8");var B=!1,v=!1,S=zb,U=Ab;if(S)v=B=!0;else{v=B=!1;try{var K=document.createElement("iframe");B=null!=K&&"string"===typeof K.allow&&"object"===typeof K.sandbox;v=U&&B&&"string"===typeof K.csp}catch(p){g("Error checking iframe support"),g(p)}}B?!v&&U&&ha("This browser does not support CSP attribute on iframes! (try Chrome)"):
|
||||
g("This browser does not meet the safety requirements for webview support, this feature will be disabled");const r=location.protocol&&"https:"===location.protocol.toLowerCase();var m=0,u=null,w=null,f=null,x=null;window.addEventListener("message",function(p){x&&p.source!==window&&x(p)});Fa.checkSupported=function(){return B};Fa.checkCSPSupported=function(){return v};Fa.sendStringMessage=function(p,z){try{var E;null!=f&&null!=(E=f.contentWindow)?E.postMessage({ver:1,channel:p,type:"string",data:z},
|
||||
"*"):g("Server tried to send the WebView a message, but the message channel is not open!")}catch(H){ia("Failed to send string message to WebView!",H)}};Fa.sendBinaryMessage=function(p,z){try{var E;if(null!=f&&null!=(E=f.contentWindow)){const H=new Uint8Array(z.length);H.set(z,0);E.postMessage({ver:1,channel:p,type:"binary",data:H.buffer},"*")}else g("Server tried to send the WebView a message, but the message channel is not open!")}catch(H){ia("Failed to send string message to WebView!",H)}};Fa.beginShowing=
|
||||
function(p,z,E,H,O,ma){if(B)try{switch(null!==u&&D(),u=document.createElement("div"),u.classList.add("_eaglercraftX_webview_container_element"),u.style.border="5px solid #333333",u.style.zIndex="11",u.style.position="absolute",u.style.backgroundColor="#DDDDDD",u.style.fontFamily="sans-serif",t(E,H,O,ma),P.appendChild(u),p){case 0:d(z);break;case 1:if(1===z.contentMode){const Z=new Uint8Array(z.blob.length);Z.set(z.blob,0);z.blob=Z}h(z);break;case 2:if(1===z.contentMode){const Z=new Uint8Array(z.blob.length);
|
||||
Z.set(z.blob,0);z.blob=Z}l(z)}}catch(Z){ia("Failed to begin showing WebView!",Z)}};Fa.resize=t;Fa.endShowing=D};function Pb(){var a=null;const b=new qa;var d=null;Ja.startIntegratedServer=new WebAssembly.Suspending(async function(){d||=URL.createObjectURL(new Blob(['"use strict"; (function(ctx, globals) {globals.__eaglerXOnMessage = function(o) {globals.__eaglerXOnMessage = function(oo) { console.error("Dropped IPC packet that was sent too early!"); };const eagRuntimeJSURL = URL.createObjectURL(new Blob([ o.eagruntimeJS ], { type: "text/javascript;charset=utf-8" }));ctx.getEaglercraftXOpts = function() { return o.eaglercraftXOpts; };ctx.getEagRuntimeJSURL = function() { return eagRuntimeJSURL; };ctx.getClassesWASMURL = function() { return o.classesWASM; };ctx.getClassesDeobfWASMURL = function() { return o.classesDeobfWASM; };ctx.getClassesTEADBGURL = function() { return o.classesTEADBG; };ctx.getEPKFiles = function() { return null; };ctx.getRootElement = function() { return null; };ctx.getMainArgs = function() { return ["_worker_process_"]; };ctx.getImageURL = function(idx) { return null; };ctx.runMain = function(mainFunc) { mainFunc(); };importScripts(eagRuntimeJSURL);};addEventListener("message", function(evt) { globals.__eaglerXOnMessage(evt.data); });})(self.__eaglercraftXLoaderContext = {}, self);'],
|
||||
{type:"text/javascript;charset=utf8"}));try{a=new Worker(d)}catch(t){return ia("Failed to create worker",t),!1}a.addEventListener("error",function(t){ia("Worker Error",t.error)});a.addEventListener("message",function(t){const D=t.data.ch;D?"~!LOGGER"===D?Ib(t.data.txt,t.data.err):(t=t.data.dat)?ab(D,t)||b.push({ch:D,data:new Uint8Array(t),_next:null}):g("Recieved IPC packet with null buffer"):g("Recieved IPC packet with null channel")});const h=new Int8Array(Na.length);h.set(Na,0);try{var l=await fetch(Ua,
|
||||
{cache:"force-cache"}).then(t=>t.arrayBuffer())}catch(t){ia("Failed to fetch eagruntime.js contents",t);try{a.terminate()}catch(D){}return!1}a.postMessage({eaglercraftXOpts:N,eagruntimeJS:l,classesWASM:La,classesDeobfWASM:Ma,classesTEADBG:h.buffer});return!0});Ja.sendPacket=function(h,l){if(a){const t=new Uint8Array(l.length);t.set(l,0);a.postMessage({ch:h,dat:t.buffer})}};bb=function(h,l){a&&a.postMessage({ch:h,dat:l})};Ja.getAvailablePackets=b.K.bind(b);Ja.getNextPacket=b.j.bind(b);Ja.killWorker=
|
||||
function(){a&&(a.terminate(),a=null)};var c=null;Ja.showCrashReportOverlay=function(h,l,t,D,y){c||(c=document.createElement("div"),c.setAttribute("style","z-index:99;position:absolute;background-color:black;color:white;overflow-x:hidden;overflow-y:scroll;overflow-wrap:break-word;white-space:pre-wrap;font:18px sans-serif;padding:20px;display:none;"),c.classList.add("_eaglercraftX_integratedserver_crash_element"),P.appendChild(c));c.innerText="";c.innerText="CURRENT DATE: "+(new Date).toLocaleString()+
|
||||
"\n\n"+h;h=window.devicePixelRatio;c.style.top=""+t/h+"px";c.style.left=""+l/h+"px";c.style.width=""+(D/h-20)+"px";c.style.height=""+(y/h-20)+"px";c.style.display="block"};Ja.hideCrashReportOverlay=function(){c&&(c.style.display="none")}};var bc=null;function Wb(){const a=new qa;self.__eaglerXOnMessage=function(b){const d=b.ch;b=b.dat;d?b?a.push({ch:d,data:new Uint8Array(b),_next:null}):g("Recieved IPC packet with null buffer"):g("Recieved IPC packet with null channel")};Ka.sendPacket=function(b,d){const c=new Uint8Array(d.length);c.set(d,0);postMessage({ch:b,dat:c.buffer})};Ka.getAvailablePackets=a.K.bind(a);Ka.getNextPacket=a.j.bind(a);Ka.setCrashCallback=function(){return{call:function(b){bc=b}}}};ra.getByteBufferView=function(a,b){return new Int8Array(Za,a,b)};ra.getUnsignedByteBufferView=function(a,b){return new Uint8Array(Za,a,b)};ra.getUnsignedClampedByteBufferView=function(a,b){return new Uint8ClampedArray(Za,a,b)};ra.getShortBufferView=function(a,b){return new Int16Array(Za,a,b)};ra.getUnsignedShortBufferView=function(a,b){return new Uint16Array(Za,a,b)};ra.getIntBufferView=function(a,b){return new Int32Array(Za,a,b)};ra.getFloatBufferView=function(a,b){return new Float32Array(Za,a,b)};const Ic={172351395:{name:"EBML",type:"Container"},646:{name:"EBMLVersion",type:"Uint"},759:{name:"EBMLReadVersion",type:"Uint"},754:{name:"EBMLMaxIDLength",type:"Uint"},755:{name:"EBMLMaxSizeLength",type:"Uint"},642:{name:"DocType",type:"String"},647:{name:"DocTypeVersion",type:"Uint"},645:{name:"DocTypeReadVersion",type:"Uint"},108:{name:"Void",type:"Binary"},63:{name:"CRC-32",type:"Binary"},190023271:{name:"SignatureSlot",type:"Container"},16010:{name:"SignatureAlgo",type:"Uint"},16026:{name:"SignatureHash",
|
||||
type:"Uint"},16037:{name:"SignaturePublicKey",type:"Binary"},16053:{name:"Signature",type:"Binary"},15963:{name:"SignatureElements",type:"Container"},15995:{name:"SignatureElementList",type:"Container"},9522:{name:"SignedElement",type:"Binary"},139690087:{name:"Segment",type:"Container"},21863284:{name:"SeekHead",type:"Container"},3515:{name:"Seek",type:"Container"},5035:{name:"SeekID",type:"Binary"},5036:{name:"SeekPosition",type:"Uint"},88713574:{name:"Info",type:"Container"},13220:{name:"SegmentUID",
|
||||
type:"Binary"},13188:{name:"SegmentFilename",type:"String"},1882403:{name:"PrevUID",type:"Binary"},1868715:{name:"PrevFilename",type:"String"},2013475:{name:"NextUID",type:"Binary"},1999803:{name:"NextFilename",type:"String"},1092:{name:"SegmentFamily",type:"Binary"},10532:{name:"ChapterTranslate",type:"Container"},10748:{name:"ChapterTranslateEditionUID",type:"Uint"},10687:{name:"ChapterTranslateCodec",type:"Uint"},10661:{name:"ChapterTranslateID",type:"Binary"},710577:{name:"TimecodeScale",type:"Uint"},
|
||||
1161:{name:"Duration",type:"Float"},1121:{name:"DateUTC",type:"Date"},15273:{name:"Title",type:"String"},3456:{name:"MuxingApp",type:"String"},5953:{name:"WritingApp",type:"String"},103:{name:"Timecode",type:"Uint"},6228:{name:"SilentTracks",type:"Container"},6359:{name:"SilentTrackNumber",type:"Uint"},39:{name:"Position",type:"Uint"},43:{name:"PrevSize",type:"Uint"},35:{name:"SimpleBlock",type:"Binary"},32:{name:"BlockGroup",type:"Container"},33:{name:"Block",type:"Binary"},34:{name:"BlockVirtual",
|
||||
type:"Binary"},13729:{name:"BlockAdditions",type:"Container"},38:{name:"BlockMore",type:"Container"},110:{name:"BlockAddID",type:"Uint"},37:{name:"BlockAdditional",type:"Binary"},27:{name:"BlockDuration",type:"Uint"},122:{name:"ReferencePriority",type:"Uint"},123:{name:"ReferenceBlock",type:"Int"},125:{name:"ReferenceVirtual",type:"Int"},36:{name:"CodecState",type:"Binary"},13730:{name:"DiscardPadding",type:"Int"},14:{name:"Slices",type:"Container"},104:{name:"TimeSlice",type:"Container"},76:{name:"LaceNumber",
|
||||
type:"Uint"},77:{name:"FrameNumber",type:"Uint"},75:{name:"BlockAdditionID",type:"Uint"},78:{name:"Delay",type:"Uint"},79:{name:"SliceDuration",type:"Uint"},72:{name:"ReferenceFrame",type:"Container"},73:{name:"ReferenceOffset",type:"Uint"},74:{name:"ReferenceTimeCode",type:"Uint"},47:{name:"EncryptedBlock",type:"Binary"},106212971:{name:"Tracks",type:"Container"},46:{name:"TrackEntry",type:"Container"},87:{name:"TrackNumber",type:"Uint"},13253:{name:"TrackUID",type:"Uint"},3:{name:"TrackType",type:"Uint"},
|
||||
57:{name:"FlagEnabled",type:"Uint"},8:{name:"FlagDefault",type:"Uint"},5546:{name:"FlagForced",type:"Uint"},28:{name:"FlagLacing",type:"Uint"},11751:{name:"MinCache",type:"Uint"},11768:{name:"MaxCache",type:"Uint"},254851:{name:"DefaultDuration",type:"Uint"},216698:{name:"DefaultDecodedFieldDuration",type:"Uint"},209231:{name:"TrackTimecodeScale",type:"Float"},4991:{name:"TrackOffset",type:"Int"},5614:{name:"MaxBlockAdditionID",type:"Uint"},4974:{name:"Name",type:"String"},177564:{name:"Language",
|
||||
type:"String"},6:{name:"CodecID",type:"String"},9122:{name:"CodecPrivate",type:"Binary"},362120:{name:"CodecName",type:"String"},13382:{name:"AttachmentLink",type:"Uint"},1742487:{name:"CodecSettings",type:"String"},1785920:{name:"CodecInfoURL",type:"String"},438848:{name:"CodecDownloadURL",type:"String"},42:{name:"CodecDecodeAll",type:"Uint"},12203:{name:"TrackOverlay",type:"Uint"},5802:{name:"CodecDelay",type:"Uint"},5819:{name:"SeekPreRoll",type:"Uint"},9764:{name:"TrackTranslate",type:"Container"},
|
||||
9980:{name:"TrackTranslateEditionUID",type:"Uint"},9919:{name:"TrackTranslateCodec",type:"Uint"},9893:{name:"TrackTranslateTrackID",type:"Binary"},96:{name:"Video",type:"Container"},26:{name:"FlagInterlaced",type:"Uint"},5048:{name:"StereoMode",type:"Uint"},5056:{name:"AlphaMode",type:"Uint"},5049:{name:"OldStereoMode",type:"Uint"},48:{name:"PixelWidth",type:"Uint"},58:{name:"PixelHeight",type:"Uint"},5290:{name:"PixelCropBottom",type:"Uint"},5307:{name:"PixelCropTop",type:"Uint"},5324:{name:"PixelCropLeft",
|
||||
type:"Uint"},5341:{name:"PixelCropRight",type:"Uint"},5296:{name:"DisplayWidth",type:"Uint"},5306:{name:"DisplayHeight",type:"Uint"},5298:{name:"DisplayUnit",type:"Uint"},5299:{name:"AspectRatioType",type:"Uint"},963876:{name:"ColourSpace",type:"Binary"},1029411:{name:"GammaValue",type:"Float"},230371:{name:"FrameRate",type:"Float"},97:{name:"Audio",type:"Container"},53:{name:"SamplingFrequency",type:"Float"},14517:{name:"OutputSamplingFrequency",type:"Float"},31:{name:"Channels",type:"Uint"},15739:{name:"ChannelPositions",
|
||||
type:"Binary"},8804:{name:"BitDepth",type:"Uint"},98:{name:"TrackOperation",type:"Container"},99:{name:"TrackCombinePlanes",type:"Container"},100:{name:"TrackPlane",type:"Container"},101:{name:"TrackPlaneUID",type:"Uint"},102:{name:"TrackPlaneType",type:"Uint"},105:{name:"TrackJoinBlocks",type:"Container"},109:{name:"TrackJoinUID",type:"Uint"},64:{name:"TrickTrackUID",type:"Uint"},65:{name:"TrickTrackSegmentUID",type:"Binary"},70:{name:"TrickTrackFlag",type:"Uint"},71:{name:"TrickMasterTrackUID",
|
||||
type:"Uint"},68:{name:"TrickMasterTrackSegmentUID",type:"Binary"},11648:{name:"ContentEncodings",type:"Container"},8768:{name:"ContentEncoding",type:"Container"},4145:{name:"ContentEncodingOrder",type:"Uint"},4146:{name:"ContentEncodingScope",type:"Uint"},4147:{name:"ContentEncodingType",type:"Uint"},4148:{name:"ContentCompression",type:"Container"},596:{name:"ContentCompAlgo",type:"Uint"},597:{name:"ContentCompSettings",type:"Binary"},4149:{name:"ContentEncryption",type:"Container"},2017:{name:"ContentEncAlgo",
|
||||
type:"Uint"},2018:{name:"ContentEncKeyID",type:"Binary"},2019:{name:"ContentSignature",type:"Binary"},2020:{name:"ContentSigKeyID",type:"Binary"},2021:{name:"ContentSigAlgo",type:"Uint"},2022:{name:"ContentSigHashAlgo",type:"Uint"},206814059:{name:"Cues",type:"Container"},59:{name:"CuePoint",type:"Container"},51:{name:"CueTime",type:"Uint"},55:{name:"CueTrackPositions",type:"Container"},119:{name:"CueTrack",type:"Uint"},113:{name:"CueClusterPosition",type:"Uint"},112:{name:"CueRelativePosition",type:"Uint"},
|
||||
50:{name:"CueDuration",type:"Uint"},4984:{name:"CueBlockNumber",type:"Uint"},106:{name:"CueCodecState",type:"Uint"},91:{name:"CueReference",type:"Container"},22:{name:"CueRefTime",type:"Uint"},23:{name:"CueRefCluster",type:"Uint"},4959:{name:"CueRefNumber",type:"Uint"},107:{name:"CueRefCodecState",type:"Uint"},155296873:{name:"Attachments",type:"Container"},8615:{name:"AttachedFile",type:"Container"},1662:{name:"FileDescription",type:"String"},1646:{name:"FileName",type:"String"},1632:{name:"FileMimeType",
|
||||
type:"String"},1628:{name:"FileData",type:"Binary"},1710:{name:"FileUID",type:"Uint"},1653:{name:"FileReferral",type:"Binary"},1633:{name:"FileUsedStartTime",type:"Uint"},1634:{name:"FileUsedEndTime",type:"Uint"},4433776:{name:"Chapters",type:"Container"},1465:{name:"EditionEntry",type:"Container"},1468:{name:"EditionUID",type:"Uint"},1469:{name:"EditionFlagHidden",type:"Uint"},1499:{name:"EditionFlagDefault",type:"Uint"},1501:{name:"EditionFlagOrdered",type:"Uint"},54:{name:"ChapterAtom",type:"Container"},
|
||||
13252:{name:"ChapterUID",type:"Uint"},5716:{name:"ChapterStringUID",type:"String"},17:{name:"ChapterTimeStart",type:"Uint"},18:{name:"ChapterTimeEnd",type:"Uint"},24:{name:"ChapterFlagHidden",type:"Uint"},1432:{name:"ChapterFlagEnabled",type:"Uint"},11879:{name:"ChapterSegmentUID",type:"Binary"},11964:{name:"ChapterSegmentEditionUID",type:"Uint"},9155:{name:"ChapterPhysicalEquiv",type:"Uint"},15:{name:"ChapterTrack",type:"Container"},9:{name:"ChapterTrackNumber",type:"Uint"},0:{name:"ChapterDisplay",
|
||||
type:"Container"},5:{name:"ChapString",type:"String"},892:{name:"ChapLanguage",type:"String"},894:{name:"ChapCountry",type:"String"},10564:{name:"ChapProcess",type:"Container"},10581:{name:"ChapProcessCodecID",type:"Uint"},1293:{name:"ChapProcessPrivate",type:"Binary"},10513:{name:"ChapProcessCommand",type:"Container"},10530:{name:"ChapProcessTime",type:"Uint"},10547:{name:"ChapProcessData",type:"Binary"},39109479:{name:"Tags",type:"Container"},13171:{name:"Tag",type:"Container"},9152:{name:"Targets",
|
||||
type:"Container"},10442:{name:"TargetTypeValue",type:"Uint"},9162:{name:"TargetType",type:"String"},9157:{name:"TagTrackUID",type:"Uint"},9161:{name:"TagEditionUID",type:"Uint"},9156:{name:"TagChapterUID",type:"Uint"},9158:{name:"TagAttachmentUID",type:"Uint"},10184:{name:"SimpleTag",type:"Container"},1443:{name:"TagName",type:"String"},1146:{name:"TagLanguage",type:"String"},1156:{name:"TagDefault",type:"Uint"},1159:{name:"TagString",type:"String"},1157:{name:"TagBinary",type:"Binary"}};
|
||||
function Jc(a,b){a.prototype=Object.create(b.prototype);a.prototype.constructor=a}function Kc(a,b){this.name=a||"Unknown";this.type=b||"Unknown"}Kc.prototype.j=function(){};Kc.prototype.m=function(){};function Lc(a,b){Kc.call(this,a,b||"Uint")}Jc(Lc,Kc);Lc.prototype.j=function(){this.data="";for(var a=0;a<this.source.length;a++){var b=this.source[a].toString(16);this.data+=1===b.length%2?"0"+b:b}};
|
||||
Lc.prototype.m=function(){var a=this.data.length/2;this.source=new Uint8Array(a);for(var b=0;b<a;b++)this.source[b]=parseInt(this.data.substr(2*b,2),16)};Lc.prototype.L=function(){return parseInt(this.data,16)};Lc.prototype.H=function(a){a=a.toString(16);this.data=1===a.length%2?"0"+a:a;this.m()};function Mc(a,b){Kc.call(this,a,b||"Float")}Jc(Mc,Kc);Mc.prototype.j=function(){var a=this.source.reverse();this.data=(new (this.source&&4===this.source.length?Float32Array:Float64Array)(a.buffer))[0]};
|
||||
Mc.prototype.m=function(){var a=new (this.source&&4===this.source.length?Float32Array:Float64Array)([this.data]);this.source=(new Uint8Array(a.buffer)).reverse()};Mc.prototype.L=function(){return this.data};Mc.prototype.H=function(a){this.data=a;this.m()};function Nc(a,b){Kc.call(this,a,b||"Container")}Jc(Nc,Kc);function Oc(a){var b=a.source[a.offset++],d=8-b.toString(2).length;b-=1<<7-d;for(var c=0;c<d;c++)b*=256,b+=a.source[a.offset++];return b}
|
||||
Nc.prototype.j=function(){this.data=[];for(this.offset=0;this.offset<this.source.length;this.offset=b){var a=Oc(this);var b=Oc(this);b=Math.min(this.offset+b,this.source.length);var d=this.source.slice(this.offset,b),c=Ic[a]||{name:"Unknown",type:"Unknown"},h=Kc;switch(c.type){case "Container":h=Nc;break;case "Uint":h=Lc;break;case "Float":h=Mc}h=c=new h(c.name,c.type);h.source=d;h.j();this.data.push({id:a,$:a.toString(16),data:c})}};
|
||||
function Pc(a,b,d){for(var c=1,h=128;b>=h&&8>c;c++,h*=128);if(!d)for(b=h+b,d=c-1;0<=d;d--)h=b%256,a.source[a.offset+d]=h,b=(b-h)/256;a.offset+=c}function Qc(a,b){for(var d=a.offset=0;d<a.data.length;d++){var c=a.data[d],h=c.data.source,l=h.length;Pc(a,c.id,b);Pc(a,l,b);b||a.source.set(h,a.offset);a.offset+=l}return a.offset}Nc.prototype.m=function(){var a=Qc(this,"draft");this.source=new Uint8Array(a);Qc(this,null)};
|
||||
function Rc(a,b){for(var d=0;d<a.data.length;d++){var c=a.data[d];if(c.id===b)return c.data}return null}function Sc(a){Nc.call(this,"File","File");this.source=a;this.j()}Jc(Sc,Nc);
|
||||
function Tc(a,b,d){d=d&&d.U;void 0===d?d=function(D){console.log(D)}:d||=function(){};var c=Rc(a,139690087);if(!c)return d("[fix-webm-duration] Segment section is missing"),!1;var h=Rc(c,88713574);if(!h)return d("[fix-webm-duration] Info section is missing"),!1;var l=Rc(h,710577);if(!l)return d("[fix-webm-duration] TimecodeScale section is missing"),!1;var t=Rc(h,1161);if(t)if(0>=t.L())d("[fix-webm-duration] Duration section is present, but the value is empty"),t.H(b);else return d("[fix-webm-duration] Duration section is present"),
|
||||
!1;else d("[fix-webm-duration] Duration section is missing"),t=new Mc("Duration","Float"),t.H(b),h.data.push({id:1161,data:t});l.H(1E6);h.m();c.m();a.m();return!0}function Hc(a,b,d,c){try{var h=new FileReader;h.onloadend=function(){try{var l=new Sc(new Uint8Array(h.result));Tc(l,b,c)&&(a=new Blob([l.source.buffer],{type:a.type||"video/webm"}))}catch(t){}d(a)};h.readAsArrayBuffer(a)}catch(l){d(a)}};var Uc;
|
||||
(function(){function a(r){let m=v.get(r);"undefined"===typeof m&&(m=new Function("return "+r+";"),v.set(r,m));return m()}function b(r){let m={exports:null,B:null,I:null};d(r);c(r);h(r,m);l(r,m);r.teavmMath=Math;return{O(u){m.exports=u},Y(u){m.B=u},X(u){m.I=u}}}function d(r){r.teavmDate={currentTimeMillis:()=>(new Date).getTime(),dateToString:m=>(new Date(m)).toString(),getYear:m=>(new Date(m)).getFullYear(),setYear:(m,u)=>{m=new Date(m);m.setFullYear(u);return m.getTime()},getMonth:m=>(new Date(m)).getMonth(),setMonth:(m,
|
||||
u)=>{m=new Date(m);m.setMonth(u);return m.getTime()},getDate:m=>(new Date(m)).getDate(),setDate:(m,u)=>{m=new Date(m);m.setDate(u);return m.getTime()},create:(m,u,w,f,x,p)=>(new Date(m,u,w,f,x,p)).getTime(),createFromUTC:(m,u,w,f,x,p)=>Date.UTC(m,u,w,f,x,p)}}function c(r){let m=[],u=[];r.teavmConsole={putcharStderr:function(w){10===w?(w=String.fromCharCode(...m),console.error(w),ea&&ea(w,!0),m.length=0):m.push(w)},putcharStdout:function(w){10===w?(w=String.fromCharCode(...u),console.log(w),ea&&ea(w,
|
||||
!1),u.length=0):u.push(w)}}}function h(r,m){let u=new FinalizationRegistry(f=>{let x=m.exports["teavm.reportGarbageCollectedValue"];"undefined"!==typeof x&&m.I(function(){x(f.V,f.W)})}),w=new FinalizationRegistry(f=>{let x=m.exports["teavm.reportGarbageCollectedString"];"function"===typeof x&&m.I(function(){x(f)})});r.teavm={createWeakRef:(f,x,p)=>{null!==p&&u.register(f,{W:x,V:p});return new WeakRef(f)},deref:f=>f.deref(),createStringWeakRef:(f,x)=>{w.register(f,x);return new WeakRef(f)},stringDeref:f=>
|
||||
f.deref(),takeStackTrace:()=>{var f=Error().stack;let x=[];for(let p of f.split("\n"))f=S.exec(p),null!==f&&2<=f.length&&x.push(parseInt(f[1],16));return{getStack:function(){let p;if(m.B)try{p=m.B(x)}catch(z){console.warn("Could not deobfuscate stack",z)}p||=x.map(z=>({className:"java.lang.Throwable$FakeClass",method:"fakeMethod",file:"Throwable.java",line:z}));return p}}},decorateException:f=>{new K(m,f)}}}function l(r,m){function u(n){return n}function w(n){var q=n.charAt(0);var F=""+(f(q)?q:"_");
|
||||
for(q=1;q<n.length;++q){let Q=n.charAt(q);var L=Q;L=f(L)||"0"<=L&&"9">=L;F+=L?Q:"_"}return F}function f(n){return"A"<=n&&"Z">=n||"a"<=n&&"z">=n||"_"===n||"$"===n}function x(n,q,F){null===n?(new Function("value",q+" = value;"))(F):n[q]=F}function p(n){m.exports["teavm.js.throwException"](U in n?n[U]:m.exports["teavm.js.wrapException"](n))}function z(n){a:{if(n instanceof WebAssembly.Exception){var q=m.exports["teavm.javaException"];var F=m.exports["teavm.getJsException"];if(n.is(q)){n=n.getArg(q,0);
|
||||
q=m.exports["teavm.js.extractException"](n);if(null!==q){F=q;break a}F=F(n);"undefined"===typeof F&&(F=new K(m,n));break a}}F=n}throw F;}function E(n){var q=[];for(let F=0;F<n.length;++F)q.push("p"+F);q=0===q.length?"":q.join(", ");q=(new Function("rethrowJavaAsJs","fn",`return function(${q}) {\n`+" try {\n"+` return fn(${q});\n`+" } catch (e) {\n rethrowJavaAsJs(e);\n }\n};"))(z,n);q.__impl=n;q.__rethrow=z;return q}function H(n,q){return(new Function("constructor",`return function ${n}(marker, javaObject) {\n`+
|
||||
" return constructor.call(this, marker, javaObject);\n}\n"))(q)}function O(n){try{return n()}catch(q){p(q)}}let ma=Symbol("javaObject"),Z=Symbol("functions"),X=Symbol("functionOrigin"),Ga=Symbol("wrapperCallMarker"),Aa=new WeakMap,Ba=new WeakMap,Ha=new Map,ta=new FinalizationRegistry(n=>Ha.delete(n)),Ia=new WeakMap,ua=2463534242;r.teavmJso={emptyString:()=>"",stringFromCharCode:n=>String.fromCharCode(n),concatStrings:(n,q)=>n+q,stringLength:n=>n.length,charAt:(n,q)=>n.charCodeAt(q),emptyArray:()=>
|
||||
[],appendToArray:(n,q)=>n.push(q),unwrapBoolean:n=>n?1:0,wrapBoolean:n=>!!n,getProperty:function(n,q){try{return null!==n?n[q]:a(q)}catch(F){p(F)}},setProperty:x,setPropertyPure:x,global:n=>{try{return a(n)}catch(q){p(q)}},createClass:(n,q,F)=>{n=w(n||"JavaObject");let L;L=null===q?function(aa){this[ma]=aa;this[Z]=null}:function(aa){q.call(this,aa)};let Q=H(n,function(aa,pa){if(aa===Ga)L.call(this,pa);else{if(null===F)throw Error("This class can't be instantiated directly");try{return F.apply(null,
|
||||
arguments)}catch(Ra){z(Ra)}}});Q.prototype=Object.create(q||Object.prototype);Q.prototype.constructor=Q;n=H(n,function(aa){return Q.call(this,Ga,aa)});n[Ga]=Q;n.prototype=Q.prototype;return n},exportClass:n=>n[Ga],defineMethod:(n,q,F)=>{let L=[];for(let Q=1;Q<F.length;++Q)L.push("p"+Q);n.prototype[q]=(new Function("rethrowJavaAsJs","fn",`return function(${0===L.length?"":L.join(", ")}) {\n`+" try {\n"+` return fn(${["this",L].join(", ")});\n`+" } catch (e) {\n rethrowJavaAsJs(e);\n }\n};"))(z,
|
||||
F)},defineStaticMethod:(n,q,F)=>{n[q]=E(F)},defineFunction:E,defineProperty:(n,q,F,L)=>{let Q={get(){try{return F(this)}catch(aa){z(aa)}}};null!==L&&(Q.set=function(aa){try{L(this,aa)}catch(pa){z(pa)}});Object.defineProperty(n.prototype,q,Q)},defineStaticProperty:(n,q,F,L)=>{let Q={get(){try{return F()}catch(aa){z(aa)}}};null!==L&&(Q.set=function(aa){try{L(aa)}catch(pa){z(pa)}});Object.defineProperty(n,q,Q)},javaObjectToJS:(n,q)=>{if(null===n)return null;var F=Aa.get(n);if("undefined"!=typeof F&&
|
||||
(F=F.deref(),"undefined"!==typeof F))return F;q=new q(n);Aa.set(n,new WeakRef(q));return q},unwrapJavaObject:n=>n[ma],asFunction:(n,q)=>{let F=n[Z];null===F&&(F=Object.create(null),n[Z]=F);let L=F[q];"function"!==typeof L&&(L=function(){return n[q].apply(n,arguments)},L[X]=n,F[q]=L);return L},functionAsObject:(n,q)=>{let F=n[X];if("undefined"!==typeof F){let L=F[Z];if(void 0!==L&&L[q]===n)return F}return{[q]:function(...L){try{return n(...L)}catch(Q){z(Q)}}}},wrapObject:n=>{if(null===n)return null;
|
||||
if("object"===typeof n||"function"===typeof n){var q=n[ma];if("object"===typeof q)return q;q=Ba.get(n);if(void 0!==q&&(q=q.deref(),void 0!==q))return q;q=m.exports["teavm.jso.createWrapper"](n);Ba.set(n,new WeakRef(q));return q}q=Ha.get(n);if(void 0!==q&&(q=q.deref(),void 0!==q))return q;q=m.exports["teavm.jso.createWrapper"](n);Ha.set(n,new WeakRef(q));ta.register(q,n);return q},isPrimitive:(n,q)=>typeof n===q,instanceOf:(n,q)=>n instanceof q,instanceOfOrNull:(n,q)=>null===n||n instanceof q,sameRef:(n,
|
||||
q)=>n===q,hashCode:n=>{if("object"===typeof n||"function"===typeof n||"symbol"===typeof n){var q=Ia.get(n);if("number"===typeof q)return q;q=ua;q^=q<<13;q^=q>>>17;ua=q^=q<<5;Ia.set(n,q);return q}return"number"===typeof n?n|0:"bigint"===typeof n?BigInt.asIntN(32,n):"boolean"===typeof n?n?1:0:0},apply:(n,q,F)=>{try{return null===n?a(q)(...F):n[q](...F)}catch(L){p(L)}},concatArray:(n,q)=>n.concat(q),getJavaException:n=>n[U]};for(var ka of"wrapByte wrapShort wrapChar wrapInt wrapFloat wrapDouble unwrapByte unwrapShort unwrapChar unwrapInt unwrapFloat unwrapDouble".split(" "))r.teavmJso[ka]=
|
||||
u;ka=[];for(let n=0;32>n;++n){let q=0===ka.length?"":ka.join(", "),F=[...ka,"body"].join(", ");r.teavmJso["createFunction"+n]=(new Function("wrapCallFromJavaToJs",...ka,"body",`return new Function('wrapCallFromJavaToJs', ${F}).bind(this, wrapCallFromJavaToJs);`)).bind(null,O);r.teavmJso["bindFunction"+n]=(L,...Q)=>L.bind(null,...Q);r.teavmJso["callFunction"+n]=(new Function("rethrowJsAsJava","fn",...ka,"try {\n"+` return fn(${q});\n`+"} catch (e) {\n rethrowJsAsJava(e);\n}")).bind(null,p);r.teavmJso["callMethod"+
|
||||
n]=(new Function("rethrowJsAsJava","getGlobalName","instance","method",...ka,"try {\n return instance !== null\n"+` ? instance[method](${q})\n`+` : getGlobalName(method)(${q});\n`+"} catch (e) {\n rethrowJsAsJava(e);\n}")).bind(null,p,a);r.teavmJso["construct"+n]=(new Function("rethrowJsAsJava","constructor",...ka,"try {\n"+` return new constructor(${q});\n`+"} catch (e) {\n rethrowJsAsJava(e);\n}")).bind(null,p);r.teavmJso["arrayOf"+n]=new Function(...ka,"return ["+q+"]");
|
||||
ka.push("p"+(n+1))}}async function t(r){try{const m={},u=b(m),w=r.path instanceof WebAssembly.Module?r.path:await WebAssembly.compileStreaming(fetch(r.path)),f=new WebAssembly.Instance(w,m);u.O(f.exports);return{module:w,instance:f}}catch(m){return console.warn("Could not load deobfuscator",m),null}}function D(r,m,u){let w=null,f=!1;return x=>{if(!f){f=!0;if(null!==m)try{w=u.exports.createFromExternalFile.value(m)}catch(p){console.warn("Could not load create deobfuscator",p)}if(null==w&&null!==r)try{w=
|
||||
u.exports.createForModule.value(r)}catch(p){console.warn("Could not create deobfuscator from module data",p)}}return null!==w?w.deobfuscate(x):[]}}async function y(r,m){if(!m.enabled||"auto"!==r&&"external"!==r)return null;if(m.J instanceof ArrayBuffer)return new Int8Array(m.J);r=await fetch(m.J);return r.ok?new Int8Array(await r.arrayBuffer()):null}function B(r){const m=new qa;r.teavm.pollAsyncCallbacks=function(){for(var u;u=m.j();)u.fn()};return function(u){m.push({fn:u,_next:null})}}let v=new Map,
|
||||
S=/.+:wasm-function\[[0-9]+]:0x([0-9a-f]+).*/,U=Symbol("javaException");class K extends Error{constructor(r,m){super();this.j=r;this[U]=m;r.exports["teavm.setJsException"](m,this)}get message(){var r=this.j.exports["teavm.exceptionMessage"];return"function"===typeof r&&(r=r(this[U]),null!=r)?r:"(could not fetch message)"}}Uc={load:async function(r,m){m||={};var u=m.B||{};let [w,f,x]=await Promise.all([u.enabled?t(u):Promise.resolve(null),r instanceof WebAssembly.Module?Promise.resolve(r):WebAssembly.compileStreaming(fetch(r)),
|
||||
y(u.T,u)]);u={};r=b(u);"undefined"!==typeof m.M&&m.M(u);r.X(B(u));m=await WebAssembly.instantiate(f,u);u={};r.O(m.exports);if(w){let p=D(null,x,w.instance);null!==p&&(r.Y(p),u.deobfuscator=p)}r={exports:u,instance:m,N:{P:f,S:w?w.module:null}};for(let p in m.exports){let z=m.exports[p];z instanceof WebAssembly.Global?Object.defineProperty(u,p,{get:()=>z.value}):"function"===typeof z&&(u[p]=z)}u.memory=m.exports["teavm.memory"];u.R=x;return r},Z:b,aa:function(r){return new Proxy(r,{get(m,u){return new WebAssembly.Global({value:"externref",
|
||||
mutable:!1},m[u])}})}}})();async function Vc(){try{N=self.__eaglercraftXLoaderContext.getEaglercraftXOpts();Ua=self.__eaglercraftXLoaderContext.getEagRuntimeJSURL();const a=self.__eaglercraftXLoaderContext.getClassesWASMURL(),b=self.__eaglercraftXLoaderContext.getClassesDeobfWASMURL(),d=self.__eaglercraftXLoaderContext.getClassesTEADBGURL();Pa=self.__eaglercraftXLoaderContext.getEPKFiles();Va=self.__eaglercraftXLoaderContext.getRootElement();self.__eaglercraftXLoaderContext.getImageURL(0);Qa=self.__eaglercraftXLoaderContext.getImageURL(1);
|
||||
Sa=self.__eaglercraftXLoaderContext.getImageURL(2);Ta=self.__eaglercraftXLoaderContext.getImageURL(3);const c=self.__eaglercraftXLoaderContext.getMainArgs();if("_worker_process_"!==c[0]){if(!await Hb())return}else da="worker",await Vb();e("Loading EaglercraftX WASM GC binary...");const h=await Uc.load(a,{B:{enabled:!0,path:b,T:"external",J:d},M:function(l){l.WASMGCBufferAllocator=ra;l.platformApplication=G;l.platformAssets=wa;l.platformAudio=xa;l.platformFilesystem=ya;l.platformInput=I;l.platformNetworking=
|
||||
za;l.platformOpenGL=J;l.platformRuntime=Ca;l.platformScreenRecord=Da;l.platformVoiceClient=Ea;l.platformWebRTC=M;l.platformWebView=Fa;l.clientPlatformSingleplayer=Ja;l.serverPlatformSingleplayer=Ka;l.teavm.notifyHeapResized=function(){Xb(h.exports.memory)}}});La=h.N.P;Ma=h.N.S;Na=h.exports.R;Xb(h.exports.memory);Oa=h.exports.deobfuscator;e("Calling entry point with args: {}",JSON.stringify(c));try{await WebAssembly.promising(h.exports.main.__impl)(c)}catch(l){h.exports.main.__rethrow(l)}finally{ha("Main function has returned!")}}catch(a){$b(a)}}
|
||||
"object"===typeof self.__eaglercraftXLoaderContext?self.__eaglercraftXLoaderContext.runMain(Vc):console.error("???");}).call(this);
|
204
eagler-files/modded/wasm/1.8/EaglyMC/enableJSPIScreen.html
Normal file
204
eagler-files/modded/wasm/1.8/EaglyMC/enableJSPIScreen.html
Normal file
File diff suppressed because one or more lines are too long
8
eagler-files/modded/wasm/1.8/EaglyMC/epw_meta.txt
Normal file
8
eagler-files/modded/wasm/1.8/EaglyMC/epw_meta.txt
Normal file
@ -0,0 +1,8 @@
|
||||
client-version-integer=44
|
||||
client-package-name=net.lax1dude.eaglercraft.v1_8.client
|
||||
client-origin-name=EaglercraftX
|
||||
client-origin-version=u44
|
||||
client-origin-vendor=lax1dude
|
||||
client-fork-name=EaglercraftX
|
||||
client-fork-version=u44
|
||||
client-fork-vendor=lax1dude
|
22
eagler-files/modded/wasm/1.8/EaglyMC/epw_src.txt
Normal file
22
eagler-files/modded/wasm/1.8/EaglyMC/epw_src.txt
Normal file
@ -0,0 +1,22 @@
|
||||
loader-js-file=loader.js
|
||||
loader-wasm-file=loader.wasm
|
||||
eagruntime-js-file=eagruntime.js
|
||||
classes-wasm-file=classes.wasm
|
||||
classes-deobf-teadbg-file=classes.wasm.teadbg
|
||||
classes-deobf-wasm-file=classes.wasm-deobfuscator.wasm
|
||||
assets-epk-0-file=assets.epk
|
||||
assets-epk-0-path=/
|
||||
assets-epk-1-file=../../javascript/lang
|
||||
assets-epk-1-path=/assets/minecraft/lang/
|
||||
splash-logo-image-file=splash.png
|
||||
splash-logo-image-mime=image/png
|
||||
press-any-key-image-file=pressAnyKey.png
|
||||
press-any-key-image-mime=image/png
|
||||
crash-logo-image-file=crashLogo.png
|
||||
crash-logo-image-mime=image/png
|
||||
favicon-image-file=favicon.png
|
||||
favicon-image-mime=image/png
|
||||
jspi-unavailable-file=enableJSPIScreen.html
|
||||
offline-download-template=OfflineDownloadTemplate.txt
|
||||
offline-download-script=../javascript_dist/bootstrap.js
|
||||
offline-download-name=EaglercraftX_1.8_WASM-GC_Offline_Download.html
|
BIN
eagler-files/modded/wasm/1.8/EaglyMC/favicon.png
Normal file
BIN
eagler-files/modded/wasm/1.8/EaglyMC/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
120
eagler-files/modded/wasm/1.8/EaglyMC/index.html
Normal file
120
eagler-files/modded/wasm/1.8/EaglyMC/index.html
Normal file
@ -0,0 +1,120 @@
|
||||
<!DOCTYPE html>
|
||||
<html style="width:100%;height:100%;background-color:black;">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
|
||||
<meta name="description" content="EaglyMC 1.20 WASM-GC" />
|
||||
<meta name="keywords" content="eaglercraft, eaglercraftx, minecraft, 1.8, 1.8.8" />
|
||||
<title>EaglyMC 1.20 WASM-GC</title>
|
||||
<meta property="og:locale" content="en-US" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:title" content="EaglercraftX 1.8 WASM-GC" />
|
||||
<meta property="og:description" content="test directory HTML page" />
|
||||
<link type="image/png" rel="shortcut icon" href="favicon.png" />
|
||||
<script type="text/javascript">
|
||||
"use strict";
|
||||
window.addEventListener("load", async function() {
|
||||
if(window.location.href.indexOf("file:") === 0) {
|
||||
alert("HTTP please, do not open this file locally, run a local HTTP server and load it via HTTP");
|
||||
}else if(typeof WebAssembly.Suspending === "undefined") {
|
||||
alert("JSPI is not enabled, please enable it in chrome://flags");
|
||||
}else {
|
||||
const splash = document.createElement("div");
|
||||
splash.style.width = "100%";
|
||||
splash.style.height = "100%";
|
||||
splash.style.imageRendering = "pixelated";
|
||||
splash.style.background = "center / contain no-repeat url(splash.png), 0px 0px / 1000000% 1000000% no-repeat url(splash.png) white";
|
||||
document.body.appendChild(splash);
|
||||
|
||||
console.log("Downloading assets.epk...");
|
||||
var assetsEPK;
|
||||
try {
|
||||
assetsEPK = new Uint8Array(await fetch("assets.epk").then(resp => resp.arrayBuffer()));
|
||||
}catch(ex) {
|
||||
alert("Could not download assets.epk!");
|
||||
console.error("Could not download assets.epk!");
|
||||
console.error(ex);
|
||||
return;
|
||||
}
|
||||
console.log("Downloaded " + assetsEPK.length + " byte file");
|
||||
|
||||
const relayId = Math.floor(Math.random() * 3);
|
||||
const eaglercraftXOpts = {
|
||||
demoMode: false,
|
||||
localesURI: "lang/",
|
||||
worldsDB: "worlds",
|
||||
servers: [
|
||||
{ addr: "ws://localhost:8081/", name: "Local test server" }
|
||||
],
|
||||
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 }
|
||||
]
|
||||
};
|
||||
|
||||
window.__eaglercraftXLoaderContext = {
|
||||
getEaglercraftXOpts: function() {
|
||||
return eaglercraftXOpts;
|
||||
},
|
||||
getEagRuntimeJSURL: function() {
|
||||
return "eagruntime.js";
|
||||
},
|
||||
getClassesWASMURL: function() {
|
||||
return "classes.wasm";
|
||||
},
|
||||
getClassesDeobfWASMURL: function() {
|
||||
return "classes.wasm-deobfuscator.wasm";
|
||||
},
|
||||
getClassesTEADBGURL: function() {
|
||||
return "classes.wasm.teadbg";
|
||||
},
|
||||
getEPKFiles: function() {
|
||||
return [{
|
||||
name: "assets.epk",
|
||||
path: "",
|
||||
data: assetsEPK
|
||||
}];
|
||||
},
|
||||
getRootElement: function() {
|
||||
return document.body;
|
||||
},
|
||||
getMainArgs: function() {
|
||||
return [];
|
||||
},
|
||||
getImageURL: function(idx) {
|
||||
switch(idx) {
|
||||
case 0:
|
||||
return "splash.png";
|
||||
case 1:
|
||||
return "pressAnyKey.png";
|
||||
case 2:
|
||||
return "crashLogo.png";
|
||||
case 3:
|
||||
return "favicon.png";
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
},
|
||||
runMain: function(fn) {
|
||||
setTimeout(fn, 10);
|
||||
}
|
||||
};
|
||||
|
||||
var q = window.location.search;
|
||||
if((typeof q === "string") && q[0] === "?" && (typeof URLSearchParams !== "undefined")) {
|
||||
q = new URLSearchParams(q);
|
||||
var s = q.get("server");
|
||||
if(s) eaglercraftXOpts.joinServer = s;
|
||||
}
|
||||
|
||||
const scriptElement = document.createElement("script");
|
||||
scriptElement.type = "text/javascript";
|
||||
scriptElement.src = "eagruntime.js";
|
||||
document.head.appendChild(scriptElement);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body style="margin:0px;width:100%;height:100%;overflow:hidden;background-color:black;" id="game_frame"></body>
|
||||
</html>
|
1
eagler-files/modded/wasm/1.8/EaglyMC/loader.js
Normal file
1
eagler-files/modded/wasm/1.8/EaglyMC/loader.js
Normal file
File diff suppressed because one or more lines are too long
BIN
eagler-files/modded/wasm/1.8/EaglyMC/loader.wasm
Normal file
BIN
eagler-files/modded/wasm/1.8/EaglyMC/loader.wasm
Normal file
Binary file not shown.
BIN
eagler-files/modded/wasm/1.8/EaglyMC/pressAnyKey.png
Normal file
BIN
eagler-files/modded/wasm/1.8/EaglyMC/pressAnyKey.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
eagler-files/modded/wasm/1.8/EaglyMC/splash.png
Normal file
BIN
eagler-files/modded/wasm/1.8/EaglyMC/splash.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user